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

Проблема с установкой Admin Private Message Manager

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Alexgraf

Проблема с установкой Admin Private Message Manager

Сообщение Alexgraf »

Пытаюсь поставить мод "Admin Private Message Manager" ver. 1.5.1 на phpbb 2.0.10
На навигационной панели администратора вижу ошибку "Fatal error: Cannot redeclare unset_vars()". Определение unset_vars встречается только в common.php. Сам common.php ни в одном из файлов мода не встречается...
Что делать, есть какие нибудь мысли ???
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Зарегистрирован: 20 лет
Откуда: Estonia, Tallinn

Сообщение Vladson »

Ссылку на мод пожалуйста (это надо в правила добавить, в каждой теме 2-й пост копия этого)
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Alexgraf

Сообщение Alexgraf »

http://www.nivisec.com/phpbb.php?l=p&Ni ... 55210b3086 - среди прочего есть описание со ссылкой на скачивание.
http://www.nivisec.com/downloads/phpbb/ ... v_msgs.zip - отсюда скачивал.

Добавлено спустя 1 час 26 минут 11 секунд:

Сам решил проблему поставив ремарку на include_once("pagestart.$phpEx");
Теперь ломаю голову что у меня отвалилось... Не подскажите ???
Проверил, всё вроде работает...
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Зарегистрирован: 20 лет
Откуда: Estonia, Tallinn

Сообщение Vladson »

Теперь любой недо-хакер сможет читать все ЛС, в файле pagestart.$phpEx cтоит самая главная защита от CSS (Cross Site Scripting)
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Alexgraf

Сообщение Alexgraf »

Получается так, что заходе а администраторскую панель, common.php вызывается из pagestart.php и еще откуда то... а сам common.php определяет unset_vars(). Так как определение происходит дважды вываливается ошибка... Отказываться от вызова pagestart.php нельзя... Что же делать ???

Добавлено спустя 28 минут 10 секунд:

И еще вопрос - просматривать ЛС сможет только недо-хакер вошедший в админскую панель ??? Ведь как я понимаю вызов или "невызов" pagestart.php, в моём случае, происходит только после авторизации админа... В обычных файлах форума изменений в вызове pagestart.php не производилось...
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Зарегистрирован: 20 лет
Откуда: Estonia, Tallinn

Сообщение Vladson »

common.php вызывается из pagestart.php и еще откуда то
Отказываться от вызова pagestart.php нельзя... Что же делать ???
Искать откуда вызывается common.php в первый раз...
просматривать ЛС сможет только недо-хакер вошедший в админскую панель ???
В том то и дело что нет, проверка авторизации проходит в два этапа, один стандартный в common.php и второй в pagestart.php так вот первый можно обойти причём давольно не сложно
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Alexgraf
Поставил себе этот мод, все прекрасно работает, никаких глюков.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alexgraf

Сообщение Alexgraf »

Большое спасибо всем за ответы. Но хочется понять досконально..

2Vladson - когда я ставлю мод "как есть", форум продолжает нормально работать, но когда я захожу в администраторский раздел, в панели навигации (вертикальная слева) мне выдается ошибка "Fatal error: Cannot redeclare unset_vars()". Если я в файле admin_priv_msgs.php, который входит в состав мода, ставлю в ремаку include_once("pagestart.$phpEx"), то всё начинает работать. Получается, что пока я не вхожу в администраторский раздел, всё работает как надо и файл pagestart.php везде грузится как надо. Только в момент загрузки администраторской страницы, происходит повторный вызов и вываливается ошибка. Вопрос - стоит ли копаться и пытаться понять где происходит повторный вызов или можно жить так, причем жить достаточно безопасно ???

2Xpert а какая версия форума у Вас стоит ??? И если есть возможность, скажите какие моды Вы ставили до этого.

PS Я перевел lang_admin_priv_msgs.php, если кому-то надо, могу поделиться.
Hellraiser
phpBB 2.0.1
Сообщения: 258
Зарегистрирован: 20 лет

Сообщение Hellraiser »

Если не секрет то что это за мод и что он делает?
Alexgraf

Сообщение Alexgraf »

Мод предназначен для управления личными сообщениями пользователей. Если много пользователей активно пользуются личными сообщениями форума, то база сильно разрастается, этим модом сей трабл пофиксить можно... Да и админам вауеристам этот мод полезен будет :-)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Alexgraf
У меня 2.0.10 с большим количеством различных модов. А у вас какая?

Перевод, если не сложно, выложите в форум Локализации.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alexgraf

Сообщение Alexgraf »

2 Xpert
У меня тоже 2.0.10 и это странно...
Единственный глюк который возник при установке и с которым я не стал разбираться следующий - сам форум лежит по след. пути : /usr/local/www/www.[url].ru/forum/ при копировании php файла в папку forum/admin на администраторской странице, в панели навигации, возникает ошибка - типа файл не найден... я дублирую этот файл в /usr/local/php/ и всё начинает работать.
Вернемся к наши баранам - мне надо видимо вспоминать все моды, которые я ставил, и искать в них вызов pagestart.php
Ну найду я файл, и что ??? там ремарку ставить ??? как то всё странно...
Вопрос такой - правильно ли я понимаю, что при входе в админку загружаются все файлы .php находящиеся в /forum/admin/ ??? Если это так, то отказ от вызова pagestart.php в admin_priv_msgs.php не приведет в ослаблению защиты...
PS перевод выложил в раздел "Локализация"

Добавлено спустя 53 минуты 23 секунды:

в догонку - в файлах в /forum/admin/ ссылка на pagestart.php выглядит так - require('./pagestart.' . $phpEx); в admin_priv_msgs.php так - include_once("pagestart.$phpEx");
я не знаток php, знающие люди, подскажите не в этом собака порылась ???
undead_crow
phpBB 1.0.0
Сообщения: 3
Зарегистрирован: 19 лет 4 месяца

Сообщение undead_crow »

в догонку - в файлах в /forum/admin/ ссылка на pagestart.php выглядит так - require('./pagestart.' . $phpEx); в admin_priv_msgs.php так - include_once("pagestart.$phpEx");
я не знаток php, знающие люди, подскажите не в этом собака порылась ???[/quote]

require подключает файл всегда, как только встречается в скрипте, даже если require стоит в теге if и не выполняется.
include - более интелектуальная команда. Подключается, только когда выполняется, а include_once подключает файл только в том случае, если он не был подключен в скрипт ранее. Так же include может возвращать данные, но здесь это вроде не важно... :-)
Аватара пользователя
YarNET
phpBB 2.0.6
Сообщения: 518
Зарегистрирован: 19 лет 5 месяцев

Сообщение YarNET »

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

<?php
/***************************************************************************
*                            $RCSfile: lang_admin_priv_msgs.php,v $
*                            -------------------
*   begin                : Tue January 20 2002
*   copyright            : (C) 2002-2003 Nivisec.com
*   email                : support@nivisec.com
*
*   $Id: lang_admin_priv_msgs.php,v 1.8 2003/06/26 22:33:04 nivisec Exp $
*
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

/* General */
$lang['Deleted_Message'] = 'Удалёно личных сообщений - %s <br />'; // %s = PM title
$lang['Archived_Message'] = 'Заархивировано личных сообщений - %s <br />'; // %s = PM title
$lang['Archived_Message_No_Delete'] = 'Не могу удалить %s, оно помечено для архивирования <br />'; // %s = PM title
$lang['Private_Messages'] = 'Личные сообщения';
$lang['Private_Messages_Archive'] = 'Архив личных сообщений';
$lang['Archive'] = 'Архивы';
$lang['To'] = 'Кому';
$lang['Subject'] = 'Тема';
$lang['Sent_Date'] = 'Дата отправки';
$lang['Delete'] = 'Удалить';
$lang['From'] = 'От';
$lang['Sort'] = 'Сортировка';
$lang['Filter_By'] = 'Фильтр по';
$lang['PM_Type'] = 'Тип ЛС';
$lang['Status'] = 'Статус';
$lang['No_PMS'] = 'Нет личных сообщений удовлетворяющих критериям поиска';
$lang['Archive_Desc'] = 'Здесь приведены личные сообщения помеченные Вами для архивирования. Пользователи больше не будут иметь к ним доступа, но Вы сможете просмотреть и удалить их в дюбое время.';
$lang['Normal_Desc'] = 'Это центр управления личными сообщениями пользователей на форуме. Вы можете просматривать удалять и архивировать (пользователи не будут иметь доступа к этим сообщениям) личные сообщения пользователей.';
$lang['Version'] = 'Версия';
$lang['Remove_Old'] = 'Безадресные ЛС:</a> <span class="gensmall">Список сообщений от удалённых пользователей Вы можете удалить эти ЛС</span>';
$lang['Remove_Sent'] = 'Отправленные ЛС:</a> <span class="gensmall">Сообщения в папке Отправленные, это просто копии отправляемых пользователем сообщений. Они могут быть удалены.</span>';
$lang['Affected_Rows'] = 'Количество удалённых сообщений %d<br>';
$lang['Removed_Old'] = 'Удалить все безадресные ЛС<br>';
$lang['Removed_Sent'] = 'Удалить все сообщения в папке Отправленные<br>';
$lang['Utilities'] = 'Груповое удаление сообщений';
$lang['Nivisec_Com'] = 'Nivisec.com';

/* PM Types */
$lang['PM_-1'] = 'Все типы'; //PRIVMSGS_ALL_MAIL = -1
$lang['PM_0'] = 'Прочтённые'; //PRIVMSGS_READ_MAIL = 0
$lang['PM_1'] = 'Новые'; //PRIVMSGS_NEW_MAIL = 1
$lang['PM_2'] = 'Отправленные'; //PRIVMSGS_SENT_MAIL = 2
$lang['PM_3'] = 'Сохранённые входящие'; //PRIVMSGS_SAVED_IN_MAIL = 3
$lang['PM_4'] = 'Сохранённые исходящие'; //PRIVMSGS_SAVED_OUT_MAIL = 4
$lang['PM_5'] = 'Не прочитанные'; //PRIVMSGS_UNREAD_MAIL = 5

/* Errors */
$lang['Error_Other_Table'] = 'Ошибка при запросе к таблице.';
$lang['Error_Posts_Text_Table'] = 'Ошибка при запросе к таблице Private Messages Text table.';
$lang['Error_Posts_Table'] = 'Ошибка при запросе к таблице Private Messages table.';
$lang['Error_Posts_Archive_Table'] = 'Ошибка при запросе к таблице Private Messages Archive table.';
$lang['No_Message_ID'] = 'Не указан индекс сообщения.';


/*Special Cases, Do not bother to change for another language */
$lang['ASC'] = $lang['Sort_Ascending'];
$lang['DESC'] = $lang['Sort_Descending'];
$lang['privmsgs_date'] = $lang['Sent_Date'];
$lang['privmsgs_subject'] = $lang['Subject'];
$lang['privmsgs_from_userid'] = $lang['From'];
$lang['privmsgs_to_userid'] = $lang['To'];
$lang['privmsgs_type'] = $lang['PM_Type'];

?>
-------------------

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

<?php
/***************************************************************************
*                            $RCSfile: lang_nivisec_version_check.php,v $
*                            -------------------
*   copyright            : (C) 2002-2003 Nivisec.com
*   email                : support@nivisec.com
*
*   $Id: lang_nivisec_version_check.php,v 1.1 2003/06/11 05:26:03 nivisec Exp $
*
*
***************************************************************************/

/***************************************************************************
*
*   This module IS NOT FREE SOFTWARE.  You may not modify it and re-distribute
*   it in any way.  This module is an optional install, and therefore, not
*   covered under the GPL by my own wish!  This is done for security purposes.
*
*   Billy Sauls, of Nivisec.com, retains 100% of the copyright to this module.
*
***************************************************************************/

$lang['Version_Not_Avail'] = 'Unable to retrieve a version number, please check at <a href="http://www.nivisec.com" target="_blank">Nivisec.com</a> manually for an update to your version %s.';
$lang['New_Mod_Version'] = '%s Version <b>%s</b> is available now at <a href="http://www.nivisec.com" target="_blank">Nivisec.com</a>.';
$lang['Bad_Mod_Version'] = 'Your client reported a %s version higher than the latest release of <b>%s</b>.  Your files may have been tampered with!  Visit <a href="http://www.nivisec.com" target="_blank">Nivisec.com</a> to get the original version.';
$lang['Nivisec_Checker_Version'] = 'Nivisec Mod Checker Version %s';
$lang['Nivisec_Mod_Checker'] = 'Nivisec Mod Checker';

?>
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET

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