В файле /classes/modules/blog/mapper/Blog.mapper.class.php ищем функцию:
public function GetBlogsRating(&$iCount,$iCurrPage,$iPerPage) {
$sql = "SELECT
b.blog_id
FROM
".Config::Get('db.table.blog')." as b
WHERE
b.blog_type<>'personal'
ORDER by b.blog_rating desc
LIMIT ?d, ?d ";
$aReturn=array();
if ($aRows=$this->oDb->selectPage($iCount,$sql,($iCurrPage-1)*$iPerPage, $iPerPage)) {
foreach ($aRows as $aRow) {
$aReturn[]=$aRow['blog_id'];
}
}
return $aReturn;
}
Действительно, проблема в нарушении целостности данных в базе — имеются комменты, ссылающиеся на удаленные топики. Почему-то скрипт конвертации, на который была ссылка выше, мне не помог. Пришлось удалять комментарии к несуществующим топикам вручную:
delete from prefix_comment_online where target_id not in (select topic_id
from prefix_topic);
После этой операции и очистки кеша модуль прямого эфира заработал нормально.
Подозреваю, что надо бы ещё почистить таблицу prefix_comment, где тоже есть комментарии к несуществующим топикам, но пока не стал этого делать, потому что не вижу ни одного негативного проявления.
Решил проблему с большим отступом при публикации таблицы. В файле engine/modules/Text.class.php в строке 75 добавил $this->oJevix->cfgSetTagNoAutoBr(array('ul','ol','object','table','tr','td','th','tbody'));
Пишу полностью что и как.
Открываем файл /classes/hooks/HookStatisticsPerformance.class.php
После
class HookStatisticsPerformance extends Hook {
public function RegisterHook() {
$this->AddHook('template_body_end','Statistics',__CLASS__,-1000);
Добавляем
$this->AddHook('topic_show','TopicShow');
Далее, после
public function Statistics() {
$oEngine=Engine::getInstance();
$iTimeInit=$oEngine->GetTimeInit();
$iTimeFull=round(microtime(true)-$iTimeInit,3);
$this->Viewer_Assign('iTimeFullPerformance',$iTimeFull);
$aStats=$oEngine->getStats();
$aStats['cache']['time']=round($aStats['cache']['time'],5);
$this->Viewer_Assign('aStatsPerformance',$aStats);
$this->Viewer_Assign('bIsShowStatsPerformance',Router::GetIsShowStats());
return $this->Viewer_Fetch('statistics_performance.tpl');
}
Добавляем
public function TopicShow($aParams) {
$oTopic=$aParams['oTopic'];
$oTopic->setCountRead($oTopic->getCountRead()+1);
$this->Topic_UpdateTopic($oTopic);
}
В шаблоне добавляем в topic.tpl или в topic_list.tpl
Можно в каталог /classes/hooks/ закинуть файл HookClearTitle.class.php с таким содержанием:
<?php
class HookClearTitle extends Hook {
public function RegisterHook() {
$this->AddHook('topic_show','clearTitle',__CLASS__,0);
}
public function clearTitle(&$aVars) {
$this->Viewer_SetHtmlTitle('');
}
}
?>
Ищем в ней строку:
Заменяем на
Чистим кеш и радуемся.
После этой операции и очистки кеша модуль прямого эфира заработал нормально.
Подозреваю, что надо бы ещё почистить таблицу prefix_comment, где тоже есть комментарии к несуществующим топикам, но пока не стал этого делать, потому что не вижу ни одного негативного проявления.
Открываем файл /classes/hooks/HookStatisticsPerformance.class.php
После
Добавляем
Далее, после
Добавляем
В шаблоне добавляем в topic.tpl или в topic_list.tpl
listen 80;
server_name itdag.ru *.itdag.ru;
charset utf-8;
access_log /home/us/itdag.ru/logs/access_log main;
error_log /home/us/itdag.ru/logs/error_log error;
location / {
root /home/us/itdag.ru/htdocs;
index index.php;
if ($request_filename !~ "\.(js|htc|ico|css|jpg|jpeg|gif|png|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf)$") {
rewrite ^(.*) /index.php last;
}
}
# php-fpm
location ~* \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/us/itdag.ru/htdocs$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht { #.htpasswd
deny all;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
спасибо огромное работает с таким конфигом