Пропустить

Board3 Portal 1.0.x

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Board3 Portal 1.0.x

Сообщение axel13 » 11.06.2008 0:04

Оффсайт: http://www.board3.de
Скачать (1.0.6): http://www.board3.de/viewtopic.php?f=40&t=3933
Русский перевод (1.0.6): Board3 Portal

Обсуждение Board3 Portal 2.0 в отдельной теме.

----------------------------------------------------
Итак установил этот портал. По функционалу гуд.
Но без бубна не обошлось.
А именно: т.к. установлен SEO мод, то ссылки из новостей имеют следующий вид http://mydomain.ru/forum/post916.html#p916 Решения пока не нашел. Есть у кого мысли по этому поводу?

Переместил portal.php из /forum в root. Работает. НО:
чтобы отображались картинки и часы в портале пришлось переписать все ссылки в styles/prosilver/template/portal/block (в тех блоках, которые с картинками) с <img src="portal/images/member.gif" на <img src="forum/portal/images/member.gif"

Еще в forum/portal/blok/login_box.php заменил
'U_PORTAL'				=> append_sid("{$phpbb_root_path}portal.$phpEx"),

на
'U_PORTAL'              => append_sid("index.$phpEx"),

(Взято с http://www.board3.de/viewtopic.php?f=10&t=350 )
Сделал русификацию % на 95 (не вся админка, главная потрала вся). Есть конечно ошибки, т.к. рабочая версия.

Посмотреть можно здесь: http://www.lanos.cc

Извиняюсь
Сайт разработчика http://www.board3.de/
скачать: http://www.phpbb.com/community/viewtopi ... 85&start=0

Добавлено спустя 27 минут 1 секунду:
Вот кста когда предупреждение выносите, ссылка на сообщение за которое предупреждение получено, тож имеет вид viewtopic.php?f=20&p=204927#p204927.
Вложения
ru.zip
Локализация 1.0.0
(14.33 КБ) Скачиваний: 327
Последний раз редактировалось Alek$ 14.08.2011 14:36, всего редактировалось 10 раз(а).
Причина: Обновлены ссылки
Северо-Западный Клуб владельцев автомобилей Chevrolet Lanos, Daewoo Lanos, ZAZ Sens, Doninvest Assol. -=WWW.LANOS.CC=-
Аватара пользователя
axel13
phpBB 2.0.0
 
Сообщения: 100
Зарегистрирован: 24.04.2005 0:34
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.

Re: Board3 Portal

Сообщение betterqn » 10.08.2010 18:40

Почитав тему, посмотрев порталы пользователей, у многих заметил одинаковую беду:

Если новости в админке блока «Новости» параметр Отображать «Новости»:Да, Компактный режим блока новостей: Нет, то получается следующее, если полистать "архив новостей"

На первой странице мы имеем нормальный вид.
tyt vse normalbno.png


Листаем на вторую страницу:
Новости заканчиваются и начинаются опросы. Видно, сразу что вроде div не закрыт. (только в опере этот глюк заметил)

Это понятно, но куда делись разделители новостей (тонкие синие линии как на первом посте? опять же только в опере их нет...)
tyt vse ploxo.png

template/portal/block/news.html
находим
<!-- IF $S_POSTBODY_TOP --></div>

добавляем после


Всё, с этим разобрались. А вот почему нет линии - без понятия. Шаблон вообще пальцем не трогал - скачан с сайта разработчика. (Кстати у многих такая беда)

Кто силён в математике? ;)

Методом научного "тыка" выяснилось, что эти синии линии пропадают (в опере) почему-то, если в админке выставлено значение "Максимальная длина содержимого новости: 999", поставил 900 - появились. В мозиле и хроме нормально. :(

betterqn
phpBB 2.0.1
 
Сообщения: 128
Зарегистрирован: 14.08.2009 19:35
Благодарил (а): 26 раз.
Поблагодарили: 0 раз.

Re: Board3 Portal

Сообщение Nekstati » 10.08.2010 19:39

Отключайте ББ-коды в новостях либо включите в админке отображение новостей целиком, без обрезания, и всё будет хорошо. Корень зла в некорректной обрезке текста порталом: точка отреза иногда попадает на ББ-код и получается незакрытый тэг. Изменив длину новостей, вы сдвинули эту точку отреза, и тэг закрылся.

В корне проблему можно решить, применив качественную функцию обрезки текста: http://www.phpbb.com/community/viewtopi ... 1&t=670335. Либо сделать так, как это сделано штатно в search.php, на странице «Найти сообщения пользователя»: ББ-коды убираются из текстов функцией strip_bbcode(), если сообщение обрезано, и не убираются, если сообщение отображено целиком. Автор, думаю, вряд ли будет всем этим заморачиваться, ибо доля Оперы на западном рынке пренебрежимо мала. Попробую заняться, когда будет время…

только в опере этот глюк заметил
В мозиле и хроме нормально.
Моё частное мнение по поводу Оперы: этому русскому национальному браузеру давно пора на помойку. «Русскому» — потому что его мировая доля 1,5%, из которых половина приходится на Россию. Единственный смысл его существования — добавление головной боли русским вебмастерам.
За это сообщение автора Nekstati поблагодарил:
betterqn (10.08.2010 19:56)
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 771 раз.

Re: Board3 Portal

Сообщение Nekstati » 14.08.2010 23:48

Обещанное решение проблем с некорректной обрезкой текста в блоках новостей и объявлений. Вариант не идеальный, но вероятность появления незакрытых тэгов и тому подобных HTML-ошибок уменьшается примерно в 10 раз.

Открыть portal/includes/functions.php
Найти
		if (($text_length != 0) && (strlen($len_check) > $text_length))
		{
			$message = str_replace(array("\n", "\r"), array('<br />', "\n"), $row['post_text']);
			$message = get_sub_taged_string($message, $row['bbcode_uid'], $maxlen);
			$posts[$i]['striped'] = true;
		}

Заменить на
		if (($text_length != 0) && (utf8_strlen($len_check) > $text_length))
		{
			$message = trim_text($row['post_text'], $row['bbcode_uid'], $maxlen);
			$posts[$i]['striped'] = true;
		}

Найти
// fetch post for news & announce

Добавить перед
	/**
	* BBCode-safe truncating of text
	*
	* Originally from {@link http://www.phpbb.com/community/viewtopic.php?f=71&t=670335}
	* slightly modified to trim at either the first found end line or space by EXreaction.
	*
	* Modified by Chris Smith to trim to a specified number of paragraphs and/or a maximum
	* number of characters, and provide configurable stopping positions. Made some performance
	* improvements as well.
	*
	* Just like phpBB3 this function doesn't support embedding BBCodes in BBCode parameters
	* either except for [quote].
	*
	* @author fberci (http://www.phpbb.com/community/memberlist.php?mode=viewprofile&u=158767)
	* @author EXreaction (http://www.phpbb.com/community/memberlist.php?mode=viewprofile&u=202401)
	* @author Chris Smith <toonarmy@phpbb.com> (http://www.phpbb.com/community/memberlist.php?mode=viewprofile&u=108642)
	* @param string   $text			Text containing BBCode tags to be truncated
	* @param string   $uid			BBCode uid
	* @param int   $max_length		Text length limit
	* @param int   $max_paragraphs   Maximum number of paragraphs permitted
	* @param array   $stops			Characters to stop max length search at
	* @param string   $replacement   Replacment suffix for the removed text
	* @param string   $bitfield		BBCode bitfield (optional)
	* @param bool   $enable_bbcode   Whether BBCode is enabled (true by default)
	* @return string Resulting trimmed text
	*/
	function trim_text($text, $uid, $max_length, $max_paragraphs = 0, $stops = array(' ', "\n"), $replacement = '&hellip;', $bitfield = '', $enable_bbcode = true)
	{
		$orig_text = $text;
		
		if ($enable_bbcode)
		{
			static $custom_bbcodes = array();

			// Get all custom bbcodes
			if (empty($custom_bbcodes))
			{
				global $db;

				$sql = 'SELECT bbcode_id, bbcode_tag, second_pass_match
						FROM ' . BBCODES_TABLE;
				$result = $db->sql_query($sql, 3600);

				while ($row = $db->sql_fetchrow($result))
				{
					// There can be problems only with tags having an argument
					if (substr($row['bbcode_tag'], -1, 1) == '=')
					{
						$custom_bbcodes[$row['bbcode_id']] = array('[' . $row['bbcode_tag'], ':' . $uid . ']', str_replace('$uid', $uid, $row['second_pass_match']));
					}
				}
				$db->sql_freeresult($result);
			}
		}

		$trimmed = false;

		// Paragraph trimming
		if ($max_paragraphs && $max_paragraphs < preg_match_all('#\n\s*\n#m', $text, $matches))
		{
			$find = $matches[0][$max_paragraphs - 1];
			// Grab all the matches preceeding the paragraph to trim at, finds
			// those that match the trim marker, sum them to skip over them.
			$skip = sizeof(array_intersect(array_slice($matches[0], 0, $max_paragraphs - 1), array($find)));
			$pos = 0;

			do
			{
				$pos = utf8_strpos($text, $find, $pos + 1);
				$skip--;
			}
			while ($skip >= 0);

			$text = utf8_substr($text, 0, $pos);

			$trimmed = true;
		}

		// First truncate the text
		if ($max_length && utf8_strlen($text) > $max_length)
		{
			$pos = 0;
			$length = 0;

			if (!is_array($stops[0]))
			{
				$stops = array($stops);
			}

			foreach ($stops as $stop_group)
			{
				if (!is_array($stop_group))
				{
					continue;
				}

				foreach ($stop_group as $k => $v)
				{
					$find = (is_string($v)) ? $v : $k;
					$include = is_bool($v) && $v;

					if (($_pos = utf8_strpos(utf8_substr($text, $max_length), $find)) !== false)
					{
						if ($_pos < $pos || !$pos)
						{
							// This is a better find, it cuts the text shorter
							$pos = $_pos;
							$length = $include ? utf8_strlen($find) : 0;
						}
					}
				}

				if ($pos)
				{
					// Include the length of the search string if requested
					$max_length += $pos + $length;
					break;
				}
			}

			// Trim off spaces, this will miss UTF8 spacers :(
			$text = rtrim(utf8_substr($text, 0, $max_length));

			$trimmed = true;
		}

		// No BBCode or no trimming return
		if (!$enable_bbcode || !$trimmed)
		{
			return $text . ($trimmed ? $replacement : '');
		}

		// Some tags may contain spaces inside the tags themselves.
		// If there is any tag that had been started but not ended
		// cut the string off before it begins.
		$unsafe_tags = array(
			array('<', '>'),
			array('[quote=&quot;', "&quot;:$uid]"), // 3rd parameter true here too for now
		);

		// If bitfield is given only check for those tags that are surely existing in the text
		if (!empty($bitfield))
		{
			// Get all used tags
			$bitfield = new bitfield($bitfield);

			// isset() provides better performance
			$bbcodes_set = array_flip($bitfield->get_all_set());

			// Add custom BBCodes having a parameter and being used
			// to the array of potential tags that can be cut apart.
			foreach ($custom_bbcodes as $bbcode_id => $bbcode_tag)
			{
				if (isset($bbcodes_set[$bbcode_id]))
				{
					$unsafe_tags[] = $bbcode_tag;
				}
			}
		}
		// Else do the check for all possible tags
		else
		{
			$unsafe_tags = array_merge($unsafe_tags, $custom_bbcodes);
		}

		// @todo Fix this block
		foreach ($unsafe_tags as $tag)
		{
			if (($start_pos = strrpos($text, $tag[0])) > strrpos($text, $tag[1]))
			{
				$text = substr($text, 0, $start_pos);
			}
		}

		$text = $text . $replacement;

		// Get all of the BBCodes the text contains.
		// If it does not contain any than just skip this step.
		// Preg expression is borrowed from strip_bbcode()
		if (preg_match_all("#\[(\/?)([a-z0-9_\*\+\-]+)(?:=(&quot;.*&quot;|[^\]]*))?(?::[a-z])?(?:\:$uid)\]#", $text, $matches, PREG_PATTERN_ORDER) != 0)
		{
			$open_tags = array();

			for ($i = 0, $size = sizeof($matches[0]); $i < $size; ++$i)
			{
				$bbcode_name = &$matches[2][$i];
				$opening = ($matches[1][$i] == '/') ? false : true;

				// If a new BBCode is opened add it to the array of open BBCodes
				if ($opening)
				{
					$open_tags[] = array(
						'name' => $bbcode_name,
						'plus' => ($opening && $bbcode_name == 'list' && !empty($matches[3][$i])) ? ':o' : '',
					);
				}
				// If a BBCode is closed remove it from the array of open BBCodes.
				// As always only the last opened open tag can be closed,
				// so we only need to remove the last element of the array.
				else
				{
					array_pop($open_tags);
				}
			}

			// Sort open BBCode tags so the most recently opened will be the first (because it has to be closed first)
			krsort ($open_tags);

			// Close remaining open BBCode tags
			foreach ($open_tags as $tag)
			{
				$text .= '[/' . $tag['name'] . $tag['plus'] . ':' . $uid . ']';
			}
		}

		return $text;
	}

Функция trim_text() взята отсюда, с незначительными изменениями.
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 771 раз.

Re: Board3 Portal

Сообщение betterqn » 15.08.2010 12:46

Nekstati
В том случае Ббкоды ни при чем. №;%?:;%№% автор сперва заменял в новости все переводы строки на <br>, а потом резал ее до заданной длины, соответственно иногда тэг <br> резался на середине.

p.s. Браузеры не обязаны рендерить некорректный код. Наоборот чрезмерной толерантностью к качеству кода они разбаловали население.

betterqn
phpBB 2.0.1
 
Сообщения: 128
Зарегистрирован: 14.08.2009 19:35
Благодарил (а): 26 раз.
Поблагодарили: 0 раз.

Re: Board3 Portal

Сообщение Nekstati » 15.08.2010 13:34

Доработка, приведённая в предыдущем посте, исключает незакрытые <br>. Для тестирования я пролистала около 1000 новостей на своём форуме, установив вывод 50 новостей на страницу. Со стандартным кодом — обрезанный <br> попадается практически на каждой странице, иногда по нескольку штук (соответственно, в Опере блоки склеиваются на ≈70% страниц), всего же их попалось около 35 штук. С модифицированным кодом — ни одного обрезанного <br>, блоки склеились только один раз на 1000 новостей (незакрытый div).

Браузеры не обязаны рендерить некорректный код.

Разработчики всех браузеров, кроме одного, думают иначе.
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 771 раз.

Re: Board3 Portal

Сообщение betterqn » 15.08.2010 18:37

После установки recent topics 1.0.3 на форум, портал вылетает в Fatal error если в настройках портала выбрано Отображать «Свежие темы»: Нет и соответственно portal.php не грузится (форум грузится и показываются recent topics).
Если в настройках портала выбрано Отображать «Свежие темы»: Да, портал грузится, но уже не грузится index.php (форум).

Ошибка одна:

[Sun Aug 15 18:33:19 2010] [error] PHP Fatal error: Cannot redeclare character_limit() in /сайт.ru/www/forum/portal/includes/functions.php on line 349

Добавлено спустя 43 минуты 2 секунды:
Проблема была в том, что уже во встроенном в портал плагине recent уже используется функция character_limit, как и в recent topics (от Райдена), сделал замену на character_limit2.
Последний раз редактировалось betterqn 15.08.2010 20:35, всего редактировалось 1 раз.

betterqn
phpBB 2.0.1
 
Сообщения: 128
Зарегистрирован: 14.08.2009 19:35
Благодарил (а): 26 раз.
Поблагодарили: 0 раз.

Re: Board3 Portal

Сообщение nissin » 15.08.2010 19:54

Уже было в топике поддержка мода recent topics, надо бы собраться и исправить.
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Board3 Portal

Сообщение hrv » 17.08.2010 18:42

Уважаемые гуру!
А ктонибудь прикручивал Highslide Attatchment Mod к порталу?
В форуме смотриться все отлично, Highslide Attatchment Mod работает как надо, а вот в портале както не очень, при нажатии на рисунок, открывает эго обновляя страницу.
Помогите плз, куда копать.

Добавлено спустя 1 минуту 27 секунд:
http://gps.ya1.ru для ознакомления с проблеммой, блок "новости".
Аватара пользователя
hrv
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 06.12.2009 19:03
Откуда: Якутск
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Board3 Portal

Сообщение Nekstati » 17.08.2010 19:42

У вас в overall_header.html подключение Хайслайд-яваскрипта засунуто в условие:
<!-- IF SCRIPT_NAME == "viewtopic" or SCRIPT_NAME == "posting" or SCRIPT_NAME == "ucp" or SCRIPT_NAME == "search" -->

Нафиг?
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 771 раз.

Re: Board3 Portal

Сообщение hrv » 17.08.2010 20:01

Не понял вопроса?

Что нужно поправить?

Добавлено спустя 2 минуты 33 секунды:
Это же в мануале было.

Добавлено спустя 1 минуту 37 секунд:
Хотя нет, его я автомодом ставил и сам инсталл теперь найти немогу.
Аватара пользователя
hrv
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 06.12.2009 19:03
Откуда: Якутск
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Board3 Portal

Сообщение Nekstati » 17.08.2010 20:38

В мануале Highslide Attatchment Mod этого нет. Вероятно, у вас стоит другой Highslide Mod.

Замените указанную строку на <!-- IF not S_IS_BOT -->.
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 771 раз.

Re: Board3 Portal

Сообщение betterqn » 17.08.2010 20:42

hrv
У меня с Highslide 4.1.8 всё работает нормально на портале, только что специально проверил.

http://www.phpbb3bbcodes.com/viewtopic.php?f=8&t=13

betterqn
phpBB 2.0.1
 
Сообщения: 128
Зарегистрирован: 14.08.2009 19:35
Благодарил (а): 26 раз.
Поблагодарили: 0 раз.

Re: Board3 Portal

Сообщение hrv » 18.08.2010 4:38

Обновился до 4.1.8 все стало нормуль. Только немного меньше функций у этой версии, одно радует, водяного знака производителя больше нет, глаза не мозолит.
Аватара пользователя
hrv
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 06.12.2009 19:03
Откуда: Якутск
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Board3 Portal

Сообщение hrv » 27.08.2010 14:09

Люди, а как сделать вывод последнего сообщения на главную, в какую таблицу лезть? или как можно порправить скрипт блоков?
Аватара пользователя
hrv
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 06.12.2009 19:03
Откуда: Якутск
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Board3 Portal

Сообщение hrv » 28.08.2010 9:54

Вообще хочу выложить в правый блок последние вложения с определенной ветки, чет пока незнаю как быть.

Добавлено спустя 8 минут 3 секунды:
http://gps.ya1.ru
Аватара пользователя
hrv
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 06.12.2009 19:03
Откуда: Якутск
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Пред.След.

Вернуться в Поддержка модов для phpBB 3.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы