public static function getInstance() { if (!self::$instance instanceof self) { self::$instance = new self(); } return self::$instance; }
/** * Genera un codigo (se usa comoo semilla) y verifica que * no exista el codigo en la base de datos. * @param number $length * @return string */ public static function generateCodeForToolkit($length = 8) { $code = ""; do { $code = strtoupper(self::getUniqueCode($length, "NyceKit" . self::generateString())); $codeRegistered = CodesDao::getInstance()->exitsCodeInDataBase($code); } while ($codeRegistered); return $code; }
/** * Registra en la base de datos un nuevo usuario asociado a un codigo * @param $model * @param string $activationCode */ public function registerNewUserWithCode($model, $activationCode) { //* $codeId = CodesDao::getInstance()->getCodeId($model->code); $password = self::krypPassword($model->password); $sql = Querys::INSERT_USER; $parameters = array(":codeId" => $codeId, ":email" => strtolower($model->email), ":name" => strtoupper($model->name), ":lastname" => strtoupper($model->lastname), ":password" => $password, ":activationCode" => $activationCode, ":createdon" => date('Y-m-d H:i:s')); Yii::app()->db->createCommand($sql)->execute($parameters); }
/** * Valida que los datos de registro de un codigo nuevo sean correctos * @param $model * @throws Exception */ public function serverValidationRegisterCodeForm($model) { //* //1.-Valida los campos del formulario if (strlen(trim($model->code)) > 0 && strlen(trim($model->email)) > 0 && UtilsFunctions::validEMail(trim($model->email)) && strlen(trim($model->name)) > 0 && strlen(trim($model->lastname)) > 0 && strlen(trim($model->password)) > 0) { //2.-Verifica que el codigo este en la base $codeId = CodesDao::getInstance()->getCodeId($model->code); //3.-Verifica si ya esta registrado en la tabla usuarios UsersDao::getInstance()->exitsCodeInUsers($codeId); //4.- Verifica que el si el correo electronico ya esta registrado UsersDao::getInstance()->exitsUserInDataBase(trim($model->email)); } else { throw new Exception(Constants::ERROR_DATA_FORM); } }