catbegemot.net Опубликовано 9 Марта 2005 Жалоба Поделиться Опубликовано 9 Марта 2005 На форум часто приходят жадные дети и постят сообщения типа "Я 19-летняя проститутка, ищу кому отдаться на сайте ХХХ.нафиг.ру". Вместо того, чтобы перекрывать кислород ВСЕМ гостям хотелось бы иметь возможность раздавать возможность вставлять линки в посты таким же образом, как это сделано для Uploads... Например разрешить постить линки всем, у кого меньше 20 постов. Или запретить постить линки группам Guests, Validating, Newbies, а всем что выше - разрешить. Очень надеюсь на помощь гуру этого сайта. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 9 Марта 2005 Жалоба Поделиться Опубликовано 9 Марта 2005 Файл post_parser.phpНайди function regex_build_url($url=array()) {и замени наfunction regex_build_url($url=array()) { global $ibforums; if ( !$ibforums->member['id'] or $ibforums->member['posts'] < 20 ) return ""; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
catbegemot.net Опубликовано 9 Марта 2005 Автор Жалоба Поделиться Опубликовано 9 Марта 2005 Шедевр! Спасибо огромное, все работает Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
catbegemot.net Опубликовано 9 Марта 2005 Автор Жалоба Поделиться Опубликовано 9 Марта 2005 Чуток переделал : ) function regex_build_url($url=array()) { global $ibforums; if ( !$ibforums->member['id'] or $ibforums->member['posts'] < $ibforums->member['numposts_link'] ) return "* Link removed *"; Потом в админке создал новый параметр в разделе Topics, Posts and Polls: Setting title? Необходимое число постов для размещения линкаSetting Type? Text InputSetting Key? numposts_linkSetting Current Value? 20Setting Default Value? 20 Сохранить изменения. Вуаля... Song, респект! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 10 Марта 2005 Жалоба Поделиться Опубликовано 10 Марта 2005 catbegemot.net ты бы уже в мод все это развернул, да выложил спасибо, спамеры заколебали. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 10 Марта 2005 Жалоба Поделиться Опубликовано 10 Марта 2005 catbegemot.net вообще принято в массив $ibforums->member запихивать свойства юзера.А если у тебя константа, причём одна на всю доску, то обычно для этого используют файл conf_global.php + $ibforums->vars Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
catbegemot.net Опубликовано 11 Марта 2005 Автор Жалоба Поделиться Опубликовано 11 Марта 2005 Song, Dekker я ж не разработчик модов. Так, юзер обыкновенный, одна штука Просто в админке легче параметр менять, чем в конфиг файле. Song видишь ли, есть у меня надежда, что спамеры заколебали не только меня и что когда-нибудь я увижу мод, который позволяет разрешать/запрещать постить линки точно так же, как с аттачментами - для разных групп юзеров и разных форумов. Например в форуме где идет разговор о том, что музыка Битлз добрее и гуманнее, чем хэви метал линки постить смогут только Advanced Users, а в форуме Шутки - все, кроме гостей... "В таком вот акцепте" (С) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 11 Марта 2005 Жалоба Поделиться Опубликовано 11 Марта 2005 catbegemot.net ну а из админки то ж оно куда-то сохраняется Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
catbegemot.net Опубликовано 11 Марта 2005 Автор Жалоба Поделиться Опубликовано 11 Марта 2005 Song сохраняется в $ibforums->member Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 12 Марта 2005 Жалоба Поделиться Опубликовано 12 Марта 2005 ты не представляешь какую фигню ты сказал sorry ) $ibforums->member - это массив, расположенный в оперативной памяти машины и который действует в пределах одного клика на любую ссылку в Форуме.Сохраняться может только 1) в файл2) в базу3) в куки Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Master Опубликовано 10 Июля 2006 Жалоба Поделиться Опубликовано 10 Июля 2006 А где мне этот файл для редактирования найти? Форум версии 2.1.6 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
latitude Опубликовано 3 Августа 2006 Жалоба Поделиться Опубликовано 3 Августа 2006 А для 2.1.х оно как будет выглядеть ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Master Опубликовано 3 Августа 2006 Жалоба Поделиться Опубликовано 3 Августа 2006 Всмысле? Линк на форум чтоль дать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
latitude Опубликовано 3 Августа 2006 Жалоба Поделиться Опубликовано 3 Августа 2006 Файл post_parser.phpНайди function regex_build_url($url=array()) {и замени наfunction regex_build_url($url=array()) { global $ibforums; if ( !$ibforums->member['id'] or $ibforums->member['posts'] < 20 ) return ""; Вопрошаю как этот код (для 2.0) будет выглядеть для 2.1. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Pirs Опубликовано 7 Августа 2006 Жалоба Поделиться Опубликовано 7 Августа 2006 А где мне этот файл для редактирования найти? Форум версии 2.1.6Этот файл лежит здесь: /sources/lib/Попытался внести эти изменения (2.1.7), но при тестировании ссылку запостить все же можно.На 2.1.* кто-нибудь ставил этот фильтр? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Raynor Опубликовано 8 Августа 2006 Жалоба Поделиться Опубликовано 8 Августа 2006 Вместо $ibforums писать $ipsclass Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Pirs Опубликовано 8 Августа 2006 Жалоба Поделиться Опубликовано 8 Августа 2006 Вместо $ibforums писать $ipsclass Так нужно?function regex_build_url($url=array()) { global $ipsclass; if ( !$ipsclass->member['id'] or $ipsclass->member['posts'] < 20 ) return ""; Прописал таким образом, но ссылки пропускает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AVol Опубликовано 8 Августа 2006 Жалоба Поделиться Опубликовано 8 Августа 2006 Проверенно на 2.1.7: Пользователи, у которых кол-во постов меньше, чем указанно в Админке, не смогут постить URL-ссылки. (C)AVol + все интересное из этой темы :) ================================================================================ ================================================================================ Добавляем новую настройку в админку: ACP -> НАСТРОЙКИ -> Добавить новый параметр ================================================================================ * Название настройки: Постов для размещения URL * Расположение настройки: 111 * Описание настройки: Необходимое число постов для размещения ссылки. * Группа настройки: Темы, Сообщения и Опросы * Тип настройки: Ввод текста (одна строка) * Ключ настройки: num_posts_for_url * Текущее значение настройки: * Значение настройки по умолчанию: 5 * Дополнительно: * Выполнение PHP-кода до отображения или сохранения настройки: if($save == 1) { $_POST['num_posts_for_url'] = intval($_POST['num_posts_for_url']); if($_POST['num_posts_for_url'] < 0) { $_POST['num_posts_for_url'] = 0; } } * Начать группу настроек: Антиспам с сообщениях * Закончить группу настроек: Нет * Ключ помощи (опционально): * Добавить эту настройку в кеш настроек: Да ================================================================================ ================================================================================ В файле: ./sources/classes/bbcode/class_bbcode_core.php ================================================================================ Найти функцию: function regex_build_url($url=array()) ================================================================================ Найти: ================================================================================ return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; ================================================================================ ВЫШЕ добавить: ================================================================================ //Antispam if ( (!stristr($url['html'], $this->ipsclass->base_url)) and (!$this->ipsclass->member['g_is_supmod']) ) { if ( (!$this->ipsclass->member['id']) or ($this->ipsclass->member['posts'] < $this->ipsclass->vars['num_posts_for_url']) ) { return $url['st'] . "*" . preg_replace( "#^(http|ftp|https|news)://(\S+)$#i", "\\2", $url['show'] ) . "*" . $url['end']; } } ================================================================================ ================================================================================ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dmitri Опубликовано 9 Августа 2006 Жалоба Поделиться Опубликовано 9 Августа 2006 а на 2.1.4 будет работать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AVol Опубликовано 9 Августа 2006 Жалоба Поделиться Опубликовано 9 Августа 2006 а на 2.1.4 будет работать? Проверь - потом расскажешь Да кстати - забыл написать - тута еще идет проверка, чтобы ссылки внутри данного ресурса всегда добавлялись. Ну а также этот фильтр не распространяется на супермодераторов и администраторов.Url у меня не удаляется полностью, а лиш немного "подрезается" и добавляется как обычный текст. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Pirs Опубликовано 9 Августа 2006 Жалоба Поделиться Опубликовано 9 Августа 2006 Url у меня не удаляется полностью, а лиш немного "подрезается" и добавляется как обычный текст.А можно сделать так, чтобы сообщение вообще не создавалось, если пытаются вставить ссылку? Простое исправление ссылки спам не остановит.А вот если бы тех, кто пытается разместить ссылку (имея меньше Х сообщений на форуме) заворачивало на главную страницу (или на страницу правил форума), а сообщение не публиковалось. Тогда можно было бы существенно сокртить количество спама. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AVol Опубликовано 9 Августа 2006 Жалоба Поделиться Опубликовано 9 Августа 2006 Спам это не остановит, но, ИМХО, без ссылок он уже не опасен. Просто потом левые посты подтираются модератором. Но вообще можно и так сделать. Может посмотрю как-нибуть, когда не лень будет... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
good goo Опубликовано 11 Августа 2006 Жалоба Поделиться Опубликовано 11 Августа 2006 AVol, большое спасибо, работает отлично, версия 2.1.7 сорри за оффтоп, но что написать в if ( (!stristr($url['html'], $this->ipsclass->base_url)) чтобы разрешались линки не тлько с mydomain.com/forums/ но и с mydomain.com и mydomain.ru? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Usher Опубликовано 12 Августа 2006 Жалоба Поделиться Опубликовано 12 Августа 2006 AVol, большое тебе спасибо! Всё работает отлично, но вот таких ников вроде "fjdhdjkfhdff" и тем "gfghdfkghdfgdf" не стало меьше, может можно чё-нибудь сделать, чтобы запретить регить такие ники и создавать такие темы? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AVol Опубликовано 12 Августа 2006 Жалоба Поделиться Опубликовано 12 Августа 2006 AVol, большое спасибо, работает отлично, версия 2.1.7 сорри за оффтоп, но что написать в if ( (!stristr($url['html'], $this->ipsclass->base_url)) чтобы разрешались линки не тлько с mydomain.com/forums/ но и с mydomain.com и mydomain.ru?Ну можно прямо так и написать:if ( (!stristr($url['html'], "mydomain.com") and (!stristr($url['html'], "mydomain.ru") ) AVol, большое тебе спасибо! Всё работает отлично, но вот таких ников вроде "fjdhdjkfhdff" и тем "gfghdfkghdfgdf" не стало меьше, может можно чё-нибудь сделать, чтобы запретить регить такие ники и создавать такие темы?Ну это уже немного другое. Может это дело и можно парсить, только какой должен быть алгоритм, определяющий критерий осмысленности в имени или названии темы?Всетаки, самое верное здесь - это живой модератор. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.