public static function parse($raw) { $compiler = new XenForo_Template_Compiler(sprintf('<xen:if is="%s">%s</xen:if>', $raw, md5($raw))); $compiler->addFunctionHandler('helper', new WidgetFramework_Helper_Conditional_Function_Helper()); $parsed = $compiler->lexAndParse(); $compiler->setFollowExternal(false); $parsed = $compiler->compileParsed($parsed, __CLASS__, 0, 0); return $parsed; }
/** * Verification callback to prepare a template. This isn't actually a verifier; * it just automatically compiles the template. * * @param string $string Uncompiled template * * @return boolean */ protected function _verifyPrepareTemplate($template) { $standardParse = true; $parsed = null; if (!$this->get('disable_modifications')) { $templateWithModifications = $this->_getModificationModel()->applyModificationsToTemplate($this->get('title'), $template, $modificationStatuses); } else { $modificationStatuses = null; $templateWithModifications = $template; } if ($modificationStatuses) { try { $compiler = new XenForo_Template_Compiler($templateWithModifications); $parsed = $compiler->lexAndParse(); if ($this->getOption(self::OPTION_TEST_COMPILE)) { $compiler->setFollowExternal(false); $compiler->compileParsed($parsed, $this->get('title'), 0, 0); } $standardParse = false; } catch (XenForo_Template_Compiler_Exception $e) { foreach ($modificationStatuses as &$status) { if (is_int($status)) { $status = 'error_compile'; } } } } if ($standardParse) { try { $compiler = new XenForo_Template_Compiler($template); $parsed = $compiler->lexAndParse(); if ($this->getOption(self::OPTION_TEST_COMPILE)) { $compiler->setFollowExternal(false); $compiler->compileParsed($parsed, $this->get('title'), 0, 0); } } catch (XenForo_Template_Compiler_Exception $e) { $this->error($e->getMessage(), 'template'); return false; } } $this->set('template_parsed', serialize($parsed)); $this->_modificationStatuses = $modificationStatuses; return true; }
protected static function VerifyTemplate(array $option, &$value, &$error) { try { $compiler = new XenForo_Template_Compiler($value); $parsed = $compiler->lexAndParse(); $compiler->setFollowExternal(false); $compiler->compileParsed($parsed, '', 0, 0); } catch (XenForo_Template_Compiler_Exception $e) { $error = $e->getMessage(); return false; } return true; }
/** * Verification callback to prepare a template. This isn't actually a verifier; * it just automatically compiles the template. * * @param string Uncompiled template * * @return true */ protected function _verifyPrepareTemplate($template) { try { $compiler = new XenForo_Template_Compiler($template); $parsed = $compiler->lexAndParse(); if ($this->getOption(self::OPTION_TEST_COMPILE)) { $compiler->setFollowExternal(false); $compiler->compileParsed($parsed, $this->get('title'), 0, 0); } } catch (XenForo_Template_Compiler_Exception $e) { $this->error($e->getMessage(), 'template'); return false; } $this->set('template_parsed', serialize($parsed)); return true; }