Exemplo n.º 1
0
    /**
     * Goes to the data source to load the list of templates.
     *
     * @param array Template list
     *
     * @return array Key-value pairs of template titles/compiled templates
     */
    protected function _getTemplatesFromDataSource(array $templateList)
    {
        $db = XenForo_Application::getDb();
        $templates = $db->fetchPairs('
			SELECT title, template_compiled
			FROM xf_brivium_admin_template_compiled
			WHERE title IN (' . $db->quote($templateList) . ')
				AND style_id = ?
				AND language_id = ?
		', array(self::$_styleId, self::$_languageId));
        if (in_array('PAGE_CONTAINER', $templateList)) {
            if (!isset($templates['PAGE_CONTAINER'])) {
                XenForo_Model::create('XenForo_Model_DataRegistry')->set('BRASS_rebuildTemplate', XenForo_Application::$time - 60);
                return parent::_getTemplatesFromDataSource($templateList);
            }
        }
        return $templates;
    }
Exemplo n.º 2
0
 public function renderAdminTemplate($name, $params = array(), $styleId = null, $languageId = null)
 {
     // user
     $user = $this->getUser();
     // Template
     $template = new XenForo_Template_Admin($name, $params);
     $template->setStyleId($styleId !== null ? $styleId : $user['style_id']);
     $template->setLanguageId($languageId !== null ? $languageId : $user['language_id']);
     return $template->render();
 }
Exemplo n.º 3
0
 /**
  * Preloads a template with the template handler for use later.
  *
  * @param string Template name
  */
 public function preloadTemplate($templateName)
 {
     XenForo_Template_Admin::preloadTemplate($templateName);
 }
Exemplo n.º 4
0
    /**
     *
     * @param string $action
     */
    protected function _upgradeAddOns()
    {
        $template = new XenForo_Template_Admin('PAGE_CONTAINER_SIMPLE', array('jQuerySource' => XenForo_Dependencies_Abstract::getJquerySource(), 'xenOptions' => XenForo_Application::get('options')->getOptions(), '_styleModifiedDate' => XenForo_Application::get('adminStyleModifiedDate')));
        $template->setLanguageId(1);
        $template->setParam('title', 'Upgrading Add-ons...');
        $addOns = array_keys(self::getUpgradeAddOns(true));
        $addOnModel = XenForo_Model::create('XenForo_Model_AddOn');
        $nextAddOnId = '';
        if (count($addOns)) {
            $next = self::$_controller->getInput()->filterSingle('next', XenForo_Input::STRING);
            if ($next) {
                $addOn = $next;
            } else {
                $addOn = reset($addOns);
            }
            for ($i = 0; $i < count($addOns); $i++) {
                if ($addOns[$i] != $addOn) {
                    unset($addOns[$i]);
                    continue;
                }
                break;
            }
            $fileName = XenForo_Application::getInstance()->getRootDir() . '/install/data/addon-' . $addOn . '.xml';
            try {
                $caches = $addOnModel->installAddOnXmlFromFile($fileName, $addOn);
                $template->setParam('contents', '<form action="' . XenForo_Link::buildAdminLink('add-ons/upgrade-all-from-xml') . '" class="xenForm formOverlay CacheRebuild" method="post">
					<p id="ProgressText">Upgrading... <span class="RebuildMessage"></span> <span class="DetailedMessage"></span></p>
					<p id="ErrorText" style="display: none">' . new XenForo_Phrase('error_occurred_or_request_stopped') . '</p>
					<input type="submit" class="button" value="Continue Upgrading" />
					<input type="hidden" name="_xfToken" value="' . XenForo_Visitor::getInstance()->get('csrf_token_page') . '" />
					</form>');
            } catch (Exception $e) {
                if (count($addOns) == 1) {
                    $template->setParam('contents', 'Upgrade error (' . $addOn . '). Please use the <a href="' . XenForo_Link::buildAdminLink('add-ons/upgrade', array('addon_id' => $addOn)) . '">standard upgrade tool</a> and report any error messages to the developer.');
                } else {
                    unset($addOns[array_search($addOn, $addOns)]);
                    $nextAddOnId = reset($addOns);
                    $template->setParam('contents', '<form action="' . XenForo_Link::buildAdminLink('add-ons/upgrade-all-from-xml') . '" class="xenForm formOverlay CacheRebuild" method="post">
						<p id="ProgressText">Upgrading... <span class="RebuildMessage"></span> <span class="DetailedMessage"></span></p>
						<p id="ErrorText" style="display: none">' . new XenForo_Phrase('error_occurred_or_request_stopped') . '</p>
						<input type="submit" class="button" value="Continue Upgrading" />
						<input type="hidden" name="next" value="' . $nextAddOnId . '" />
						<input type="hidden" name="_xfToken" value="' . XenForo_Visitor::getInstance()->get('csrf_token_page') . '" />
						</form>');
                }
            }
        } else {
            $caches = $addOnModel->rebuildAddOnCaches();
        }
        if (!count($addOns) && (isset($caches) || XenForo_Application::$versionId > 1020000)) {
            if (self::$_controller->getRouteMatch()->getResponseType() == 'json') {
                header('Content-Type: application/json; charset=UTF-8');
                echo json_encode(array('_redirectTarget' => XenForo_Link::buildAdminLink('index')));
            } else {
                header('Location: ' . XenForo_Link::buildAdminLink('index'));
            }
        } elseif (count($addOns) == 1 && (isset($caches) || XenForo_Application::$versionId > 1020000)) {
            if (XenForo_Application::$versionId > 1020000) {
                $url = XenForo_Link::buildAdminLink('tools/run-deferred');
            } else {
                $url = XenForo_Link::buildAdminLink('tools/cache-rebuild', null, array('caches' => json_encode($caches)));
            }
            if (self::$_controller->getRouteMatch()->getResponseType() == 'json') {
                header('Content-Type: application/json; charset=UTF-8');
                echo json_encode(array('_redirectTarget' => $url));
            } else {
                header('Location: ' . $url);
            }
        } else {
            if (self::$_controller->getRouteMatch()->getResponseType() == 'json') {
                echo json_encode(array('_redirectTarget' => XenForo_Link::buildAdminLink('add-ons/upgrade-all-from-xml', array(), array('next' => $nextAddOnId))));
            } else {
                $output = $template->render();
                $output = str_replace("<!--XenForo_Require:JS-->", '<script src="js/xenforo/cache_rebuild.js"></script>', $output);
                echo $output;
            }
        }
        exit;
    }
Exemplo n.º 5
0
 /**
  * Resets the template system state.
  */
 public static function reset()
 {
     self::$_templateCache = array();
     self::$_toLoad = array();
 }
Exemplo n.º 6
0
 public static function hook($hookName, &$contents, array $hookParams, XenForo_Template_Abstract $template)
 {
     $myTemplate = new XenForo_Template_Admin("association_custom_criteria", $template->getParams());
     $contents .= $myTemplate->render();
 }