Как сделать так, чтобы рейтинг начислялся за добавление записи, статьи, комментария

 
Посетитель
small user social cms
Сообщений: 71
Подскажите пожалуйста, можно ли каким-то образом сделать так, чтобы рейтинг начислялся за добавление статьи, записи в блоге, комментария,вопросы-ответы, а не за голосование за материал. Хотя можно оставить и это, но еще начислять за контент.
Хороший доход для качественных сайтов
Посетитель
small user social cms
Сообщений: 71
Если кто-нибудь знает, как можно реализовать это, подскажите пожалуйста. Ну очень надо, чтобы рейтинг повышался именно за контент! Пожалуйста...
Хороший доход для качественных сайтов
Реклама
cms
Посетитель
no avatar
Медаль
Сообщений: 649
Многие бы не отказались от этого.
Ваш надеждый хостинг для сайтов на InstantCMS: http://instanthosting.ru
Посетитель
small user social cms
Сообщений: 71
Если эта фишка так необходима всем, может кто-то возьмется за реализацию? Озвучивайте цену.
Кому еще нужно, чтобы рейтинг добавлялся за добавление контента, давайте соображать - скинемся???
Хороший доход для качественных сайтов
Посетитель
no avatar
Медаль
Сообщений: 649
Miledy:
Кому еще нужно, чтобы рейтинг добавлялся за добавление контента, давайте соображать - скинемся???

Я не откажусь.
Ваш надеждый хостинг для сайтов на InstantCMS: http://instanthosting.ru
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1012
Miledy:
Подскажите пожалуйста, можно ли каким-то образом сделать так, чтобы рейтинг начислялся за добавление статьи, записи в блоге, комментария,вопросы-ответы, а не за голосование за материал. Хотя можно оставить и это, но еще начислять за контент.
Dorimen:
Многие бы не отказались от этого.
Dorimen:
Я не откажусь.
вам всем один ответ тут
Посетитель
small user social cms
Почетный донор проектаМедаль
Сообщений: 328
Ну да посмотреть функцию покупки рейтинга и зарегистрировать событие до и после действие добавления контейна только вместо списания как бы продать без денег))
Решаю проблемы на ваших проектах)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 381
А если просто сделать при сохранении поста , в базу будет пользователю дописывать и например +100 рейтинга ..
Посетитель
no avatar
Медаль
Сообщений: 649
KS:
А если просто сделать при сохранении поста , в базу будет пользователю дописывать и например +100 рейтинга ..
Ну идея неплохая - а как это сделать?
Ваш надеждый хостинг для сайтов на InstantCMS: http://instanthosting.ru
Посетитель
small user social cms
Сообщений: 71
nedoriko, Насчет выставления цены с минусом - это отлично, но если в дальнейшем планы размещать статьи за деньги, этот способ не подойдет. Цены на весь контент выставила с минусом, работает. Только нельзя вставить например 1.5 балла. Хотя изначально сработало, потом все цены обнулились.

Хотелось бы именно после добавления поста в базу сами баллы начислялись или чтоб начислялся рейтинг - это в идеале.
Хороший доход для качественных сайтов
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1012
Miledy:
Только нельзя вставить например 1.5 балла.
да. это конечно минус билинга. и 0.9 тоже не ставится к сожалению.
Посетитель
small user social cms
Почетный донор проектаМедаль
Сообщений: 328
за контейн
Открываем: components/content файл: frontend.php
находим код:
ориентир ADD ARTICLE код поиска ниже немного
Код PHP:
  1.  
  2. //регистрируем событие
  3. cmsActions::log('add_article', array(
  4. 'object' => $article['title'],
  5. 'object_url' => "/{$article['seolink']}.html",
  6. 'object_id' => $article['id'],
  7. 'target' => $article['category']['title'],
  8. 'target_url' => "/{$article['category']['seolink']}",
  9. 'target_id' => $article['category_id'],
  10. 'description' => ''
  11. ));
  12.  
и ниже вставляем:
Код PHP:
  1. $model->upRating($article['user_id']);
что бы получилось:

Код PHP:
  1. //регистрируем событие
  2. cmsActions::log('add_article', array(
  3. 'object' => $article['title'],
  4. 'object_url' => "/{$article['seolink']}.html",
  5. 'object_id' => $article['id'],
  6. 'target' => $article['category']['title'],
  7. 'target_url' => "/{$article['category']['seolink']}",
  8. 'target_id' => $article['category_id'],
  9. 'description' => ''
  10. ));
  11.  
  12. $model->upRating($article['user_id']);
  13.  
Открываем: components/content файл: model.php
и в самый низ файла и до символа
Код PHP:
  1. }
вставляем:
Код PHP:
  1.  
  2. /* ==================================================================================================== */
  3. // добавляем рейтинга
  4. /* ==================================================================================================== */
  5. public function upRating($user_id) {
  6.  
  7. $this->inDB->query("UPDATE cms_users SET rating = rating + 10 WHERE id = '$user_id'");
  8.  
  9. return true;
  10.  
  11. }
  12.  
где
Код PHP:
  1. + 10
количество рейтинга которое вы хотите добавить пользователю
по аналогии с любым компонентом)
ps:не откажусь от + в карму))) хочу завести блог)
Редактировалось: 5 раз (Последний: 19 апреля 2012 в 08:37)
Решаю проблемы на ваших проектах)
Посетитель
small user social cms
Почетный донор проектаМедаль
Сообщений: 328
ещё кстати я задумался таким способом можно добавить кучу статей а потом удалить тем самым набить кучу рейтинга))) если не стоит модерация
поэтому
находим
в frontend.php находим
Код PHP:
  1. if ($do=='deletearticle'){
и опускаемя до
Код PHP:
  1. ///////////////////////////////////// MY ARTICLES ///////////////////////////////////////////////////////////////////////////////////
поднимаемся на 6 строчек вверх и видим
Код PHP:
  1.  
  2. $inCore->redirect('/content/my.html');
  3.  
и вставляем перед 6 строчкой
Код PHP:
  1. $model->otRating($user_id);
что бы получилось
Код PHP:
  1.  
  2. $model->otRating($user_id);
  3. $inCore->redirect('/content/my.html');
  4.  
далее идём в model.php
и сразу после
Код PHP:
  1.  
  2. /* ==================================================================================================== */
  3. // добавляем рейтинга
  4. /* ==================================================================================================== */
  5. public function upRating($user_id) {
  6.  
  7. $this->inDB->query("UPDATE cms_users SET rating = rating + 10 WHERE id = '$user_id'");
  8.  
  9. return true;
  10.  
  11. }
  12.  
вставляем
Код PHP:
  1.  
  2. /* ==================================================================================================== */
  3. // забрать рейтинга за удаления контента
  4. /* ==================================================================================================== */
  5. public function otRating($user_id) {
  6.  
  7. $this->inDB->query("UPDATE cms_users SET rating = rating - 10 WHERE id = '$user_id'");
  8.  
  9. return true;
  10.  
  11. }
  12.  
теперь при удалении контента снимается 10 пунктов рейтинга
Редактировалось: 3 раз (Последний: 19 апреля 2012 в 10:58)
Решаю проблемы на ваших проектах)
Посетитель
small user social cms
Медаль
Сообщений: 128
А как сделать чтобы рейтинг добавлялся при добавлении комментария к статьям и новой записи в блоге?
Посетитель
small user social cms
Почетный донор проектаМедаль
Сообщений: 328
Рейтинг для комментариев
открываем: components/comments файл frontend.php
находим:
Код PHP:
  1.  
  2. //отправляем админу уведомление о комментарии на e-mail, если нужно
  3. if($cfg['email']) {
  4. $mailmsg = $_LANG['DATE'].": ".date('d m Y (H:i)')."\n";
  5. $mailmsg .= $_LANG['NEW_COMMENT'].': '.HOST.$target_data['link'].'#c'. $comment_id . "\n";
  6. $mailmsg .= "-------------------------------------------------------\n";
  7. $mailmsg .= strip_tags($content);
  8. $mailmsg = wordwrap($mailmsg, 70);
  9. $email_subj = str_replace('{sitename}', $inConf->sitename, $_LANG['EMAIL_SUDJECT_NEW_COMM']);
  10. $inCore->mailText($cfg['email'], $email_subj, $mailmsg);
  11. }
  12.  
  13.  
ниже вставляем:
Код PHP:
  1.  
  2. //если коммент для статьи или блога автору даём рейтинга
  3. if($target=='article' || $target=='blog' ){
  4. $model->upRating($user_id);
  5. }
  6.  
что бы получилось
Код PHP:
  1.  
  2. //отправляем админу уведомление о комментарии на e-mail, если нужно
  3. if($cfg['email']) {
  4. $mailmsg = $_LANG['DATE'].": ".date('d m Y (H:i)')."\n";
  5. $mailmsg .= $_LANG['NEW_COMMENT'].': '.HOST.$target_data['link'].'#c'. $comment_id . "\n";
  6. $mailmsg .= "-------------------------------------------------------\n";
  7. $mailmsg .= strip_tags($content);
  8. $mailmsg = wordwrap($mailmsg, 70);
  9. $email_subj = str_replace('{sitename}', $inConf->sitename, $_LANG['EMAIL_SUDJECT_NEW_COMM']);
  10. $inCore->mailText($cfg['email'], $email_subj, $mailmsg);
  11. }
  12.  
  13. //если коммент для статьи или блога автору даём рейтинга
  14. if($target=='article' || $target=='blog' ){
  15. $model->upRating($user_id);
  16. }
  17.  
заходим в model.php и в самый низ кода
и перед
Код PHP:
  1. }
вставляем
Код PHP:
  1.  
  2. /* ==================================================================================================== */
  3. // добавляем рейтинга
  4. /* ==================================================================================================== */
  5. public function upRating($user_id) {
  6.  
  7. $this->inDB->query("UPDATE cms_users SET rating = rating + 5 WHERE id = '$user_id'");
  8.  
  9. return true;
  10.  
  11. }
  12.  
число 5 количество рейтинга
если вы хотите давать рейтинга ещё например за комментария к фото пользователя, фото пользователей
то добавляем в конструкцию if ещё || $target=='userphoto' || $target=='photo' так же можно добавить всё к чему можно писать комментария
Код PHP:
  1. //если коммент для статьи или блога автору даём рейтинга
  2. if($target=='article' || $target=='blog' || $target=='userphoto' || $target=='photo')
  3.  
Редактировалось: 2 раз (Последний: 19 апреля 2012 в 12:01)
Решаю проблемы на ваших проектах)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.