Exemple #1
0
 /**
  * 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;
     }
 }