Ejemplo n.º 1
0
 /**
  * Lists all Feed models.
  * @return mixed
  */
 public function actionIndex()
 {
     $query = new Query();
     $query->select('id, content, feed_data, template, created_at')->from('{{%home_feed}}')->where('user_id=:user_id', [':user_id' => Yii::$app->user->id])->orderBy('created_at DESC');
     $pages = Tools::Pagination($query);
     return $this->render('index', ['feeds' => $pages['result'], 'pages' => $pages['pages']]);
 }
Ejemplo n.º 2
0
 public function actionPost($id)
 {
     $model = $this->findModel($id);
     $query = (new Query())->select('*')->from('{{%home_post}}')->where('user_id=:user_id', [':user_id' => $model->id])->orderBy('created_at DESC');
     $posts = Tools::Pagination($query);
     return $this->render('/user/post', ['model' => $model, 'posts' => $posts['result'], 'pages' => $posts['pages']]);
 }
Ejemplo n.º 3
0
 public function actionPhotos()
 {
     $query = new Query();
     $query->select('a.id, a.name, p.path, u.username, u.avatar')->from('{{%home_album}} as a')->join('LEFT JOIN', '{{%home_photo}} as p', 'p.album_id=a.id')->join('LEFT JOIN', '{{%user}} as u', 'a.created_by=u.id')->where('a.status=:type', [':type' => Album::TYPE_PUBLIC])->orderBy('a.id DESC');
     $photosResult = Tools::Pagination($query, 25);
     return $this->render('photos', ['photos' => $photosResult['result'], 'pages' => $photosResult['pages']]);
 }
Ejemplo n.º 4
0
 public function getPhotos()
 {
     $query = new Query();
     $query->select('id, name, path')->from('{{%home_photo}}')->where('album_id=:id', [':id' => $this->id]);
     $photos = Tools::Pagination($query);
     return ['photos' => $photos['result'], 'pages' => $photos['pages']];
 }
Ejemplo n.º 5
0
 public function actionInbox()
 {
     $user = $this->findUserModel();
     $query = new Query();
     $query->select('*')->from('{{%user_message}}')->where('sendto=:sendto', [':sendto' => $user->id])->orderBy('created_at DESC');
     $pages = Tools::Pagination($query);
     return $this->render('inbox', ['messages' => $pages['result'], 'pages' => $pages['pages'], 'count' => $this->getMessageCount()]);
 }
Ejemplo n.º 6
0
 public function actionForumpost()
 {
     $model = $this->findModel();
     $query = new Query();
     $query = $query->select('*')->from('{{%forum_post}}')->where(['user_id' => $model->id])->orderBy('created_at desc');
     $pages = Tools::Pagination($query);
     return $this->render('myposts', ['model' => $model, 'posts' => $pages['result'], 'pages' => $pages['pages']]);
 }
Ejemplo n.º 7
0
 public function actionOutbox()
 {
     $user = $this->findUserModel();
     $query = new Query();
     $query->select('u.username, u.avatar, m.id, m.subject, m.read_indicator, m.created_at')->from('{{%user_message}} as m')->join('LEFT JOIN', '{{%user}} as u', 'u.id=m.sendto')->where('sendfrom=:sendfrom', [':sendfrom' => $user->id])->orderBy('m.created_at DESC');
     $pages = Tools::Pagination($query);
     return $this->render('messageList', ['messages' => $pages['result'], 'pages' => $pages['pages'], 'type' => 'outbox', 'count' => $this->getMessageCount()]);
 }
Ejemplo n.º 8
0
 public function actionIndex()
 {
     $this->layout = '@app/modules/user/views/layouts/user';
     $query = new Query();
     $query = $query->select('*')->from('{{%home_post}}')->where('user_id=:user_id', [':user_id' => Yii::$app->user->id])->orderBy('created_at DESC');
     $pages = Tools::Pagination($query);
     return $this->render('index', ['posts' => $pages['result'], 'pages' => $pages['pages']]);
 }
Ejemplo n.º 9
0
 /**
  * 获取话题
  * @return array
  */
 public function getThreads()
 {
     $query = new Query();
     $query->select('t.id, t.title, t.content, t.created_at, t.user_id, u.username, u.avatar')->from('{{%forum_thread}} as t')->join('LEFT JOIN', '{{%user}} as u', 'u.id=t.user_id')->where('t.board_id=:id', [':id' => $this->id])->orderBy('t.created_at DESC');
     $result = Tools::Pagination($query);
     return ['threads' => $result['result'], 'pages' => $result['pages']];
 }
Ejemplo n.º 10
0
 /**
  * 获取所有关注的用户信息
  * @param string $type 类型,'following':关注用户, 'follower':粉丝
  */
 public function getFollow($type)
 {
     $query = new Query();
     switch ($type) {
         case 'following':
             $query->select('u.id, u.username, u.avatar')->from('{{%user}} as u')->join('LEFT JOIN', '{{%user_follow}} as f', 'f.people_id = u.id')->where('f.user_id = :user_id', [':user_id' => $this->id])->orderBy('f.id DESC');
             break;
         case 'follower':
             $query->select('u.id, u.username, u.avatar')->from('{{%user}} as u')->join('LEFT JOIN', '{{%user_follow}} as f', 'f.user_id = u.id')->where('f.people_id = :user_id', [':user_id' => $this->id])->orderBy('f.id DESC');
             break;
         default:
             return false;
             break;
     }
     return Tools::Pagination($query);
 }
Ejemplo n.º 11
0
 /**
  * 获取回复的帖子
  * @return array
  */
 public function getPosts()
 {
     $query = new Query();
     $query->select('p.id,  p.content, p.created_at, p.user_id, u.username, u.avatar')->from('{{%forum_post}} as p')->join('LEFT JOIN', '{{%user}} as u', 'u.id=p.user_id')->where('p.thread_id=:id', [':id' => $this->id]);
     $result = Tools::Pagination($query);
     return ['posts' => $result['result'], 'pages' => $result['pages']];
 }
Ejemplo n.º 12
0
 /**
  * 获取论坛的评论
  */
 public function getComments()
 {
     $query = new Query();
     $query = $query->select('t.id, t.title, t.content, p.user_id, p.content as comment, p.created_at, u.username, u.avatar')->from('{{%forum_post}} as p')->join('LEFT JOIN', '{{%forum_thread}} as t', 'p.thread_id=t.id')->join('LEFT JOIN', '{{%user}} as u', 'u.id=p.user_id')->where('t.user_id=:user_id and p.user_id !=:user_id', [':user_id' => $this->id])->orderBy('p.created_at DESC');
     return Tools::Pagination($query);
 }
Ejemplo n.º 13
0
 public function getBroadcasts()
 {
     $query = new Query();
     $query = $query->select('*')->from('{{%forum_broadcast}}' . ' p')->where('forum_id=:forum_id', [':forum_id' => $this->id])->orderBy('created_at DESC');
     return \app\components\Tools::Pagination($query);
 }