Blog::join PHP Method

join() public method

public join ( $userId ) : boolean
$userId
return boolean
    public function join($userId)
    {
        if ($this->isPrivate()) {
            return false;
        }
        if ($this->userIn((int) $userId)) {
            return true;
        }
        //check user status in blog
        $member = $this->getUserMembership($userId);
        if (null === $member) {
            $member = new UserToBlog();
            $member->blog_id = $this->id;
            $member->user_id = (int) $userId;
            $member->status = (int) $this->member_status;
        } else {
            if ($member->isDeleted()) {
                $member->activate();
            } else {
                return false;
            }
        }
        if ($member->save()) {
            Yii::app()->eventManager->fire(BlogEvents::BLOG_JOIN, new BlogJoinLeaveEvent($this, $userId));
            Yii::app()->getCache()->delete("Blog::Blog::members::{$userId}");
            return true;
        }
        return false;
    }

Usage Example

Ejemplo n.º 1
0
 public function listItem()
 {
     $currUser = Auth::user()->id;
     $oQuery = Blog::join('users', 'users.id', '=', 'user_id')->select('blogs.id as id', 'title', 'description', 'blogs.created_at as blog_create_at', 'users.name as user_name', 'users.id as user_id');
     if (Auth::user()->is_admin == 0) {
         $aBlog = $oQuery->where('user_id', '=', $currUser);
         $aBlog = $oQuery->paginate(10);
     } else {
         $aBlog = $oQuery->paginate(10);
     }
     return View::make('/blog/list', array('aBlog' => $aBlog));
 }