• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Поиск Самые просматриваемые посты за текущий день (доработка)

kab2008

Постоялец
Регистрация
15 Фев 2008
Сообщения
145
Реакции
23
Ищу программиста DLE для доработки модуля:
- Самые просматриваемые посты за текущий день
- Для просмотра ссылки Войди или Зарегистрируйся

На DLE 15.1 хак еще работал, на DLE 18.0 - уже нет.
Кто может взяться и какая цена?
 
Ищу программиста DLE для доработки модуля:
- Самые просматриваемые посты за текущий день
- Для просмотра ссылки Войди или Зарегистрируйся

На DLE 15.1 хак еще работал, на DLE 18.0 - уже нет.
Кто может взяться и какая цена?
вот этот шаг теперь меняется не в show.full.php как у автора а в engine/ajax/adminfunction.php
Открыть файл engine/ajax/adminfunction.php
Найти код (2шт)
news_read=news_read+1

Заменить на:
news_read=news_read+1, day_read=day_read+1
 
Еще раз перепроверил. Не работает. Я с самого начала нашел этот участок, но и вторая перепроверка ничего не дала.
Код:
Сначало делаем запрос к базе

ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';

*** templates\Default\modules\rightside.tpl   
--- templates\Default\modules\rightside.tpl   
***************
*** 1,19 ****
  [not-available=showfull]
  <aside class="rightside">
      <!-- Популярное -->
      <div class="block top_block">
          <h4 class="title"><b>Популярное</b></h4>
          <ol class="topnews">
             {topnews}
          </ol>
      </div>
--- 1,19 ----
  [not-available=showfull]
  <aside class="rightside">
      <!-- Популярное -->
      <div class="block top_block">
          <h4 class="title"><b>Популярное</b></h4>
          <ol class="topnews">
         {custom template="topnews" order="day_read" limit="40"}
          </ol>
      </div>
*** templates\Default\topnews.tpl    
--- templates\Default\topnews.tpl    
***************
*** 1,6 ****
  <li>
     <a href="{link}" title="{title}">
         <b>{title}</b>
         <span>{category}</span>
     </a>
  </li>
--- 1,3 ----
  <li>
     {title} - ({views} + <b>{day_read}</b>)<br/>
  </li>
*** engine\modules\show.custom.php   
--- engine\modules\show.custom.php   
***************
*** 270,282 ****
          
      $row['category'] = intval( $row['category'] );
 
      if( !$allow_comments_in_cat ) $row['comm_num'] = 0;
      
      $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0, ',', ' '), '{views}' => number_format($row['news_read'], 0, ',', ' '), '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{rssdate}' => date( "r", $row['date'] ), '{rssauthor}' => $row['autor'], '{approve}' => '' );
    
      $tpl->set( '', $news_find );
 
      $compare_date = compare_days_date($row['date'],  $short_news_cache);
 
      if( !$compare_date ) {
          
--- 270,284 ----
          
      $row['category'] = intval( $row['category'] );
 
      if( !$allow_comments_in_cat ) $row['comm_num'] = 0;
      
      $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0, ',', ' '), '{views}' => number_format($row['news_read'], 0, ',', ' '), '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{rssdate}' => date( "r", $row['date'] ), '{rssauthor}' => $row['autor'], '{approve}' => '' );
 
     $news_find['{day_read}'] = number_format($row['day_read'], 0, ',', ' ');
 
      $tpl->set( '', $news_find );
 
      $compare_date = compare_days_date($row['date'],  $short_news_cache);
 
      if( !$compare_date ) {
*** engine\modules\functions.php   
--- engine\modules\functions.php   
***************
*** 2139,2150 ****
--- 2139,2155 ----
 
          $match[1] = strtolower($match[1]);
 
          if ( $allowed_sort[$match[1]] ) $news_sort = $allowed_sort[$match[1]];
 
          if ($match[1] == "rand" ) { $fixed = ""; $news_msort = ""; }
 
         if ($match[1] == "day_read" ){
            $sql_select = str_replace("e.news_read, ","e.news_read, e.day_read, ",$sql_select);
             $news_sort = $match[1]." DESC, news_read";
         }
          
          if($match[1] == "id_as_list" AND $ids_for_sort){
              $news_sort = $ids_for_sort;
              $news_msort = "";
          }
 
*** engine\modules\cron.php    
--- engine\modules\cron.php    
***************
*** 54,66 ****
 
          if ( $cron_clear_cache ) clear_cache( array('news_', 'full_') );
      
      }
      
      if( $cron == 2 ) {
        
          $db->query( "TRUNCATE TABLE " . PREFIX . "_login_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_flood" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_mail_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_read_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_spam_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_banners_logs" );
--- 54,66 ----
 
          if ( $cron_clear_cache ) clear_cache( array('news_', 'full_') );
      
      }
      
      if( $cron == 2 ) {
         $db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_login_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_flood" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_mail_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_read_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_spam_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_banners_logs" );
*** engine\ajax\adminfunction.php    2024-12-29
--- engine\ajax\adminfunction.php    2025-02-19
***************
*** 216,236 ****
      
              $readcount = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_read_log WHERE news_id='{$row['news_id']}' AND ip='{$_IP}'" );
      
              if( !$readcount['count'] ) {
      
                  if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
                 else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['news_id']}'" );
      
                  $db->query( "INSERT INTO " . PREFIX . "_read_log (news_id, ip) VALUES ('{$row['news_id']}', '{$_IP}')" );
              }
      
          } else {
      
              if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
            else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['news_id']}'" );
          }
 
      }
      
      die('ok');
      
--- 216,236 ----
      
              $readcount = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_read_log WHERE news_id='{$row['news_id']}' AND ip='{$_IP}'" );
      
              if( !$readcount['count'] ) {
      
                  if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
                else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1, day_read=day_read+1 WHERE news_id='{$row['news_id']}'" );
      
                  $db->query( "INSERT INTO " . PREFIX . "_read_log (news_id, ip) VALUES ('{$row['news_id']}', '{$_IP}')" );
              }
      
          } else {
      
              if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
             else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1, day_read=day_read+1 WHERE news_id='{$row['news_id']}'" );
          }
 
      }
      
      die('ok');
 
Код:
Сначало делаем запрос к базе

ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';

*** templates\Default\modules\rightside.tpl  
--- templates\Default\modules\rightside.tpl  
***************
*** 1,19 ****
  [not-available=showfull]
  <aside class="rightside">
      <!-- Популярное -->
      <div class="block top_block">
          <h4 class="title"><b>Популярное</b></h4>
          <ol class="topnews">
             {topnews}
          </ol>
      </div>
--- 1,19 ----
  [not-available=showfull]
  <aside class="rightside">
      <!-- Популярное -->
      <div class="block top_block">
          <h4 class="title"><b>Популярное</b></h4>
          <ol class="topnews">
         {custom template="topnews" order="day_read" limit="40"}
          </ol>
      </div>
*** templates\Default\topnews.tpl   
--- templates\Default\topnews.tpl   
***************
*** 1,6 ****
  <li>
     <a href="{link}" title="{title}">
         <b>{title}</b>
         <span>{category}</span>
     </a>
  </li>
--- 1,3 ----
  <li>
     {title} - ({views} + <b>{day_read}</b>)<br/>
  </li>
*** engine\modules\show.custom.php  
--- engine\modules\show.custom.php  
***************
*** 270,282 ****
         
      $row['category'] = intval( $row['category'] );
 
      if( !$allow_comments_in_cat ) $row['comm_num'] = 0;
     
      $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0, ',', ' '), '{views}' => number_format($row['news_read'], 0, ',', ' '), '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{rssdate}' => date( "r", $row['date'] ), '{rssauthor}' => $row['autor'], '{approve}' => '' );
   
      $tpl->set( '', $news_find );
 
      $compare_date = compare_days_date($row['date'],  $short_news_cache);
 
      if( !$compare_date ) {
         
--- 270,284 ----
         
      $row['category'] = intval( $row['category'] );
 
      if( !$allow_comments_in_cat ) $row['comm_num'] = 0;
     
      $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0, ',', ' '), '{views}' => number_format($row['news_read'], 0, ',', ' '), '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{rssdate}' => date( "r", $row['date'] ), '{rssauthor}' => $row['autor'], '{approve}' => '' );
 
     $news_find['{day_read}'] = number_format($row['day_read'], 0, ',', ' ');
 
      $tpl->set( '', $news_find );
 
      $compare_date = compare_days_date($row['date'],  $short_news_cache);
 
      if( !$compare_date ) {
*** engine\modules\functions.php  
--- engine\modules\functions.php  
***************
*** 2139,2150 ****
--- 2139,2155 ----
 
          $match[1] = strtolower($match[1]);
 
          if ( $allowed_sort[$match[1]] ) $news_sort = $allowed_sort[$match[1]];
 
          if ($match[1] == "rand" ) { $fixed = ""; $news_msort = ""; }
 
         if ($match[1] == "day_read" ){
            $sql_select = str_replace("e.news_read, ","e.news_read, e.day_read, ",$sql_select);
             $news_sort = $match[1]." DESC, news_read";
         }
         
          if($match[1] == "id_as_list" AND $ids_for_sort){
              $news_sort = $ids_for_sort;
              $news_msort = "";
          }
 
*** engine\modules\cron.php   
--- engine\modules\cron.php   
***************
*** 54,66 ****
 
          if ( $cron_clear_cache ) clear_cache( array('news_', 'full_') );
     
      }
     
      if( $cron == 2 ) {
       
          $db->query( "TRUNCATE TABLE " . PREFIX . "_login_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_flood" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_mail_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_read_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_spam_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_banners_logs" );
--- 54,66 ----
 
          if ( $cron_clear_cache ) clear_cache( array('news_', 'full_') );
     
      }
     
      if( $cron == 2 ) {
         $db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_login_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_flood" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_mail_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_read_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_spam_log" );
          $db->query( "TRUNCATE TABLE " . PREFIX . "_banners_logs" );
*** engine\ajax\adminfunction.php    2024-12-29
--- engine\ajax\adminfunction.php    2025-02-19
***************
*** 216,236 ****
     
              $readcount = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_read_log WHERE news_id='{$row['news_id']}' AND ip='{$_IP}'" );
     
              if( !$readcount['count'] ) {
     
                  if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
                 else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['news_id']}'" );
     
                  $db->query( "INSERT INTO " . PREFIX . "_read_log (news_id, ip) VALUES ('{$row['news_id']}', '{$_IP}')" );
              }
     
          } else {
     
              if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
            else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['news_id']}'" );
          }
 
      }
     
      die('ok');
     
--- 216,236 ----
     
              $readcount = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_read_log WHERE news_id='{$row['news_id']}' AND ip='{$_IP}'" );
     
              if( !$readcount['count'] ) {
     
                  if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
                else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1, day_read=day_read+1 WHERE news_id='{$row['news_id']}'" );
     
                  $db->query( "INSERT INTO " . PREFIX . "_read_log (news_id, ip) VALUES ('{$row['news_id']}', '{$_IP}')" );
              }
     
          } else {
     
              if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
             else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1, day_read=day_read+1 WHERE news_id='{$row['news_id']}'" );
          }
 
      }
     
      die('ok');

Если вы написали этим инструкцию для подключения, то не затруднит ли вас написать это в самом понятном виде?
 
Если вы написали этим инструкцию для подключения, то не затруднит ли вас написать это в самом понятном виде?
1. Делаем запрос к базе
Код:
ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';
2. находим в engine\modules\show.custom.php
Код:
$tpl->set( '', $news_find );
выше вставляем
Код:
$news_find['{day_read}'] = number_format($row['day_read'], 0, ',', ' ');
3. находим в engine\modules\functions.php
Код:
if ($match[1] == "rand" ) { $fixed = ""; $news_msort = ""; }
ниже вставляем
Код:
if ($match[1] == "day_read" ){
            $sql_select = str_replace("e.news_read, ","e.news_read, e.day_read, ",$sql_select);
             $news_sort = $match[1]." DESC, news_read";
         }
4. находим в engine\modules\cron.php
Код:
if( $cron == 2 ) {
ниже вставляем
Код:
$db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );
5. находим в engine\ajax\adminfunction.php в двух местах
Код:
news_read=news_read+1
и заменяем на
Код:
news_read=news_read+1, day_read=day_read+1
и в шаблоне вставляем
Код:
{custom template="topnews" order="day_read" limit="40"}
например в templates\Default\modules\rightside.tpl
Код:
[not-available=showfull]
  <aside class="rightside">
      <!-- Популярное -->
      <div class="block top_block">
          <h4 class="title"><b>Популярное</b></h4>
          <ol class="topnews">
         {custom template="topnews" order="day_read" limit="40"}
          </ol>
      </div>
и в данном случае в templates\Default\topnews.tpl
Код:
<li>
     {title} - ({views} + <b>{day_read}</b>)<br/>
  </li>
как-то так :)
 
Назад
Сверху