当前位置: 首页>>代码示例>>PHP>>正文


PHP DataManager::getPostsByChannel方法代码示例

本文整理汇总了PHP中DataManager::getPostsByChannel方法的典型用法代码示例。如果您正苦于以下问题:PHP DataManager::getPostsByChannel方法的具体用法?PHP DataManager::getPostsByChannel怎么用?PHP DataManager::getPostsByChannel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DataManager的用法示例。


在下文中一共展示了DataManager::getPostsByChannel方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: header

<?php

require_once '../inc/bootstrap.php';
if (!AuthenticationManager::isAuthenticated()) {
    header("HTTP/1.1 403 Forbidden");
    echo "Access not allowed for anonymous users.";
    exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    Controller::getInstance()->invokePostAction();
} else {
    $channelId = isset($_GET['channelId']) ? Util::escape($_GET['channelId']) : null;
    $lastSeenPost = isset($_GET['lastSeenPost']) ? Util::escape($_GET['lastSeenPost']) : null;
    if ($channelId == null) {
        exit;
    }
    $data = DataManager::getPostsByChannel($channelId, $lastSeenPost);
    if ($data != null) {
        header('Content-Type: application/json', true, 200);
        echo json_encode($data);
    } else {
        header("HTTP/1.1 204 No Content");
    }
}
开发者ID:TSchmiedlechner,项目名称:SlackLight,代码行数:24,代码来源:posts.php

示例2: isset

            </div>

            <div class = "panel panel-primary" name = "<?php 
    DataManager::getChannelByName($_SESSION['channel']);
    ?>
">
                <div class = "panel-heading">
                    <h4 class="channelName"><?php 
    echo isset($_SESSION['channel']) && $_SESSION['channel'] ? $_SESSION['channel'] : "Default";
    ?>
</h4></div>
                <div class = "panel-body panel-height">
                    <ul class = "media-list messageContainer">
                        <?php 
    $channel = DataManager::getChannelByName($_SESSION['channel']);
    $messages = DataManager::getPostsByChannel($channel->getID());
    //Util::stable_uasort($messages, 'Util::MessageCmp');
    foreach ($messages as $message) {
        $author = DataManager::getUserById($message->getAuthor());
        $status = DataManager::getPostStatus($message->getId());
        if ($status != Status::PRIOR && $status != Status::DELETED) {
            Viewtility::viewMessage($message, $status);
        }
        /*
        if ($currUser) {
            if ($status == Status::UNREAD && $author->getUsername() != $currUser->getUsername()) {
                DataManager::changePostStatus($message->getID(), Status::READ);
                $message->setRead();
            }
        }
        */
开发者ID:amigobv,项目名称:chat,代码行数:31,代码来源:welcome.php

示例3: invokePostAction


//.........这里部分代码省略.........
                     if ($user->getUsername() === $_REQUEST[self::USR_NAME]) {
                         $this->forwardRequest(['The username ' . $_REQUEST[self::USR_NAME] . ' is already used!'], 'index.php?view=registration');
                     }
                 }
                 $user = DataManager::getUserByUsername($_REQUEST[self::USR_NAME]);
                 $userId = null;
                 if ($user) {
                     $userId = $user->getID();
                 } else {
                     $userId = DataManager::saveNewUser($_REQUEST[self::USR_FIRST_NAME], $_REQUEST[self::USR_LAST_NAME], $_REQUEST[self::USR_NAME], AuthenticationManager::getHash($_REQUEST[self::USR_NAME], $_REQUEST[self::USR_PASSWORD]));
                 }
                 DataManager::registrateUser($userId, $channel->getID());
             }
             if (!AuthenticationManager::authenticate($_REQUEST[self::USR_NAME], $_REQUEST[self::USR_PASSWORD])) {
                 $this->forwardRequest(['Invalid user information provided'], "index.php?view=registration");
             }
             $_SESSION[self::USR_CHANNELS] = $_REQUEST[self::USR_CHANNELS];
             // first channel should be selected as default channel
             $_SESSION['channel'] = $channels[0];
             Util::redirect();
             break;
         case self::POST_MSG:
             $channel = DataManager::getChannelByName($_SESSION['channel']);
             $user = AuthenticationManager::getAuthenticatedUser();
             $messages = DataManager::getAllUnansweredPosts($channel->getID());
             //TODO: mark message as answered
             foreach ($messages as $message) {
                 if ($message->getAuthor() != $user->getID()) {
                     DataManager::changePostStatus($message->getID(), Status::ANSWERED);
                 }
             }
             DataManager::publishMessage($user->getID(), $channel->getID(), $_REQUEST[self::POST_TITLE], $_REQUEST[self::POST_CONTENT], Status::UNREAD);
             break;
         case self::ACTION_CHANGE_CHANNEL:
             //print_r($_REQUEST);
             $_SESSION['channel'] = $_REQUEST['selectedChannel'];
             Util::redirect();
             break;
         case self::ACTION_JOIN_CHANNEL:
             $channel = DataManager::getChannelByName($_REQUEST[self::USR_CHANNEL]);
             $registratedUsers = DataManager::getUsersByChannelId($channel->getID());
             foreach ($registratedUsers as $user) {
                 if ($user->getUsername() === $_REQUEST[self::USR_NAME]) {
                     $this->forwardRequest(['User ' . $_REQUEST[self::USR_NAME] . ' is already registered!'], "index.php?view=join");
                 }
             }
             $user = DataManager::getUserByUsername($_REQUEST[self::USR_NAME]);
             if (!$user) {
                 $this->forwardRequest(['Please registrate, the user ' . $_REQUEST[self::USR_NAME] . ' does not exists!'], "index.php?view=register");
             }
             DataManager::registrateUser($user->getID(), $channel->getID());
             if (!AuthenticationManager::authenticate($_REQUEST[self::USR_NAME], $_REQUEST[self::USR_PASSWORD], $_REQUEST[self::USR_CHANNEL])) {
                 $this->forwardRequest(['Invalid user information provided'], "index.php?view=registration");
             }
             $_SESSION[self::USR_CHANNEL] = $_REQUEST[self::USR_CHANNEL];
             Util::redirect();
             break;
         case self::AJAX_SET_PRIO:
             if (isset($_POST) && $_POST) {
                 DataManager::changePostStatus($_POST['id'], Status::PRIOR);
                 echo "index.php?view=welcome";
             }
             break;
         case self::AJAX_RESET_PRIO:
             if (isset($_POST) && $_POST) {
                 DataManager::changePostStatus($_POST['id'], Status::READ);
                 echo "index.php?view=welcome";
             }
             break;
         case self::AJAX_DELETE_MESSAGE:
             if (isset($_POST) && $_POST) {
                 DataManager::changePostStatus($_POST['id'], Status::DELETED);
                 echo "index.php?view=welcome";
             }
             break;
         case self::AJAX_UPDATE_CHAT:
             $currUserId = isset($_SESSION['username']) ? $_SESSION['username'] : null;
             $channel = isset($_SESSION['channel']) ? $_SESSION['channel'] : null;
             if ($currUserId && $channel) {
                 $unreadPosts = DataManager::getAllUnreadPostsByUserId($currUserId);
                 foreach ($unreadPosts as $post) {
                     if ($post->getAuthor() != $currUserId) {
                         DataManager::changePostStatus($post->getId(), Status::READ);
                     }
                 }
             }
             if (isset($_POST) && $_POST) {
                 $channel = DataManager::getChannelByName($_REQUEST['channel']);
                 $messages = DataManager::getPostsByChannel($channel->getID());
                 $return = "";
                 foreach ($messages as $message) {
                     if ($message->exists()) {
                         $return .= Viewtility::viewMessage($message, DataManager::getPostStatus($message->getId()));
                     }
                 }
                 echo $return;
             }
             break;
     }
 }
开发者ID:amigobv,项目名称:chat,代码行数:101,代码来源:Controller.php


注:本文中的DataManager::getPostsByChannel方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。