[BETA] исправление ошибки с удалённым стилем

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

[BETA] исправление ошибки с удалённым стилем

Сообщение c61 »

Это не совсем мод, а скорее компиляция/рекомендация по мотивам сообщений на этом форуме (списабо авторам вопросов и ответов).

Если когда-то давным-давно использовался стиль с номером NNN и он был удалён, а боты или гости запомнили ссылку с явным указанием ID стиля, при переходе по такой ссылке (NNN для примера равен 999)

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

http://mysite.ru/forum/index.php?style=999
возникает ошибка, выглядящая в примерно так:

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

Произошла общая ошибка: Общая ошибка 
» Невозможно получить данные о стиле
Исправление:
  • В includes/session.php найти

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

    		// User has wrong style
    		if (!$this->theme && $style == $this->data['user_style'])
    и добавить ПЕРЕД (внутри if в запросе sql те же строки, что чуть выше по коду session.php):

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

    		if (empty($this->theme))
    		{
    			$style = $config['default_style'];
    
    			$sql = 'SELECT s.style_id, t.template_storedb, t.template_path, t.template_id, t.bbcode_bitfield, t.template_inherits_id, t.template_inherit_path, c.theme_path, c.theme_name, c.theme_storedb, c.theme_id, i.imageset_path, i.imageset_id, i.imageset_name
    				FROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . " i
    				WHERE s.style_id = $style
    					AND t.template_id = s.template_id
    					AND c.theme_id = s.theme_id
    					AND i.imageset_id = s.imageset_id";
    			$result = $db->sql_query($sql, 3600);
    			$this->theme = $db->sql_fetchrow($result);
    			$db->sql_freeresult($result);
    		}
  • очистить кэш
После этого для всех несуществующих стилей будет использован стиль конференции по умолчанию.
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 5 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: [BETA] исправление ошибки с удалённым стилем

Сообщение Anvar »

На мод ни как не тянет, таких мелочей/исправлений/хаков можно много предоставить, тем самым захломив форум и создать проблему для поиска.
Думал ранее о таком вопросе, так куда же дополнения тогда?
Вариант - эту тему переименовываем скажем в "Полезные куски кода и дополнения", затем начинаем сюда складировать все эти мелкие, но нужные доработки.
Обсуждения лучше запретить, для этого создать тему отдельно с сылкой на нее.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: [BETA] исправление ошибки с удалённым стилем

Сообщение c61 »

Anvar, вот Вам старый анекдот.

Спорят два еврея :
- Черный - это цвет.
- Нет, черный это не цвет.
- Да говорю тебе, черный - это цвет.
- Да никогда в жизни!
- Точно говорю, черный - это цвет.
- Ничего подобного.
- Ладно, пойдем спросим у раввина, что Тора об этом говорит.
Пошли к раввину. Тот посмотрел в Торе и говорит:
- Да, в Торе сказано, что черный - это цвет.
- ВОТ! Что я тебе говорил? Черный - это цвет!
- Ладно, черный это цвет. Но не белый.
- Что? Белый не цвет? Белый - это цвет!!!
- Нет, белый это не цвет.
- Как так, белый не цвет? С каких это пор?
- Вот так, не цвет и все.
- Ладно, пойдем спросим у раввина, что Тора об этом говорит.
Опять пошли к раввину. Тот опять посмотрел в Торе:
- Тора говорит, что белый - это цвет.
Первый еврей, радостно:
- Ну? Что я тебе говорил? Я тебе продал ЦВЕТНОЙ телевизор!!

))

Итак, вопрос-ответ:
В: Код phpbb модифицируется ?
О: Да
В: Функционирование phpbb при определённых условиях изменяется ?
О: Да
В: Ошибка больше не проявляется ?
О: Да
В: Админ более не возмущается из-за недоработок разработчиков phpbb ?
О: Да
и тд и тп

Итак, это "цветной телевизор"...ээээ... "мод".

Поскольку такие мелкие "рецепты" пропадают в море беполезных для многих админов постов обсуждения, простых вопросов, простых ответов в темах о проблемах и модах, а порой и в откровенном флейме, то вынесение "рецепта" в виде мода (в отдельной теме) никоим образом не захламляет форум, а наоборот, улучшает упрощает поиск решения проблемы. Если же местная администрация решит сделать раздел "рецептов" и перенести в него этот "телевизор", то без проблем...

Однако, если Вы изменили всего лишь один оператор в коде phpbb и от этого стало кому-то легче жить, то это уже "модификация", то есть "мод".
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 5 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: [BETA] исправление ошибки с удалённым стилем

Сообщение Anvar »

Я где-то написал о бесполезности хаков и мелких модов? Отнюдь, я бы сам наработки какие разместил. Только будет тема, она уйдет далеко вниз, потому что обсуждать особо то не чего.
А если это все размещать в одной теме, то она будет вечно вверху, можно даже закрепить.
Не удобно ли когда все по полочкам разложено?

Добавлено спустя 6 минут 58 секунд:
Ну не хотите как хотите. Я пожалуй тоже темок таких создам немножко, наверное пора показать чем у меня забит комп. :-D
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

[BETA] исправление ошибки с удалённым стилем

Сообщение МайскийЖук »

Хоть и про другой мод, но все равно в тему.

Вот, например, есть такой мод. Там по инструкции всего одна правка в одном файле. Тем не менее, оформлено в виде отдельного мода и выложено на официальном сайте. :)
Любовь и боль, покой и бой я как любой несу с собой…

Вернуться в «Бета-версии модов для phpBB 3.0.x»