X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Добавить ответ в эту тему
> Нужна доработка DLE.
profserg
profserg
Topic Starter сообщение 16.11.2010, 15:20; Ответить: profserg
Сообщение #1


Частый гость
**

Группа: User
Сообщений: 56
Регистрация: 16.12.2009
Из: Дальний Восток
Поблагодарили: 12 раз
Репутация:   5  


Здравствуйте. Очень нужно поубирать дубли новостей. Сходство оценивается по первым 250 символам анонса (short_story). Требуется сам скрипт который удалит дубли в полуавтоматическом режиме и доработка кода которая не даст публиковать дубли в будущем. С предложениями прошу в ЛС.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Belos
Belos
сообщение 16.11.2010, 15:33; Ответить: Belos
Сообщение #2


Старожил
******

Группа: Active User
Сообщений: 2468
Регистрация: 11.11.2008
Из: Украина
Поблагодарили: 695 раз
Репутация:   96  


Может подойдет....



Развернуть/Свернуть



<?PHP
//                          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;

?>




Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
profserg
profserg
Topic Starter сообщение 16.11.2010, 15:47; Ответить: profserg
Сообщение #3


Частый гость
**

Группа: User
Сообщений: 56
Регистрация: 16.12.2009
Из: Дальний Восток
Поблагодарили: 12 раз
Репутация:   5  


(Belos @ 16.11.2010, 22:33) *
Может подойдет....



Развернуть/Свернуть



<?PHP
//                          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;

?>




title



Такой у меня есть, к сожалению он убирает дубли по {title} и изменение названия на один знак делает из дубля-недубль.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Регистрация Вашего сайта (профиля,DLE сайты,подписи на форумах,постинг Тиц 10> , ПР 1>)
278 kaartes 102694 Вчера, 10:55
автор: kukla
Открытая тема (нет новых ответов) Адаптивная вёрстка и натяжка на Wordpress, DLE, Joomla и др. Создание мобильных версий.
Хороший код с оптимизацией по скорости. Сайты и лендинги "под ключ
15 Nell 1145 13.12.2017, 23:36
автор: Nell
Открытая тема (нет новых ответов) Нужна помощь в активации аккаунта AdSense
9 dimaguru 2412 13.12.2017, 16:53
автор: vds4you
Открытая тема (нет новых ответов) Очень нужна работа
Желательно на постоянной основе
11 Yuliya_Klim 1721 11.12.2017, 19:26
автор: beliaev
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
142 contex1 65123 5.12.2017, 12:13
автор: contex1


 



RSS Текстовая версия Сейчас: 15.12.2017, 8:55
Дизайн