Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекращает поддержку phpBB версии 3.2.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2020 года.
С учетом этого, а также того, что версия 3.2.x больше не будет получать обновлений, за исключением связанных с проблемами безопасности
(только при их наличии и только до 7 ноября 2020 года), рекомендуется обновить конференции до версии 3.3.x.

Adaptive Hide BBcodes

Все моды, созданные нашим сообществом для phpBB 3.0.x, будут анонсированы тут. Вся техническая поддержка по этим модам оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Frejer Stolz
phpBB 1.4.2
Сообщения: 54
Стаж: 11 лет 5 месяцев
Благодарил (а): 11 раз
Поблагодарили: 1 раз

Re: Adaptive Hide BBcodes

Сообщение Frejer Stolz »

Вот ты ё.. А я распинаюсь на заграничном форуме ББ, когда вот он, разработчик, тут :)

Для начала - спасибо за мод, по большей части нравится, окромя той проблемы, которая жизни не даёт.

По сути - я установил его для того, чтобы прятать не только текст, но и атачментсы.
А вот с ними он работает очень странно.

Для Гостя всё спрятано как полагается.
А вот для зарегистрированного юзера, у которого меньше сообщений, чем полагается тегом hide, получается такая оказия.

Итак, пишу в посте:

Код: Выделить всё

[hide=5][attachment=0]1.jpg[/attachment][/hide]
Получаю:

Изображение


То есть, блок скрытого текста выводится, но непонятно что прячет.
А все прикрепления - ниже в отдельной таблице, "выпавшие" из скрытого блока.
А как хочется, чтобы картинка, выведенная в текст месседжа тоже спряталась :(
Господа, поможете разобраться?

Данные для теста, юзерский акконт:
http://www.gaz69.com.ua/forum/viewtopic.php?f=11&t=234
User tester
Pass test

Кстати, когда сообщений для просмотра блока достаточно, табличка аттачментсов замечательно сидит внутри блока.
Чего она выпадает, когда сообщений не достаточно?


Заранее спасибо!
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

Frejer Stolz
Я Ваше сообщение и на зарубежном форуме не пропустил бы :)
Не вегда есть время сразу реагировать на поступающие вопросы/багрепорты.
В данном случае, кстати, я бы не назвал это багом. Вы, так сказать, запрашиваете фичу. Что ж, посмотрим, что можно сделать.
Frejer Stolz писал(а):Для Гостя всё спрятано как полагается.
Странно, у меня на тестовом форуме и от гостя не прячется.
Изображение
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

Итак, добавляем возможность скрывать вложения.

Открыть includes/bbcode.php
найти:

Код: Выделить всё

						// Adaptive Hide BBcodes MOD
						if (substr_count($preg['search'][0], 'hide'))
						{
добавить после:

Код: Выделить всё

							global $hide_ia_indexes;
найти:

Код: Выделить всё

								$message = preg_replace($preg['search'], array(0 => '[hide:' . $this->bbcode_uid . ']' . $user->lang('ADAPT_HIDE_GUEST') . '[/hide:' . $this->bbcode_uid . ']'), $message);
добавить перед:

Код: Выделить всё

								$hide_matches = array();
								preg_match_all($preg['search'][0], $message, $hide_matches);
								foreach ($hide_matches[0] as $match)
								{
									$hide_submatches = array();
									preg_match_all('/<!\-\- ia([0-9]+) \-\->(.*?)<!\-\- ia\1 \-\->/', $match, $hide_submatches);
									foreach ($hide_submatches[1] as $ia_index)
									{
										$hide_ia_indexes[] = $ia_index;
									}
								}
найти:

Код: Выделить всё

										$message = str_replace($hide_matches[0][$key], '[hide=' . $posts . ':' . $this->bbcode_uid . ']' . $hide_cause . '[/hide:' . $this->bbcode_uid . ']', $message);
добавить перед:

Код: Выделить всё

										$hide_submatches = array();
										preg_match_all('/<!\-\- ia([0-9]+) \-\->(.*?)<!\-\- ia\1 \-\->/', $hide_matches[0][$key], $hide_submatches);
										foreach ($hide_submatches[1] as $ia_index)
										{
											$hide_ia_indexes[] = $ia_index;
										}
найти:

Код: Выделить всё

										$message = preg_replace($preg['search'], array(0 => '[ghide:' . $this->bbcode_uid . ']' . $user->lang('ADAPT_HIDE_GROUPS') . '[/ghide:' . $this->bbcode_uid . ']'), $message);
добавить перед:

Код: Выделить всё

										$hide_matches = array();
										preg_match_all($preg['search'][0], $message, $hide_matches);
										foreach ($hide_matches[0] as $match)
										{
											$hide_submatches = array();
											preg_match_all('/<!\-\- ia([0-9]+) \-\->(.*?)<!\-\- ia\1 \-\->/', $match, $hide_submatches);
											foreach ($hide_submatches[1] as $ia_index)
											{
												$hide_ia_indexes[] = $ia_index;
											}
										}
найти:

Код: Выделить всё

											$message = str_replace($hide_matches[0][$key], '[ghide=' . $groups . ':' . $this->bbcode_uid . ']' . $user->lang('ADAPT_HIDE_GROUPS') . '[/ghide:' . $this->bbcode_uid . ']', $message);
добавить перед:

Код: Выделить всё

											$hide_submatches = array();
											preg_match_all('/<!\-\- ia([0-9]+) \-\->(.*?)<!\-\- ia\1 \-\->/', $hide_matches[0][$key], $hide_submatches);
											foreach ($hide_submatches[1] as $ia_index)
											{
												$hide_ia_indexes[] = $ia_index;
											}
Открыть includes/functions_content.php
найти

Код: Выделить всё

	// Needed to let not display the inlined attachments at the end of the post again
	foreach ($unset_tpl as $index)
	{
		unset($attachments[$index]);
	}
добавить после:

Код: Выделить всё

	// Adaptive Hide BBcodes MOD
	global $hide_ia_indexes;
	if (is_array($hide_ia_indexes) && count($hide_ia_indexes))
	{
		foreach ($hide_ia_indexes as $ia_index)
		{
			$index = ($config['display_order']) ? ($tpl_size-($ia_index + 1)) : $ia_index;
			unset($attachments[$index]);
		}
	}
	// end Adaptive Hide BBcodes MOD
Добавлено спустя 56 секунд:
Дополнение будет включено в следующую версию мода.
Изображение
Аватара пользователя
Frejer Stolz
phpBB 1.4.2
Сообщения: 54
Стаж: 11 лет 5 месяцев
Благодарил (а): 11 раз
Поблагодарили: 1 раз

Re: Adaptive Hide BBcodes

Сообщение Frejer Stolz »

Izya, сказка, просто сказка.
Работает как часики.
Мод - получился просто супер!

Спасибо за мод и за скорую реакцию с достаточно серьёзной доработкой! Изображение

Пошёл переводить этот же текст на англицкий, нужно же и на том форуме отметиться благодарностью Изображение
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

Так-с. Не совсем как часики. Обнаружился небольшой баг. Для устранения надо в файле includes/functions_content.php после

Код: Выделить всё

		foreach ($hide_ia_indexes as $ia_index)
		{
			$index = ($config['display_order']) ? ($tpl_size-($ia_index + 1)) : $ia_index;
			unset($attachments[$index]);
		}
добавить

Код: Выделить всё

		$hide_ia_indexes = array();
Изображение
Аватара пользователя
SofiaKit
phpBB 1.2.0
Сообщения: 18
Стаж: 11 лет 5 месяцев

Re: Adaptive Hide BBcodes

Сообщение SofiaKit »

застряла на последнем пункте:
Add 4 custom BBCodes (ACP-> Posting -> BBCodes-> Add a new BBCode):
1.
BBCode usage - [hide]{TEXT}[/hide]
HTML replacement - <div class="adapthide">{TEXT}</div>
Help line - Hidden text: [hide]text[/hide] (hide from guests) or [hide=]text[/hide] (hide by number of posts)
Display on posting page - Yes (put a tick)
...

я не поняла, как тут добавить со всеми этими параметрами (во вложении скриншот, потаму что ссылка на картинку тут не ставится почемуто):
Вложения
1.gif
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

SofiaKit
Не модули надо добавлять, а пользовательские ББ-коды (в закладке "Сообщения"). Кстати, если бы Вы в выпадающем списке в правом верхнем углу инструкции выбрали русский язык, то эти пункты инструкции были бы на русском языке.
Изображение
Аватара пользователя
SofiaKit
phpBB 1.2.0
Сообщения: 18
Стаж: 11 лет 5 месяцев

Re: Adaptive Hide BBcodes

Сообщение SofiaKit »

спасибо, все работает замечательно. Ваш мод опубликовала на другом форуме, соответственно ссылаясь на Вас, как автора. спасибо.
allsib
phpBB 1.0.0
Сообщения: 3
Стаж: 11 лет 8 месяцев

Re: Adaptive Hide BBcodes

Сообщение allsib »

Подскажите, пожалуйста.
Вопрос в том, что когда я просматриваю сообщения, которые под хайдом, то хайда вообще не вижу ( так как у меня сообщений больше. чем установленные хайды). И мне приходится в режиме редактирования каждое сообщение смотреть, что - бы убедиться, что хайд модератор на внешнюю ссылку поставил.

Вопрос. Можно ли сделать, что-бы сообщения под хайдом выглядели так:
Скрытый текст, требуется (10 сообщение(ий), у вас 352):
Здесь находится скрытый текст
или
Скрытый текст, требуется (100 сообщение(ий), у вас 52):
Вы не имеете права на просмотр скрытого текста
То есть что-бы рамка оформления и "Скрытый текст..." были показана в любом случае и выводилось количество сообщений пользователя... Заранее спасибо.
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

Рамка оформления и так всегда показывается.
Изображение
allsib
phpBB 1.0.0
Сообщения: 3
Стаж: 11 лет 8 месяцев

Re: Adaptive Hide BBcodes

Сообщение allsib »

У меня почему-то, когда я вижу хайд - вообще ничего даже намека не дает, что здесь есть. То-есть просто текст, как он обычно есть. Правда я стили своего шаблона прямо в языковом файле прописал:

Код: Выделить всё

'ADAPT_HIDE_GUEST'			=>	'<div class="quotetitle"><b>Скрытый текст.</b></div> <div class="quotecontent">Необходимо зарегистрироваться.<br/> <i> У вас нет прав на просмотр скрытого текста.</i></div>',
	'ADAPT_HIDE_GUEST_POSTS'	=>	' <div class="quotetitle"><b>Скрытый текст.</b></div> <div class="quotecontent">(Вы должны быть зарегистрированы и иметь %d сообщение(ий) ): <br/> <i> У вас нет прав на просмотр скрытого текста.</i></div>',
	'ADAPT_HIDE_POSTS'			=>	'<div class="quotetitle"><b>Скрытый текст.</b></div> <div class="quotecontent">(Вы должны иметь %d сообщение(ий) ): <br/> <i> У вас нет прав на просмотр скрытого текста. </i></div>',
	'ADAPT_HIDE_GROUPS'			=>	'<div class="quotetitle"><b>Скрытый текст.</b></div> <div class="quotecontent">(Вы не состоите в группах, которым доступен этот текст.):<br/> <i> У вас нет прав на просмотр скрытого текста.</i></div>',
	'ADAPT_HIDE_QUOTE'			=>	'[i]Скрытый текст[/i]'
Подскажите, в каком файле поправить стили вывода видимого хайда? Про CSS - понятно, а где класс в php файле задается? Я просто с PHPbb еще не разобрался как следует...

А второй вопрос - как и где можно вывести количество сообщений пользователя?
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

allsib писал(а):я стили своего шаблона прямо в языковом файле прописал
Именно поэтому у Вас CSS хайда отрабатывается только при срабатывании скрытия.
Если бы устанавливали всё по инструкции, "рамка оформления" была бы всегда. И класс нигде в php-файлах не задается, он задается при создании пользовательского ББ-кода в админке.

А для того, чтобы к каждому блоку хайда (видимого) приписывались количество требуемых и имеющихся сообщений, надо править отнюдь не пару строчек. Возможно, реализую это позже.
Изображение
allsib
phpBB 1.0.0
Сообщения: 3
Стаж: 11 лет 8 месяцев

Re: Adaptive Hide BBcodes

Сообщение allsib »

Ясно... Сорри не по глазам было когда замену html прописывал. тогда тут переделаю. А вывод количества сообщений пользователя не только я, но и многие другие будем с нетерпением ждать.

Спасибо за мод! Мод действительно классный!
Pharmacist
phpBB 1.4.2
Сообщения: 59
Стаж: 11 лет 5 месяцев
Откуда: Kiev
Благодарил (а): 11 раз
Поблагодарили: 1 раз

Re: Adaptive Hide BBcodes

Сообщение Pharmacist »

Здравствуйте, спасибо за мод, действительно полезная вещь.
Есть один маленький вопросик. Начал устанавливать форум, все поставил применил несколько модов около 10, в том числе и Adaptive Hide BBcodes, вначале мод работал корректно, а теперь если не ошибаюсь после Advanced BBCode Box, начались проблемы следующего рода, когда выставляю hide=7, захожу под юзером а он мне пишет что вам надо иметь 2 сообщения, ставлю 20 все равно пишет 2 сообщения, ставлю 200 - тоже самое... В чем может быть проблема??? Моды все ставил очень аккуратно, все проверял... Advanced BBCode Box удалил, пришлось еще одно поле (bbcode_order) в таблице грохнуть не хотели заново создаваться ББкоды hide. Все равно та же проблема. Мод проверял, переустанавливал.
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 12 лет 1 месяц
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Adaptive Hide BBcodes

Сообщение Izya »

А сколько сообщений у пользователя, размещающего этот хайд? По умолчанию обычному пользователю просто не разрешено требовать больше сообщений, чем есть у него самого. То есть, если у пользователя всего 2 сообщения, и он не входит в группу администраторов или супермодераторов, то пусть он хоть hide=9999999 пишет, - всё равно ограничение снизится до 2-х. Группы, игнорирующие это правило, можно прописывать в constants.php (параметр ADAPT_HIDE_IGNORE_LIMIT_GROUPS, там изначально прописано 4,5 - администраторы и супермодераторы).
Изображение

Вернуться в «Анонсы и поддержка модов для phpBB 3.0.x»