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

Помощь ошибка базы после обновления

Добрый день, простите не хочу создавать новую тему.
У меня с самого начала стоит ДЛЕ 9.8 (не обновлялся). Нашол модуль который выводит рекомендуемые публикации. Но он не работает, в настройках модуля выдает ошибку
MySQL error in file: /engine/inc/hits.php at line 50
Error Number: 1054
The Error returned was:
Unknown column 'news_read' in 'field list'

SQL query:

SELECT id, title, short_story, news_read FROM dle_post WHERE recommended='1' ORDER BY id DESC

искал в интернете решение, но есть только описание что новая версия движка перестала использовать news_read'.
А вот и сам код /engine/inc/hits.php.
Помогите советом, что имено и как поправить чтобы решить проблему

Код:
<?php
if( ! defined( 'DATALIFEENGINE' ) ) {die( "Hacking attempt!" );}
if( $member_id['user_group'] != 1 ) {msg( "error", $lang['opt_denied'], $lang['opt_denied'] );}
 
echoheader("","");
 
echo <<<HTML
<table width="100%">
    <tr>
        <td width="4"><img src="engine/skins/images/tl_lo.gif" width="4" height="4" border="0"></td>
        <td background="engine/skins/images/tl_oo.gif"><img src="engine/skins/images/tl_oo.gif" width="1" height="4" border="0"></td>
        <td width="6"><img src="engine/skins/images/tl_ro.gif" width="6" height="4" border="0"></td>
    </tr>
    <tr>
        <td background="engine/skins/images/tl_lb.gif"><img src="engine/skins/images/tl_lb.gif" width="4" height="1" border="0"></td>
        <td style="padding:5px;" bgcolor="#FFFFFF">
HTML;
 
echo <<<HTML
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;">
          <div class="navigation">Модуль "Лента рекомендуемых новостей" <b>(<a href=http://best-webshop.ru/ target=blank>Спонсор - Электроника из Китая - Best-webshop.ru</a></b>)</div></td>
    </tr>
</table>
<div class="unterline"></div>
HTML;
echo<<<HTML
<style>
.str {
border:1px solid #dddddd;
padding-left:5px;
}
.str:hover, .str:hover a {
background: #eeeeee;
color: #994400;
}
</style>
<form action= "" method='post'>
HTML;
 
if (isset ($_POST['del'])){
$id = intval($_POST['del']);
$db->query( "UPDATE " .PREFIX. "_post SET recommended='0' where id='$id'" );
echo "<meta http-equiv=\"Refresh\"content=\"0;url=admin.php?mod=hits\">";
}
 
$nn=0;
$shab = '#src=([^\>]*)(\.jpg|\.jpeg|\.gif|\.png)#i';
$sql = $db->query("SELECT id, title, short_story, news_read FROM ".PREFIX."_post WHERE recommended='1' ORDER BY id DESC");
while ($row = $db->get_row($sql)) {
preg_match($shab, $row['short_story'], $image);
$image[$nn]=substr($image[0],5);
 
echo "<div class=\"str\"><input class='buttons' style='height:6px; width:18px; background:#000000; cursor:hand;' name='del' type='submit' id='delete' value=' ".$row['id']." ' onMouseOver=\"showhint('Удалить новость <b>".$row['title']."</b>?',this, eval, '300px');\"> |".$nn." - <a href=index.php?newsid=".$row['id']." onMouseOver=\"showhint('<img src=".$image[$nn]." width=250><br>Просмотрело: <b>".$row['news_read']."</b> чел.',this, eval, '250px');\"><img src=".$image[$nn]." width=16 height=16> ".$row['title']."</a></div>";
$nn++;
}
 
echo <<<HTML
    </td>
        <td background="engine/skins/images/tl_rb.gif"><img src="engine/skins/images/tl_rb.gif" width="6" height="1" border="0"></td>
    </tr>
    <tr>
        <td><img src="engine/skins/images/tl_lu.gif" width="4" height="6" border="0"></td>
        <td background="engine/skins/images/tl_ub.gif"><img src="engine/skins/images/tl_ub.gif" width="1" height="6" border="0"></td>
        <td><img src="engine/skins/images/tl_ru.gif" width="6" height="6" border="0"></td>
    </tr>
</table>
</form>
HTML;
echofooter();
?>
 
Значение news_read, начиная с 9.6 (если память не изменяет), вынесено в другую таблицу. Следовательно, надо править ВСЕ sql-запросы в модуле на запросы в 2 таблицы одновременно.
 
Я Вас правильно понял. Сейчас news_read разделено на две таблицы???
Я готов править на локалке, если Вам не сложно подскажите что именно и где???
 
Нет, раньше была одна таблица dle_posts, в которой хранились и сами статьи, и счётчики, и прочая ерунда типа настроек. Теперь dle_posts содержит только статьи, а счётчики, настройки и прочее вынесли в новую таблицу dle_post_extras.

Править же нужно совершенно все sql-запросы, используя конструкцию inner join...
 
сколько будет стоить поправить код?
 
Увидеть бы сам код для начала... А то отрывок одного файла и всё...
 
В архиве сам модуль!
 

Вложения

  • recommend_news.zip
    28,3 KB · Просмотры: 29
Назад
Сверху