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

Удаление сообщений и восстановление тем


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

Предлагаю сделать две модификации, связанные друг с другом:

 

1. Удаление отдельных сообщений в теме

 

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

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

 

2. Частичное удаление и восстановление тем (сообщений)

 

Сейчас темы удаляются безвозвратно. Это, на мой взгляд, неправильно и небезопасно. К тому же, всякое случается, и не всегда модераторы действуют объективно.

 

Было бы полезно, чтобы темы сначала лишь помечались, как удаленные, модераторы бы их видели и могли восстановить.

Второй этап удаления могут производить лишь админы, после этого модераторы не видят уже и этих тем.

 

И, наконец, безвозвратное удаление тем и сообщений должно производиться через Админцентр (что-то типа "Чистка базы удаленных сообщений").

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

Это и так в стандарте есть, ты чего то путаешь...

 

Да? ;) Странно, и как это сделать, как, удалить отдельное сообщение в теме? :D

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

Alien2001

Если зайдёшь как админ или модер с правами удалять и редакитровать темы, то увидешь кнопку Удалить, по английски Делэйт жми на нёё и удаляй! :D

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

Насчет 2.

Можно скрытый форум (назови его Recycle Bin) создать и все топики сомнительного толка перенаправлять туда (в Recycle Bin), а когда необходимоть в них пропала просто очищаешь Recycle Bin и все.

Модераторы могут только перемещать в Recycle Bin, и только админы могут зачищать Recycle Bin.

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

  • 2 недели спустя...
Valera а как это создать тоесть как создать второй под форум или же ресайкл бин откуда можно было бы вызволять удаленные темы?
Ссылка на комментарий
Поделиться на других сайтах

ShaD

Создаёшь форум из админки и даёшь пермишин читать, писать и пр только админам и можераторам... Пользователи его не видят ..Видят только моды и админы. Скидываешь ненужное туда путём перемещения а если понадобится переместил обратно, только ссылку на то что форум перемещён убирайте

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

  • 2 недели спустя...

GRINGO классная Идея

 

А что если случайно нажал на Удалить .. Это же потом не востановить так ? кроме бакепа конечно же

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

ShaD

А что если случайно нажал на Удалить .. Это же потом не востановить так ? кроме бакепа конечно же

точно так.

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

Может тебе такой хак подойдет ?

 

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

-+ +-

-+ Post Deleted Hack +-

-+ v1.0.2 +-

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

-+ Instead of deleting the post, we simply show an message telling us the +-

-+ post was deleted by ... (name). +-

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

-+ If you upgrade from the first version, please only run step 5+ +-

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

-+ If upgrading from version 1.0.1 please run step 6+ +-

-+ Step 1: +-

-+ Open /Skin/sX/skin_topic.php (where X is your skin ID, repeat this step +-

-+ for all the skins you use) +-

-+ replace this: +-

class skin_topic {

-+ with this: +-

class skin_topic {

 

function RenderDeleted($data) {

global $ibforums;

return <<<EOF

<!--Begin Msg Number {$data['pid']}-->

<tr>

<td valign='middle' class='posthead'><a name='entry{$data['pid']}'></a><span class='{$data['name_css']}'>{$data[postER]['name']}</span></td>

<td class='posthead'><span class='postdetails'><b>{$ibforums->lang['deleted_by']}</b> {$data['deleter_name']}</span></td>

</td>

</tr>

<tr>

<td class='postsep' colspan='2'><img src='{$ibforums->vars['img_url']}/spacer.gif' alt='' width='1' height='1'></td>

</tr>

<!-- end Message -->

EOF;

}

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

-+ Step 2: +-

-+ Open /sources/Topics.php +-

-+ replace this: (around line 630) +-

$this->output .= $this->html->RenderRow( array( 'POST' => $row, 'POSTER' => $poster ) );

-+ with this: +-

if ($row['post_deleted']) {

$this->output .= $this->html->RenderDeleted( array( 'POST' => $row, 'POSTER' => $poster ) );

} else {

$this->output .= $this->html->RenderRow( array( 'POST' => $row, 'POSTER' => $poster ) );

}

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

-+ Step 3: +-

-+ Open /sources/Moderate.php +-

-+ replace this: (around line 1502) +-

$DB->query("DELETE from ibf_posts WHERE topic_id='".$this->topic['tid']."' and pid='".$post['pid']."'");

-+ with this: +-

$DB->query("UPDATE ibf_posts SET post_deleted='1', deleter_name='{$ibforums->member['name']}', post='' WHERE topic_id='".$this->topic['tid']."' and pid='".$post['pid']."'");

-+ +-

-+ replace this: (somewhere below the previous replacement) +-

$DB->query("SELECT post_date, author_id, author_name from ibf_posts WHERE topic_id='".$this->topic['tid']."' and queued <> 1 ORDER BY pid DESC");

-+ with this: +-

$DB->query("SELECT post_date, author_id, author_name from ibf_posts WHERE topic_id='".$this->topic['tid']."' and queued <> 1 and post_deleted IS NULL ORDER BY pid DESC");

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

-+ Step 4: +-

-+ Open your ACP, and slip into your SQL management, then click on the +-

-+ mySQL Toolbox, scroll down this page, and then run this Query: +-

ALTER TABLE `ibf_posts` ADD `post_deleted` TINYINT( 1 ) AFTER `pid` ,

ADD `deleter_name` VARCHAR( 32 ) NOT NULL AFTER `post_deleted` ;

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

-+ Step 5: +-

-+ Open /lang/XX/lang_topic.php (where XX is your language dir) +-

-+ on the last line you will find: +-

?>

-+ add before this: +-

// post delete hack

$lang['deleted_by'] = 'This post was deleted by ';

//end

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

-+ Step 6: +-

-+ Open /skin/sX/skin_post.php (where X is your skin ID, repeat this step +-

-+ for all the skins you use) +-

-+ replace this: +-

class skin_post {

-+ with this: +-

class skin_post {

 

function TopicSummary_deleted($data) {

global $ibforums;

return <<<EOF

<tr class='postdetails'>

<td class='row1' align='left' valign='top' width='20%'><b>{$data['author']}</b></td>

<td class='row1' align='left' valign='top' width='80%'><span class='postdetails'><b>{$ibforums->lang['deleted_by']}</b> {$data['deleter_name']}</span></td>

</tr>

EOF;

}

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

-+ Step 7: +-

-+ Open /lang/XX/lang_post.php (where XX is your language dir) +-

-+ on the last line you will find: +-

?>

-+ add before this: +-

// post delete hack

$lang['deleted_by'] = 'This post was deleted by ';

//end

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

-+ Step 8: +-

-+ open /sources/Post.php +-

-+ replace this: (about line 1010) +-

$this->output .= $this->html->TopicSummary_body( $row );

-+ with this: +-

if ($row['post_deleted']) {

$this->output .= $this->html->TopicSummary_deleted( $row );

} else {

$this->output .= $this->html->TopicSummary_body( $row );

}

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

-+ +-

-+ Well that's all folks, happy modding! +-

-+ Thanks to: +-

-+ - Matt +-

-+ - Myself :D +-

-+ +-

-+ Website: www.ibforums.nl +-

-+ Email: -- (please contact me at the ibresource/ibplanet forums) +-

-+ Copyright: © 2003 - Bouke Haarsma (Thй Netherlands) +-

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

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

Насколько я понимаю, сейчас можно лишь удалить всю тему целиком, но не отдельные сообщения

хе .... повеселил :D

 

 

Можно скрытый форум (назови его Recycle Bin) создать и все топики сомнительного толка перенаправлять туда (в Recycle Bin), а когда необходимоть в них пропала просто очищаешь Recycle Bin и все.

я у себя даааавно так сделал.... на всякий случай...

 

WishMaster

-+ Instead of deleting the post, we simply show an message telling us the +-

-+ post was deleted by ... (name). +-

а теперь прочитай по-внимательнее....

 

;)

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

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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