/[drupal]/contributions/modules/karma/karma.module
ViewVC logotype

Diff of /contributions/modules/karma/karma.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.42, Tue Jul 10 06:48:38 2007 UTC revision 1.43, Sat Oct 13 00:00:46 2007 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: karma.module,v 1.41 2007/07/07 02:18:22 mcarbone Exp $  // $Id: karma.module,v 1.42 2007/07/10 06:48:38 mcarbone Exp $
3    
4  include './'. drupal_get_path('module', 'karma') .'/karma.theme';  include './'. drupal_get_path('module', 'karma') .'/karma.theme';
5    
# Line 199  function karma_update_user_karma($uid) { Line 199  function karma_update_user_karma($uid) {
199    
200    // Update all comment karma counts that involve this user if user crosses the minimum rating threshold in either direction    // Update all comment karma counts that involve this user if user crosses the minimum rating threshold in either direction
201    if ((is_null($orig_karma) && !is_null($karma)) || ($orig_karma > $min && $karma <= $min) || ($orig_karma <= $min && $karma > $min)) {    if ((is_null($orig_karma) && !is_null($karma)) || ($orig_karma > $min && $karma <= $min) || ($orig_karma <= $min && $karma > $min)) {
202      $nids = db_query('SELECT DISTINCT(nid) FROM comments WHERE uid = %d', $uid);      $nids = db_query('SELECT DISTINCT(nid) FROM {comments} WHERE uid = %d', $uid);
203      while ($nid = db_fetch_object($nids)) {      while ($nid = db_fetch_object($nids)) {
204        karma_update_comment_statistics($nid->nid);        karma_update_comment_statistics($nid->nid);
205      }      }
# Line 208  function karma_update_user_karma($uid) { Line 208  function karma_update_user_karma($uid) {
208    
209  function karma_update_comment_statistics($nid) {  function karma_update_comment_statistics($nid) {
210    $min = (float) variable_get('karma_minimum_rating', '0.0');    $min = (float) variable_get('karma_minimum_rating', '0.0');
211    $count = db_result(db_query("SELECT COUNT(*) FROM comments c LEFT JOIN karma_objects ko ON ko.id = c.cid AND ko.type = 'cid' LEFT JOIN karma_users ku ON ku.uid = c.uid WHERE (ko.rating >= %f OR (ko.rating IS NULL AND (ku.karma >= %f OR ku.karma IS NULL))) AND c.nid = %d", $min, $min, $nid));    $count = db_result(db_query("SELECT COUNT(*) FROM {comments} c LEFT JOIN karma_objects ko ON ko.id = c.cid AND ko.type = 'cid' LEFT JOIN karma_users ku ON ku.uid = c.uid WHERE (ko.rating >= %f OR (ko.rating IS NULL AND (ku.karma >= %f OR ku.karma IS NULL))) AND c.nid = %d", $min, $min, $nid));
212    db_query('DELETE FROM {karma_comment_statistics} WHERE nid = %d', $nid);    db_query('DELETE FROM {karma_comment_statistics} WHERE nid = %d', $nid);
213    db_query('INSERT INTO {karma_comment_statistics} (nid, comment_count) VALUES (%d, %d)', $nid, $count);    db_query('INSERT INTO {karma_comment_statistics} (nid, comment_count) VALUES (%d, %d)', $nid, $count);
214  }  }
# Line 716  function karma_num_new($nid) { Line 716  function karma_num_new($nid) {
716      $timestamp = (node_last_viewed($nid) > NODE_NEW_LIMIT ? node_last_viewed($nid) : NODE_NEW_LIMIT);      $timestamp = (node_last_viewed($nid) > NODE_NEW_LIMIT ? node_last_viewed($nid) : NODE_NEW_LIMIT);
717    
718      // Use the timestamp to retrieve the number of new comments.      // Use the timestamp to retrieve the number of new comments.
719      $count = db_result(db_query("SELECT COUNT(*) FROM comments c LEFT JOIN karma_objects ko ON ko.id = c.cid AND ko.type = 'cid' LEFT JOIN karma_users ku ON ku.uid = c.uid WHERE (ko.rating >= %f OR (ko.rating IS NULL AND (ku.karma >= %f OR ku.karma IS NULL))) AND c.nid = %d AND c.timestamp > %d", $min, $min, $nid, $timestamp));      $count = db_result(db_query("SELECT COUNT(*) FROM {comments} c LEFT JOIN karma_objects ko ON ko.id = c.cid AND ko.type = 'cid' LEFT JOIN karma_users ku ON ku.uid = c.uid WHERE (ko.rating >= %f OR (ko.rating IS NULL AND (ku.karma >= %f OR ku.karma IS NULL))) AND c.nid = %d AND c.timestamp > %d", $min, $min, $nid, $timestamp));
720    
721      return $count;      return $count;
722    }    }

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.43

  ViewVC Help
Powered by ViewVC 1.1.2