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

Diff of /contributions/modules/voting_actions/voting_actions.module

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

revision 1.15.2.1, Tue Apr 17 21:59:36 2007 UTC revision 1.15.2.2, Fri Apr 20 13:56:54 2007 UTC
# Line 80  function voting_actions_menu($may_cache) Line 80  function voting_actions_menu($may_cache)
80  // Called by the Voting API whenever a result is calculated.  // Called by the Voting API whenever a result is calculated.
81  function voting_actions_votingapi_results($cached, $votes, $content_type, $content_id) {  function voting_actions_votingapi_results($cached, $votes, $content_type, $content_id) {
82    $content = votingapi_load_content($content_id, $content_type);    $content = votingapi_load_content($content_id, $content_type);
83    if ($content == NULL) {    if ($content_type != 'node' || $content == NULL) {
84      return;      return;
85    }    }
86    $context = array(    $context = array(
# Line 288  function _voting_actions_load_sets_from_ Line 288  function _voting_actions_load_sets_from_
288      }      }
289    
290      $set['status'] = voting_actions_get_status($set['name']);      $set['status'] = voting_actions_get_status($set['name']);
291      $set['subsets'] = _voting_actions_load_sets_from_db($vasid);      $set['sets'] = _voting_actions_load_sets_from_db($set['vasid']);
292      $sets[$set['name']] = $set;      $sets[$set['name']] = $set;
293    }    }
294    
# Line 305  function _voting_actions_insert_set($set Line 305  function _voting_actions_insert_set($set
305    db_query($sql, $vasid, $set['name'], $set['parent'],    db_query($sql, $vasid, $set['name'], $set['parent'],
306      $set['source'], $set['description'], $set['condition_mask'],      $set['source'], $set['description'], $set['condition_mask'],
307      $set['required'], $set['weight']);      $set['required'], $set['weight']);
308    
   voting_actions_set_status($set['name'], $set['status']);  
   
309    if (is_array($set['conditions'])) {    if (is_array($set['conditions'])) {
310      foreach ($set['conditions'] as $condition) {      foreach ($set['conditions'] as $condition) {
311        $condition['vasid'] = $vasid;        $condition['vasid'] = $vasid;
# Line 320  function _voting_actions_insert_set($set Line 318  function _voting_actions_insert_set($set
318        db_query("INSERT INTO {voting_actions_action} (vasid, aid) VALUES (%d, '%s')", $vasid, $action);        db_query("INSERT INTO {voting_actions_action} (vasid, aid) VALUES (%d, '%s')", $vasid, $action);
319      }      }
320    }    }
   
   if (is_array($set['sets'])) {  
     foreach ($set['sets'] as $sname => $subset) {  
       $subset['parent_name'] = $name;  
       _voting_actions_insert_set($subset);  
     }  
   }  
321  }  }
322    
323  function _voting_actions_insert_condition($condition) {  function _voting_actions_insert_condition($condition) {
# Line 350  function _voting_actions_update_set($set Line 341  function _voting_actions_update_set($set
341      $set['source'], $set['description'], $set['condition_mask'],      $set['source'], $set['description'], $set['condition_mask'],
342      $set['required'], $set['weight'], $set['vasid']);      $set['required'], $set['weight'], $set['vasid']);
343    
   voting_actions_set_status($set['name'], $set['status']);  
   
344    if (is_array($set['conditions'])) {    if (is_array($set['conditions'])) {
345        // First we'll loop through and delete any that are
346        // in the db but not in the new version of the set.
347        $current_sets = array();
348      foreach ($set['conditions'] as $condition) {      foreach ($set['conditions'] as $condition) {
349        if (isset($condition['vacid'])) {        if (isset($condition['vacid'])) {
350          if (!empty($condition['deleted'])) {          $current_sets['wildcards'][] = '%d';
351            db_query("DELETE FROM {voting_actions_condition} WHERE vacid = %d", $set['vacid']);          $current_sets['replacements'][] = $condition['vacid'];
352          }        }
353          else {      }
354            _voting_actions_update_condition($condition);      db_query("DELETE FROM {voting_actions_condition} WHERE vacid NOT IN = (". implode(',', $current_sets['wildcards']) .")", $current_sets['replacements']);
355          }  
356        foreach ($set['conditions'] as $condition) {
357          if (isset($condition['vacid'])) {
358            _voting_actions_update_condition($condition);
359        }        }
360        else {        else {
361          _voting_actions_insert_condition($condition);          _voting_actions_insert_condition($condition);
# Line 374  function _voting_actions_update_set($set Line 369  function _voting_actions_update_set($set
369    db_query("DELETE FROM {voting_actions_action} WHERE vasid = %d", $set['vasid']);    db_query("DELETE FROM {voting_actions_action} WHERE vasid = %d", $set['vasid']);
370    if (is_array($set['actions'])) {    if (is_array($set['actions'])) {
371      foreach ($set['actions'] as $action) {      foreach ($set['actions'] as $action) {
372        db_query("INSERT INTO {voting_actions_action} (parent_name, aid) VALUES ('%s', %d)", $name, $set['vasid']);        db_query("INSERT INTO {voting_actions_action} (vasid, aid) VALUES (%d, '%s')", $set['vasid'], $action);
     }  
   }  
   
   if (is_array($set['sets'])) {  
     foreach ($set['sets'] as $subset) {  
       if (isset($subset['vasid'])) {  
         _voting_actions_update_set($subset);  
       }  
       else {  
         _voting_actions_insert_set($subset);  
       }  
     }  
   }  
   
   if (is_array($set['deleted_sets'])) {  
     foreach ($set['deleted_sets'] as $subset) {  
       _voting_actions_delete_set($subset);  
373      }      }
374    }    }
375  }  }
# Line 415  function _voting_actions_delete_set($set Line 393  function _voting_actions_delete_set($set
393    db_query("DELETE FROM {voting_actions_condition} WHERE vasid = %d", $set['vasid']);    db_query("DELETE FROM {voting_actions_condition} WHERE vasid = %d", $set['vasid']);
394    db_query("DELETE FROM {voting_actions_action} WHERE vasid = %d", $set['vasid']);    db_query("DELETE FROM {voting_actions_action} WHERE vasid = %d", $set['vasid']);
395    db_query("DELETE FROM {voting_actions_set} WHERE vasid = %d", $set['vasid']);    db_query("DELETE FROM {voting_actions_set} WHERE vasid = %d", $set['vasid']);
   db_query("DELETE FROM {voting_actions_status} WHERE name = %d", $set['name']);  
396  }  }
397    
398  function _voting_actions_validate_set($set) {  function _voting_actions_validate_set($set) {
# Line 454  function _voting_actions_validate_set($s Line 431  function _voting_actions_validate_set($s
431  function _voting_actions_validate_condition($condition) {  function _voting_actions_validate_condition($condition) {
432    $errors = array();    $errors = array();
433    if (!is_array($condition)) {    if (!is_array($condition)) {
434      $errors[] = "The condition is not an array!";      $errors[] = t("The condition is not an array!");
435      return $errors;      return $errors;
436    }    }
437    
438    if (!isset($condition['eval_handler'])) {    if (!isset($condition['eval_handler'])) {
439      $errors[] = "The condition has no handler.";      $errors[] = t("The condition has no handler.");
440    }    }
441    
442    if (!function_exists($condition['eval_handler'])) {    if (!function_exists($condition['eval_handler'])) {
443      $handler = $condition['eval_handler'];      $handler = $condition['eval_handler'];
444      $errors[] = "The condition has an invalid handler ($eval_handler).";      $errors[] = t("The condition has an invalid handler (@handler).", array('@handler' => $eval_handler));
445    }    }
446    
447    return $errors;    return $errors;

Legend:
Removed from v.1.15.2.1  
changed lines
  Added in v.1.15.2.2

  ViewVC Help
Powered by ViewVC 1.1.2