/**
  * Delete a record by mail ids
  * @access  public
  * @param   $mids : mail IDs, for example: "1, 2, 3"
  * @return  true: if successful
  *          false: if unsuccessful
  * @author  Cindy Qi Li
  */
 function DeleteByIDs($mids)
 {
     if (!is_array($mids)) {
         return false;
     }
     $sanitized_mids = Utility::sanitizeIntArray($mids);
     $sanitized_mids_str = implode(",", $sanitized_mids);
     $sql = "DELETE FROM " . TABLE_PREFIX . "mail_queue WHERE mail_id IN (" . $sanitized_mids_str . ")";
     return $this->execute($sql);
 }
Exemplo n.º 2
0
 /**
  * Return prerequisite checks by given guideline ids
  * @access  public
  * @param   $gids : guideline IDs
  * @return  table rows
  * @author  Cindy Qi Li
  */
 function getOpenPreChecksByGuidelineIDs($gids)
 {
     if (!is_array($gids)) {
         return false;
     }
     $sanitized_gids = Utility::sanitizeIntArray($gids);
     $sql = "select distinct c.check_id, cp.prerequisite_check_id\n\t\t\t\t\tfrom " . TABLE_PREFIX . "guidelines g, \n\t\t\t\t\t     " . TABLE_PREFIX . "guideline_groups gg, \n\t\t\t\t\t     " . TABLE_PREFIX . "guideline_subgroups gs, \n\t\t\t\t\t     " . TABLE_PREFIX . "subgroup_checks gc,\n\t\t\t\t\t     " . TABLE_PREFIX . "checks c,\n\t\t\t\t\t     " . TABLE_PREFIX . "check_prerequisites cp\n\t\t\t\t\twhere g.guideline_id in (" . implode(",", $sanitized_gids) . ")\n\t\t\t\t\t  and g.guideline_id = gg.guideline_id\n\t\t\t\t\t  and gg.group_id = gs.group_id\n\t\t\t\t\t  and gs.subgroup_id = gc.subgroup_id\n\t\t\t\t\t  and gc.check_id = c.check_id\n\t\t\t\t\t  and c.open_to_public = 1\n\t\t\t\t\t  and c.check_id = cp.check_id\n\t\t\t\t\torder by c.check_id, cp.prerequisite_check_id";
     return $this->execute($sql);
 }
 /**
  * Return guideline info by given user id
  * @access  public
  * @param   $userID : user id
  * @return  table rows
  * @author  Cindy Qi Li
  */
 public function getGuidelineByUserIDs($userIDs)
 {
     include_once AC_INCLUDE_PATH . 'classes/Utility.class.php';
     $userIDs = Utility::sanitizeIntArray($userIDs);
     $sql = "select *\n\t\t\t\tfrom " . TABLE_PREFIX . "guidelines\n\t\t\t\twhere user_id in (" . implode(",", $userIDs) . ")\n\t\t\t\torder by title";
     return $this->execute($sql);
 }
Exemplo n.º 4
0
 /**
  * Delete user
  * @access  public
  * @param   user_id
  * @return  true, if successful
  *          false and add error into global var $msg, if unsuccessful
  * @author  Cindy Qi Li
  */
 public function Delete($userIDs)
 {
     // delete customized guidelines created by user but yet open to public
     include_once AC_INCLUDE_PATH . 'classes/DAO/GuidelinesDAO.class.php';
     include_once AC_INCLUDE_PATH . 'classes/DAO/ChecksDAO.class.php';
     include_once AC_INCLUDE_PATH . 'classes/DAO/UserLinksDAO.class.php';
     include_once AC_INCLUDE_PATH . 'classes/Utility.class.php';
     $userIDs = Utility::sanitizeIntArray($userIDs);
     $guidelinesDAO = new GuidelinesDAO();
     $guidelines = $guidelinesDAO->getGuidelineByUserIDs($userIDs);
     if (is_array($guidelines)) {
         foreach ($guidelines as $guideline) {
             if ($guideline['open_to_public'] == 0) {
                 $guidelinesDAO->Delete($guideline['guideline_id']);
             }
         }
     }
     // delete customized checks created by user but yet open to public
     $checksDAO = new ChecksDAO();
     $checks = $checksDAO->getCheckByUserIDs($userIDs);
     if (is_array($checks)) {
         foreach ($checks as $check) {
             if ($check['open_to_public'] == 0) {
                 $checksDAO->Delete($check['check_id']);
             }
         }
     }
     // delete user links and decisions generated by this user
     $userLinksDAO = new UserLinksDAO();
     $userLinks = $userLinksDAO->DeleteByUserID($userIDs);
     $sql = "DELETE FROM " . TABLE_PREFIX . "users\n\t\t         WHERE user_id in (" . implode(",", $userIDs) . ")";
     return $this->execute($sql);
 }
 /**
  * Return all privileges except the privilege ids in given string  
  * @access  public
  * @param   $privilegeIDs : a string of check ids separated by comma. for example: 1, 2, 3
  * @return  table rows
  * @author  Cindy Qi Li
  */
 function getAllPrivsExceptListed($privilegeIDs)
 {
     if (!is_array($privilegeIDs)) {
         return false;
     }
     $sanitized_privs = Utility::sanitizeIntArray($privilegeIDs);
     if (count($sanitized_privs) == 0) {
         return $this->getAll();
     } else {
         $sanitized_privs_str = implode(",", $sanitized_privs);
         $sql = "SELECT * FROM " . TABLE_PREFIX . "privileges \n\t\t\t         WHERE privilege_id NOT IN (" . $sanitized_privs_str . ")";
         return $this->execute($sql);
     }
 }
 /**
  * If row with given $user_id, $URI already exists, return existing user_link_id;
  * otherwise, create a new row and return the new user_link_id
  * @access  public
  * @param   $user_id
  *          $URI
  *          $gids
  * @return  user row
  * @author  Cindy Qi Li
  */
 public function getUserLinkID($user_id, $URI, $gids)
 {
     // sanitize array gids
     if (!is_array($gids)) {
         return false;
     }
     $sanitized_gids = Utility::sanitizeIntArray($gids);
     $sanitized_gids_str = implode(",", $sanitized_gids);
     $rows = $this->getByUserIDAndURI($user_id, $URI);
     if (is_array($rows)) {
         $user_link_id = $rows[0]['user_link_id'];
         // if guidelines selected are changed, save into table
         if ($rows[0]['last_guideline_ids'] != $sanitized_gids_str) {
             $this->Update($user_link_id, $user_id, $sanitized_gids_str, $URI);
         }
     } else {
         $user_link_id = $this->Create($user_id, $sanitized_gids_str, $URI);
     }
     return $user_link_id;
 }