. */ /** * @brief Contains the controler of the session_security object (create, save, modify, etc...) * * * @file * @author Claire Figueras * @date $date$ * @version $Revision$ * @ingroup core */ // Loads the required class try { require_once("core/core_tables.php"); require_once("core/class/session_security.php"); require_once("core/class/ObjectControlerAbstract.php"); require_once("core/class/ObjectControlerIF.php"); } catch (Exception $e){ echo $e->getMessage().' // '; } /** * @brief Controler of the session_security object * * * @ingroup core */ class session_security_controler extends ObjectControler implements ObjectControlerIF { /** * Returns an session_security object based on a user identifier * * @param $user_id string User identifier * @param $comp_where string where clause arguments (must begin with and or or) * @return session_security object with properties from the database or null */ public function get($user_id, $comp_where = '') { $this->set_foolish_ids(array('user_id')); $this->set_specific_id('user_id'); $session_security = $this->advanced_get($user_id,SESSION_SECURITY_TABLE); if(isset($session_security) ) return $session_security; else return null; } /** * Saves in the database a session_security object * * @param $session_security session_security object to be saved * @return bool true if the save is complete, false otherwise */ public function save($session_security) { if(!isset($session_security) ) return false; $this->set_foolish_ids(array('user_id')); $this->set_specific_id('user_id'); if($this->sessionSecurityExists($session_security->user_id)) return $this->update($session_security); else return $this->insert($session_security); return false; } /** * Inserts in the database (session_security table) a session_security object * * @param $session_security session_security object * @return bool true if the insertion is complete, false otherwise */ private function insert($session_security) { return $this->advanced_insert($session_security); } /** * Updates a session_security in the database (session_security table) with a session_security object * * @param $session_security session_security object * @return bool true if the update is complete, false otherwise */ private function update($session_security) { return $this->advanced_update($session_security); } /** * Deletes in the database a given session_security * * @param $session_security session_security object * @return bool true if the deletion is complete, false otherwise */ public function delete($session_security) { $this->set_foolish_ids(array('user_id')); $this->set_specific_id('user_id'); return $this->advanced_delete($session_security); } /** * Asserts if a session_security exists in the database for a given user (user_id) * * @param $user_id String User identifier * @return bool true if the user exists, false otherwise */ public function sessionSecurityExists($user_id) { if(!isset($user_id) || empty($user_id)) return false; $this->$db=new dbquery(); $this->$db->connect(); $query = "select user_id from ".SESSION_SECURITY_TABLE." where user_id = '".functions::protect_string_db($user_id)."'"; try{ if($_ENV['DEBUG']){echo $query.' // ';} $this->$db->query($query); } catch (Exception $e){ echo _UNKNOWN.' '._USER." ".$user_id.' // '; } if($this->$db->nb_result() > 0) { $this->$db->disconnect(); return true; } $this->$db->disconnect(); return false; } } ?>