-0.83
Рейтинг
1.18
Сила

НОВЫЙ подсчет рейтинга, помогите допилить до конца

Решил сделать рейтинг и силу чуть по другому, один голос одна единица, чтоб не было такого что кто то ставит голос и сразу +3 добавляется. ну и еще пару правок


Теперь:
Рейтинг — стала популярностью (голосовали за его топики (+1 к рейтингу), за его комментарий(+0,1 к рейтингу))
Т.к при таких значениях сила бесполезна превращаем её в показатель активности пользователя
Сила – это активность юзера (когда юзер голосует за топик или коммент, хоть в + хоть в -( юзеру +0,1 к силе) оставить коммент(+1 к силе) написать топик +10)

таким образом мы видим «рейтинг» — на сколько хорошие комментарии и топики он пишет, и «сила» — на сколько он активен.

переделываем заодно рейтинг блога, все оценки топиков деленные на кол-во топиков, т.е средний был топиков в этом блоге.


Ползем в \classes\modules\rating\ Rating.class.php

Расчет рейтинга при голосовании за комментарий
//Устанавливаем рейтинг комментария 1 голос  +-1
$oComment->setRating($oComment->getRating()+$iValue);
//Начисляем рейтинг  автору коммента 1 голос  +-0,1
$oUserComment=$this->User_GetUserById($oComment->getUserId());
$oUserComment->setRating($oUserComment->getRating()+$iValue*0,1);
$this->User_Update($oUserComment);
//Начисляем силу юзеру +0,1 при любом +- голосовании
$oUser=$this->User_GetUserById($oUser->getUserId());
$iSkillNew=$oUser->getSkill()+0,1;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$oUser->setSkill($iSkillNew); 
return $iValue;


Расчет рейтинга и силы при голосовании за топик
// Устанавливаем рейтинг топика 1 голос +-1
$oTopic->setRating($oTopic->getRating()+$iValue);
// Начисляем  рейтинг автору топика 1 голос +-1
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
$oUserTopic->setRating($oUserTopic->getRating()+$iValue);
$this->User_Update($oUserTopic);
// Начисляем силу юзеру +0,1 при любом +- голосовании
$oUser=$this->User_GetUserById($oUser->getUserId());
$iSkillNew=$oUser->getSkill()+0,1;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$oUser->setSkill($iSkillNew); 
//3 строки ниже считают не средний бал, общее кол-во рейтинга всех топиков в блоге
$oBlog=$this->Blog_GetBlogById($oTopic->getBlogId());
$oBlog->setRating($oBlog->getRating()+$iValue);
$this->Blog_UpdateBlog($oBlog);
return $iValue;

Вот тут мне по поводу блогов нужна помощь, нужно как то строки связанные с блогом, разделить еще на кол-во топиков в блоге. кто нить сможет помочь? возможно поможет эта тема, там прописано кол-во топиков в блоге, просто я не настолько опытен чтоб это содеинить (http://livestreet.ru/blog/addons/10265.html)

ну и удаляем все с рейтинга блога, чтоб нельзя было голосовать за него кнопками, должно выглядеть вот так:
public function VoteBlog(ModuleUser_EntityUser $oUser, ModuleBlog_EntityBlog $oBlog, $iValue){
return 0;
}

и втом числе у рейтинга юзера, чтоб нельзя было голосовать за него кнопками
public function VoteUser(ModuleUser_EntityUser $oUser, ModuleUser_EntityUser $oUserTarget, $iValue) {
return 0;
}


Чтоб сделать создании топика +10 к силе юзера
classes\actions\ActionTopic.class.php функция SubmitAdd()
после этого
/**
* Получаем топик, чтоб подцепить связанные данные
*/
$oTopic=$this->Topic_GetTopicById($oTopic->getId());

вставляем
$oUserTopic = $this->oUserCurrent;
$iSkillNew=$oUserTopic->getSkill()+10;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$this->User_Update($oUserTopic);


функция EventDelete()

$oUserTopic = $this->oUserCurrent;
$iSkillNew=$oUserTopic->getSkill()-10;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$this->User_Update($oUserTopic);


и еще вопрос может кто поможет
Как сделать при оставлении коммента +1 к силе юзера?

P.S.: буду очень рад если укажите на ошибки или добавите что то)

Плагин Mistakes для граммар наци :)

Все чаще на сайтах встречаю орфографические ошибки, опечатки. В последнее время этим грешат и новостные издания где, по идее, должны быть редакторы.

Я и сам часто допускаю ожибки и опечадки :)

Есть конечно Orphus, но он больше годится для личного блога и мало подходит для коллективного.

Данный плагин предназначен для совместной проверки статей на LiveStreet сайтах читателями.

Если читатель встретил в тексте статьи ошибку он может выделить ее, нажать Ctrl+Enter и вписать пару слов комментария. После этого автору статьи будет отправлено личное сообщение от читателя с описанием ошибки.



Можно настроить возможность сообщать об ошибках незарегистрированными пользователями.

Идея навеяна периодическим нытьем на хабре авторов статьи о том, что сообщения об ошибках лучше направлять в личку, а не в комментарии.

https://github.com/wyfinger/livestreet_mistakes

Это первая версия, используйте если у Вас достаточно знаний, чтобы ознакомиться с кодом.
Я уверен здесь найдется кто-нибудь с большим опытом и знанием движка, кто укажет мне на ошибки, если они были мной допущены. И после их устранения я опубликую плагин в каталоге.


Читать дальше →

Как бороться с нагрузкой на MYSQL?

Здравствуйте.
Начну с того, что есть сайт с посещаемостью до 20к людей.
Периодически выстраивается большая очередь запросов к БД и тут сайт стает недоступный.
Запросов в секунду до 9, онлайн людей до 90.
Крутится сайт на выделенном сервере Intel® Core™ i7-4770 Quadcore, 2 x 2 TB 6 Gb/s SATA 7200, 16 GB DDR3.
Читать дальше →

Проблема с рассылкой на почту сообщений о новых топиках

Проблема в том, что при регистрации мои пользователи автоматически вступают во все категории — тем самым подписываются на уведомления о новых топиках в этих блогах. Вообщем mail нас благополучно заблокировал!

Как сделать чтобы пользователи при регистрации всё равно подписывались(ВСТУПАЛИ) в блоги но — не получали уведомления на свой почтовый ящик о новых топиках в них, или при регистрации — галочка что на скрине не была поставлена


Читать дальше →

Как работают "Теги избранного"?

Доброго времени суток! Разбираюсь с логикой работы движка и не совсем понятен алгоритм работы «Тегов избранного».
Сохраняя топик в избранном, по идее в «тегах избранного» должны сохраниться теги данного топика… а нет, не все так просто. Если я добавляю свой тег к избранному топику, то теги топика появляются.

Объясните, это правильная работа избранных тегов или логика нарушена? В чем смысл дописывать свой тег, чтобы сохранились теги самого топика у меня в избранном?

Борьба с попаданием автоматических писем с сайта в спам [ЧАСТИЧНОЕ РЕШЕНИЕ]

Потратил кучу времени на решение проблемы, а именно письма-оповещения с сайта попадали в СПАМ, особенно остро стояла проблема с Google. На данный момент я смог побороть этот недуг и хочу поделиться с вами своим решением.



Читать дальше →

Qevix — Jevix-подобный автоматический фильтр HTML/XHTML разметки в текстах пользователей

qevixQevix — Jevix-подобный автоматический фильтр HTML/XHTML разметки в текстах.

Применяя наборы правил, контролирует перечень допустимых тегов и атрибутов, предотвращает возможные XSS-атаки.

Qevix основывается на идеях и исходном коде PHP версии Jevix (средства для фильтрации HTML/XHTML разметки и автоматического типографирования текста).


Читать дальше →

Добавить в title блогов новое/обсуждаемое/TOP

Здравствуйте, решил аналогичную проблему для главной страницы путем редактирования файла /classes/actions/ActionIndex.class.php

Например после:
protected function EventDiscussed() {

Добавил:
$this->Viewer_AddHtmlTitle('Discussed');


Подскажите пожалуйста, как подобное сделать для блогов?

Купил плагин Ауто Опен Ид - не работает

catalog.livestreetcms.com/addon/view/71/

Купил плагин Ауто Опен Ид — не работает. Сделал что сказано на описание плагине.

Создал фейсбук апп и твиттер апп.

/**
 * Настройки Facebook Application
 */
$config['fb']['id']   = '303205346524172'; // Application ID
$config['fb']['secret']   = '1cb7ff6037835351e2bada51c404ecac'; // Application Secret
$config['fb']["scope"] = "user_birthday,user_website,email,user_about_me"; // мало пправ
//$config['fb']["scope"] = "user_birthday,user_website,email,offline_access,user_about_me,friends_about_me,publish_stream"; // иного прав. Для плагина Reposter

/**
 * Настройки Twitter Application
 */
$config['twitter']['token']   = 'bNV5zdv2S9UcuYFqOBF9OCNd9'; // Consumer key
$config['twitter']['token_secret']   = '7rx5l0ljfrvzEhgnCB1OLmMJp5xE8bTtqfM33ZYAUh8KHwiewE'; // Consumer secret
$config['stop_referrer'] = array('login', 'registration');


Написал апп ид и секюрити как видите.

Но дает ошибку.

URL не соответствует настройкам приложения: Один или несколько из указанных URL-адресов заблокированы настройками приложения. Адрес должен совпадать с адресом веб-сайта или адресом холста, или же домен должен являться поддоменом одного из доменов приложения.

Ошибка авторизации, верификация Twitter не пройдена

Помогите плиз. Как исправить? Что не так сделал?

Редирект на определенную страницу после авторизации [РЕШЕНО]

Долблюсь над одним решением, перерыл весь сайт, но внятного простого объяснения найти не могу. Нужно чтобы при авторизации на сайте пользователь перемещался на определенную страницу.

Решение.
В конфиг добавить
$config['module']['user']['redirect_after_login'] = 'URL';

где URL — страница, на которую требуется переадресация.