вопрос
Здравствуйте.
Подскажите, возможно ли сделать историю редактирования новости, чтоб автоматически выводило всю историю или это только через доп. поля ?
Так же, чтоб указывание причины редактирования было обязательным полем и соответственно, чтоб по умолчанию стояла галочка "Выводить информацию о том что новость отредактирована"
пример можно посмотреть здесь
Подскажите, возможно ли сделать историю редактирования новости, чтоб автоматически выводило всю историю или это только через доп. поля ?
Так же, чтоб указывание причины редактирования было обязательным полем и соответственно, чтоб по умолчанию стояла галочка "Выводить информацию о том что новость отредактирована"
пример можно посмотреть здесь
Создаём доп. поле. назовём его update. Туда прописываем всегда последнее обновление. далее:
Открываем engine/inc/editnews.php
Заменить строки:
На эти:
далее в этом же файле заменить строки:
На эти:
Пример вывода в шаблоне:
Остальное по вашему усмотрению - используем документацию по движку
Открываем engine/inc/editnews.php
Заменить строки:
<tr>
<td width="140" height="29" style="padding-left:5px;">{$lang['news_edit_reason']}</td>
<td><input type="checkbox" name="view_edit" value="1" {$view_edit_cheked}>{$lang['allow_view_edit']}<input class="edit bk" type="text" size="55" name="editreason" id="editreason" value="{$row['reason']}"> {$lang['news_edit_date']}</td>
</tr>
На эти:
<tr>
<td width="140" height="29" style="padding-left:5px;">{$lang['news_edit_reason']}</td>
<td><input type="checkbox" name="view_edit" value="1" {$view_edit_cheked}>{$lang['allow_view_edit']}<input class="edit bk" type="text" size="55" name="editreason" id="editreason" value="">{$lang['news_edit_date']}{$row['reason']}</td>
</tr>
далее в этом же файле заменить строки:
if ($item_db[6]) $db->query( "UPDATE " . PREFIX . "_post_extras SET allow_rate='$allow_rating', votes='$add_vote', disable_index='$disable_index', access='$group_regel', editdate='$added_time', editor='{$member_id['name']}', reason='$editreason', view_edit='$view_edit' WHERE news_id='$item_db[0]'" );
else $db->query( "INSERT INTO " . PREFIX . "_post_extras (news_id, allow_rate, votes, disable_index, access, editdate, editor, reason, view_edit) VALUES('{$item_db[0]}', '{$allow_rating}', '{$add_vote}', '{$disable_index}', '{$group_regel}', '{$added_time}', '{$member_id['name']}', '{$editreason}', '{$view_edit}')" );
На эти:
$editreason = ($editreason!='') ? '<b>'.$member_id['name'].'</b> | '.langdate( $config['timestamp_active'],$added_time).' | '.$editreason : '';
if ($item_db[6]) $db->query( "UPDATE " . PREFIX . "_post_extras SET allow_rate='$allow_rating', votes='$add_vote', disable_index='$disable_index', access='$group_regel', editdate='$added_time', editor='{$member_id['name']}', reason=concat(reason,'$editreason'), view_edit='$view_edit' WHERE news_id='$item_db[0]'" );
else $db->query( "INSERT INTO " . PREFIX . "_post_extras (news_id, allow_rate, votes, disable_index, access, editdate, editor, reason, view_edit) VALUES('{$item_db[0]}', '{$allow_rating}', '{$add_vote}', '{$disable_index}', '{$group_regel}', '{$added_time}', '{$member_id['name']}', '{$editreason}', '{$view_edit}')" );
Пример вывода в шаблоне:
[edit-date][edit-reason]Причина редактирования:{edit-reason}[/edit-reason][/edit-date]
Остальное по вашему усмотрению - используем документацию по движку