/** * Handle an event in a listener. * * @param string $a_component component, e.g. "Modules/Forum" or "Services/User" * @param string $a_event event e.g. "createUser", "updateUser", "deleteUser", ... * @param array $a_parameter parameter array (assoc), array("name" => ..., "phone_office" => ...) */ static function handleEvent($a_component, $a_event, $a_parameter) { switch ($a_component) { case "Services/User": switch ($a_event) { case "deleteUser": $user_id = $a_parameter['usr_id']; require_once "./Customizing/global/plugins/Services/Repository/RepositoryObject/Flashcards/classes/class.ilFlashcardUsage.php"; ilFlashcardUsage::_deleteUser($user_id); break; } break; } }
/** * reset the training * This deletes all card usages of the user in the training */ public function reset() { ilFlashcardUsage::_deleteUsages($this->object->getId(), $this->user->getId()); $this->usages = array(); $this->resetSessionValues(); }
/** * delete all data of a user * @param integer user id */ static function _deleteUser($a_user_id) { require_once "./Customizing/global/plugins/Services/Repository/RepositoryObject/Flashcards/classes/class.ilFlashcardUsage.php"; ilFlashcardUsage::_deleteUser($a_user_id); }
/** * get all flashcards for an object * * @param int obj_id * @return array card_id => usage object */ public static function _getAll($a_obj_id, $a_user_id) { global $ilDB; $query = "SELECT u.obj_id, u.user_id, u.card_id, " . " u.status, u.last_status, u.last_checked, u.last_result, u.times_checked, u.times_known " . " FROM rep_robj_xflc_usage u" . " INNER JOIN rep_robj_xflc_cards c ON u.card_id = c.card_id" . " WHERE u.obj_id = " . $ilDB->quote($a_obj_id, 'integer') . " AND u.user_id = " . $ilDB->quote($a_user_id, 'integer'); $result = $ilDB->query($query); $usages = array(); while ($row = $ilDB->fetchAssoc($result)) { $usage = new ilFlashcardUsage(); $usage->setRowData($row); $usages[$usage->getCardId()] = $usage; } return $usages; }