DashboardHooks::base_beforeFetchMaster_handler PHP Method

base_beforeFetchMaster_handler() public method

Checks if the user is previewing a theme and, if so, updates the default master view.
public base_beforeFetchMaster_handler ( Gdn_Controller $sender )
$sender Gdn_Controller
    public function base_beforeFetchMaster_handler($sender)
    {
        $session = Gdn::session();
        if (!$session->isValid()) {
            return;
        }
        if (isMobile()) {
            $theme = htmlspecialchars($session->getPreference('PreviewMobileThemeFolder', ''));
        } else {
            $theme = htmlspecialchars($session->getPreference('PreviewThemeFolder', ''));
        }
        $isDefaultMaster = $sender->MasterView == 'default' || $sender->MasterView == '';
        if ($theme != '' && $isDefaultMaster) {
            $htmlFile = paths(PATH_THEMES, $theme, 'views', 'default.master.tpl');
            if (file_exists($htmlFile)) {
                $sender->EventArguments['MasterViewPath'] = $htmlFile;
            } else {
                // for default theme
                $sender->EventArguments['MasterViewPath'] = $sender->fetchViewLocation('default.master', '', 'dashboard');
            }
        }
    }