/** * Carrega nos campos da classe os valores que estão armazenados no Banco de Dados * @param integer $id Identificador do usuário * @returns integer $sucess 1 em caso de sucesso, 0 em caso de erro */ function loadUser($id) { $this->clearFields(); //carregando os dados do usuário $strsql = "SELECT * FROM users WHERE users.user_id = " . $id; $ret = $this->_db->databaseExecInsert($strsql); $arr = $this->_db->databaseQuery($strsql); if (count($arr) > 0) { $this->setID($arr[0]['user_id']); $this->setFirstName($arr[0]['user_firstname']); $this->setLastName($arr[0]['user_lastname']); $this->setGender($arr[0]['user_gender']); $this->setLogin($arr[0]['user_login']); $this->setEMail($arr[0]['user_email']); //carregando os dados do profile do usuário $strsql = "SELECT * FROM scielo_user_profiles WHERE user_id = " . $id; $ret = $this->_db->databaseExecInsert($strsql); $arr = $this->_db->databaseQuery($strsql); foreach ($arr as $p) { $profile = new UserProfileClass(); $profile->setUserID($p['user_id']); $profile->setProfileID($p['profile_id']); $profile->setProfileText($p['profile_text']); $profile->setProfileName($p['profile_name']); $this->setProfiles($profile); } return 1; } else { return 0; } }
/** * Carrega nos campos da classe os valores que estão armazenados no Banco de Dados * @param integer $ID IDentificador do usuário * @returns integer $sucess 1 em caso de sucesso, 0 em caso de erro */ function loadUserProfile($p) { $profile = new UserProfileClass(); $profile->setUserID($p['user_id']); $profile->setProfileID($p['profile_id']); $profile->setProfileText($p['profile_text']); $profile->setProfileName($p['profile_name']); $profile->setProfileStatus($p['profile_status']); $profile->setCreationDate($p['creation_date']); $profile->setGrandeAreaID($p['id_grande_area']); $profile->setSubAreaID($p['id_sub_area']); return $profile; }
break; case "atualizar": $usr = new UserClass(); $usr->setID($_COOKIE['userID']); if ($useSGU) { $usr->setToken($_COOKIE['userToken']); } if ($password != "") { $usr->setPassword($password); } for ($i = 0; $i < count($profilesTexts); $i++) { $profile = new UserProfileClass(); $profile->setUserID($usr->getID()); $profile->setProfileID($profilesIDs[$i]); $profile->setProfileText($profilesTexts[$i]); $profile->setProfileName($profilesNames[$i]); $profile->setGrandeAreaID($grandeAreaId[$i]); $profile->setSubAreaID($subAreaId[$i]); $profile->setProfileStatus('on'); $usr->setProfiles($profile); } $a = $usr->updateProfiles(); if ($useSGU) { $usr->loadUser($_COOKIE['userToken']); } else { $usr->loadUser($_COOKIE['userID']); } header("Location: /"); break; default: $usr = new UserClass();
/** * Adiciona um profile á instancia em memória da classe UserClass * @param Object [] $ProfileClass Uma instancia do Objeto Profile */ function setProfiles($profile, $name = '') { //se o argumento é uma string, significa que estamos criando o usuário ainda, logo, devemos criar um //objeto UserProfileClass, setar os seus atributos e adicionar à lista de Perfis do Usuário if (is_string($profile)) { $p = new UserProfileClass(); $p->setUserID($this->getID()); $p->setProfileText($profile); $p->setProfileName($name); array_push($this->_profiles, $p); //se o argumento é um objeto significa que estamos recuperando o usuário da base, e já trazemos o objeto //UserProfileClass "pronto" precisamos apenas adicionar à lista de Perfis do Usuário } else { if (is_array($profile)) { // array de UserProfile $this->_profiles = $profile; } else { if (is_object($profile)) { array_push($this->_profiles, $profile); } } } }