/**
  * 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;
 }