From 4a5389b2732267eeeb5dff35affddfe488c921f8 Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Tue, 18 Aug 2015 17:34:36 +0200 Subject: [PATCH] Added UserPhangoModel Class --- src/ExtraModels/UserPhangoModel.php | 166 ++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 src/ExtraModels/UserPhangoModel.php diff --git a/src/ExtraModels/UserPhangoModel.php b/src/ExtraModels/UserPhangoModel.php new file mode 100644 index 0000000..31cd85d --- /dev/null +++ b/src/ExtraModels/UserPhangoModel.php @@ -0,0 +1,166 @@ + +* @file +* @package ExtraUtils/Login +* +* Now, we define components for use in models. Components are fields on a table. +* +*/ + +namespace PhangoApp\PhaModels\ExtraModels\UserPhangoModel; + +use PhangoApp\Phai18n\I18n; +use PhangoApp\PhaModels\Webmodel; + +I18n::load_lang('users'); + +/** +* Children class of webmodel for use with login class +* +*/ + +class UserPhangoModel extends Webmodel { + + public $username='username'; + public $email='email'; + public $password='password'; + public $repeat_password='repeat_password'; + + public function insert($post) + { + + if($this->check_user_exists($post[$this->username], $post[$this->email])) + { + + if(!$this->check_password($post['password'], $post['repeat_password'])) + { + + //$this->components['password']->required=0; + + $this->components[$this->password]->std_error=I18n::lang('users', 'pasword_not_equal_repeat_password', 'Passwords are not equal'); + + return false; + + } + + return parent::insert($post); + + } + else + { + + $this->std_error=I18n::lang('users', 'cannot_insert_user_email_or_user', 'A user already exists with this email or username'); + + return false; + + } + + } + + public function update($post, $where_sql='') + { + + if(isset($post[$this->username]) && $post[$this->email]) + { + + if($this->check_user_exists($post[$this->username], $post[$this->email], $post['IdUser_admin'])) + { + + if(!$this->check_password($post['password'], $post['repeat_password'])) + { + + //$this->components['password']->required=0; + + $this->components[$this->password]->std_error=I18n::lang('users', 'pasword_not_equal_repeat_password', 'Passwords are not equal'); + + return false; + + } + + if(Utils::form_text($post['password'])=='') + { + + $this->components[$this->password]->required=0; + unset($post[$this->password]); + + } + + return parent::update($post, $where_sql); + + } + else + { + + $this->std_error=I18n::lang('users', 'cannot_insert_user_email_or_user', 'A user already exists with this email or username'); + + return false; + + } + + } + else + { + + return parent::update($post, $where_sql); + + } + + } + + public function check_password($password, $repeat_password) + { + + $password=Utils::form_text($password); + $repeat_password=Utils::form_text($repeat_password); + + if($password!=$repeat_password) + { + + return false; + + } + + return true; + + } + + public function check_user_exists($user, $email, $iduser=0) + { + + $user=$this->components[$this->username]->check($user); + $email=$this->components[$this->email]->check($email); + + $where_sql='where ('.$this->username.'="'.$user.'" or '.$this->email.'="'.$email.'")'; + + settype($iduser, 'integer'); + + if($iduser>0) + { + + $where_sql.=' and IdUser_admin!='.$iduser; + + } + + $c=$this->select_count($where_sql); + + if($c==0) + { + + return true; + + } + else + { + + return false; + + } + + + } + +} + +?>