Beispiel #1
0
 /**
  * Removes a vote from $user_id to the task $task_id
  * @param integer $user_id
  * @param integer $task_id
  * @access public
  * @return bool
  * @version 1.0
  */
 public static function remove_vote($user_id, $task_id)
 {
     global $db;
     $user = $GLOBALS['user'];
     if ($user_id != $user->id) {
         $user = new User($user_id);
     }
     $task = Flyspray::GetTaskDetails($task_id);
     if (!$task) {
         return false;
     }
     if ($user->can_vote($task) == -2) {
         if ($db->Query("DELETE FROM {votes} WHERE user_id = ? and task_id = ?", array($user->id, $task_id))) {
             // TODO: Log event in a later version.
             return true;
         }
     }
     return false;
 }
Beispiel #2
0
 /**
  * Adds a vote from $user_id to the task $task_id
  * @param integer $user_id
  * @param integer $task_id
  * @access public
  * @return bool
  * @version 1.0
  */
 function add_vote($user_id, $task_id)
 {
     global $db;
     $user = $GLOBALS['user'];
     if ($user_id != $user->id) {
         $user = new User($user_id);
     }
     $task = Flyspray::GetTaskDetails($task_id);
     if (!$task) {
         return false;
     }
     if ($user->can_vote($task) > 0) {
         if ($db->x->autoExecute('{votes}', array('user_id' => $user->id, 'task_id' => $task_id, 'date_time' => time()))) {
             // [RED] Update vote count
             $votes = $db->x->GetOne('SELECT count(*) FROM {votes} WHERE task_id = ?', null, $task_id);
             $db->x->execParam('UPDATE {redundant} SET vote_count = ? WHERE task_id = ?', array($votes, $task_id));
             return true;
         }
     }
     return false;
 }