示例#1
0
    /**
     * Displays a single User model.
     * @param integer $id
     * @return mixed
     */
    public function actionIndex($id)
    {
        $model = $this->findModel($id);
        if (Yii::$app->Request->isAjax) {
            $avatar = Yii::getAlias('@avatar') . $model->avatar;
            $username = $model->username;
            $userUrl = Url::toRoute(['/user/view', 'id' => $username]);
            $userData = Yii::$app->userData->getKey(true, null, $model->id);
            $followUrl = Url::toRoute(['/user/user/follow', 'id' => $model->id]);
            //关注的文字
            if (User::getIsFollow($model->id)) {
                $followBtn = '<span class="glyphicon glyphicon glyphicon-eye-close"></span> ' . Yii::t('app', 'Unfollow');
            } else {
                $followBtn = '<span class="glyphicon glyphicon-plus"></span> ' . Yii::t('app', 'Follow');
            }
            $html = <<<HTML
              <div class="media">
                <div class="media-left">
                  <a href="{$userUrl}">
                    <img class="media-object" src="{$avatar}" alt="{$username}">
                  </a>
                </div>
                <div class="media-body">
                  <h4 class="media-heading">{$model->username}</h4>
                </div>
                <div class="media-footer">
                <div class="row">
                  <div class="col-xs-4 text-center">
                    <span class="block font-14">{$userData['following_count']}</span><br>
                    <small class="text-muted">关注</small>
                  </div><!-- /.col -->
                  <div class="col-xs-4 text-center">
                    <span class="block font-14">{$userData['follower_count']}</span><br>
                    <small class="text-muted">粉丝</small>
                  </div><!-- /.col -->
                  <div class="col-xs-4 text-center">
                    <span class="block font-14">{$userData['feed_count']}</span><br>
                    <small class="text-muted">文章</small>
                  </div><!-- /.col -->
                </div>
                <a class="btn btn-xs btn-success btn-follow" href="{$followUrl}">
                    {$followBtn}
                </a>
              </div>
HTML;
            return $html;
        }
        return $this->render('/user/index', ['model' => $model]);
    }
示例#2
0
 /**
  * @param integer $id User ID
  */
 public function actionFollow($id)
 {
     $id = intval($id);
     if (Yii::$app->Request->isAjax && Yii::$app->user->id !== $id) {
         if (User::getIsFollow($id)) {
             //已经关注,则删除记录,取消关注
             Yii::$app->db->createCommand("DELETE FROM {{%user_follow}} WHERE user_id=:user_id AND people_id=:id")->bindValues([':user_id' => Yii::$app->user->id, ':id' => $id])->execute();
             Yii::$app->userData->updateKey('following_count', Yii::$app->user->id, -1);
             Yii::$app->userData->updateKey('follower_count', $id, -1);
         } else {
             //还没有关注,则添加记录,添加关注
             Yii::$app->db->createCommand()->insert('{{%user_follow}}', ['user_id' => Yii::$app->user->id, 'people_id' => $id])->execute();
             Yii::$app->userData->updateKey('following_count', Yii::$app->user->id);
             Yii::$app->userData->updateKey('follower_count', $id);
         }
         return true;
     }
     return false;
 }