Node.js это событийно-ориентированнный и что важно заметить сервер! Такой же как apache под которым крутиться php модуль, благодаря которому и работает наш любимый livestreet. Node.js выдерживает тысячи и более подключений и именно он отдает нам эти самые уведомления. А livestreet и php в моей реализации всего лишь при происхождение нужных событий(новое письмо, новый комментарий) передают параметры с именами и текстами в очередь сообщений node.js
А в classes/modules/user/entity/User.entity.class.php
меняем:
public function getSettingsNoticeNewTopic() {
return $this->_aData['user_settings_notice_new_topic'];
}
public function getSettingsNoticeNewComment() {
return $this->_aData['user_settings_notice_new_comment'];
}
public function getSettingsNoticeNewTalk() {
return $this->_aData['user_settings_notice_new_talk'];
}
public function getSettingsNoticeReplyComment() {
return $this->_aData['user_settings_notice_reply_comment'];
}
public function getSettingsNoticeNewFriend() {
return $this->_aData['user_settings_notice_new_friend'];
}
на
public function getSettingsNoticeNewTopic() {
return isset($this->_aData['user_settings_notice_new_topic']) ? $this->_aData['user_settings_notice_new_topic'] : 0;
}
public function getSettingsNoticeNewComment() {
return isset($this->_aData['user_settings_notice_new_comment']) ? $this->_aData['user_settings_notice_new_comment'] : 0;
}
public function getSettingsNoticeNewTalk() {
return isset($this->_aData['user_settings_notice_new_talk']) ? $this->_aData['user_settings_notice_new_talk'] : 0;
}
public function getSettingsNoticeReplyComment() {
return isset($this->_aData['user_settings_notice_reply_comment']) ? $this->_aData['user_settings_notice_reply_comment'] : 0;
}
public function getSettingsNoticeNewFriend() {
return isset($this->_aData['user_settings_notice_new_friend']) ? $this->_aData['user_settings_notice_new_friend'] : 0;
}
Решение проблемы — изменить права на директорию /tmp. Я поставил 777 и все заработало. Такая ошибка первый раз появилась — когда LS устанавливал не на шаредхостинге, а на VPS. И устанавливал не из под рута — следовательно и права на папку не менялись. Поставил из-под рута, поменял права и все заработало.
Раз уж переделывать ссылку, то не так. В случае указания пути href=«favicon.ico» на странице livestreet.ru/blog/3277.html браузер искал бы фавиконку по пути «livestreet.ru/blog/favicon.ico», где её, конечно, он не найдёт. Если уж править, то с указанием пути от корня:
В общем разобрался как на linux все это ставится.
— для индексов топиков и комментов сделал разные папки, какие и прописываем в sphinx.conf
— затем запускаем indexer --all
— затем планируем crontab
— затем прописываем демон в автозагрузку rc.local
— и только затем запускаем демон или ресетим сервер для загрузки демона с rc.local
Именно такая последовательность привела к положительному результату.
В файле /plugins/popupinfo/templates/skin/default/getuserinfo.tpl найти кусок кода: и заменить на:
меняете на:
Node.js это событийно-ориентированнный и что важно заметить сервер! Такой же как apache под которым крутиться php модуль, благодаря которому и работает наш любимый livestreet. Node.js выдерживает тысячи и более подключений и именно он отдает нам эти самые уведомления. А livestreet и php в моей реализации всего лишь при происхождение нужных событий(новое письмо, новый комментарий) передают параметры с именами и текстами в очередь сообщений node.js
Тогда убирайте:
А в classes/modules/user/entity/User.entity.class.php
меняем:
на
при условии, что в массиве ключа 'action' нет элемента 'blog'.
/usr/local/binsearchd
— для индексов топиков и комментов сделал разные папки, какие и прописываем в sphinx.conf
— затем запускаем indexer --all
— затем планируем crontab
— затем прописываем демон в автозагрузку rc.local
— и только затем запускаем демон или ресетим сервер для загрузки демона с rc.local
Именно такая последовательность привела к положительному результату.
В общем, всем тем кто сталкнётся:
config.php
было
define('SYS_CACHE_DIR',$sTmpDir.'/');
стало
define('SYS_CACHE_DIR',$sTmpDir.'/tmp');