February 8, 201214 yr Интересует такой вопрос как на IPB 3.x запрет постить ссылки, при нулевом количестве постов? На IPB 2.x есть такой просто способ: sources/classes/bbcode/class_bbcode_core.php Найти: function regex_build_url( $url=array() ) { //----------------------------------------- // INIT //----------------------------------------- $skip_it = 0; $url['end'] = isset( $url['end'] ) ? $url['end'] : ''; //----------------------------------------- // URL filtering? //----------------------------------------- Добавить после: if ( !$this->ipsclass->member['posts'] ) { $this->error = 'link_error'; } Но в третей версии форума нет файла sources/classes/bbcode/class_bbcode_core.php Подсжкате как сделать!
February 9, 201214 yr admin/sources/classes/bbcode/core.php Найти://----------------------------------------- // Fix quotes in urls //----------------------------------------- $option = str_replace( array( ''', "'" ), '%27', $option ); $option = str_replace( array( '"', '"' ), '%22', $option ); foreach( $this->cache->getCache('bbcode') as $bbcode ) { $_tags = $this->_retrieveTags(); foreach( $_tags as $tag ) { if( strpos( $option, '[' . $tag ) !== false ) { return $content; } } } //----------------------------------------- // URL filtering? //-----------------------------------------Добавить ниже:if ( !$this->memberData['posts'] ) { $this->registry->output->showError( 'bla-bla-bla' ); }
February 28, 201214 yr Author Спасибо за совет, newbie. А не подскажите как сделать запрет до 5-10 постов? Чтобы после например пятого сообщения, можно было оставлять ссылки.
February 28, 201214 yr if ( $this->memberData['posts'] < 5 ) И все же вы не правы, редактируя скрипты. Есть куда более правильный способ - отдельная группа для новых пользователей, с продвижением в "проверенных" при наборе 5-10 постов. И в настройках bbcode тега url (и любых других) запретить первой группе использовать тег. Еще можно скрыть "новичком" некоторые форумы, запретить статусы и ЛС. Куда более мощный инструмент, нежели вышеописанные правки.
February 28, 201214 yr И все же вы не правы, редактируя скрипты.А что поделаешь, если ТС решил пойти таким путем.Есть еще и хук для такого:http://community.invisionpower.com/files/file/3584-number-of-posts-to-post-links-anti-spam-measurement/http://community.invisionpower.com/files/file/4581-number-of-posts-to-post-links-anti-spam-measurement/
February 28, 201214 yr Из всех антиспамовых защит защита вида "пока не напишешь N постов в определенных разделах, недоступных гостям, не можешь постить ни ссылок, ни ЛС, ни статусы, ни профиль заполнять" показала себя как самая лучшая и надежная. Срезает не только программных ботов, но и, что важно, всяких школосеошников-форумозасеральщиков, вручную репостящих на разные форумы контент. Насоздавать 10 невидимых осмысленных постов без ссылок для таких ребят, при копеечной оплате за конечный пост с сылками, доступный поисковикам - безумная трата времени.
May 7, 201213 yr if ( $this->memberData['posts'] < 5 ) И все же вы не правы, редактируя скрипты. Есть куда более правильный способ - отдельная группа для новых пользователей, с продвижением в "проверенных" при наборе 5-10 постов. И в настройках bbcode тега url (и любых других) запретить первой группе использовать тег. Еще можно скрыть "новичком" некоторые форумы, запретить статусы и ЛС. Куда более мощный инструмент, нежели вышеописанные правки.До, только как систему заставить регистрировать пользователей форума 3.2.3 именно в группу созданную под новичков? Маску доступа создал, группу на ее основе тоже, и все. Затык :(
May 7, 201213 yr До, только как систему заставить регистрировать пользователей форума 3.2.3 именно в группу созданную под новичков? http://ipbskins.ru/forum/topic7839.htmlhttp://ipbskins.ru/forum/topic6106.html
May 8, 201213 yr В 3.3.1 Нет такого кода. Не подскажите как поменять на 3.3.1 /** * Initialize our bbcodes * * @access public * @return @e void */ public function initOurBbcodes() { $this->_bbcodes = array(); foreach( $this->cache->getCache('bbcode') as $bbcode ) { //----------------------------------------- // BBcode allowed in this section? //----------------------------------------- if( $bbcode['bbcode_sections'] != 'all' && $this->parsing_section != 'global' ) { $pass = false; $sections = explode( ',', $bbcode['bbcode_sections'] ); foreach( $sections as $section ) { if( $section == $this->parsing_section ) { $pass = true; break; } } if( !$pass ) { continue; } } /* Cheat a bit */ if ( in_array( $bbcode['bbcode_tag'], array( 'code', 'acronym', 'img' ) ) ) { $bbcode['bbcode_no_auto_url_parse'] = 1; } //----------------------------------------- // Store into the array //----------------------------------------- $this->_bbcodes['display'][ $bbcode['bbcode_tag'] ] = $bbcode; } }
May 9, 201213 yr Решил код не трогать пока, говорят 3.3.2 на подходе... А в админке нет возможности запретить группе пользователей публикацию внешних ссылок. Подскажите, плиз, что еще можно придумать...
May 9, 201213 yr Ссылка все равно появляется... В виде [_url]ссылка[_/url]. А надо бы совсем запретить...
May 10, 201213 yr Уже дня 2-3, как можно скачать из CA (Client Area).Уже. И установлена. Вопрос остался открыт... В 3.3.2 нет возможности запрета... Что делать будем?
Интересует такой вопрос как на IPB 3.x запрет постить ссылки, при нулевом количестве постов?
На IPB 2.x есть такой просто способ:
sources/classes/bbcode/class_bbcode_core.php Найти: function regex_build_url( $url=array() ) { //----------------------------------------- // INIT //----------------------------------------- $skip_it = 0; $url['end'] = isset( $url['end'] ) ? $url['end'] : ''; //----------------------------------------- // URL filtering? //----------------------------------------- Добавить после: if ( !$this->ipsclass->member['posts'] ) { $this->error = 'link_error'; }Но в третей версии форума нет файла sources/classes/bbcode/class_bbcode_core.php
Подсжкате как сделать!