Пример #1
0
 public static function get()
 {
     //Gets the amount from GET or use default
     if (isset($_GET['amount'])) {
         $amount = $_GET['amount'];
     } else {
         $amount = ChatConfig::DEFAULT_AMOUNT;
     }
     try {
         //Get messages
         $messages = ChatDB::getChatMessages($amount);
         foreach ($messages as $message) {
             //Calculate difference between now and message post time
             $timeDiff = (new DateTime(null, new DateTimeZone(GlobalConfig::PHP_TIME_ZONE)))->diff(DateTime::createFromFormat('d/m/Y H:i', $message->messageTime));
             //If message was posted less than 1 day ago show time as hour, else show as date
             if ($timeDiff->y > 0 || $timeDiff->m > 0 || $timeDiff->d >= 1) {
                 $messageTime = substr($message->messageTime, 0, 10);
             } else {
                 $messageTime = substr($message->messageTime, 11, 5);
             }
             //Cut user's name if it's too long
             $posterFullName = $message->posterFirstName . ' ' . $message->posterLastName;
             if (strlen($posterFullName) > 10) {
                 $posterFullName = substr($posterFullName, 0, 10) . '...';
             }
             echo '<tr><td>' . htmlentities($posterFullName, ENT_QUOTES, 'utf-8') . '</td><td>' . htmlentities($message->text, ENT_QUOTES, 'utf-8') . '</td><td>' . htmlentities($messageTime, ENT_QUOTES, 'utf-8') . '</td></tr>';
         }
     } catch (Exception $ex) {
         http_response_code(500);
     }
 }
Пример #2
0
 public static function post()
 {
     $page = new Page();
     $page->data['title'] = 'Chat';
     $page->addView('chat/ChatView');
     $page->addExtraJsFile('views/chat/ChatViewMessageListRefresher.js');
     $page->addExtraJsFile('views/chat/ChatViewOnLoadHandler.js');
     $errMsgs = ChatViewValidator::validate($_POST);
     if (empty($errMsgs)) {
         try {
             ChatDB::addChatMessage(new ChatMessage(null, null, null, $_SESSION['Stippers']['user']->userId, $_POST['new_message'], null));
             ChatController::buildChatView($page, false);
         } catch (Exception $ex) {
             ChatController::buildChatView($page, true);
             $page->data['ChatView']['errMsgs']['global'] = '<h2 class="error_message" id="new_message_form_error_message">Kan bericht niet posten, probeer het opnieuw.</h2>';
         }
     } else {
         ChatController::buildChatView($page, true);
         $page->data['ChatView']['errMsgs'] = array_merge($page->data['ChatView']['errMsgs'], $errMsgs);
     }
     $page->showWithMenu();
 }