/** * Method used to remove a given set of projects from the system. * * @access public * @return boolean */ function remove() { global $HTTP_POST_VARS; $items = @implode(", ", Misc::escapeInteger($HTTP_POST_VARS["items"])); $stmt = "DELETE FROM\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project\n WHERE\n prj_id IN ({$items})"; $res = $GLOBALS["db_api"]->dbh->query($stmt); if (PEAR::isError($res)) { Error_Handler::logError(array($res->getMessage(), $res->getDebugInfo()), __FILE__, __LINE__); return false; } else { Project::removeUserByProjects($HTTP_POST_VARS["items"]); Category::removeByProjects($HTTP_POST_VARS["items"]); Release::removeByProjects($HTTP_POST_VARS["items"]); Filter::removeByProjects($HTTP_POST_VARS["items"]); Email_Account::removeAccountByProjects($HTTP_POST_VARS["items"]); Issue::removeByProjects($HTTP_POST_VARS["items"]); Custom_Field::removeByProjects($HTTP_POST_VARS["items"]); $statuses = array_keys(Status::getAssocStatusList($HTTP_POST_VARS["items"])); foreach ($HTTP_POST_VARS["items"] as $prj_id) { Status::removeProjectAssociations($statuses, $prj_id); } Group::disassociateProjects($HTTP_POST_VARS["items"]); return true; } }