Страниц (3): « 1 [2] 3 »
Найдено сообщений: 37 |
sqrt |
Отправлено: 2 октября 2016 — 19:35 • Тема: Мод: Ограничение времени редактирования сообщений • Форум: Модификации и дополнения |
Ответов: 44 Просмотров: 35088
|
Если необходимо, чтобы у пользователей была возможность помимо редактирования в течение заданного времени еще и возможность удалить свое сообщение в течение этого же заданного времени, то нужно:
postings.php: (право удаления в течение установленного времени редактирования)
В функции function deletepost():
Найти:
CODE:if ($fm->_Moderator === false) {
$fm->_FcloseAll();
$fm->_Message($fm->LANG['PostDeleting'], $fm->LANG['EditNo']);
}
Заменить на:
CODE:if ($fm->_Moderator === false && $fm->exbb['edit_time'] && $fm->_Nowtime - $post_id > $fm->exbb['edit_time'] * 60) {
$fm->_FcloseAll();
$fm->_Message($fm->LANG['PostDeleting'], $fm->LANG['EditNo']);
}
topic.php: (отображение кнопки удаления)
Найти:
CODE:$del = ( $fm->_Moderator === true) ? '<a href="postings.php?action=processedit&deletepost=yes&forum=' . $forum_id . '&topic=' . $topic_id . '&postid=' . $key . '" onClick="DelPost(this,' . $key . '); return false">' . $_icon['del'] . '</a>' . $_icon['divider'] : '';
Заменить на:
CODE:$del = ( $fm->_Moderator === true || ( $fm->user['id'] === $member_id && $fm->user['id'] && $topic['state'] != 'closed' )) ? '<a href="postings.php?action=processedit&deletepost=yes&forum=' . $forum_id . '&topic=' . $topic_id . '&postid=' . $key . '" onClick="DelPost(this,' . $key . '); return false">' . $_icon['del'] . '</a>' . $_icon['divider'] : '';
ну, т.е. то же, что и для редактирования. |
sqrt |
Отправлено: 1 октября 2016 — 18:53 • Тема: ExBB 1.1.3 • Форум: Релизы |
Ответов: 142 Просмотров: 90462
|
В ExBB 1.1.3 наблюдаю проблему с поиском:
Если поисковый запрос состоит из слова, включающего, например, букву "Р" русскую, а сервер в utf-8, то GET-запрос поиска не обрабатывает ее, а, возможно, и некоторые другие буквы. Это видно, когда введешь слово в строку поиска, содержащее эту букву, скрипт выдаст результаты в виде тем, но при переходе по ссылке в тему пишет, что ничего не найдено, потому что, если, скажем, введено в поиск слово "материал", то в search query будет выдано, как printpage.php?action=1&forum=7&topic=15&post=%EC%E0%F2%E5%E8%E0%EB&stype=OR&color=yes, где %EC%E0%F2%E5%E8%E0%EB - это "матеиал".
Скорее всего, что GET-запрос не обрабатывает некоторые русские буквы:
Цитата:й??кенг??з??ф?вап?олдж?я?сми??б?
йцукенгшщзхъфывапролджэячсмитьбю
и, возможно нужно включать в preg_replace модификатор u:
http://softtime.ru/forum/read.ph...p;id_theme=88259?
т.е.
CODE:$search = preg_replace ("'[^№a-zа-яА-ЯA-ZЁё0-9 ]'iu", "", $_GET['search']);
В search/search.php и search.php корневой есть несколько preg_replace
Вот, например:
CODE:$entered_word = preg_replace('/([^a-zA-Zа-яА-ЯёЁ]|^)([a-zA-Zа-яА-ЯёЁ]{1,3})(?![a-zA-Zа-яА-ЯёЁ])/', '', $_SEARCH['entered_word']);
или вот еще:
CODE:$searchinmessage = sprintf($fm->LANG['YOUSEARCH'], preg_replace('/([^a-zA-Zа-яА-ЯёЁ]|^)([a-zA-Zа-яА-ЯёЁ]{1,3})(?![a-zA-Zа-яА-ЯёЁ])/', '$1<font color="red">$2</font>', $_SEARCH['entered_word']));
и еще несколько.
Т.е., возможно, надо переделать как-то так:
CODE:$searchinmessage = sprintf($fm->LANG['YOUSEARCH'], preg_replace('/([^a-zA-Zа-яА-ЯёЁ]|^)([a-zA-Zа-яА-ЯёЁ]{1,3})(?![a-zA-Zа-яА-ЯёЁ])/u', '$1<font color="red">$2</font>', $_SEARCH['entered_word'])); |
sqrt |
Отправлено: 17 сентября 2016 — 07:17 • Тема: ExBB 2.0.0-Pre • Форум: Релизы |
Ответов: 138 Просмотров: 80162
|
sqrt пишет:
Хотел бы еще добавить по поводу поиска.
Еще добавлю: ExBB 1.1.3 или ExBB 2.0.0 pre не ищет фразы, содержащие, например, только цифры. Т.е. даже после индексирования:
Цитата:324123423412341234
не найдет и выдаст:
Цитата:Не заданы параметры поиска! Либо запрос короче четырёх символов!
т.е. это даже не то, что ничего не найдено. Возможно, в поисковом механизме A-z обрабатывается, а 0-9 - нет. |
sqrt |
Отправлено: 16 сентября 2016 — 21:07 • Тема: ExBB 2.0.0-Pre • Форум: Релизы |
Ответов: 138 Просмотров: 80162
|
WebMaster пишет:
Проблема с поиском пока ещё не решена. Будет исправлено.
Хотел бы еще добавить по поводу поиска. Сравнивал его и в версии RC1 UTF-8 PHP 5.4, которая когда-то выкладывалась, и в версии Final, и в 1.1.3 и 2.0.0.
В RC1 UTF-8 PHP 5.4 - вроде бы нормально работал. в Final - как-то плоховато. В 1.1.3 (w1251) сравнительно нормально, хотя иногда есть такое, что отдельные слова в тексте сообщений может не находить (естественно, все проиндексировал предварительно). В 2.0.0, который заточен под UTF-8, он находит только слова на латинице, обязательно целиком (неперемешанные с кириллицей), причем только, если выделить для поиска слово с самого начала (если выделить набор символов из середины или части слова, встречающегося в проиндексированном форуме, то не найдет ничего), недлинное (не более 12-14 символов) и, не знаю, вроде как только из сообщений, которые ближе к первому посту, если не сказать, вообще, только из первого поста темы. Вот как-то так.
Применяется поисковый механизм Risearch PHP и в папке search дистрибутива форума в файле readme.txt сказано, что нужно скопировать все файлы из дистрибутива форума в папку с одноименным названием и далее запустить скрипт .../search/_index.php на индексирование. Тут, вот, непонятно: что значит:
Цитата:скопировать все файлы из дистрибутива форума в папку с одноименным названием
Это что, - нужно ВСЕ файлы, входящие в дистрибутив форума, скопировать в папку search или имеется ввиду только файлы из папки data/search с индексами? Это, во-первых. И, во-вторых, файла _index.php в папке search нет. Как же тогда запускать? Или же эта инструкция в файле readme.txt когда-то использовалась в ExBB ранних версий и уже устарела и по наследству просто перетекает из дистрибутива в дистрибутив, не неся семантики (смысла действий) в себе или же она когда-то являлась частью некогда давно разработанного механизма Risearch PHP и теперь, фактически, перестает нести смысл в новых версиях ExBB? |
sqrt |
Отправлено: 14 сентября 2016 — 18:54 • Тема: ExBB 2.0.0-Pre • Форум: Релизы |
Ответов: 138 Просмотров: 80162
|
electron пишет:sqrt пишет:как не работал поиск, так и не работает
Установите это http://exbb.info/community/topic...um=8&topic=5 - станет получше.
sqrt пишет:почему-то не срабатывает модуль не/отображения ссылок гостям. Да-нет, - гостю все скрыто.
в 2.0 все прекрасно работает. у вас наверняка нет прав на запись для файла data/boardinfo.php . всем папкам и файлам в папке data нужно установить права на запись. иначе форум может косячить
Поиск в версии 1.1.3 я сравнивал с 2.0.0 и с 1.0 RC1.
Работает нормально только в 1.1.3.
Что касается прав на запись для data/... везде внутри 777, в т.ч. тест на локалке - и не срабатывает почему-то. |
sqrt |
Отправлено: 14 сентября 2016 — 11:40 • Тема: ExBB 1.1.3 • Форум: Релизы |
Ответов: 142 Просмотров: 90462
|
Обнаружил странную несовместимость версии ExBB 1.1.3:
Если используется браузер Firefox 48.0.2 (ОС любая: и WXP и W10) и в браузере установлено и включено дополнение Flash and Video Download addon версии 2.0 (https://addons.mozilla.org/ru/fi...i#my-submissions), то перестает срабатывать редирект после, например, внесения изменений в форму конфигурационного файла или после отправки сообщений (браузер просто останавливается на окне уведомлений, в частности, например, на фразе:
Цитата:Ваше сообщение было успешно добавлено и не редиректит вновь в тему . |
sqrt |
Отправлено: 13 сентября 2016 — 16:51 • Тема: ExBB 1.1.3 • Форум: Релизы |
Ответов: 142 Просмотров: 90462
|
ExBB 1.1.3 (чистый).Не могу понять, баг что ли в релизе? Как известно, удалять сообщения могут только модераторы, супермодеры и админы. Взял, создал тему, еще пост (без склеивания), как админ, скопировал ссылку удаления второго поста вида postings.php?action=processedit&deletepost=yes&forum=1&topic=1&postid=1473774090, разлогинился, почистил куки (постить в форуме могут только зарегистрированные, смотреть гости могут). Под гостем перешел по ссылке postings.php?action=processedit&deletepost=yes&forum=3&topic=412&postid=1473774090, получил окно:
Цитата:Вы не администратор или модератор этого форума ,
перехожу в тему - и более не вижу поста 1473774090.
Как такое можно объяснить? |
sqrt |
Отправлено: 11 сентября 2016 — 21:06 • Тема: ExBB 2.0.0-Pre • Форум: Релизы |
Ответов: 138 Просмотров: 80162
|
Получается, чтобы сделать ссылки видимыми для гостей нужно:
fm_class.php
Найти и удалить в function url_text($matches)
строки:
CODE:if (!$this->user['id']) {
return '<i>' . $this->LANG['ViewLinkReged'] . '</i> ';
}
Далее:
CODE:$string = preg_replace_callback("#\[url\](" . $patern . ")\[\/url\]#isx", create_function('$matches', 'if (!' . $this->user['id'] . ') return \'<i>' . $this->LANG['ViewLinkReged'] . '</i> \'; global $fm; $LinkText = preg_replace("#^(.{32})(.+)(.{16})#is","$1...$3",trim($matches[1]));
$Link = (empty($matches[2])) ? "http://".$matches[1]:$matches[1];
if ($fm->exbb[\'redirect\'] && !stristr($Link, \'http://www.\'.$fm->exbb_domain) && !stristr($Link, \'http://\'.$fm->exbb_domain))
$Link = $fm->out_redir.$Link;
return "<a href=\"{$Link}\" target=\"_blank\">".trim($LinkText)."</a> ";'), $string);
$string = preg_replace_callback("#\[url=\s*(" . $patern . ")\s*\](.*?)\[\/url\]#isx", array( $this, 'url_text' ), $string);
$string = preg_replace_callback("#(^|\s|\b)(" . $patern . ")(\[|\s|$)#xis", create_function('$matches', 'if (!' . $this->user['id'] . ') return \'<i>' . $this->LANG['ViewLinkReged'] . '</i> \'; global $fm; $LinkText = preg_replace("#^(.{32})(.+)(.{16})#is","$1...$3",trim($matches[2]));
$Link = (empty($matches[3])) ? "http://".$matches[2]:$matches[2];
if ($fm->exbb[\'redirect\'] && !stristr($Link, \'http://www.\'.$fm->exbb_domain) && !stristr($Link, \'http://\'.$fm->exbb_domain))
$Link = $fm->out_redir.$Link;
return $matches[1]."<a href=\"$Link\" target=\"_blank\">$LinkText</a>".$matches[4];'), $string);
Заменить на:
CODE:$string = preg_replace_callback("#\[url\](" . $patern . ")\[\/url\]#isx", create_function('$matches', 'global $fm; $LinkText = preg_replace("#^(.{32})(.+)(.{16})#is","$1...$3",trim($matches[1]));
$Link = (empty($matches[2])) ? "http://".$matches[1]:$matches[1];
if ($fm->exbb[\'redirect\'] && !stristr($Link, \'http://www.\'.$fm->exbb_domain) && !stristr($Link, \'http://\'.$fm->exbb_domain))
$Link = $fm->out_redir.$Link;
return "<a href=\"{$Link}\" target=\"_blank\">".trim($LinkText)."</a> ";'), $string);
$string = preg_replace_callback("#\[url=\s*(" . $patern . ")\s*\](.*?)\[\/url\]#isx", array( $this, 'url_text' ), $string);
$string = preg_replace_callback("#(^|\s|\b)(" . $patern . ")(\[|\s|$)#xis", create_function('$matches', 'global $fm; $LinkText = preg_replace("#^(.{32})(.+)(.{16})#is","$1...$3",trim($matches[2]));
$Link = (empty($matches[3])) ? "http://".$matches[2]:$matches[2];
if ($fm->exbb[\'redirect\'] && !stristr($Link, \'http://www.\'.$fm->exbb_domain) && !stristr($Link, \'http://\'.$fm->exbb_domain))
$Link = $fm->out_redir.$Link;
return $matches[1]."<a href=\"$Link\" target=\"_blank\">$LinkText</a>".$matches[4];'), $string);
|
sqrt |
Отправлено: 11 сентября 2016 — 19:19 • Тема: Расшифруйте присвоение имени файлу вложения • Форум: Общие вопросы |
Ответов: 1 Просмотров: 1801
|
Файлам, которые загружаются в сообщения в виде прикреплений в папку uploads, движок присваивает имена не абы как, а со смыслом. Так, например:
Цитата:att-7-57d5ab5dbcef2.ext
означает, что файл был создан в форуме №7, после дефиса идет:
это шестнадцатеричное выражение десятичного числа 1473620829, а это ничто иное, как postid того поста, к которому было прикреплено вложение.
Вопрос в том, что же тогда оставшееся:
на размер, вроде, не похоже. Может быть хеш какой-нибудь там? |
sqrt |
Отправлено: 11 сентября 2016 — 17:50 • Тема: ExBB 1.1.3 • Форум: Релизы |
Ответов: 142 Просмотров: 90462
|
addpoll.tpl в самом начале файла:
CODE:?php
$err = ($error) ? '<font color="#ff0000">'.implode('<br>', $error).'<br><br>' : '';
echo << //вот это недопустимо!!! (parse error)
<DATA
<div id="navstrip" align="left"><br>
->
CODE:?php
$err = ($error) ? '<font color="#ff0000">'.implode('<br>', $error).'<br><br>' : '';
echo
<<<DATA //а вот это допустимо!!!
<div id="navstrip" align="left"><br> |
sqrt |
Отправлено: 10 сентября 2016 — 20:41 • Тема: ExBB 2.0.0-Pre • Форум: Релизы |
Ответов: 138 Просмотров: 80162
|
WebMaster пишет:Будет исправлено.
Спасибо. И еще: почему-то не срабатывает модуль не/отображения ссылок гостям. Да-нет, - гостю все скрыто. |
sqrt |
Отправлено: 10 сентября 2016 — 10:50 • Тема: ExBB 2.0.0-Pre • Форум: Релизы |
Ответов: 138 Просмотров: 80162
|
Что-то, смотрю как не работал поиск, так и не работает. Проиндексировал форумы. Нажимал и "пересчитать". На все папки и подпапки и файлы форума (я имею ввиду, вообще, все, включая admin, папку search и все файлы и подпапки в ней) стоят права 777. Ввожу в пост слово "ответ", индексирую в управлении форумом в админке, захожу в поиск, ввожу "ответ", в т.ч. и по выбранному форуму и получаю:
Цитата:По Вашему запросу ничего не найдено.
вот и все. |
sqrt |
Отправлено: 5 ноября 2014 — 10:56 • Тема: Адаптация ядра форума для PHP 5.4 • Форум: Решение проблем |
Ответов: 40 Просмотров: 32083
|
WebMaster пишет:после каких действий появилась такая ошибка?
Если включить PHP 5.4, на PHP 5.3 этого нет. Правку делал по схеме, указанной в 1-м посте этой темы. |
sqrt |
Отправлено: 4 ноября 2014 — 16:49 • Тема: Адаптация ядра форума для PHP 5.4 • Форум: Решение проблем |
Ответов: 40 Просмотров: 32083
|
Zeg пишет:Так не ясно, что у вас в этой строке находится.
Вот что:
CODE:/*
_FcloseAll закрывает все открытые файлы
*/
function _FcloseAll() {
foreach ($this->_FilePointers as $fp) {
fclose($fp);
}
$this->_FilePointers = array();
} , а конкретнее
|
|
Страниц (3): « 1 [2] 3 »
|