Пропустить

[BETA] NOEdit MOD 0.4

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

[BETA] NOEdit MOD 0.4

Сообщение Никто » 14.03.2006 12:26

По своему же запросу написал мод ;)
Админ может оставлять/неоставлять информацию о правке. Пока без админки, но в ближайшем будующем обещаю новый релиз. Пока бета, давайте тестить.
Вложения
noedit.txt
(5 КБ) Скачиваний: 501
Последний раз редактировалось Никто 26.03.2006 16:24, всего редактировалось 3 раз(а).
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 14.03.2006 13:49

Порка, сэр! :)
## MOD Author: Идиятов Сергей

Фамилие говорящее, я вам скажу :) А вообще, там ник пользователя указывается, но никак не ФИО. Шаблон модов изучил бы. :)
message_die(GENERAL_ERROR, 'Вы не можете убирать пометку о редактировании');

Этой проверке стоит быть в posting.php, кроме того, почему не языковая переменная?
Кстати, в случае соблюдения вышесказанного достаточно будет просто расширить условие формирования $edited_sql
$noedit = NULL;

1. Зачем, этой переменной вообще не нужно исходное значение.
2. Почему NULL?
if ( $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('switch_noedit', array());
}

Как насчет дополнительной проверки на то, является ли именно данный пользователь автором сообщения и редактирует ли он вообще сообщение? А то может он новую тему заводит...

Мод не ставил, просто по коду говорю...
Английский и описание мода не впечатлили.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 14.03.2006 14:26

Xpert писал(а):Фамилие говорящее, я вам скажу А вообще, там ник пользователя указывается, но никак не ФИО. Шаблон модов изучил бы.

Это не столь важно.
Xpert писал(а):Этой проверке стоит быть в posting.php, кроме того, почему не языковая переменная?
Кстати, в случае соблюдения вышесказанного достаточно будет просто расширить условие формирования $edited_sql

Ок, в следующей версии учту.
Xpert писал(а):1. Зачем, этой переменной вообще не нужно исходное значение.

Дабы определить переменную ;)
Xpert писал(а):2. Почему NULL?

NULL - пусто ;) все равно что определить ее как ''
Xpert писал(а):Как насчет дополнительной проверки на то, является ли именно данный пользователь автором сообщения

Зачем, админ может редактировать любое сообщение, а мод позволяет админу удалять пометку и никому другому.
Xpert писал(а):редактирует ли он вообще сообщение

Если бы ты глянул куда мы добавляем кусок, ты бы понял что проверка уже есть ;)
Xpert писал(а):Мод не ставил, просто по коду говорю...

Поставь :)
Xpert писал(а):Английский и описание мода не впечатлили.

Английский у меня нулевой.
Дальше? ;)
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 14.03.2006 14:37

Никто писал(а):Дабы определить переменную

А зачем? В posting.php просто проверяем, есть ли такая переменная. Если есть и админ - то используем ее значение, иначе нет.
Никто писал(а):все равно что определить ее как

Шикарный смайлик. Вот только NULL как-раз таки означает неопределенность переменной.
Никто писал(а):Зачем, админ может редактировать любое сообщение, а мод позволяет админу удалять пометку и никому другому.

Ответ неверный. Мод позволяет админу не оставлять пометки о редактировании или не увеличивать счетчик. Естественно, только для своих сообщений, поскольку во всех остальных случаях он и так не появится/не увеличится.
Никто писал(а):Если бы ты глянул куда

А я и глянул... Как думаешь, зачем чуть выше твоего кода вот такие проверки?
if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] ) )
{
	$template->assign_block_vars('switch_type_toggle', array());

Никто писал(а):Поставь

Ну если еще и поставлю, то тебе точно несдобровать :)
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 14.03.2006 14:58

Xpert писал(а):А зачем? В posting.php просто проверяем, есть ли такая переменная. Если есть и админ - то используем ее значение, иначе нет.

Спасибо за подсказку, в след версии учту
Xpert писал(а):Вот только NULL как-раз таки означает неопределенность переменной.

Тем лучше ;)
Xpert писал(а):Ответ неверный. Мод позволяет админу не оставлять пометки о редактировании или не увеличивать счетчик. Естественно, только для своих сообщений, поскольку во всех остальных случаях он и так не появится/не увеличится.

Это я и имел ввиду
Xpert писал(а):А я и глянул... Как думаешь, зачем чуть выше твоего кода вот такие проверки?

Ой незаметил... Скоро будет новая версия.
Xpert писал(а):Ну если еще и поставлю, то тебе точно несдобровать

Ничего, зато мод нормальный будет.
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Mr. Anderson » 14.03.2006 16:07

Никто писал(а):мод нормальный будет

Написанный под диктовку Xpert:)
Правила конференции (30.05.2011) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | FAQ (phpBB 3.0.x)
Последняя и единственно актуальная на сегодня версия - 3.0.10!
Поддержка по ICQ, e-mail и ЛС оказывается только за WM!


phpBB Guru blog
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
 
Сообщения: 5275
Зарегистрирован: 13.03.2004 21:32
Откуда: СССР
Благодарил (а): 3 раз.
Поблагодарили: 80 раз.

Сообщение Никто » 14.03.2006 23:58

Mr. Anderson
К этому моду эксперт не имеет никакого отношения, а рекомендованные изменения ещё не внесены.
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 26.03.2006 16:26

Обновляемся =)
Изменения:
  • Удалено определение переменной $noedit
  • Добавлена проверка на режим правки
  • Исравлена шапка мода
  • В ошибке теперь языковая переменная.
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 27.03.2006 16:23

Проверку админ или нет надо выносить в posting.php сразу после получения переменной. Тогда и вот этот код и соответствующая языковая переменная становятся ненужными.
	elseif ( ($userdata['user_level'] != ADMIN) && ($noedit == true) )
	{
		message_die(GENERAL_ERROR, $lang['noedit_cant']);
	}

This hack allow check noedit flag for admin to not atach the "edited by" message.

Я кажется объяснил что мод делает. Или как в том анекдоте "сейчас запустим написанное и узнаем что это"?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 01.04.2006 8:42

Xpert писал(а):Проверку админ или нет надо выносить в posting.php сразу после получения переменной. Тогда и вот этот код и соответствующая языковая переменная становятся ненужными.

Имхо - это излишне
Xpert писал(а):Я кажется объяснил что мод делает. Или как в том анекдоте "сейчас запустим написанное и узнаем что это"?

Ну скажи как это будет по английски правильно...
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 01.04.2006 9:13

Никто писал(а):Имхо - это излишне

Хм, в phpBB большая часть проверок сделана именно так, посмотри к примеру topic_type...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 01.04.2006 9:17

Xpert
Мне кажется, что здесь более уместно так. Это все-таки не топик тайп
2) Как все-таки это по англ будет? ;)
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 09.04.2006 16:36

Мод отправлен на phpbb.com
Обещали зарелизить скоро. MOD-TEAM обещали валидейтнуть ;)
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 22:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: [BETA] NOEdit MOD 0.4

Сообщение vlad77 » 20.01.2009 11:08

Что бы модераторы тоже могли оставлять/неоставлять информацию о правке.
открыть 
includes/functions_post.php

найти
	if ( ($userdata['user_level'] == ADMIN) && ($noedit == true) )
	{
		$edited_sql = '';
	}
	elseif ( ($userdata['user_level'] != ADMIN) && ($noedit == true) )
	{
		message_die(GENERAL_ERROR, $lang['noedit_cant']);
	}
	else
	{
		$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
	}

заменить
	if ( ( in_array($userdata['user_level'], array (MOD, ADMIN) ) ) && ($noedit == true) )
	{
		$edited_sql = '';
	}
	elseif ( ($userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD) && ($noedit == true) )
	{
		message_die(GENERAL_ERROR, $lang['noedit_cant']);
	}
	else
	{
		$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
	}

открыть
posting.php

найти
//
// NOEDIT
//
if ( $mode == 'editpost' )
{
	if ( $userdata['user_level'] == ADMIN )
	{
		$template->assign_block_vars('switch_noedit', array());
	}
}

заменить
//
// NOEDIT
//
if ( $mode == 'editpost' )
{
	if ( in_array($userdata['user_level'], array (MOD, ADMIN) ) )
	{
		$template->assign_block_vars('switch_noedit', array());
	}
}


Можно удалить информацию о правке пользователями всех своих сообщений, выполнив SQL запрос
update phpbb_posts
set post_edit_time = NULL
, post_edit_count = 0
where post_edit_count > 0;

vlad77
phpBB 2.0.2
 
Сообщения: 151
Зарегистрирован: 26.07.2006 10:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в Бета-версии модов для phpBB 2.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы