Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Выкладываю инструмент. В некоторой степени это обточенный булыжник, но свою функцию выполняет.

PHP код: Выделить весь код

<?php

function repl($str) {
  
$str str_replace(":pastequote("':posthide('$str);
  
$str str_replace('">Цитировать''">Удалить'$str);
  
$str str_replace('</head>'"<script>function posthide(a,num){location.href='?file=$_GET[file]&delpost='+num;}</script></head>"$str);
  return 
$str;
}
if (!
$_GET['file'] && !$_GET['delpost'])
  {
  if (
$handle opendir('.')) {
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != ".." && $file != "index.php")
          echo 
"<a href='?file=$file'>$file</a><br />";
    }
    
closedir($handle);
  }
}
else if (!
$_GET['delpost'] && $_GET['file'])
  {
  
$fp fopen($_GET['file'], "r");
  
$content fread($fp1000000);
  
fclose($fp);
  echo 
repl($content);
  }

else if (
$_GET['file'] && $_GET['delpost'])
{
  
$fp fopen($_GET['file'], "r");
  
$content fread($fp1000000);
  
fclose($fp);
  
$a strpos($content"<!-- post #".$_GET['delpost']);
  
$b strpos($content"<!-- / post #".$_GET['delpost']." -->", ($a+10));
  
$begin substr($content0$a);
  
$end substr($content$b);
  
$all repl($begin.$end);
  
$fp fopen($_GET['file'], 'w');
  
fwrite($fp$all);
  echo 
$all;
  
fclose($fp);
}
?>

1. Предполагается, что у вас есть веб-сервер, способный обрабатывать PHP-скрипты.
2. Создаёте в веб-каталоге папку, скажем, oszone.
3. Кидаете туда этот скрипт под именем index.php (в принципе - на ваш вкус).
4. Кидаете в папку с этим скриптом html-странички с форума (mht не обрабатывает, уж извините). CSS, JS и прочее - не надо. Они всё равно не будут задействоваться.
5. Открываете в браузере 127.0.0.1/oszone/index.php (или куда вы там сохранили).
6. Отображается список файлов из каталога.
7. Выбираете нужный файл, кликая по ссылке.
8. Открывается html-страничка. Правда без оформления. Но это пока не важно. Пусть будет такая. Вместо ссылок "Цитировать" будут ссылки "Удалить".
9. Собственно, кликая по ссылкам "Удалить", удаляете ненужные сообщения. Удаляются без запроса подтверждения. AJAX реализовывать не стал. Пока это всего лишь "рыба"-скрипт.
10. Копируете html-страничку из папки со скриптом в старое место. Все стили и скрипты на месте и работают.

Рекомендую сначала потестировать на копиях (и сами бы догадались, но я предупредил).
Удаление рекламы и лишнего оформления - на ваш вкус.

Да, ещё: страницы кэшируются по умолчанию. Это следует учитывать.
И веб-сервер должен иметь права записи на соответствующие html-файлы.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:02, 06-07-2008 | #13