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

[3.1][3.2][3.3][dev] STK for phpBB 3.3.x & 3.2.x & 3.1.x

Все расширения, созданные нашим сообществом для phpBB, как находящиеся в разработке, так и прошедшие валидацию на официальном сайте phpbb.com, будут анонсированы тут. Вся техническая поддержка по этим расширениям оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

[3.1][3.2][3.3][dev] STK for phpBB 3.3.x & 3.2.x & 3.1.x

Сообщение Sheer »

Support ToolKit

Версия для phpBB3.2.х и phpBB3.3.х https://github.com/AlexSheer/phpbb3.2-STK
В виде zip-архива для скачивания

Для 3.3.6 - 3.3.11 https://github.com/Tatiana5/phpBB3.2-STK
Архивом

Версия для phpBB3.1.х доступная для скачивания здесь -->https://github.com/AlexSheer/phpBB3.1-STK
Минимальная версия для 3.1 - phpBB 3.1.2

NB! Версии не совместимы. Версии для 3.2 и 3.3 не будут работать на 3.1 и наоборот.

Установка
Создать папку с именем stk в корневой папке конференции (там, где расположен файл config.php) и просто скопировать туда все файлы из папки архива phpbb3.1-STK-master.zip или phpbb3.2-STK-master.zip, сохраняя структуру папок.

Откройте файл default_lang.txt и впишите туда аббревиатуру используемого на конференции языка по умолчанию, например en или ru Удалено, начиная с версии 1.0.18-dev

Запуск (пример) http://your_domain.ru/forum/stk/

stk_link.rar
Крохотное расширение для добавления ссылки на запуск со всех страниц конференции и Администраторского раздела
(1.46 КБ) 747 скачиваний


Инструментарий поддержки (или Support Toolkit, или STK), представляет собой программный пакет, который может быть использован для устранения проблем, связанных с работой phpBB 3.1.x или 3.2.x и 3.3.х. Инструментарий является второй Администраторской панелью управления, дающий администратору доступ к инструментам, используемым для разрешения различных проблем неправильного функционирования конференции.
АВТОРИЗАЦИЯ
STK был разработан с вторичной системой авторизации, которая позволяет войти в систему, если вы уже не в состоянии войти в phpBB3 стандартным методом. Если вы заблокированы на конференции, не помните свое имя пользователя и пароль, и не можете использовать стандартные методы восстановления пароля phpBB3, STK может создать новый файл с паролем, который можно использовать для входа в STK. Вы должны скачать этот файл и загрузить его в папку /stk на вашем сервере. После того как файл будет загружен, вы можете войти в систему, используя метод альтернативного входа (до тех пор, пока вы не войдете в phpBB3 стандартным методом).
Созданный пароль истекает через 6 часов после создания, и вам нужно будет создать новый пароль, чтобы снова использовать этот метод входа в систему.
ИНСТРУМЕНТЫ ПОДДЕРЖКИ
Эта категория содержит инструменты, которые выполняют общие задачи поддержки.
  • Изменение настроек Авто Cookies конференции - Позволяет сменить установки Cookies конференции
  • Исправление Базы Данных после Обновления MySQL - Этот инструмент предназначен для решения проблем, которые возникают из-за несовместимости версии MySQL с вашей версией phpBB, а также после обновления версии MySQL на более новую Удалено
  • Исправление границ значений ID всей конференции - Восстановление древовидной структуры форумов и модулей.
  • Назначение стиля по умолчанию - Позволяет изменить стиль конференции по умолчанию для всех пользователей.
  • Назначение стиля prosilver стилем по умолчанию - Позволяет установить стиль prosilver и назначить его стилем по умолчанию для всех пользователей.
  • Обновление хешей email - Этот инструмент позволяет обновить контрольные суммы адресов электронной почты. Недоступно, начиная с версии phpBB3.3.1.
  • Одиночные сообщения (не приписанные к темам) - Поиск тем, которые не содержат сообщений и сообщений, которые не связаны ни с какой темой.
  • Оптимизация таблиц БД - Поиск таблиц базы данных, нуждающихся в дефрагментации, и их оптимизация.
  • Пересоздание кеша модераторов - Позволяет перезаписать таблицу кэша модераторов в базе данных.
  • Пересоздание меток жалоб всей конференции - Проверка, что все сообщения, темы и Личные сообщения на которые поступили жалобы, помечены правильно.
  • Пересоздание модуля управления модулями - Восстановление модулей управления модулями в АСР (модули, которые позволяют добавлять / изменять / удалять другие модули) в том случае, если они были удалены.
  • Пересоздание очищенных имён пользователей - Сброс записей username_clean в таблице пользователей базы данных.
  • Проверка изменений в Базе Данных - Этот инструмент разработан для проверки дополнительных полей, записей, таблиц, модулей, прав доступа и прочего, не включённых в стандартную установку phpBB3, а так же для добавления или восстановления повреждённых элементов базы данных при необходимости. Позволяет восстановить структуру базы данных в первоначальное состояние, то есть на момент установки phpBB.
  • Проверка прав учётной записи Гостя - Сброс настроек учетной записи Гостя в правильное состояние или ее восстановление, если она была удалена из базы данных.
  • Проверка скриптов BB-кода flash на уязвимость - Инструмент, который проверяет все флэш-BB-коды на наличие уязвимостей, которые были возможны в phpBB до версии 3.0.8.
  • Синхронизация тем - Инструмент позволяет восстановить реальное количество сообщений в таблице_topics. (Автор Алг )
  • Сообщения без автора - Инструмент позволяет удалить сообщения несуществующих авторов или назначить авторов для этих сообщений (это может произойти в случае, если пользователи были удалены вручную непосредственно из базы данных, а не штатными средствами phpBB).
  • Удаление дубликатов прав доступа - Удаляет повторяющиеся права доступа, наличие дубликатов может нарушить систему аутентификации.
  • Удаление потерянных прав доступа - Поиск несуществующих прав доступа, наличие таких прав может нарушить систему аутентификации.
СРЕДСТВА АДМИНИСТРИРОВАНИЯ
Средства администрирования могут быть использованы администратором для управления конкретными аспектами конференции и решать общие проблемы.
  • Выполнение SQL-запроса - Позволяет выполнить любой SQL-запрос и посмотреть результат.
  • Очистить кэш - Очистка папки /cache. Удаление всех файлов кроме index.htm и .htaccess
  • Очистка сессий - Этот инструмент удалит все текущие сессии всех пользователей. Поле этого им заново придется авторизовываться на конференции.
  • Параметры конфигурации - Этот инструмент позволяет просмотреть и изменить параметры конфигурации (записи в таблице _config базы данных).
  • Проверка аватар - Данный инструмент проверяет существование на сервере файлов аватар, используемых на конференции (файлы из галерей аватар не проверяются). Если будет обнаружено, что файл отсутствует, аватар будет удален из профиля пользователя.
  • Проверка записей в Базе Данных о вложениях - Данный инструмент сравнивает записи в Базе Данных с фактом нахождения вложений на сервере. Если файлы вложений отсутствуют на сервере, инструмент удаляет записи о них из Базы Данных.
  • Проверка и редактирование профилей пользователей - Инструмент отображает информацию из профилей пользователей, может использоваться для определения спам-регистраций и массового удаления пользователей.
  • Проверка и управление расширениями - Инструмент позволяет массово отключать/включать или удалять все установленные на конференции расширения. Не затрагивает данные, относящиеся к этим расширениям, такие как таблицы или значения конфигурации.
  • Проверка файлов аватар - Данный инструмент проверяет существование на сервере лишних файлов аватар (файлы из галерей аватар не проверяются). Если будет обнаружено, что файл существует, он будет удален.
  • Проверка файлов вложений - Данный инструмент проверяет существование на сервере лишних файлов вложений. Если будет обнаружено, что файл существует, он будет удален.
  • Проверка файлов стилей - Данный инструмент проверяет наличие необходимых компонентов для всех установленных стилей. Если будет обнаружено, что эти компоненты отсутствуют, стиль будет удален.
  • Пересоздание миниатюр файлов вложений - В случае, если была отключена опция «Создавать миниатюры» и вложения были созданы, вы можете создать миниатюры для таких вложений.
  • Резервное копирование - Данный инструмент позволяет создать (выборочную) резервную копию таблиц базы данных конференции. Вы можете сохранить конечный архив на сервере в папке /store , скачать его или вывести текст на дисплей. В зависимости от конфигурации сервера может быть доступно сжатие файла резервной копии в нескольких форматах.
    Полученный дамп резервной копии совместим с форматом утилиты MySQLDumper, которая поддерживает выборочное восстановление таблиц базы данных.
  • Репарсинг BBCode сообщений и ЛС - производится репарсинг сообщений, личных сообщений и подписей пользователей.
  • Удаление пользовательских BB-кодов - Удаление bb-кодов 'youtube', 'video', 'audio', 'media' в случае, если установлено расширение [3.2] Official Extensions: phpBB Media Embed PlugIn Только для версий для 3.2.х и 3.3.х
СРЕДСТВА ПОЛЬЗОВАТЕЛИ И ГРУППЫ
Средства пользователи и группы могут быть использованы для управления пользователями и группами, такими способами, которые не доступны в стандартной установке phpBB.
  • Восстановление (создание) удалённых пользователей - Этот инструмент позволяет вам восстановить (или создать новую учетную запись) удалённых пользователей, если оставлены их сообщения, как "гостевые".
  • Добавление новых пользователей - Позволяет легко добавлять новых пользователей конференции.
  • Копирование прав доступа пользователя - Перенос всех прав доступа одного пользователя на другого: глобальных (пользовательских, модераторских, администраторских) и локальных (форумных).
  • Объединение пользователей - Объединение учетных записей пользователей (например при создании клона).
  • Пользователи без групп - Поиск пользователей, не принадлежат ни к одной из установленных на конференции групп. Вы можете отметить любого пользователя и назначить ему группу по умолчанию, а также другую группу или группы, в которые будет входить пользователь.
  • Пользовательские настройки - Инструмент позволяет изменить пользовательские настройки, установленные по умолчанию, для всех или выбранных групп пользователей
  • Проверка прав стандартных пользовательских групп - Этот инструмент предназначен для проверки всех пользователей на предмет принадлежности их к правильным группам
  • Смена паролей пользователей конференции - Инструмент для изменения пароля пользователя.
  • Удаление пользователей - Инструмент для массового удаления пользователей не оставивших ни одного сообщения и не посещавших конференцию за выбранный период времени.
  • Управление Основателями конференции - Инструмент, позволяющий назначить выбранному пользователю все привилегии основателя конференции.
  • Настройки уведомлений - Инструмент, позволяющий изменить настройки уведомлений по умолчанию для всех или неактивных за выбранный период времени пользователей.
СРЕДСТВА РАЗРАБОТКИ
Средства разработки могут быть использованы разработчиками и авторами расширений для выполнения общих задач.
  • Разработка расширений - Создание заготовки расширения.
  • События ядра - Здесь перечислены все события ядра и шаблонов с их кратким описанием, которые можно использовать при создании расширений.
  • Управление файлами расширений - Инструмент, позволяющий редактировать, создавать или удалять любой файл или папку любого, установленного на конференции расширения.
  • Файлы phpBB - здесь можно посмотреть и ознакомиться с содержанием всех файлов движка phpBB той версии, которая установлена на вашей конференции в данный момент.
Вложения
phpBB3.2-STK-master.zip
Обновлено 14.11.2023
+ 75 скачиваний
(935.03 КБ) 8 скачиваний
phpbb3.1-STK-master.zip
(805.64 КБ) 77 скачиваний
Последний раз редактировалось Татьяна5 14.11.2023 2:35, всего редактировалось 1 раз.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Перенесено из форума Бета-версии расширений для phpBB 3.1.x в форум Анонсы и поддержка расширений для phpBB 3.1.x 11.07.2015 15:18 модератором LavIgor

Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 14 лет 3 месяца
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Alecto »

Sheer писал(а): 29.07.2017 12:39 Тоже не воспроизводится. Что-то у тебя неладное с БД
да, с innodb.
заменил движок всех таблиц на myisam - чистка бд прошла как и в 3.1, с одним выпадом в замечания, но в целом успешно.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Sheer »

Ну так я же писал
Sheer писал(а): 29.07.2017 12:39в языковом файле /language/ru/acp/acp_modules.php отсутствует "языковая переменная" CANNOT_REMOVE_MODULE
А у тебя поди украинский /language/uk/acp/acp_modules.php ?

Отправлено спустя 1 минуту 41 секунду:
строка 45

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

	'CANNOT_REMOVE_MODULE'	=> 'Не удалось удалить модуль, поскольку на него назначены дочерние модули. Удалите или переместите все дочерние модули перед выполнением этого действия.',
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 14 лет 3 месяца
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Alecto »

нет. русский.
это похоже из той же оперы забытых ошметков версии 3.1.11, там нашлось такое в языковом файле.
пойду отдыхать и не буду морочить вам голову, а там на свежую голову и пойдет легче.
Аватара пользователя
hd321kbps
phpBB 2.0.3
Сообщения: 353
Стаж: 11 лет 11 месяцев
Откуда: Россия, Крым, Армянск
Благодарил (а): 187 раз
Поблагодарили: 349 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение hd321kbps »

apograph писал(а): 22.05.2017 12:43При попытке сделать Репарсинг BBCode сообщений и ЛС выдает:

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

Parse error: syntax error, unexpected '1' (T_LNUMBER), expecting identifier (T_STRING) in /home/o/public_html/stk/includes/functions.php(961) : eval()'d code on line 1 Error 4: syntax error, unexpected '1' (T_LNUMBER), expecting identifier (T_STRING) at file /home/o/public_html/stk/includes/functions.php(961) : eval()'d code line 1
Такая же ошибка
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Sheer »

// eval() sucks, but we must use preg_replace_callback() to support
// PHP 7.0, and custom BBcode replacement function is stored as a string
Если по-русски, то я не знаю, как сделать регулярку для php7.0

Отправлено спустя 2 минуты 9 секунд:
https://www.phpbb.com/community/viewtop ... 6&start=45
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение rxu »

Sheer писал(а): 21.09.2017 19:48не знаю, как сделать регулярку для php7.0
В каком конкретно месте?
Изображение
Аватара пользователя
hd321kbps
phpBB 2.0.3
Сообщения: 353
Стаж: 11 лет 11 месяцев
Откуда: Россия, Крым, Армянск
Благодарил (а): 187 раз
Поблагодарили: 349 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение hd321kbps »

rxu писал(а): 21.09.2017 20:49В каком конкретно месте?

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

stk/includes/functions.php(961)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Sheer »

В этом

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

// php.net, laurynas dot butkus at gmail dot com, http://us.php.net/manual/en/function.html-entity-decode.php#75153
function html_entity_decode_utf8($string)
{
	static $trans_tbl;
	// replace numeric entities
	if (@phpversion() < '7.0.0')
	{
		$string = preg_replace('~&#x([0-9a-f]+);~ei', '_code2utf8(hexdec("\\1"))', $string);
		$string = preg_replace('~&#([0-9]+);~e', '_code2utf8(\\1)', $string);
	}
	else
	{
		// eval() sucks, but we must use preg_replace_callback() to support
		// PHP 7.0, and custom BBcode replacement function is stored as a string

		$replacement = '_code2utf8(hexdec("\\1"))';
		$string = preg_replace_callback('|&#x([0-9a-f]+);|', function($matches) use($replacement) {eval('$str=' . $replacement); return $str;}, $string);
		$replacement = '_code2utf8(\\1)';
		$string = preg_replace_callback('|&#([0-9]+);|', function($matches) use($replacement) {eval('$str=' . $replacement); return $str;}, $string);
	}

	// replace literal entities
	if (!isset($trans_tbl))
	{
		$trans_tbl = array();

		foreach (get_html_translation_table(HTML_ENTITIES) as $val => $key)
		{
			$trans_tbl[$key] = utf8_encode($val);
		}
	}

	return strtr($string, $trans_tbl);
}

Отправлено спустя 34 секунды:
Строка 961

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

		$string = preg_replace_callback('|&#([0-9]+);|', function($matches) use($replacement) {eval('$str=' . $replacement); return $str;}, $string);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение rxu »

Попробуй так

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

$string = preg_replace_callback(
	'|&#([0-9]+);|',
	function ($matches) { return _code2utf8(hexdec($matches[1])); },
	$string
);
Изображение
Аватара пользователя
hd321kbps
phpBB 2.0.3
Сообщения: 353
Стаж: 11 лет 11 месяцев
Откуда: Россия, Крым, Армянск
Благодарил (а): 187 раз
Поблагодарили: 349 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение hd321kbps »

rxu писал(а): 21.09.2017 22:05Попробуй так
Работает
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Sheer »

Так и запишем.

Отправлено спустя 1 минуту 51 секунду:
https://github.com/AlexSheer/phpBB3.2-S ... 42c858e883
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение rxu »

Там вроде две таких регулярки, можно обе заменить. И, скорее всего, можно избавиться от двух вариантов для PHP младше 7-ки и 7-ки, новая должна работать везде.
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Sheer »

В смысле так?

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

function html_entity_decode_utf8($string)
{
	static $trans_tbl;
	// replace numeric entities

	// eval() sucks, but we must use preg_replace_callback() to support
	// PHP 7.0, and custom BBcode replacement function is stored as a string

	$replacement = '_code2utf8(hexdec("\\1"))';
	$string = preg_replace_callback('|&#x([0-9a-f]+);|', function($matches) use($replacement) {eval('$str=' . $replacement); return $str;}, $string);
	$replacement = '_code2utf8(\\1)';
	$string = preg_replace_callback(
		'|&#([0-9]+);|',
		function ($matches) { return _code2utf8(hexdec($matches[1])); },
		$string
	);

	// replace literal entities
	if (!isset($trans_tbl))
	{
		$trans_tbl = array();

		foreach (get_html_translation_table(HTML_ENTITIES) as $val => $key)
		{
			$trans_tbl[$key] = utf8_encode($val);
		}
	}

	return strtr($string, $trans_tbl);
}
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение rxu »

Типа так

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

// php.net, laurynas dot butkus at gmail dot com, http://us.php.net/manual/en/function.html-entity-decode.php#75153
function html_entity_decode_utf8($string)
{
	static $trans_tbl;

	// replace numeric entities
	$string = preg_replace_callback(
		'|&#x([0-9a-f]+)|',
		function ($matches) { return _code2utf8(hexdec($matches[1])); },
		$string
	);

	$string = preg_replace_callback(
		'|&#([0-9]+);|',
		function ($matches) { return _code2utf8($matches[1]); },
		$string
	);

	// replace literal entities
	if (!isset($trans_tbl))
	{
		$trans_tbl = array();

		foreach (get_html_translation_table(HTML_ENTITIES) as $val => $key)
		{
			$trans_tbl[$key] = utf8_encode($val);
		}
	}

	return strtr($string, $trans_tbl);
}
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [dev] STK for phpBB 3.1.x & 3.2.x

Сообщение Sheer »

Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Ответить

Вернуться в «Анонсы и поддержка расширений для phpBB»