예제 #1
0
 public function action_register()
 {
     //error_reporting(-1);
     //ini_set('display_errors', 'On');
     //set_error_handler("var_dump");
     //$this->sendRegisterEmail('*****@*****.**', '', 'jm', 'pr', 'nick');
     if (!isset($this->post['jmeno_uzivatel']) || !isset($this->post['email']) || !isset($this->post['heslo']) || !isset($this->post['pass_verify'])) {
         $this->msg = 'Nejsou zadány povinné údaje pro registraci';
         return ["success" => false, 'msg' => $this->msg];
     }
     $jmeno_uzivatel = $this->post['jmeno_uzivatel'];
     $email = $this->post['email'];
     $heslo = $this->post['heslo'];
     $pass_verify = $this->post['pass_verify'];
     $row = accountData::checkExistNickEmail($jmeno_uzivatel, $email);
     if ($row) {
         $this->msg = 'Uživatelské jméno nebo email již existuje - zvolte jiné.';
         return ["success" => false, 'msg' => $this->msg];
     }
     if ($heslo != $pass_verify) {
         $this->msg = 'Ověřovací heslo nesouhlasí.';
         return ["success" => false, 'msg' => $this->msg];
     }
     $skupina = isset($this->post['skupina']) ? $this->post['skupina'] : null;
     $jmeno = isset($this->post['jmeno']) ? $this->post['jmeno'] : null;
     $prijmeni = isset($this->post['prijmeni']) ? $this->post['prijmeni'] : null;
     $organizace = isset($this->post['organizace']) ? $this->post['organizace'] : null;
     $role_potvrzeni = 0;
     $activationCode = $this->getActivationCode($email);
     $adduser = accountData::registerData($jmeno_uzivatel, $email, crypt($heslo), $skupina, $jmeno, $prijmeni, $organizace, $activationCode, $role_potvrzeni);
     if (!$adduser) {
         $this->msg = 'Něco se pokazilo. Zkuste znovu.';
         return ["success" => false, 'msg' => $this->msg];
     }
     $this->msg = "Registrace proběhla v pořádku. Na e-mail: <i>" . $email . "</i> Vám byl odeslán aktivační klíč.";
     $activationHref = \GLOBALVAR\ROOT . "?core=account&action=activateAccount&id=" . $adduser['id'] . "&activationCode={$activationCode}";
     $this->sendRegisterEmail($email, $activationHref, $jmeno, $prijmeni, $jmeno_uzivatel);
     return ["success" => true, 'msg' => $this->msg, 'id' => $this->user->getId(), 'jmeno_uzivatel' => $this->user->getUserName(), 'skupina' => $this->user->getRole()];
 }