Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
vasilenkolife

Запрет постить ссылки при нулевом количестве постов [IPB 3.x]

Recommended Posts

Интересует такой вопрос как на 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

 

Подсжкате как сделать!

Share this post


Link to post
Share on other sites

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' );
       }

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо за совет, newbie.

 

А не подскажите как сделать запрет до 5-10 постов? Чтобы после например пятого сообщения, можно было оставлять ссылки.

Share this post


Link to post
Share on other sites

if ( $this->memberData['posts'] < 5 )

 

И все же вы не правы, редактируя скрипты. Есть куда более правильный способ - отдельная группа для новых пользователей, с продвижением в "проверенных" при наборе 5-10 постов. И в настройках bbcode тега url (и любых других) запретить первой группе использовать тег. Еще можно скрыть "новичком" некоторые форумы, запретить статусы и ЛС. Куда более мощный инструмент, нежели вышеописанные правки.

  • Upvote 1

Share this post


Link to post
Share on other sites

И все же вы не правы, редактируя скрипты.

А что поделаешь, если ТС решил пойти таким путем.

Есть еще и хук для такого:

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/

  • Upvote 2

Share this post


Link to post
Share on other sites

Из всех антиспамовых защит защита вида "пока не напишешь N постов в определенных разделах, недоступных гостям, не можешь постить ни ссылок, ни ЛС, ни статусы, ни профиль заполнять" показала себя как самая лучшая и надежная. Срезает не только программных ботов, но и, что важно, всяких школосеошников-форумозасеральщиков, вручную репостящих на разные форумы контент. Насоздавать 10 невидимых осмысленных постов без ссылок для таких ребят, при копеечной оплате за конечный пост с сылками, доступный поисковикам - безумная трата времени.

Share this post


Link to post
Share on other sites

if ( $this->memberData['posts'] < 5 )

 

И все же вы не правы, редактируя скрипты. Есть куда более правильный способ - отдельная группа для новых пользователей, с продвижением в "проверенных" при наборе 5-10 постов. И в настройках bbcode тега url (и любых других) запретить первой группе использовать тег. Еще можно скрыть "новичком" некоторые форумы, запретить статусы и ЛС. Куда более мощный инструмент, нежели вышеописанные правки.

До, только как систему заставить регистрировать пользователей форума 3.2.3 именно в группу созданную под новичков? Маску доступа создал, группу на ее основе тоже, и все. Затык :(

Share this post


Link to post
Share on other sites

В 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;
	}
}

Share this post


Link to post
Share on other sites

В 3.3.1 Нет такого кода.

admin/sources/classes/bbcode/custom/defaults.php

Share this post


Link to post
Share on other sites

Решил код не трогать пока, говорят 3.3.2 на подходе... А в админке нет возможности запретить группе пользователей публикацию внешних ссылок. Подскажите, плиз, что еще можно придумать...

Share this post


Link to post
Share on other sites

Использования ббкодов какбэ можно ограничить по группам.

Внешний вид -> BB-коды.

Share this post


Link to post
Share on other sites

Ссылка все равно появляется... В виде [_url]ссылка[_/url]. А надо бы совсем запретить...

Share this post


Link to post
Share on other sites

говорят 3.3.2 на подходе...

Уже дня 2-3, как можно скачать из CA (Client Area).

Share this post


Link to post
Share on other sites

Уже дня 2-3, как можно скачать из CA (Client Area).

Уже. И установлена. Вопрос остался открыт... В 3.3.2 нет возможности запрета... Что делать будем?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...