Показать сообщение отдельно
Soniks вне форума      Старый News (часть 1) #10  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
16.02.2006, 18:49

Оптимизируем модуль Новостей
Открываем modules/News/index.php
Находим:
PHP код:
 $querylang "AND (alanguage='$currentlang' OR alanguage='')"

Заменяем на:
PHP код:
 $querylang "AND (s.alanguage='$currentlang' OR s.alanguage='')"

Находим:
PHP код:
 $qdb "WHERE (ihome='0' OR catid='0')"

Заменяем на:
PHP код:
 $qdb "WHERE (s.ihome='0' OR s.catid='0')"

Находим:
PHP код:
 $qdb "WHERE topic='$new_topic'"

Заменяем на:
PHP код:
 $qdb "WHERE s.topic='$new_topic'"

Находим:
PHP код:
 $result $db->sql_query("SELECT sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, acomm, score, ratings FROM ".$prefix."_stories $qdb $querylang ORDER BY sid DESC limit $storynum"); 

Заменяем на:
PHP код:
 $result $db->sql_query("SELECT s.*, t.*, c.title as title1 FROM ".$prefix."_stories AS s LEFT JOIN ".$prefix."_topics AS t ON(t.topicid=s.topic) LEFT JOIN ".$prefix."_stories_cat AS c ON( c.catid=s.catid and s.catid>0) $qdb $querylang ORDER BY s.sid DESC limit $storynum"); 

Находим:
PHP код:
 if ($catid 0) {
$row2 $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_stories_cat WHERE catid='$catid'"));
$cattitle stripslashes(check_html($row2['title'], "nohtml"));


Заменяем на:
PHP код:
 $cattitle stripslashes(check_html($row['title1'], "nohtml")); 

Находим:
PHP код:
 getTopics($s_sid); 

Заменяем на:
PHP код:
 $topicid intval($row['topicid']); 
$topicname filter($row['topicname'], nohtml); 
$topicimage filter($row['topicimage'], nohtml);
$topictext filter($row['topictext'], nohtml); 

Находим:
PHP код:
 $row3 $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_stories_cat WHERE catid='$catid'"));
$title1 filter($row3['title'], nohtml);
$title "<a href=\"modules.php?name=News&amp;file=categories&amp;op=newindex&amp;  catid=$catid\"><font class=\"storycat\">$title1</font></a>: $title"

Заменяем на:
PHP код:
 $title "<a href=\"modules.php?name=News&file=categories&op=newindex&catid=$catid\"><font class=\"storycat\">$cattitle</font></a>: $title"

Находим:
PHP код:
 global $sitename$user$cookie$module_name

Заменяем на:
PHP код:
 global $sitename$user$cookie$module_name$db$prefix

И того на главной странице модуля новостей имеем один или 2 запроса в зависимости просматриваете ли вы все новости или же отдельный топик новостей.
Еще добавлю:
Если не используете возможность запрограммировать публикацию статьи на будущее, то закомментируйте или удалите строку:
PHP код:
 automated_news(); 
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".