Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
vasilenkolife

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

Рекомендованные сообщения

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...