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

#1 5 апреля 2012 в 19:07
Подскажите пожалуйста, можно ли каким-то образом сделать так, чтобы рейтинг начислялся за добавление статьи, записи в блоге, комментария, вопросы-ответы, а не за голосование за материал. Хотя можно оставить и это, но еще начислять за контент.
#2 16 апреля 2012 в 23:40
Если кто-нибудь знает, как можно реализовать это, подскажите пожалуйста. Ну очень надо, чтобы рейтинг повышался именно за контент! Пожалуйста…
#3 16 апреля 2012 в 23:50
Многие бы не отказались от этого.
#4 17 апреля 2012 в 00:47
Если эта фишка так необходима всем, может кто-то возьмется за реализацию? Озвучивайте цену.
Кому еще нужно, чтобы рейтинг добавлялся за добавление контента, давайте соображать — скинемся???
#5 17 апреля 2012 в 00:49

Кому еще нужно, чтобы рейтинг добавлялся за добавление контента, давайте соображать — скинемся???

Miledy

Я не откажусь.
#6 17 апреля 2012 в 23:14

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

Miledy

Многие бы не отказались от этого.

Dorimen

Я не откажусь.

Dorimen
вам всем один ответ тут
#7 17 апреля 2012 в 23:32
Ну да посмотреть функцию покупки рейтинга и зарегистрировать событие до и после действие добавления контейна только вместо списания как бы продать без денег))
#8 18 апреля 2012 в 09:50
А если просто сделать при сохранении поста, в базу будет пользователю дописывать и например +100 рейтинга…
#9 18 апреля 2012 в 15:11

А если просто сделать при сохранении поста, в базу будет пользователю дописывать и например +100 рейтинга ..

KS
Ну идея неплохая — а как это сделать?
#10 18 апреля 2012 в 17:09
nedoriko, Насчет выставления цены с минусом — это отлично, но если в дальнейшем планы размещать статьи за деньги, этот способ не подойдет. Цены на весь контент выставила с минусом, работает. Только нельзя вставить например 1.5 балла. Хотя изначально сработало, потом все цены обнулились.

Хотелось бы именно после добавления поста в базу сами баллы начислялись или чтоб начислялся рейтинг — это в идеале.
#11 18 апреля 2012 в 20:07

Только нельзя вставить например 1.5 балла.

Miledy
да. это конечно минус билинга. и 0.9 тоже не ставится к сожалению.
#12 19 апреля 2012 в 07:55
за контейн
Открываем: components/content файл: frontend.php
находим код:
ориентир ADD ARTICLE код поиска ниже немного
  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.  
и ниже вставляем:
  1. $model->upRating($article['user_id']);
что бы получилось:

  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
и в самый низ файла и до символа
  1. }
вставляем:
  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.  
где
  1. + 10
количество рейтинга которое вы хотите добавить пользователю
по аналогии с любым компонентом)
ps: не откажусь от + в карму))) хочу завести блог)
#13 19 апреля 2012 в 10:50
ещё кстати я задумался таким способом можно добавить кучу статей а потом удалить тем самым набить кучу рейтинга))) если не стоит модерация
поэтому
находим
в frontend.php находим
  1. if ($do=='deletearticle'){
и опускаемя до
  1. ///////////////////////////////////// MY ARTICLES ///////////////////////////////////////////////////////////////////////////////////
поднимаемся на 6 строчек вверх и видим
  1.  
  2. $inCore->redirect('/content/my.html');
  3.  
и вставляем перед 6 строчкой
  1. $model->otRating($user_id);
что бы получилось
  1.  
  2. $model->otRating($user_id);
  3. $inCore->redirect('/content/my.html');
  4.  
далее идём в model.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.  
вставляем
  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 пунктов рейтинга
#14 19 апреля 2012 в 11:25
А как сделать чтобы рейтинг добавлялся при добавлении комментария к статьям и новой записи в блоге?
#15 19 апреля 2012 в 11:51
Рейтинг для комментариев
открываем: components/comments файл frontend.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.  
ниже вставляем:
  1.  
  2. //если коммент для статьи или блога автору даём рейтинга
  3. if($target=='article' || $target=='blog' ){
  4. $model->upRating($user_id);
  5. }
  6.  
что бы получилось
  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 и в самый низ кода
и перед
  1. }
вставляем
  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' так же можно добавить всё к чему можно писать комментария
  1. //если коммент для статьи или блога автору даём рейтинга
  2. if($target=='article' || $target=='blog' || $target=='userphoto' || $target=='photo')
  3.  
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.