TagModule::autoContext PHP Метод

autoContext() защищенный Метод

protected autoContext ( null $Hint = null )
$Hint null
    protected function autoContext($Hint = null)
    {
        // If we're already configured, don't auto configure
        if (!is_null($this->ParentID) && is_null($Hint)) {
            return;
        }
        // If no hint was given, determine by environment
        if (is_null($Hint)) {
            if (Gdn::controller() instanceof Gdn_Controller) {
                $DiscussionID = Gdn::controller()->data('Discussion.DiscussionID', null);
                $CategoryID = Gdn::controller()->data('Category.CategoryID', null);
                if ($DiscussionID) {
                    $Hint = 'Discussion';
                } elseif ($CategoryID) {
                    $Hint = 'Category';
                } else {
                    $Hint = 'Global';
                }
            }
        }
        switch ($Hint) {
            case 'Discussion':
                $this->ParentType = 'Discussion';
                $DiscussionID = Gdn::controller()->data('Discussion.DiscussionID');
                $this->ParentID = $DiscussionID;
                break;
            case 'Category':
                if ($this->CategorySearch) {
                    $this->ParentType = 'Category';
                    $CategoryID = Gdn::controller()->data('Category.CategoryID');
                    $this->ParentID = $CategoryID;
                }
                break;
        }
        if (!$this->ParentID) {
            $this->ParentID = 0;
            $this->ParentType = 'Global';
        }
    }