/** * Deletes the course set and all associated data. */ public function delete() { // Delete institute associations. $stmt = DBManager::get()->prepare("DELETE FROM `courseset_institute`\n WHERE `set_id`=?"); $stmt->execute(array($this->id)); // Delete course associations. $stmt = DBManager::get()->prepare("DELETE FROM `seminar_courseset`\n WHERE `set_id`=?"); $stmt->execute(array($this->id)); // Delete all rules... foreach ($this->rules as $rule) { $rule->delete(); } // ... and their association to the current course set. $stmt = DBManager::get()->prepare("DELETE FROM `courseset_rule`\n WHERE `set_id`=?"); $stmt->execute(array($this->id)); // Delete associations to user lists. $stmt = DBManager::get()->prepare("DELETE FROM `courseset_factorlist`\n WHERE `set_id`=?"); $stmt->execute(array($this->id)); // Delete course set data. $stmt = DBManager::get()->prepare("DELETE FROM `coursesets`\n WHERE `set_id`=?"); $stmt->execute(array($this->id)); /* * Delete waiting lists */ foreach ($this->courses as $id => $assigned) { AdmissionApplication::deleteBySQL("status='awaiting' AND seminar_id=?", array($id)); } //Delete priorities AdmissionPriority::unsetAllPriorities($this->getId()); }