Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Куратор/модератор темы

Опубликовано:

Имя файла: Куратор/модератор темы

Владелец файла: andaril

Файл размещен: 14 май 2007

Файл обновлен: 14 фев 2011

Категория файла: Mods/Моды

 

Эта модификация позволяет добавить куратора для темы.

 

+---------------------------------------------------------------------

| Invision Power Board v2.1.x

| =================================================================

| При поддержке ipbskins.ru

| =================================================================

+---------------------------------------------------------------------

|

| > Мод "Куратор/Модератор одной темы"

| > Автор fr0z3n aka andar!l

|

| > Автор оригинального мода для версий 2.0.х Пухыч

| > Версия: 1.0

| > Дата: 19.02.2007

|

+---------------------------------------------------------------------

|

| > Эта модификация позволяет добавить куратора для темы.

| > Куратор может удалять, и редактировать сообщения в пределах одной

| > темы. Добавлять куратора может супермодератор

|

+---------------------------------------------------------------------

|

| > Автор не несет ответственности за проблемы в связи с

| > использованием этой модификации

| > Используйте мод на свой страх и риск.

|

| > Author is not responsible for any consequences of using this

| > forum modification, including those caused by this module

| > Use at your own risk

|

+---------------------------------------------------------------------

 

Нажмите сюда, чтобы скачать этот файл

Изменено пользователем andaril

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

Опубликовано:

Все перепроверил,вроде бы все сделал правильно,но при нажатии на "Управление куратором" вылетает ошибка

IPB Предупреждение [2] in_array(): Wrong datatype for second argument (Строка: 108 файла /sources/action_public/moderate.php)

Опубликовано:
  • Автор

Вы сговорились сегодня :) Сейчас гляну.

 

Глянул. Проверьте существует ли у вас в этом в файле строка

$not_forum_array = array( 'editmember' );

Она должна идти после

$post_array   = array( '04', '02', '20', '22', 'resync', 'prune_start', 'prune_finish', 'prune_move', 'editmember' );

Это в исходном файле без изменений. Вы второй кто жалуется на это. И в итоге у первого эта строка оказалась закомментирована. Если уж все нормально, скиньте сюда ваш файл, а я скажу в чем проблема.

Опубликовано:

У меня есть строчка $not_forum_array = array( 'editmember' ); и она идет после

$post_array = array( '04', '02', '20', '22', 'resync', 'prune_start', 'prune_finish', 'prune_move', 'editmember' );

Вот на всякий случай мой правленый файл и бекап

_http://moto-soft.net/files/moderate.rar

Опубликовано:
  • Автор

Ну ё моё... Ни в одном из файлов после строки

$post_array   = array( '04', '02', '20', '22', 'resync', 'prune_start', 'prune_finish', 'prune_move', 'editmember', 'topiccurator' );

нету

$not_forum_array = array( 'editmember' );

Просто добавьте её. И вообще не редактируйте файлы на ночь глядя.

Опубликовано:

Короче файлы я поправил,ошибка теперь не вылетает,но....при нажатии на "Управление куратором" грузится чистая страница,а так же в админке форума нельзя добавить модера в форумы,при нажатии "добавить" опять же грузится чистая страница. :)

Пока что откатился....буду искать ошибку(хотя перепроверил все)

Опубликовано:
  • Автор

Это из-за недостатка памяти. Увеличьте memory_limit на сервере.

Опубликовано:

andar!lНа самом деле все оказалось банально просто....виноваты "кривые ручки" :rolleyes: Сегодня перепроверил все,да еще попросил перепроверить приятеля.Походу проблема была из за того что один файл правил прям на сервере,когда его перепроверили оказалось что в нем ошибки.Короче респект тебе за классный мод!!!Единственное предложение,или скорее просьба немного доработать мод.

1.Чтобы в названии темы отображалось кто куратор.

2.Можно в теме добавить какую нить рамочку или цветом выделить "куратор темы" чтобы как говорится бросалось в глаза :) А так все отлично!

Опубликовано:
  • Автор

В названии темы? Есть же, что при просмотре списка тем отображаются кураторы. Не отображаются разве? Кхм...

А в названии темы, зачем? Лишняя информация.

2.Можно в теме добавить какую нить рамочку или цветом выделить "куратор темы" чтобы как говорится бросалось в глаза А так все отлично!

######################################################################
./sources/action_public/topics.php
----------------------------------------------------------------------
НАЙТИ
----------------------------------------------------------------------
$member['member_group']  = $member['id']==$curator['id'] ? "<strong>Куратор темы</strong>" : $this->ipsclass->compiled_templates['skin_topic']->member_group( $this->ipsclass->cache['group_cache'][ $member['mgroup'] ]['g_title'] );
----------------------------------------------------------------------
ЗАМЕНИТЬ НА
----------------------------------------------------------------------
$member['member_group']  = $member['id']==$curator['id'] ? $this->ipsclass->compiled_templates['skin_topic']->member_curator() : $this->ipsclass->compiled_templates['skin_topic']->member_group( $this->ipsclass->cache['group_cache'][ $member['mgroup'] ]['g_title'] );
######################################################################
Заходим в админцентр
ACP Home > Look & feel > Edit Template HTML (В меню стиля)
======================================================================
Нажимаем Add Template Bit (Добавить фрагмент)
----------------------------------------------------------------------
New Template Bit Name (Название фрагмента):
----------------------------------------------------------------------
member_curator
----------------------------------------------------------------------
Template group (Группа фрагмента):
----------------------------------------------------------------------
skin_topic
----------------------------------------------------------------------
Тело фрагмента
----------------------------------------------------------------------
<strong>Куратор темы</strong>
======================================================================

Теперь творите с фрагментом member_curator что хотите

  • 1 месяц спустя...
Опубликовано:

Доброе время суток.

Кое как установил данный мод на IPB 2.1.7

 

Столкнулся со следующими проблемами и непонятками:

 

1) В теме написано Invision Power Board v2.1.x хотя в файле curator.txt написано для v2.2.x

 

2)

######################################################################
./sources/action_admin/moderator.php
======================================================================
НАЙТИ ( ЭТА СТРОКА ПОВТОРЯЕТСЯ ДВА РАЗА )
----------------------------------------------------------------------
'allow_warn'   => intval($this->ipsclass->input['allow_warn']),
----------------------------------------------------------------------

Такой строчки нет, хотя есть

'allow_warn'   => ($this->ipsclass->input['allow_warn']),

 

3) В фрагменте topic_curator_splash который находится в skin_mod, чёт не так,

<td width="1%"><a href="java script:self.close();"><b>[X]</b></a><td>

В Mozilla Firefox не работает кнопка закрытия окна.

 

4)

Заходим в админцентр
ACP Home > Look & feel > Edit Template HTML (В меню стиля)
Выбираем "Topic view" в нем "mod_panel_wrapper"

mod_panel_wrapper - такого нету в Topic view, зато есть аналогичный TableFooter.

 

 

5)

======================================================================
Заходим в админцентр
ACP Home > Look & feel > Edit Template HTML (В меню стиля)
Выбираем "Topic view" в нем "mod_panel_wrapper"
======================================================================
НАЙТИ
----------------------------------------------------------------------
<form name="modform" method="post" action="{$this->ipsclass->base_url}" onsubmit="return checkdelete();">
----------------------------------------------------------------------
ВЫШЕ ДОБАВИТЬ
----------------------------------------------------------------------
<a href='#' onclick="ipsclass.pop_up_window('{$this->ipsclass->vars['board_url']}/index.php?act=mod&CODE=topiccurator&f={$data['TOPIC']['forum_id']}&t={$data['TOPIC']['tid']}&auth_key={$auth_key}','300','200'); return false;" class='button' style='text-decoration:none' target="_blank">Управление Куратором</a>
======================================================================

После добавления этого параметра, кнопка "Управление Куратором" появляется, вот тока после её нажатия открывается главная страница форума на конце имеется # (Видимо это опять же из-за Firefox)

 

6) После разных неудобств при установке и использование, стало интересно, а как удалять куратора. Но увы, в "Управление Куратором", нет такой опции.

Отсюда вопрос, где она? Как удалить куратора, из подведомственной ему темы?

 

Строка отвечающая за вывод информации о том, что Куратор удалён есть.

		else
		{
		$this->ipsclass->DB->do_update( 'topics', array ('curator_id' =>'',),"tid={$this->ipsclass->input['t']}" );
		$update="Куратор удалён!";
		}

 

 

Надеюсь увидеть ответы и решения по каждому пункту.

С уважением FVVSHARK.

Опубликовано:
  • Автор

1,2,4,5) Обновлял все архивы и по ошибке, видимо, залил не тот.

 

2) Да, там именно такая строка

3) Это видимо из-за мозиллы

4) Да, tablefooter. Из-за архива

5) Архив.

6) Чтобы удалить куратора, надо просто оставить поле, где вводится имя куратора, пустым, и нажать сохранить.

 

Архив обновлен

Опубликовано:

2andaril

Большое спасибо :beer:, щас попробую с обновлениями.

Опубликовано:

######################################################################
Выполнить SQL запрос в базе данных вашего форума. Не забывайте сменить
префикс (ibf_) таблиц на свой если вы не используете стандартный.
======================================================================
ALTER TABLE `ibf_moderators` ADD `add_curator` TINYINT( 1 ) DEFAULT 0;
----------------------------------------------------------------------
ЕСЛИ ВЫ ХОТИТЕ ЧТОБЫ ВСЕ ТЕКУЩИЕ МОДЕРАТОРЫ МОГЛИ УСТАНАВЛИВАТЬ 
УСТНЫЕ ПРЕДУПРЕЖДЕНИЯ ВЫПОЛНИТЕ СЛЕДУЮЩИЙ ЗАПРОС
----------------------------------------------------------------------
UPDATE `ibf_moderators` SET `add_curator` = '1'
======================================================================

######################################################################
ACP Home > Cache Control > Moderators > Update cache

Может навигацию не правильно написал, вообщем обновите кэш модераторов.
Без этого работать не будет.
######################################################################

 

1) Возможно тут ошибка,

ЕСЛИ ВЫ ХОТИТЕ ЧТОБЫ ВСЕ ТЕКУЩИЕ МОДЕРАТОРЫ МОГЛИ УСТАНАВЛИВАТЬ

УСТНЫЕ ПРЕДУПРЕЖДЕНИЯ ВЫПОЛНИТЕ СЛЕДУЮЩИЙ ЗАПРОС

Может всё таки так должно быть?

ЕСЛИ ВЫ ХОТИТЕ ЧТОБЫ ВСЕ ТЕКУЩИЕ МОДЕРАТОРЫ МОГЛИ УСТАНАВЛИВАТЬ

КУРАТОРА ВЫПОЛНИТЕ СЛЕДУЮЩИЙ ЗАПРОС

2)

ACP Home > Cache Control > Moderators > Update cache

 

Может навигацию не правильно написал, вообщем обновите кэш модераторов.

Без этого работать не будет.

НАСТРОЙКИ > Управление кешем > moderators > Обновить кеш...

Так точно.

 

######################################################################

Заходим в админку

ACP Home > Skin Manager Home > Edit Template HTML

Выбираем там группу фрагментов Forum Index в ней выбираем фрагмент render_forum_row

======================================================================

Надо так:

######################################################################

Заходим в админку

ACP Home > Skin Manager Home > Edit Template HTML

skin_forum (Просмотр конкретного форума) в нём "render_forum_row"

======================================================================

Ищем в фрагменте

----------------------------------------------------------------------

</span> {$data['PAGES']}
 <div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span>

 

Тут надо так.

</span> {$data[PAGES]}
		<div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span>

 

 

Вот ещё уточнение:

Заходим в админцентр

ACP Home > Look & feel > Edit Template HTML (В меню стиля)

Выбираем "Topic view" в нем "TableFooter"

 

А надо так:

Заходим в админцентр

ACP Home > Look & feel > Edit Template HTML (В меню стиля)

skin_topic (Просмотр темы) в нем "TableFooter"

 

 

 

В итоге получается Супперский мод, не сложный в установке и работе :)

Спасибо Авторам данного мода и andaril, за помошь.

Опубликовано:
  • Автор
######################################################################
Выполнить SQL запрос в базе данных вашего форума. Не забывайте сменить
префикс (ibf_) таблиц на свой если вы не используете стандартный.
======================================================================
ALTER TABLE `ibf_moderators` ADD `add_curator` TINYINT( 1 ) DEFAULT 0;
----------------------------------------------------------------------
ЕСЛИ ВЫ ХОТИТЕ ЧТОБЫ ВСЕ ТЕКУЩИЕ МОДЕРАТОРЫ МОГЛИ УСТАНАВЛИВАТЬ 
УСТНЫЕ ПРЕДУПРЕЖДЕНИЯ ВЫПОЛНИТЕ СЛЕДУЮЩИЙ ЗАПРОС
----------------------------------------------------------------------
UPDATE `ibf_moderators` SET `add_curator` = '1'
======================================================================

######################################################################
ACP Home > Cache Control > Moderators > Update cache

Может навигацию не правильно написал, вообщем обновите кэш модераторов.
Без этого работать не будет.
######################################################################

 

1) Возможно тут ошибка,

 

Может всё таки так должно быть?

 

2)

НАСТРОЙКИ > Управление кешем > moderators > Обновить кеш...

Так точно.

Надо так:

 

Ищем в фрагменте

----------------------------------------------------------------------

</span> {$data['PAGES']}
 <div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span>

 

Тут надо так.

</span> {$data[PAGES]}
		<div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span>

Вот ещё уточнение:

А надо так:

В итоге получается Супперский мод, не сложный в установке и работе :)

Спасибо Авторам данного мода и andaril, за помошь.

Насчет "устных", да. А остальное - это уже расхождения в русской и английской версии форума. Айбиресурс изменил названия групп шаблонов, а я делал по английскому варианту.

Опубликовано:

Столкнулся с проблемой при добавление Куратора тему.

 

Выводит ошибку:

Невозможно определить пользователя с таким именем. Попробуйте снова

 

Ошибка из-за того, что у пользователя Логин и Отображаемое имя разные.

При добавление куратора указывается отображаемое имя. и соответственно получается ошибка.

 

Как исправить этот недуг?

Опубликовано:
  • Автор

Изменить в файле /sources/action_public/moderate.php функцию topic_curator на

    //-----------------------------------------
// Topic curator
//-----------------------------------------
function topic_curator()
{

	//-----------------------------------------
	// Check Permissions
	//-----------------------------------------
	$passed = 0;

	if ($this->ipsclass->member['g_is_supmod'] == 1)
	{
		$passed = 1;
	}

	else if ($this->moderator['add_curator'] == 1)
	{
		$passed = 1;
	}
	else 
	{
		$passed = 0;
	}

	if ($passed != 1) $this->moderate_error();

	if ( ! $this->topic['tid'] )
	{
		$this->moderate_error();
	}

	//-----------------------------------------------
	// Are we checking first?
	//-----------------------------------------------

	$update='';

	if ($this->ipsclass->input['check'] == 1)
	{
		$user_list=$this->ipsclass->input['topic_curator'];

		if (isset($user_list) and $user_list != "")
		{
			//---------------------------
			// Sort out the array
			//---------------------------

			$user_list = str_replace(  "<br>", "<br />" , trim($user_list) );
			$user_list = str_replace(  "<br /><br />", "<br />" , trim($user_list) );
			$user_list = preg_replace( "#^(<br />){1}#", "" , $user_list );
			$user_list = preg_replace( "#(<br />){1}$#", "" , $user_list );
			$user_list = preg_replace( "#<br />\s+#",  ","  , $user_list );


			$this->ipsclass->DB->simple_construct( array(  'select' => 'id, members_display_name',
															'from'   => 'members',
															'where'  => "LOWER(members_display_name)='{$user_list}'"
														));
			$this->ipsclass->DB->simple_exec();

			if ( ! $this->ipsclass->DB->get_num_rows() )
			{
				$this->moderate_error('cp_error_no_mem');
				return;
			}
			else
			{
				$sql_row			= $this->ipsclass->DB->fetch_row(); 
				$cc_array['name']   = $sql_row['members_display_name'];
				$cc_array['id']   = $sql_row['id'];
			}

			$this->ipsclass->DB->do_update( 'topics', array ('curator_id' =>addslashes(serialize($cc_array)),),"tid={$this->ipsclass->input['t']}" );
			$update="Добавлен куратор: <b>{$cc_array['name']}</b>";
			//  $this->ipsclass->DB->do_update
		}
		else
		{
			$this->ipsclass->DB->do_update( 'topics', array ('curator_id' =>'',),"tid={$this->ipsclass->input['t']}" );
			$update="Куратор удалён!";
		} 
	}
	$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid='.intval($this->ipsclass->input['t']) ) );
	$this->ipsclass->DB->simple_exec();

	$this->topic = $this->ipsclass->DB->fetch_row();

	$list = unserialize(stripslashes($this->topic['curator_id']));
	$this->output .= $this->ipsclass->compiled_templates['skin_mod']->topic_curator_splash ($this->forum, $this->topic, $this->ipsclass->return_md5_check(),$list['name'], $update );
	// $print->pop_up_window( "", $this->output );
	$this->ipsclass->print->pop_up_window( "", $this->output );
}

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.