DLE-Infa.RU Регистрация Статистика Контакты Сервис
«    Май 2012    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
ajax, css, dle, free, green, info, news, pr, release, sms, url, user, wap, альбом, английский, баг, блок, загрузка, запрет, изображения, категории, комментарии, кэш, модуль, новости, новость, ошибка, переходы, подсказки, пользователи, релиз, смарт, спам, тиц, файлы, фото, хак, чпу, шаблон, шаблоны
Качественный и дешевый VDS / VPS хостинг
 Наш архив:
Апрель 2011 (1)
Январь 2011 (8)
Декабрь 2010 (7)
Ноябрь 2010 (3)
Октябрь 2010 (12)
Сентябрь 2010 (4)
   
Навигация по сайту
   
 

Автоматическое добавление тегов из заголовка новости

 
Дорогие друзья,

Представляю Вашему вниманию небольшой хак, который автоматически берет теги из заголовка новости, и добавляет их в новость.

Установка хака автоматическое добавление тегов из заголовка новости:

  1. Открываем engine/modules/addnews.php
    • Находим и удаляем (99 строка):
           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 ) );
    • Находим  (209 строка):
               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 {
    • Находим (239 строка):
      $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')" );
    • Находим (246 строка):
                   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 );
                          
                          }
                      }
  2. Открываем engine/inc/addnews.php
    • Находим и удаляем (444 строка):
      if( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
          else $_POST['tags'] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST['tags'] ) ) ), ENT_QUOTES ) );
    • Находим (543 строка):
      $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']}')" );
    • Находим (556 строка):
      if( $_POST['tags'] != "" and $approve ) {
              
              $tags = array ();
              
              $_POST['tags'] = explode( ",", $_POST['tags'] );
              
              foreach ( $_POST['tags'] as $value ) {
                  
                  $tags[] = "('" . $row . "', '" . 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 );
                          
              }
          }
  3. Установка завершина, теперь удаляем лишнее поле из шаблона и радуемся :)

 
 
  Версия DLE: 8.2 и ниже
Автор: Брупт (dle-infa.ru)
Категории новости: Хаки
Ключевые слова новости: новости, хак, теги, авто
 
 
 
 
 
   
 

#1 Автор комментария: gooley Дата написания комментария: 26 марта 2010 13:16
 


Дата рег.: 26.03.2010
Комментариев: 1
Публикаций: 0
Установка завершина, теперь удаляем лишнее поле из шаблона и радуемся :)
Какое поле нужно удалить?

цитировать
 

#2 Автор комментария: Брупт Дата написания комментария: 28 марта 2010 13:40
 


Дата рег.: 16.04.2009
Комментариев: 82
Публикаций: 167
Поле, в которое до этого вводил эти теги, это не обязательно! smile

цитировать
 

#3 Автор комментария: K-Maik Дата написания комментария: 18 ноября 2010 16:58
 


Дата рег.: 18.11.2010
Комментариев: 1
Публикаций: 0
Попробуйте более лучший хак ключевиков:

_http://6dle.ru/platno_dle_shablon/4066-avto-zapolnenie-tegov-alt-izobrazhenij-dlya-dle.html

цитировать
 

Добавление комментария
 
Ваше Имя:
Ваш E-Mail:
Включите эту картинку для отображения кода безопасности
обновить, если не виден код

 
 
 
Популярные новости
Copyright© DLE-Infa group (DLE-Infa.RU) 2009-2011 Все права защищены. Копирование и использование каких либо материала на сайте разрешено только с прямой ссылкой на dle-infa.ru