DiscussionsController::mine PHP Method

mine() public method

Display discussions started by the user.
Since: 2.0.0
public mine ( $Page = 'p1' )
    public function mine($Page = 'p1')
    {
        $this->permission('Garden.SignIn.Allow');
        Gdn_Theme::section('DiscussionList');
        // Set criteria & get discussions data
        list($Offset, $Limit) = offsetLimit($Page, c('Vanilla.Discussions.PerPage', 30));
        $Session = Gdn::session();
        $Wheres = array('d.InsertUserID' => $Session->UserID);
        $DiscussionModel = new DiscussionModel();
        $DiscussionModel->setSort(Gdn::request()->get());
        $DiscussionModel->setFilters(Gdn::request()->get());
        $this->setData('Sort', $DiscussionModel->getSort());
        $this->setData('Filters', $DiscussionModel->getFilters());
        $this->DiscussionData = $DiscussionModel->get($Offset, $Limit, $Wheres);
        $this->setData('Discussions', $this->DiscussionData);
        $CountDiscussions = $this->setData('CountDiscussions', $DiscussionModel->getCount($Wheres));
        $this->View = 'index';
        if (c('Vanilla.Discussions.Layout') === 'table') {
            $this->View = 'table';
        }
        // Build a pager
        $PagerFactory = new Gdn_PagerFactory();
        $this->EventArguments['PagerType'] = 'MorePager';
        $this->fireEvent('BeforeBuildMinePager');
        $this->Pager = $PagerFactory->GetPager($this->EventArguments['PagerType'], $this);
        $this->Pager->MoreCode = 'More Discussions';
        $this->Pager->LessCode = 'Newer Discussions';
        $this->Pager->ClientID = 'Pager';
        $this->Pager->configure($Offset, $Limit, $CountDiscussions, 'discussions/mine/%1$s');
        $this->setData('_PagerUrl', 'discussions/mine/{Page}');
        $this->setData('_Page', $Page);
        $this->setData('_Limit', $Limit);
        $this->fireEvent('AfterBuildMinePager');
        // Deliver JSON data if necessary
        if ($this->_DeliveryType != DELIVERY_TYPE_ALL) {
            $this->setJson('LessRow', $this->Pager->toString('less'));
            $this->setJson('MoreRow', $this->Pager->toString('more'));
            $this->View = 'discussions';
        }
        // Add modules
        $this->addModule('DiscussionFilterModule');
        $this->addModule('NewDiscussionModule');
        $this->addModule('CategoriesModule');
        $this->addModule('BookmarkedModule');
        // Render view
        $this->setData('Title', t('My Discussions'));
        $this->setData('Breadcrumbs', array(array('Name' => t('My Discussions'), 'Url' => '/discussions/mine')));
        $this->render();
    }