Example #1
0
 /**
  * 
  * @param UserExtended $u
  */
 public static function getAddress($u)
 {
     $mailServer = self::MAIL_SERVER;
     if ($u->isStudent()) {
         $mailServer = self::MAIL_SERVER_STUDENT_PREFIX . $mailServer;
     }
     return $u->getOrionLogin() . '@' . $mailServer;
 }
Example #2
0
 /**
  * 
  * @param UserExtended $user
  * @return boolean
  */
 public static function userActions($user)
 {
     $changeDetails = self::createNavMenuItem('uzivatel', 'mujProfil', 'Můj profil');
     if (!$user->hasNickname()) {
         $changeDetails['label_class'] = 'label-info';
     }
     $separator = ["separator" => true];
     $logout = self::createNavMenuItem('uzivatel', 'odhlasitSe', 'Odhlásit se');
     $menu = [$changeDetails, $separator, $logout];
     return $menu;
 }
Example #3
0
 private function createNavbar()
 {
     $navbar = [];
     $navbar['app-name'] = \config\Config::APP_NAME;
     $navbar['menu'] = NavbarBuilder::navMenu($this->user, $this->urlGen->getController(), $this->urlGen->getAction());
     if ($this->user->isLoggedIn()) {
         $navbar['user_actions'] = NavbarBuilder::userActions($this->user);
     } else {
         $navbar['login_url'] = ['controller' => 'uzivatel', 'action' => 'PrihlasitSe'];
     }
     $navbar['session_time'] = date(DatetimeManager::HUMAN_FULL, $_SESSION['LAST_ACTIVITY']);
     return $navbar;
 }
 public function renderZobrazitProfil()
 {
     $orion_login = $this->getParam('login');
     $user = Views\UserExtended::fetch($this->pdo, $orion_login);
     if (!$user) {
         $this->message->warning("Uživatel s loginem {$orion_login} není veden v systému.");
         $this->redirectPars();
     }
     $this->renderProfile($user);
 }
Example #5
0
 /**
  * 
  * @param \PDO $pdo
  * @param String $orion_login
  * 
  * @return UserExtended
  */
 public function login($orion_login)
 {
     $user = UserExtended::fetch($this->pdo, $orion_login);
     if (!$user) {
         if (!User::insert($this->pdo, $orion_login)) {
             return null;
         } else {
             $user = UserExtended::fetch($this->pdo, $orion_login);
             $user->loginStatus = self::LOGIN_NEW;
         }
     } else {
         $user->loginStatus = self::LOGIN_SUCCESS;
     }
     $_SESSION['user'] = $orion_login;
     return $user;
 }
 public function doUcast()
 {
     $id = $this->getParam('id');
     $co = $this->getParam('co');
     $reservation = $this->reservaions->fetchById($id);
     $reserveeUser = Views\UserExtended::fetchById($this->pdo, $reservation->reservee_user_id);
     switch ($co) {
         default:
             $result = ['result' => false, 'message' => "Neplatná operace účasti, jsou vaše odkazy akutální?"];
             break;
         case 'prihlasit':
             $result = $this->changeAttendancy($id, true);
             if ($result['result']) {
                 $pars = ['userName' => $this->user->getFullName(), 'reservationUrl' => $this->urlGen->url(['controller' => 'rezervace', 'action' => 'detail', 'id' => $id])];
                 MailBuilder::playerJoinedMyReservation($reserveeUser, $pars);
             }
             break;
         case 'odhlasit':
             $result = $this->changeAttendancy($id, false);
     }
     if ($result['result']) {
         $this->message->success($result['message']);
     } else {
         $this->message->warning($result['message']);
     }
     $this->redirectPars('rezervace', 'detail', ['id' => $id]);
 }
 public function doPoslatMail()
 {
     $gid = $this->getParam('game_type_id', INPUT_POST);
     $subject = $this->getParam('subject', INPUT_POST);
     $body = $this->getParam('mail_body', INPUT_POST);
     $users = $gid == self::ALL_USERS_GT_ID ? Views\UserExtended::fetchAll($this->pdo) : Views\Subscription::fetchUsersByGame($this->pdo, $gid);
     $result = MailSender::send($users, $body, $subject);
     if ($result['result']) {
         $this->message->success($result['message']);
     } else {
         $this->message->danger($result['message']);
     }
     $this->redirectPars('sprava', $this->getDefaultAction());
 }