- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нашел на просторах интернета
Этот вопрос может интересовать многих. Рассмотрим его более подробно...
Очевидно, что дубли нужно искать по заголовку или по латинскому названию (которое используется для ЧПУ в DLE)
В некоторых случаях это может оказаться довольно непростой задачей, если, скажем у нас порядка 1000 повторяющихся статей - согласитесь, искать их в базе и удалять вручную не совсем удобно, тем более в самой админке движка...
Для того, чтобы это сделать, мы и написали простой скрипт, который последовательным запуском из браузера (запуск автоматизирован, с помощью JavaScript) медленно, но верно удаляет дубли ...
PHP сценарий следует закачать в корень сайта, где расположен движок DataLife Engine и запустить из браузера. По окончанию удаления дублей скрипт выдаст магическую фразу "COMPLETE !"
Что скажите юзать? нету там ничего вредоносного или неправильного?
Такой скрипт
// COPYRIGHT FDSTAR.NET
@error_reporting(E_ALL ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', false);
@ini_set('error_reporting', E_ALL ^ E_NOTICE);
define('DATALIFEENGINE', true);
$member_id = FALSE;
$is_logged = FALSE;
$content = '';
define('ROOT_DIR', dirname (__FILE__));
define('ENGINE_DIR', ROOT_DIR.'/engine');
define('DROP_IMAGES', false);
@include (ENGINE_DIR.'/data/config.php');
if (!$config['version_id']) die("Datalife Engine not installed. Please run install.php");
require_once ENGINE_DIR.'/classes/mysql.php';
require_once ENGINE_DIR.'/data/dbconfig.php';
$sql = "SELECT *,count(*) as `post_counter`
FROM `". PREFIX. "_post`
GROUP BY `alt_name`
ORDER BY `post_counter` DESC";
$res = $db->query($sql);
$row = $db->get_row($res);
if($row && count($row))
{
if($row['post_counter']<=1)
{
die('COMPLETE !');
}
if(DROP_IMAGES)
{
$sql= "SELECT *
FROM `". PREFIX. "_images`
WHERE `news_id`='{$row['id']}' ";
$res2 = $db->query($sql);
while($row2 = $db->get_row($res2))
{
$images_array = split("\|\|\|", $row2['images']);
foreach($images_array as $image)
{
if($image = trim($image))
{
$image = ltrim($image, '/');
if(preg_match('#([0-9]{4}\-[0-9]{2}/)(.*)$#', $image, $match))
{
$img_date_dir = $match[1];
$img_name = basename($match[2]);
$img_thumb_address = ROOT_DIR. '/uploads/posts/'. $img_date_dir. 'thumbs/'. $img_name;
$img_address = ROOT_DIR. '/uploads/posts/'. $img_date_dir. $img_name;
@$img_thumb_address_delete = (int)unlink($img_thumb_address);
@$img_address_delete = (int)unlink($img_address);
$content.= "{$img_address} {$img_address_delete} <br /> {$img_thumb_address} {$img_thumb_address_delete}<hr />";
}
else
{
$content.= '<br />NO IMAGES FOUND<br />';
}
}
}
$sql = "DELETE FROM `". PREFIX. "_images` WHERE `id`='{$row2['id']}'";
$db->query($sql);
$content.= $sql. "<hr />";
}
}
$sql= "DELETE FROM `". PREFIX. "_post` WHERE `id`='{$row['id']}' ";
$db->query($sql);
$content.= $sql. "<hr />";
}
echo <<<HTML
<html>
<head>
<script language="JavaScript" DEFER><!--
function reload_page()
{
document.location.reload();
}
--></script>
</head>
<body onload="reload_page();">
{$content}
</body>
</html>
HTML;
?>
А чем не подходят методы Алаева по борьбе с дублями в ДЛЕ?
Новости парсяться, и попадаются одинаковые, то есть дубли, так вот этот скрипт удалит?