Перейти к контенту
  • 0

Есть вопрос


cnih

Вопрос

Имеется форум на 2.1.7. Подскажите имеется ли возможность сделать доступ к редактированию постов для группы пользователи по разрешению модераторов. Наведу пример.

После написания поста пользователь имеет право его отредактировать в течении часа. По истечении которого возможность редактирования закрывается. В случае есле пользователь хочет отредактировать пост скажем через неделю он делает заявку для модератора который даёт ему доступ скажем опять на час после истечения которого возможность редактирования опять закрывается. Зарание извеняюсь есле данный вопрос где то уже всплывал.

 

И ещо решил дописать. Может кто уже сталкивался. Мера по запрещению редактирования постов была принята после того как некоторые обидившиеся личности решили отредактировать свои посты в ноль. А основная часть пользователей испытывает неудобства из за этого. Может кто уже сталкивался с такой проблемой и как он из неё вышел? Так что бы не страдала основная часть пользователей.

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

Можно разделить их в группы с разными правами. адекватные люди обычно имеют больше сообщений.

 

Либо мод писать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Можно разделить их в группы с разными правами. адекватные люди обычно имеют больше сообщений.

 

Либо мод писать.

вот в том то и дело что не всегада адекватные люди имеют больше сообщений. Зачастую у некоторых талантлевых личностей воспаляется себялюбие и в порыве этой так сказать болезни он начинает чудить. После конечно понимает что он сделал не правильно, но к сожелению уже позно. Есле удалённые посты ещо можно востановить то отредактированне нет.

 

А подобных модов не было?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я не жмот, видел бы -- написал бы :D Может кто-то другой видел. кто-то сам себе такое писал, например Song для 1.3, насколько я догадываюсь.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Дык а вроде это стандартная фича в админке?

Время в течение которого можно пост отредактировать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Song Вы наверно меня не правильно поняли. Мне интересует можно ли сделать так что бы модератор через определённое время смог дать разрешение пользвателю опять возможность редактировать сообщение на определённое время.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Конечно можно.

 

Вот здесь:

 

class_post_edit.php:

 

		if ( ($this->orig_post['author_id'] == $this->ipsclass->member['id']) and ($this->ipsclass->member['g_edit_posts']) )
	{
		//-----------------------------------------
		// Have we set a time limit?
		//-----------------------------------------

		if ($this->ipsclass->member['g_edit_cutoff'] > 0)
		{
			if ( $this->orig_post['post_date'] > ( time() - ( intval($this->ipsclass->member['g_edit_cutoff']) * 60 ) ) )
			{
				$can_edit = 1;
			}
		}
		else
		{
			$can_edit = 1;
		}
	}

 

post_date меняете на edit_time

 

и + сделать начальную инициализацию:

 

class_post.php:

		$post = array(
					'author_id'   => $this->ipsclass->member['id'] ? $this->ipsclass->member['id'] : 0,
					'use_sig'	 => $this->ipsclass->input['enablesig'],
					'use_emo'	 => $this->ipsclass->input['enableemo'],
					'ip_address'  => $this->ipsclass->ip_address,
					'post_date'   => time(),

 

Надо добавить:

						'edit_time'   => time(),

 

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

Поэтому теперь чтобы дать возможность ещё поредактировать, то нужно челу попросить модератора пересохранить сообщение.

 

И вот ещё забыл:

 

в Topics.php там же кнопка выводится:

		$row['edit_button']   = $this->edit_button($row['pid'], $poster, $row['post_date']);

тоже соответственно меняете на edit_time

 

но после такого финта старые сообщения, для которых edit_time не был заполнен, нельзя будет редактировать. На старые-то пофик, т.к. для них период редактирования давно уже закончился. А вот те, период редактирования которых ещё не кончился и которые не были ещё ни разу редактированы, их тоже нельзя будет редактировать. Если такая возможность нужна то надо выполнить sql запрос где присвоить post_date на edit_time, там где последний не заполнен.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.