Раздер Название темы Ответов Последний
Графика для сайта Shareman 3.70 RUS/2010 0 mandelsonsouggisse
Изготовление контента Нужен контент 10 ali7875
DataLife Engine Проблема регистрации. 1 JimaX
DataLife Engine Модальное окно в DataLife Engine 3 lionprizrak
DataLife Engine Настройка robots.txt 8 Prizrak_2012
Стол заказов на cmsko.ru Мини-чат. 2 JimaX
Общение пользователей Статьи 3 nastroenie
Хостинг TneHost - Хстинг провайдер 10 ali7875
DataLife Engine Установка банеров 9 JimaX
DataLife Engine Помогите с установой. dle95 2 nastroenie
Яндекс Apdate
Апдейты Яndex тИЦ
25.09.2013Последний |
02.07.2013
23.05.2013
Апдейты Яndex выдачи
18.10.2013Последний |
17.10.2013
12.10.2013
Апдейты ЯКаталога
23.10.2013Последний |
22.10.2013
21.10.2013

Информация
Главная страница » DLE » DLE Хаки » Автоматическое добавление тегов из заголовка новости
Автоматическое добавление тегов из заголовка новости
» Просмотров: 972 » Дата: 3-01-2011, 12:44 » Автор: NeoMurderer
Небольшой хак, который автоматически берет теги из заголовка новости, и добавляет их в новость.

Версия DLE: 8.3 и ниже

Установка:

Открываем engine/modules/addnews.php
Находим и удаляем:


if( ! $config['allow_add_tags'] ) $_POST['tags'] = "";
        elseif( preg_match( "/[||'|<|>|"|!|?|$|@|/|\|&~*+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
        else $_POST['tags'] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST['tags'] ) ) ), ENT_QUOTES ) );



Находим:


if( $found ) {
                
                $db->query( "UPDATE " . PREFIX . "_post set title='$title', short_story='$short_story', full_story='$full_story', xfields='$filecontents', category='$category_list', alt_name='$alt_name', allow_comm='$allow_comm', approve='$approve', allow_main='$allow_main', allow_rate='$allow_rating', fixed='$news_fixed', allow_br='$allow_br', flag='1', tags='" . $_POST['tags'] . "' WHERE id='$id'" );
                
                // Облако тегов
                if( $_POST['tags'] != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $_POST['tags'] != "" and $approve ) {
                        
                        $tags = array ();
                        
                        $_POST['tags'] = explode( ",", $_POST['tags'] );
                        
                        foreach ( $_POST['tags'] as $value ) {
                            
                            $tags[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tags = implode( ", ", $tags );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tags );
                    
                    }
                }
            
            } else {



Заменяем на:


//Авто Теги
            if( ! $config['allow_add_tags'] ) $tags = "";
            else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
            $tag = implode ( ",", $tags );
//Авто Теги
            if( $found ) {

                $db->query( "UPDATE " . PREFIX . "_post set title='$title', short_story='$short_story', full_story='$full_story', xfields='$filecontents', category='$category_list', alt_name='$alt_name', allow_comm='$allow_comm', approve='$approve', allow_main='$allow_main', allow_rate='$allow_rating', fixed='$news_fixed', allow_br='$allow_br', flag='1', tags='$tag' WHERE id='$id'" );
                
                // Облако тегов
                if( $tag != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $tag != "" and $approve ) {
                        $tag = "";
                        foreach ( $tags as $value ) {
                            
                            $tag[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tag = implode( ", ", $tag );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tag );
                    
                    }
                }
            
            } else {



Находим:



$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '" . $_POST['tags'] . "')" );



Заменяем на:



$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '$tag')" );



Находим:


if( $_POST['tags'] != "" and $approve ) {
                    
                    $tags = array ();
                    
                    $_POST['tags'] = explode( ",", $_POST['tags'] );
                    
                    foreach ( $_POST['tags'] as $value ) {
                        
                        $tags[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                    }
                    
                    $tags = implode( ", ", $tags );
                    $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tags );
                
                }



Заменяем на:


if( $tag != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $tag != "" and $approve ) {
                        $tag = "";
                        foreach ( $tags as $value ) {
                            
                            $tag[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tag = implode( ", ", $tag );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tag );
                    
                    }
                }



Открываем engine/inc/addnews.php

Находим и удаляем:


if( preg_match( "/[||'|<|>|"|!|?|$|@|/|\|&~*+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
    else $_POST['tags'] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST['tags'] ) ) ), ENT_QUOTES ) );



Находим:


$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '$add_vote', '$group_regel', '$catalog_url', '1', '{$_POST['tags']}', '{$metatags['title']}')" );



Заменяем на:


//Авто Теги
    if( ! $config['allow_add_tags'] ) $tags = "";
    else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
    $tag = implode ( ",", $tags );
//Авто Теги
    $db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '$add_vote', '$group_regel', '$catalog_url', '1', '$tag', '{$metatags['title']}')" );



Находим:



if( $_POST['tags'] != "" and $approve ) {
                    
                    $tags = array ();
                    
                    $_POST['tags'] = explode( ",", $_POST['tags'] );
                    
                    foreach ( $_POST['tags'] as $value ) {
                        
                        $tags[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                    }
                    
                    $tags = implode( ", ", $tags );
                    $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tags );
                
                }



Заменяем на:



if( $tag != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $tag != "" and $approve ) {
                        $tag = "";
                        foreach ( $tags as $value ) {
                            
                            $tag[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tag = implode( ", ", $tag );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tag );
                    
                    }
                }



Комментарии: 0 Теги: Автоматическое, добавление, тегов, заголовка, новост
 (голосов: 1)
Уважаемый посетитель, Вы зашли к нам на сайт как незарегистрированный пользователь. Мы рекомендуем Вам бесплатно зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.