Админ может оставлять/неоставлять информацию о правке. Пока без админки, но в ближайшем будующем обещаю новый релиз. Пока бета, давайте тестить.
[BETA] NOEdit MOD 0.4
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
[BETA] NOEdit MOD 0.4
По своему же запросу написал мод 
Админ может оставлять/неоставлять информацию о правке. Пока без админки, но в ближайшем будующем обещаю новый релиз. Пока бета, давайте тестить.
Админ может оставлять/неоставлять информацию о правке. Пока без админки, но в ближайшем будующем обещаю новый релиз. Пока бета, давайте тестить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Никто 26.03.2006 17:24, всего редактировалось 3 раза.
Долой edgar'a - самого тупого юзера на форуме!
-
Xpert
- phpBB Guru

- Сообщения: 5484
- Стаж: 21 год 7 месяцев
- Поблагодарили: 2 раза
Порка, сэр!
А вообще, там ник пользователя указывается, но никак не ФИО. Шаблон модов изучил бы.
Кстати, в случае соблюдения вышесказанного достаточно будет просто расширить условие формирования $edited_sql
2. Почему NULL?
Мод не ставил, просто по коду говорю...
Английский и описание мода не впечатлили.
Фамилие говорящее, я вам скажу## MOD Author: Идиятов Сергей
Этой проверке стоит быть в posting.php, кроме того, почему не языковая переменная?message_die(GENERAL_ERROR, 'Вы не можете убирать пометку о редактировании');
Кстати, в случае соблюдения вышесказанного достаточно будет просто расширить условие формирования $edited_sql
1. Зачем, этой переменной вообще не нужно исходное значение.$noedit = NULL;
2. Почему NULL?
Как насчет дополнительной проверки на то, является ли именно данный пользователь автором сообщения и редактирует ли он вообще сообщение? А то может он новую тему заводит...if ( $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('switch_noedit', array());
}
Мод не ставил, просто по коду говорю...
Английский и описание мода не впечатлили.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
Это не столь важно.Xpert писал(а):Фамилие говорящее, я вам скажу А вообще, там ник пользователя указывается, но никак не ФИО. Шаблон модов изучил бы.
Ок, в следующей версии учту.Xpert писал(а):Этой проверке стоит быть в posting.php, кроме того, почему не языковая переменная?
Кстати, в случае соблюдения вышесказанного достаточно будет просто расширить условие формирования $edited_sql
Дабы определить переменнуюXpert писал(а):1. Зачем, этой переменной вообще не нужно исходное значение.
NULL - пустоXpert писал(а):2. Почему NULL?
Зачем, админ может редактировать любое сообщение, а мод позволяет админу удалять пометку и никому другому.Xpert писал(а):Как насчет дополнительной проверки на то, является ли именно данный пользователь автором сообщения
Если бы ты глянул куда мы добавляем кусок, ты бы понял что проверка уже естьXpert писал(а):редактирует ли он вообще сообщение
ПоставьXpert писал(а):Мод не ставил, просто по коду говорю...
Английский у меня нулевой.Xpert писал(а):Английский и описание мода не впечатлили.
Дальше?
Долой edgar'a - самого тупого юзера на форуме!
-
Xpert
- phpBB Guru

- Сообщения: 5484
- Стаж: 21 год 7 месяцев
- Поблагодарили: 2 раза
А зачем? В posting.php просто проверяем, есть ли такая переменная. Если есть и админ - то используем ее значение, иначе нет.Никто писал(а):Дабы определить переменную
Шикарный смайлик. Вот только NULL как-раз таки означает неопределенность переменной.Никто писал(а):все равно что определить ее как
Ответ неверный. Мод позволяет админу не оставлять пометки о редактировании или не увеличивать счетчик. Естественно, только для своих сообщений, поскольку во всех остальных случаях он и так не появится/не увеличится.Никто писал(а):Зачем, админ может редактировать любое сообщение, а мод позволяет админу удалять пометку и никому другому.
А я и глянул... Как думаешь, зачем чуть выше твоего кода вот такие проверки?Никто писал(а):Если бы ты глянул куда
Код: Выделить всё
if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] ) )
{
$template->assign_block_vars('switch_type_toggle', array());Ну если еще и поставлю, то тебе точно несдоброватьНикто писал(а):Поставь
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
Спасибо за подсказку, в след версии учтуXpert писал(а):А зачем? В posting.php просто проверяем, есть ли такая переменная. Если есть и админ - то используем ее значение, иначе нет.
Тем лучшеXpert писал(а):Вот только NULL как-раз таки означает неопределенность переменной.
Это я и имел ввидуXpert писал(а):Ответ неверный. Мод позволяет админу не оставлять пометки о редактировании или не увеличивать счетчик. Естественно, только для своих сообщений, поскольку во всех остальных случаях он и так не появится/не увеличится.
Ой незаметил... Скоро будет новая версия.Xpert писал(а):А я и глянул... Как думаешь, зачем чуть выше твоего кода вот такие проверки?
Ничего, зато мод нормальный будет.Xpert писал(а):Ну если еще и поставлю, то тебе точно несдобровать
Долой edgar'a - самого тупого юзера на форуме!
-
Mr. Anderson
- phpBB Guru

- Сообщения: 7522
- Стаж: 21 год 7 месяцев
- Откуда: СССР
- Благодарил (а): 4 раза
- Поблагодарили: 94 раза
Написанный под диктовку Xpert'аНикто писал(а):мод нормальный будет
Правила конференции (30.05.2011) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | FAQ (phpBB 3.0.x) / Мини [FAQ] по phpBB 3.1.x
Последние и единственно актуальные на сегодня версии - 3.1.12 и 3.2.2!
Небесплатно накачаю ваш VPS/VDS/DS стероидами и заставлю ваши CMS летать =)
phpBB Guru blog | Тестируем phpBB 3.3 здесь! |
Последние и единственно актуальные на сегодня версии - 3.1.12 и 3.2.2!
Небесплатно накачаю ваш VPS/VDS/DS стероидами и заставлю ваши CMS летать =)
phpBB Guru blog | Тестируем phpBB 3.3 здесь! |
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
-
Xpert
- phpBB Guru

- Сообщения: 5484
- Стаж: 21 год 7 месяцев
- Поблагодарили: 2 раза
Проверку админ или нет надо выносить в 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.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
Имхо - это излишнеXpert писал(а):Проверку админ или нет надо выносить в posting.php сразу после получения переменной. Тогда и вот этот код и соответствующая языковая переменная становятся ненужными.
Ну скажи как это будет по английски правильно...Xpert писал(а):Я кажется объяснил что мод делает. Или как в том анекдоте "сейчас запустим написанное и узнаем что это"?
Долой edgar'a - самого тупого юзера на форуме!
-
Xpert
- phpBB Guru

- Сообщения: 5484
- Стаж: 21 год 7 месяцев
- Поблагодарили: 2 раза
Хм, в phpBB большая часть проверок сделана именно так, посмотри к примеру topic_type...Никто писал(а):Имхо - это излишне
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
-
Никто
- Advanced Lamers Team
- Сообщения: 316
- Стаж: 19 лет 10 месяцев
- Откуда: Химки
- Забанен: Бессрочно
-
vlad77
- phpBB 1.4.4
- Сообщения: 152
- Стаж: 19 лет 3 месяца
Re: [BETA] NOEdit MOD 0.4
Что бы модераторы тоже могли оставлять/неоставлять информацию о правке.
Можно удалить информацию о правке пользователями всех своих сообщений, выполнив SQL запрос
Код: Выделить всё
открыть
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());
}
}Код: Выделить всё
update phpbb_posts
set post_edit_time = NULL
, post_edit_count = 0
where post_edit_count > 0;
