/[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.40.2.1, Sat Jul 7 02:20:30 2007 UTC revision 1.40.2.2, Fri Oct 12 23:53:34 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.40.2.1 2007/07/07 02:20:30 mcarbone Exp $
3    
4  include './'. drupal_get_path('module', 'karma') .'/karma.theme';  include './'. drupal_get_path('module', 'karma') .'/karma.theme';
5    
# Line 204  function karma_update_user_karma($uid) { Line 204  function karma_update_user_karma($uid) {
204    
205    // 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
206    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)) {
207      $nids = db_query('SELECT DISTINCT(nid) FROM comments WHERE uid = %d', $uid);      $nids = db_query('SELECT DISTINCT(nid) FROM {comments} WHERE uid = %d', $uid);
208      while ($nid = db_fetch_object($nids)) {      while ($nid = db_fetch_object($nids)) {
209        karma_update_comment_statistics($nid->nid);        karma_update_comment_statistics($nid->nid);
210      }      }
# Line 213  function karma_update_user_karma($uid) { Line 213  function karma_update_user_karma($uid) {
213    
214  function karma_update_comment_statistics($nid) {  function karma_update_comment_statistics($nid) {
215    $min = (float) variable_get('karma_minimum_rating', '0.0');    $min = (float) variable_get('karma_minimum_rating', '0.0');
216    $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));
217    db_query('DELETE FROM {karma_comment_statistics} WHERE nid = %d', $nid);    db_query('DELETE FROM {karma_comment_statistics} WHERE nid = %d', $nid);
218    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);
219  }  }
# Line 712  function karma_num_new($nid) { Line 712  function karma_num_new($nid) {
712      $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);
713    
714      // Use the timestamp to retrieve the number of new comments.      // Use the timestamp to retrieve the number of new comments.
715      $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));
716    
717      return $count;      return $count;
718    }    }

Legend:
Removed from v.1.40.2.1  
changed lines
  Added in v.1.40.2.2

  ViewVC Help
Powered by ViewVC 1.1.2