예제 #1
0
 public function process($parameters)
 {
     //iba prihlaseny uzivatelia
     $this->checkUser();
     $userManager = new UserManager();
     $messageManager = new MessageManager();
     $loggedUser = $userManager->returnUser();
     //ak je zadane URL pre vytvorenie novej spravy
     if (!empty($parameters[0]) && $parameters[0] == 'vytvorit') {
         $users = $userManager->returnUsers();
         //vytvorenie zdroja pre automaticke doplnovanie uzivatelov v poli 'prijemca'
         $autocompleteSource = '';
         foreach ($users as $user) {
             $autocompleteSource = $autocompleteSource . "'" . $user['name'] . "'" . ', ';
         }
         $autocompleteSource = rtrim($autocompleteSource, ", ");
         $this->data['autocompleteSource'] = $autocompleteSource;
         //ak bol zadany prijemca v URL
         if (!empty($parameters[1])) {
             $this->data['recipient_url'] = strip_tags($parameters[1]);
         } else {
             $this->data['recipient_url'] = '';
         }
         $this->head['title'] = 'Nová správa';
         $this->view = 'messageForm';
     }
     //ak je zadane URL na odstranenie spravy
     if (!empty($parameters[1]) && $parameters[1] == 'odstranit') {
         $message = $messageManager->returnMessage($parameters[0]);
         if ($message) {
             $messageManager->deleteMessage($parameters[0], $loggedUser);
             $this->createMessage('Správa bola odstránená', 'success');
             $this->redirect('panel');
         } else {
             $this->redirect('chyba');
         }
     }
     //ak je zadane URL na zobrazenie spravy
     if (!empty($parameters[1]) && $parameters[1] == 'zobrazit') {
         $message = $messageManager->returnMessage($parameters[0]);
         //ak sprava existuje a otvara ju prijimatel, alebo odosielatel
         if ($message && ($message['sender'] == $loggedUser['name'] || $message['recipient'] == $loggedUser['name'])) {
             //pri prvom otvoreni, oznac spravu ako precitanu
             if ($message['unread'] == 1 && $message['recipient'] == $loggedUser['name']) {
                 $messageManager->readMessage($message['message_id']);
             }
             $this->head['title'] = 'Správa - ' . $message['subject'];
             $this->data['message'] = $message;
             $this->view = 'message';
         } else {
             $this->redirect('chyba');
         }
     }
     //ak bol odoslany formular pre odoslanie spravy
     if ($_POST) {
         $sender = $userManager->returnUser();
         $recipient = strip_tags($_POST['recipient']);
         $subject = htmlspecialchars($_POST['subject']);
         $message = htmlspecialchars($_POST['message']);
         try {
             $recipient = $userManager->returnUserInfo($recipient);
             if (!$recipient) {
                 throw new UserError('Užívateľ neexistuje');
             }
             if ($sender['name'] == $recipient['name']) {
                 throw new UserError('Nemôžete poslať správu sám sebe');
             }
             //odoslanie spravy do databazy
             $messageManager->sendMessage($sender['name'], $recipient['name'], $subject, $message);
             $this->createMessage('Vaša správa bola úspešne odoslaná', 'success');
             $this->redirect('panel');
         } catch (UserError $error) {
             $this->createMessage($error->getMessage(), 'warning');
         }
     }
     //zadane URL bez parametrov
     if (empty($parameters)) {
         $this->redirect('chyba');
     }
 }
예제 #2
0
    echo $usertool->loginUser($body["username"], $body["password"]);
});
$app->get('/api/salt', function () use($app) {
    $usertool = new UserTool();
    echo $usertool->getSaltForUser($app->request()->get('username'));
});
//section for compose message
$app->post('/api/message', function () use($app) {
    $body = json_decode($app->request->getBody(), true);
    $auth = $app->request->headers->get('Authorization');
    $token = substr($auth, 6);
    $usertool = new UserTool();
    $user = $usertool->getUserByToken($token);
    if ($user != NULL) {
        $messagemanager = new MessageManager();
        echo $messagemanager->sendMessage($user->id, $body["recipient"], $body["content"]);
    } else {
        $error = new ErrorMessage("The access token is wrong!");
        echo json_encode($error);
    }
});
$app->get('/api/user', function () use($app) {
    $auth = $app->request->headers->get('Authorization');
    $token = substr($auth, 6);
    $usertool = new UserTool();
    $user = $usertool->getUserByToken($token);
    if ($user != NULL) {
        echo $usertool->getUsernames();
    } else {
        $error = new ErrorMessage("The access token is wrong!");
        echo json_encode($error);