Ejemplo n.º 1
0
 public function loadModelById($id)
 {
     $model = Chat::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     } else {
         return $model;
     }
 }
Ejemplo n.º 2
0
 /**
  * 
  * @param integer $relatedID
  * @param integer $userID
  * @param integer $lastID
  * @param mixed $data
  * @return Chat[]
  */
 public function yiichat_list_posts($relatedID, $userID, $lastID, $data)
 {
     $limit = 3;
     $rows = array();
     if ($lastID == -1) {
         $chats = Chat::model()->findAll(array('order' => 'datetime ASC', 'condition' => 'relatedID = :relatedID', 'params' => array(':relatedID' => $relatedID)));
         foreach ($chats as $key => $chat) {
             $rows[$key] = $this->restructureChat($chat);
         }
     } else {
         $chats = Chat::model()->findAll(array('condition' => 'userID != :userID AND relatedID = :relatedID', 'order' => 'datetime DESC', 'params' => array(':userID' => $userID, ':relatedID' => $relatedID)));
         $lastChats = $this->getLastPosts($chats, $limit, $lastID);
         foreach ($lastChats as $key => $lastChat) {
             $rows[$key] = $this->restructureChat($lastChat);
         }
     }
     return $rows;
 }
Ejemplo n.º 3
0
 /**
  * Добавление, редактирование, удаление сообщений в чате
  */
 public function actionSave_chat()
 {
     if (!Yii::app()->user->isGuest) {
         if (Yii::app()->request->isAjaxRequest) {
             $result = false;
             if (isset($_POST['idChat'])) {
                 $model = Chat::model()->findAllByPk((int) $_POST['idChat']);
             } else {
                 $model = new Chat();
             }
             switch ($_POST['action']) {
                 case 'add':
                     $model->text = trim(htmlspecialchars($_POST['text']));
                     $model->idUser = empty($this->_user) ? Users::getIdUserForAdmin() : $this->_user['idUser'];
                     if ($model->save()) {
                         $model->date = date('d.m.Y H:i', $model->date);
                         $model->nameUser = empty($this->_user) ? 'Админ' : (!empty($this->_user['lastFirstName']) ? $this->_user['lastFirstName'] : $this->_user['login']);
                         $result = $model;
                     }
                     break;
                 case 'edit':
                     if ($model->update(array('active' => (int) $_POST['active']))) {
                         $result = $model;
                     }
                     break;
                 case 'delete':
                     if ($model->delete()) {
                         $result = true;
                     }
                     break;
             }
             echo CJSON::encode(array('result' => $result));
             exit;
         }
     }
 }
Ejemplo n.º 4
0
<?php

$date = date('Y-m-d H:i:s', strtotime("-30  minutes"));
$all = Chat::model()->findAll("id > :last and time > :lt", array('last' => $last, 'lt' => $date));
$cont = "";
$id = 0;
foreach ($all as $msg) {
    $cont .= "<div class='chat-msg' id='{$msg->id}' >\n";
    $cont .= "<div class='chat-user'>{$msg->user}</div>\n";
    $cont .= "<div class='chat-time'>{$msg->time}</div>\n";
    $cont .= "<div class='chat-content'>{$msg->content}</div>\n";
    $cont .= "</div>\n";
    $id = $msg->id;
}
if ($id == 0) {
    $id = Yii::app()->db->createCommand()->select('max(id)')->from('chat')->queryScalar();
}
echo json_encode(array('content' => $cont, 'last_id' => $id));
Ejemplo n.º 5
0
 /**
  * Returns the static model of the specified AR class.
  * Please note that you should have this exact method in all your CActiveRecord descendants!
  * @param string $className active record class name.
  * @return Chat the static model class
  */
 public static function model($className = __CLASS__)
 {
     return parent::model($className);
 }
Ejemplo n.º 6
0
 public function deleteChatMsg($idChat)
 {
     Chat::model()->deleteByPk($idChat);
 }