/** * Constructor. * Loads all Id variables if * * @param integer $id id of profile in DB * @return void * @access public */ function __construct($id = false) { // Initiate Stack objects $this->_alerts = new CMS_stack(); if ($id) { if (!SensitiveIO::isPositiveInteger($id)) { $this->raiseError("Id is not a positive integer"); return; } $sql = "\n\t\t\t\tselect\n\t\t\t\t\t*\n\t\t\t\tfrom\n\t\t\t\t\tprofilesUsers,\n\t\t\t\t\tcontactDatas,\n\t\t\t\t\tprofiles\n\t\t\t\twhere\n\t\t\t\t\tid_pru='{$id}' and\n\t\t\t\t\tid_cd=contactData_pru and\n\t\t\t\t\tid_pr=profile_pru\n\t\t\t"; $q = new CMS_query($sql); if ($q->getNumRows()) { $data = $q->getArray(); } else { $this->raiseError("Unknown DB ID : " . $id); $this->_language = new CMS_language(); $this->_contactData = CMS_contactDatas_catalog::getByUser(array()); // Initialize super class parent::__construct(); } if (isset($data) && is_array($data)) { $this->_userId = $id; $this->_login = $data["login_pru"]; $this->_password = $data["password_pru"]; $this->_firstName = $data["firstName_pru"]; $this->_lastName = $data["lastName_pru"]; parent::__construct($data); $this->_language = CMS_languagesCatalog::getByCode($data["language_pru"]); $this->_active = $data["active_pru"]; $this->_deleted = $data["deleted_pru"]; $this->_favorites = $data["favorites_pru"] ? explode(',', $data["favorites_pru"]) : array(); $this->_alerts->setTextDefinition($data["alerts_pru"]); $this->_contactData = CMS_contactDatas_catalog::getByUser($data); } } else { $this->_language = new CMS_language(); $this->_contactData = CMS_contactDatas_catalog::getByUser(array()); // Initialize super class parent::__construct(); } }
/** * Get by user : returns the contact data for given user * * @param array $data : datas from DB (loaded by CMS_profile_user) or CMS_profile_user object * @return CMS_contactData * @access public */ static function getByUser($data) { if (is_array($data)) { return CMS_contactDatas_catalog::getById($data); } elseif (is_a($data, 'CMS_profile_user')) { //ugly method but need it for compatibility //I do not think that it is very often useful, so ... $user = new CMS_profile_user($data->getUserID()); return $user->getContactData(); } else { return null; } }