public function translate(DomDocument $v9a09b4dfda82e3e665e31092d1c3ec8d) { $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance(); $vd0c75bac742760cf71fd76cd75d0c02a = CURRENT_WORKING_DIR . '/xsl/import/' . $this->type . '.xsl'; if (!is_file($vd0c75bac742760cf71fd76cd75d0c02a)) { throw new publicException("Can't load translator {$vd0c75bac742760cf71fd76cd75d0c02a}"); } $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a); return $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d); }
public static function executeMacroses($v56491f2e1c74898e18bb6e47d2425b19, $vaf0bf69b4590545119c86ee0e59c088d = false, $v5d8603331b744a86bd36e07552225714 = false) { if (self::isParseTPLMacrosesAllowed()) { if (strpos($v56491f2e1c74898e18bb6e47d2425b19, '%') === false) { return $v56491f2e1c74898e18bb6e47d2425b19; } $v8980246496f088322ddf9eca96750755 = umiTemplater::create('TPL'); $v8980246496f088322ddf9eca96750755->executeOnlyAllowedMacroses(self::getAllowedTplMacroses()); $v8980246496f088322ddf9eca96750755->setScope($vaf0bf69b4590545119c86ee0e59c088d, $v5d8603331b744a86bd36e07552225714); $v56491f2e1c74898e18bb6e47d2425b19 = $v8980246496f088322ddf9eca96750755->parse(array(), $v56491f2e1c74898e18bb6e47d2425b19); } return $v56491f2e1c74898e18bb6e47d2425b19; }
public function end() { if (!DEBUG) { @ob_clean(); } if (getArrayKey($this->options, 'quick-edit')) { umiTemplater::prepareQuickEdit(); } if (CALC_E_TAG) { $this->sendETag(); } $this->push($this->getCallTime()); $this->send(); session_write_close(); exit; }
public function export($v92ec19ffde05e15769b1bb3ee05ad745) { if (!count($v92ec19ffde05e15769b1bb3ee05ad745)) { $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages'); $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page(0)->childs(0); $v92ec19ffde05e15769b1bb3ee05ad745 = $v8be74552df93e31bbdd6b36ed74bdb6a->result(); } $vbbd738a112791dd1d0cb6bd0d61d878f = $this->getUmiDump($v92ec19ffde05e15769b1bb3ee05ad745, "commerceML2"); $vd0c75bac742760cf71fd76cd75d0c02a = './xsl/export/' . $this->type . '.xsl'; if (!is_file($vd0c75bac742760cf71fd76cd75d0c02a)) { throw new publicException("Can't load exporter {$vd0c75bac742760cf71fd76cd75d0c02a}"); } $v9a09b4dfda82e3e665e31092d1c3ec8d = new DOMDocument("1.0", "utf-8"); $v9a09b4dfda82e3e665e31092d1c3ec8d->formatOutput = XML_FORMAT_OUTPUT; $v9a09b4dfda82e3e665e31092d1c3ec8d->loadXML($vbbd738a112791dd1d0cb6bd0d61d878f); $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a); return $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d); }
public function export($v01af57e4ae6d799566f5695b3679756b) { $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('objects'); $v8be74552df93e31bbdd6b36ed74bdb6a->types('object-type')->name('emarket', 'order'); $v8be74552df93e31bbdd6b36ed74bdb6a->where('need_export')->equals(1); $vbbd738a112791dd1d0cb6bd0d61d878f = $this->getUmiDumpObjects($v8be74552df93e31bbdd6b36ed74bdb6a->result, "CommerceML2"); $vd0c75bac742760cf71fd76cd75d0c02a = './xsl/export/' . $this->type . '.xsl'; if (!is_file($vd0c75bac742760cf71fd76cd75d0c02a)) { throw new publicException("Can't load exporter {$vd0c75bac742760cf71fd76cd75d0c02a}"); } $v9a09b4dfda82e3e665e31092d1c3ec8d = new DOMDocument("1.0", "utf-8"); $v9a09b4dfda82e3e665e31092d1c3ec8d->formatOutput = XML_FORMAT_OUTPUT; $v9a09b4dfda82e3e665e31092d1c3ec8d->loadXML($vbbd738a112791dd1d0cb6bd0d61d878f); $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a); $result = $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d); $result = str_replace('<?xml version="1.0" encoding="utf-8"?>', '<?xml version="1.0" encoding="windows-1251"?>', $result); $result = iconv("UTF-8", "CP1251//IGNORE", $result); return $result; }
public function export($v92ec19ffde05e15769b1bb3ee05ad745) { $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages'); $v8be74552df93e31bbdd6b36ed74bdb6a->types('hierarchy-type')->name('catalog', 'object'); if (count($v92ec19ffde05e15769b1bb3ee05ad745)) { foreach ($v92ec19ffde05e15769b1bb3ee05ad745 as $v9603a224b40d7b67210b78f2e390d00f) { $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page($v9603a224b40d7b67210b78f2e390d00f->id)->childs(1000); } } $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter("CommerceML2"); $ved780287e302ec3b9fd3c5e78771919f->addElements($v8be74552df93e31bbdd6b36ed74bdb6a->result()); $ved780287e302ec3b9fd3c5e78771919f->setIgnoreRelations(); $vbbd738a112791dd1d0cb6bd0d61d878f = $ved780287e302ec3b9fd3c5e78771919f->execute(); $vd0c75bac742760cf71fd76cd75d0c02a = './xsl/export/' . $this->type . '.xsl'; if (!is_file($vd0c75bac742760cf71fd76cd75d0c02a)) { throw new publicException("Can't load exporter {$vd0c75bac742760cf71fd76cd75d0c02a}"); } $v9a09b4dfda82e3e665e31092d1c3ec8d = new DOMDocument("1.0", "utf-8"); $v9a09b4dfda82e3e665e31092d1c3ec8d->formatOutput = XML_FORMAT_OUTPUT; $v9a09b4dfda82e3e665e31092d1c3ec8d->loadXML($vbbd738a112791dd1d0cb6bd0d61d878f->saveXML()); $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a); return $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d); }
public static function pushEditable($module, $method, $id) { umiTemplater::pushEditable($module, $method, $id); }
private final function doSomething() { if (defined("CRON") && constant('CRON') == 'CLI') { return true; } if (defined("CURRENT_VERSION_LINE") && CURRENT_VERSION_LINE != "demo") { return true; require CURRENT_WORKING_DIR . "/errors/invalid_license.html"; exit; } if (!is_writable(SYS_CACHE_RUNTIME) || file_exists(SYS_CACHE_RUNTIME . 'registry') && !is_writable(SYS_CACHE_RUNTIME . 'registry')) { return true; require CURRENT_WORKING_DIR . "/errors/invalid_permissions.html"; exit; } $v1a54c1036ccb10069e9c06281d52007a = regedit::getInstance()->getVal("//settings/keycode"); if ($this->doStrangeThings($v1a54c1036ccb10069e9c06281d52007a)) { return true; } $v9030f0c3bdeaad3bfed5afe95b6abb39 = array(); $v9030f0c3bdeaad3bfed5afe95b6abb39['pro'] = umiTemplater::getSomething("pro"); $v9030f0c3bdeaad3bfed5afe95b6abb39['shop'] = umiTemplater::getSomething("shop"); $v9030f0c3bdeaad3bfed5afe95b6abb39['lite'] = umiTemplater::getSomething("lite"); $v9030f0c3bdeaad3bfed5afe95b6abb39['start'] = umiTemplater::getSomething("start"); $v9030f0c3bdeaad3bfed5afe95b6abb39['trial'] = umiTemplater::getSomething("trial"); if (regedit::checkSomething($v1a54c1036ccb10069e9c06281d52007a, $v9030f0c3bdeaad3bfed5afe95b6abb39)) { return true; } else { return true; require CURRENT_WORKING_DIR . "/errors/invalid_license.html"; exit; } }
class umiTemplaterTPLTest extends umiTestCase {protected static $templater;public static function setUpBeforeClass() {self::$templater = umiTemplater::create('TPL', dirname(__FILE__) . "/data/umiTemplaterTPLTest.tpl");}public function testValidInstance() {$this->assertInstanceOf('umiTemplaterTPL', self::$templater);}public function testGetTemplates() {$v5a5dd4fd29235b1438d822b2a353c386 = self::$templater->getTemplatesSource();$v4dbdfdb5f7e507c8955733a7117cb0b3 = self::$templater->getTemplates($v5a5dd4fd29235b1438d822b2a353c386, 'template1', 'template2', 'template3');$v6b0e852a75c7df2e71d825ff0b3e1f6c = array(0 => 'template1', 1 => 'template2', 2 => 'template3');$this->assertEquals($v6b0e852a75c7df2e71d825ff0b3e1f6c, $v4dbdfdb5f7e507c8955733a7117cb0b3);}}?>
public static function getInstance($v4a8a08f09d37b73795649038408b5f33 = NULL) { return umiTemplater::create('TPL', null); }
class umiTemplaterTPLParsePageTest extends umiTestCase {protected static $templater;protected static $page;protected static $globalVars = array();public static function setUpBeforeClass() {self::$page = self::createPageFixture(__CLASS__, 'content', '');self::$page->content = 'Content';self::$page->title = 'Title';self::$page->meta_keywords = 'Keywords';self::$page->meta_descriptions = 'Description';self::$page->h1 = 'Header';self::$page->commit();$_REQUEST['path'] = '/' . self::$page->getAltName() . "/";self::controller()->analyzePath();$_REQUEST['test_request_param'] = 'testRequestParamValue';$_SERVER['test_server_param'] = 'testServerParamValue';self::$globalVars = self::controller()->getGlobalVariables();self::$templater = umiTemplater::create('TPL', dirname(__FILE__) . "/data/umiTemplaterTPLParsePageTest.tpl");self::$templater->setScope(self::$page->getId());}public static function tearDownAfterClass() {parent::tearDownAfterClass();unset($_REQUEST['path']);unset($_REQUEST['test_request_param']);unset($_SERVER['test_server_param']);}public function testParseShortMacroses() {$v9a0364b9e99bb480dd25e1f0284c8555 = "%header%";$v4dbdfdb5f7e507c8955733a7117cb0b3 = self::$templater->parse(self::$globalVars, $v9a0364b9e99bb480dd25e1f0284c8555);$this->assertEquals('Header', $v4dbdfdb5f7e507c8955733a7117cb0b3);}public function testParsePage() {$v9cd3487945daada914909f0b525e1284 = self::$templater->getTemplatesSource();list($v511e361e2a3590145939f3c570b28689) = self::$templater->getTemplates($v9cd3487945daada914909f0b525e1284, 'common');$v9931b1f15d0ba2b903c892bbfcff0448 = file_get_contents($v9cd3487945daada914909f0b525e1284);$this->assertEquals($v9931b1f15d0ba2b903c892bbfcff0448, $v511e361e2a3590145939f3c570b28689, 'Ошибка загрузки основного шаблона');$v13904f6a3227fdaa70cb2fb689caff5e = self::$templater->parse(self::$globalVars, $v511e361e2a3590145939f3c570b28689);$v71860c77c6745379b0d44304d66b6a13 = self::$page;$v0db3209e1adc6d67be435a81baf9a66e = $v71860c77c6745379b0d44304d66b6a13->getId();$vd2a2244210ba075db32a5f093f85ad7e = <<<EOF
public static function setEnabledCallStack($va10311459433adf322f2590a4987c423 = true) { return self::$callStackEnabled = $va10311459433adf322f2590a4987c423; }
class umiTemplaterXSLTParseAdminPageTest extends umiTestCase {protected static $templater;protected static $page;protected static $globalVars = array();protected static $actualResult;protected static $xPath;public static function setUpBeforeClass() {self::$page = self::createPageFixture(__CLASS__, 'content', '');self::$page->content = 'Content';self::$page->title = 'Title';self::$page->meta_keywords = 'Keywords';self::$page->meta_descriptions = 'Description';self::$page->h1 = 'Header';self::$page->commit();self::controller()->setCurrentMode('admin');$_REQUEST['path'] = '/admin/content/edit/' . self::$page->getId() . "/";self::controller()->analyzePath();$_REQUEST['test_request_param'] = 'testRequestParamValue';$_SERVER['test_server_param'] = 'testServerParamValue';self::$templater = umiTemplater::create('XSLT', dirname(__FILE__) . "/data/umiTemplaterXSLTParsePageTest.xsl");self::$globalVars = self::controller()->getGlobalVariables();$v136a063334d3fa03b2febfbb4855cbc3 = self::$templater->parse(self::$globalVars);self::$actualResult = new DOMDocument('1.0', 'utf-8');self::$actualResult->loadXML($v136a063334d3fa03b2febfbb4855cbc3);self::$xPath = new DOMXPath(self::$actualResult);}public static function tearDownAfterClass() {parent::tearDownAfterClass();unset($_REQUEST['path']);unset($_REQUEST['test_request_param']);unset($_SERVER['test_server_param']);}public function _testStreamWork() {$result = file_get_contents('udata://system/get_module_tabs/content/content');}public function testRequestParam() {$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testRequestParam']");$this->assertEquals('testRequestParamValue', $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue, 'Не передаются $_REQUEST-параметры в шаблон.');}}
public function generateFeed($elementId, $xslPath, $typeId = null) { $this->errorSetErrorPage('/'); if ($elementId && (!umiHierarchy::getInstance()->isExists($elementId) || !umiHierarchy::getInstance()->getElement($elementId)->getIsActive())) { if (def_module::isXSLTResultMode()) { $result = array('error' => '%data_feed_nofeed%'); return def_module::parseTemplate('', $result); } else { return '%data_feed_nofeed%'; } } if ($typeId) { list($name, $ext) = explode('-', $typeId); $hierarchyType = umiHierarchyTypesCollection::getInstance()->getTypeByName($name, $ext); if ($hierarchyType) { $typeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($hierarchyType->getId()); } } elseif ($elementId) { $typeId = umiHierarchy::getInstance()->getDominantTypeId($elementId); } else { $typeId = umiObjectTypesCollection::getInstance()->getTypeIdByGUID('news-item'); } $type = umiObjectTypesCollection::getInstance()->getType($typeId); if ($type instanceof umiObjectType) { $module = $type->getModule(); $method = $type->getMethod(); } if (!isset($module) && !isset($method)) { if (def_module::isXSLTResultMode()) { $result = array('error' => '%data_feed_nofeed%'); return def_module::parseTemplate('', $result); } else { return '%data_feed_nofeed%'; } } if (!$this->checkIfFeedable($module, $method)) { if (def_module::isXSLTResultMode()) { $result = array('error' => '%data_feed_wrong%'); return def_module::parseTemplate('', $result); } else { return '%data_feed_wrong%'; } } $rss_per_page = (int) regedit::getInstance()->getVal("//modules/news/rss_per_page"); $rss_per_page = $rss_per_page > 0 ? $rss_per_page : 10; $sel = new selector('pages'); $sel->option('return')->value('id'); $sel->where('hierarchy')->page($elementId)->childs(100); $sel->types('hierarchy-type')->name($module, $method); if ($type->getFieldId('publish_time')) { $sel->order('publish_time')->desc(); } $sel->limit(0, $rss_per_page); $result = array(); foreach ($sel->result() as $res) { $result[] = $res['id']; } $exporter = new xmlExporter('rss'); $exporter->addElements($result); $exporter->setIgnoreRelations(); $umiDump = $exporter->execute(); $styleFile = CURRENT_WORKING_DIR . "/" . $xslPath; if (!is_file($styleFile)) { throw new publicException("Can't load exporter {$styleFile}"); } $doc = new DOMDocument("1.0", "utf-8"); $doc->formatOutput = XML_FORMAT_OUTPUT; $doc->loadXML($umiDump->saveXML()); if (!$elementId) { $elementId = umiHierarchy::getInstance()->getDefaultElementId(); } $element = umiHierarchy::getInstance()->getElement($elementId); $language = langsCollection::getInstance()->getLang($element->getLangId())->getPrefix(); $link = umiHierarchy::getInstance()->getPathById($elementId); $description = $element->getIsDefault() ? '' : $element->getName(); $templater = umiTemplater::create('XSLT', $styleFile); $templater->setAdditionalVariables(array('link' => $link, 'description' => $description, 'language' => $language)); $resultXml = $templater->parse($doc); $buffer = outputBuffer::current(); $buffer->contentType('text/xml'); $buffer->clear(); $buffer->push($resultXml); $buffer->end(); }
class umiTemplaterXSLTTest extends umiTestCase {protected static $templater;public static function setUpBeforeClass() {self::$templater = umiTemplater::create('XSLT', dirname(__FILE__) . "/data/umiTemplaterXSLTTest.xsl");}public static function tearDownAfterClass() {}public function testValidInstance() {$this->assertInstanceOf('umiTemplaterXSLT', self::$templater);}public function testGlobalVariables() {$vb63119da730344b345cdc8f62a4711e9 = self::controller()->getGlobalVariables();$this->assertArrayHasKey('@module', $vb63119da730344b345cdc8f62a4711e9);}public function testGetTemplates() {$v5a5dd4fd29235b1438d822b2a353c386 = self::$templater->getTemplatesSource();$v4dbdfdb5f7e507c8955733a7117cb0b3 = self::$templater->getTemplates($v5a5dd4fd29235b1438d822b2a353c386, 'template1', 'template2', 'template3');$v6b0e852a75c7df2e71d825ff0b3e1f6c = array( 0 => 'file://' . $v5a5dd4fd29235b1438d822b2a353c386 . "#template1", 1 => 'file://' . $v5a5dd4fd29235b1438d822b2a353c386 . "#template2", 2 => 'file://' . $v5a5dd4fd29235b1438d822b2a353c386 . "#template3" );$this->assertEquals($v6b0e852a75c7df2e71d825ff0b3e1f6c, $v4dbdfdb5f7e507c8955733a7117cb0b3);}}?>
} if ((is_null($vebcb36c005e769a1576aa2a8d49539ec) || is_null($v18415cf46dd0e74b620c558a691ce8ff)) && !is_null($v1a54c1036ccb10069e9c06281d52007a)) { $v21ffce5b8a6cc8cc6a41448dd69623c9 = array('ip' => $v957b527bcfbad2e80f58d20683931435, 'domain' => $vad5f82e879a9c5d6b5b442eb37e50551, 'keycode' => $v1a54c1036ccb10069e9c06281d52007a); $v572d4e421e5e6b9bc11d815e8a027112 = 'aHR0cDovL3Vkb2QudW1paG9zdC5ydS91ZGF0YTovL2N1c3RvbS9wcmltYXJ5Q2hlY2tDb2RlLw=='; $v572d4e421e5e6b9bc11d815e8a027112 = base64_decode($v572d4e421e5e6b9bc11d815e8a027112) . base64_encode(serialize($v21ffce5b8a6cc8cc6a41448dd69623c9)) . '/'; $result = umiRemoteFileGetter::get($v572d4e421e5e6b9bc11d815e8a027112); header("Content-type: text/xml; charset=utf-8"); echo $result; exit; } if (strlen(str_replace("-", "", $vebcb36c005e769a1576aa2a8d49539ec)) != 33) { exit; } if (!$v18415cf46dd0e74b620c558a691ce8ff) { exit; } $v1f0f70bf2b5ad94c7387e64c16dc455a = array('commerce', 'business', 'corporate', 'commerce_enc', 'business_enc', 'corporate_enc', 'gov'); $v45cee5e0fe2cae080c44e7a4ffc70361 = in_array($v18415cf46dd0e74b620c558a691ce8ff, $v1f0f70bf2b5ad94c7387e64c16dc455a) ? 'pro' : $v18415cf46dd0e74b620c558a691ce8ff; $ve8701a96f778fea2f6da0920e291d189 = umiTemplater::getSomething($v45cee5e0fe2cae080c44e7a4ffc70361, $vad5f82e879a9c5d6b5b442eb37e50551); if ($ve8701a96f778fea2f6da0920e291d189 != substr($vebcb36c005e769a1576aa2a8d49539ec, 12)) { exit; } $v217e2983a64911094367051401904d3f = selector::get('domain')->id(1); $v217e2983a64911094367051401904d3f->setHost($vad5f82e879a9c5d6b5b442eb37e50551); $v217e2983a64911094367051401904d3f->commit(); $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance(); $vb1444fb0c07653567ad325aa25d4e37a->setVar("//settings/keycode", $vebcb36c005e769a1576aa2a8d49539ec); $vb1444fb0c07653567ad325aa25d4e37a->setVar("//settings/system_edition", $v18415cf46dd0e74b620c558a691ce8ff); $vb1444fb0c07653567ad325aa25d4e37a->setVar("//modules/autoupdate/system_edition", $v18415cf46dd0e74b620c558a691ce8ff); include CURRENT_WORKING_DIR . "/classes/modules/autoupdate/ch_m.php"; ch_remove_m_garbage();
public final function checkSelfKeycode() { $v1a54c1036ccb10069e9c06281d52007a = $this->getVal("//settings/keycode"); if (strlen($v1a54c1036ccb10069e9c06281d52007a) == 0) { return false; } $v903931b3a9d25a70683f51ab9d363d2e = $this->getVal("//settings/system_edition"); $v1f0f70bf2b5ad94c7387e64c16dc455a = array('commerce', 'business', 'corporate', 'commerce_enc', 'business_enc', 'corporate_enc'); $v45cee5e0fe2cae080c44e7a4ffc70361 = in_array($v903931b3a9d25a70683f51ab9d363d2e, $v1f0f70bf2b5ad94c7387e64c16dc455a) ? 'pro' : $v903931b3a9d25a70683f51ab9d363d2e; $v92eb5ffee6ae2fec3ad71c777531578f = array($v45cee5e0fe2cae080c44e7a4ffc70361 => umiTemplater::getSomething($v45cee5e0fe2cae080c44e7a4ffc70361)); return self::checkSomething($v1a54c1036ccb10069e9c06281d52007a, $v92eb5ffee6ae2fec3ad71c777531578f, true); }
public function updateYML() { $v100664c6e2c0333b19a729f2f3ddb7dd = CURRENT_WORKING_DIR . "/sys-temp/yml/"; $v100664c6e2c0333b19a729f2f3ddb7dd = CURRENT_WORKING_DIR . "/sys-temp/yml/"; $v6942e8fa62b3cc9d93881a58210e2fd7 = umiHierarchyTypesCollection::getInstance(); $v8c028488715d341980c5985fd02bfa1e = $v6942e8fa62b3cc9d93881a58210e2fd7->getTypeByName("catalog", "object"); $v3e78669aa9a1bfe336037e3d77a22705 = $v6942e8fa62b3cc9d93881a58210e2fd7->getTypeByName("catalog", "category"); $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); if (!$v8c028488715d341980c5985fd02bfa1e || !$v3e78669aa9a1bfe336037e3d77a22705) { return false; } if ($this->getHierarchyType()->getId() == $v3e78669aa9a1bfe336037e3d77a22705->getId()) { $this->checkYMLinclude(); if (!$this->is_active || $this->is_deleted) { $v397c47bd29ed2de23a264b3de9d0aeaf = $vb81ca7c0ccaa77e7aa91936ab0070695->getChildIds($this->getId(), false); foreach ($v397c47bd29ed2de23a264b3de9d0aeaf as $vf4f40123eb510dd3290125b38f4eb898) { $v0f635d0e0f3874fff8b581c132e6c7a7 = $v100664c6e2c0333b19a729f2f3ddb7dd . $vf4f40123eb510dd3290125b38f4eb898 . ".txt"; if (file_exists($v0f635d0e0f3874fff8b581c132e6c7a7)) { unlink($v0f635d0e0f3874fff8b581c132e6c7a7); } } } return true; } if ($this->getHierarchyType()->getId() != $v8c028488715d341980c5985fd02bfa1e->getId()) { return false; } if (!is_dir($v100664c6e2c0333b19a729f2f3ddb7dd)) { mkdir($v100664c6e2c0333b19a729f2f3ddb7dd, 0777, true); } $v0f635d0e0f3874fff8b581c132e6c7a7 = $v100664c6e2c0333b19a729f2f3ddb7dd . "{$this->id}.txt"; if (file_exists($v0f635d0e0f3874fff8b581c132e6c7a7)) { unlink($v0f635d0e0f3874fff8b581c132e6c7a7); } if ($this->is_active && !$this->is_deleted) { $v9c28d32df234037773be184dbdafc274 = $this->checkYMLinclude(); if (!count($v9c28d32df234037773be184dbdafc274)) { return false; } $vbfa030fe63bacd523dd70a76cfaed98a = $this->getParentId(); if ($vbfa030fe63bacd523dd70a76cfaed98a) { $vd0e45878043844ffc41aac437e86b602 = umiHierarchy::getInstance()->getElement($vbfa030fe63bacd523dd70a76cfaed98a, true, true); if ($vd0e45878043844ffc41aac437e86b602->getHierarchyType()->getId() != $v3e78669aa9a1bfe336037e3d77a22705->getId()) { $vbfa030fe63bacd523dd70a76cfaed98a = false; $vc68ad910ed49ac65f21f1bf2c5dbf912 = $vb81ca7c0ccaa77e7aa91936ab0070695->getAllParents($this->id, true, true); for ($v865c0c0b4ab0e063e5caa3387c1a8741 = count($vc68ad910ed49ac65f21f1bf2c5dbf912) - 1; $v865c0c0b4ab0e063e5caa3387c1a8741 >= 0; $v865c0c0b4ab0e063e5caa3387c1a8741--) { $veb26d1e3d9eea8920caf827a786b187f = $vc68ad910ed49ac65f21f1bf2c5dbf912[$v865c0c0b4ab0e063e5caa3387c1a8741]; $v0b7a661d35d52d96b26b9f3f3bd32aab = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($veb26d1e3d9eea8920caf827a786b187f, true); if ($v0b7a661d35d52d96b26b9f3f3bd32aab instanceof umiHierarchyElement && $v0b7a661d35d52d96b26b9f3f3bd32aab->getHierarchyType()->getId() == $v3e78669aa9a1bfe336037e3d77a22705->getId()) { $vbfa030fe63bacd523dd70a76cfaed98a = $veb26d1e3d9eea8920caf827a786b187f; break; } } } } if (!$vbfa030fe63bacd523dd70a76cfaed98a) { throw new publicAdminException(getLabel('error-update-yml')); } $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter('yml'); $ved780287e302ec3b9fd3c5e78771919f->addElements(array($this->id)); $ved780287e302ec3b9fd3c5e78771919f->setIgnoreRelations(); $vbbd738a112791dd1d0cb6bd0d61d878f = $ved780287e302ec3b9fd3c5e78771919f->execute(); $vd0c75bac742760cf71fd76cd75d0c02a = CURRENT_WORKING_DIR . '/xsl/export/YML.xsl'; if (!is_file($vd0c75bac742760cf71fd76cd75d0c02a)) { throw new publicException("Can't load exporter {$vd0c75bac742760cf71fd76cd75d0c02a}"); } $v9a09b4dfda82e3e665e31092d1c3ec8d = new DOMDocument("1.0", "utf-8"); $v9a09b4dfda82e3e665e31092d1c3ec8d->formatOutput = XML_FORMAT_OUTPUT; $v9a09b4dfda82e3e665e31092d1c3ec8d->loadXML($vbbd738a112791dd1d0cb6bd0d61d878f->saveXML()); $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a); $result = $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d); $vdd988cfd769c9f7fbd795a0f5da8e751 = new DOMDocument(); $vdd988cfd769c9f7fbd795a0f5da8e751->loadXML($result); $vd60db28d94d538bbb249dcc7f2273ab1 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName('offer')->item(0); if ($vd60db28d94d538bbb249dcc7f2273ab1) { $vc4ef352f74e502ef5e7bc98e6f4e493d = $vd60db28d94d538bbb249dcc7f2273ab1->getElementsByTagName('categoryId')->item(0); if ($vc4ef352f74e502ef5e7bc98e6f4e493d) { $vc4ef352f74e502ef5e7bc98e6f4e493d->nodeValue = $vbfa030fe63bacd523dd70a76cfaed98a; } $v9a0364b9e99bb480dd25e1f0284c8555 = iconv("UTF-8", "CP1251//IGNORE", $vdd988cfd769c9f7fbd795a0f5da8e751->saveXML($vd60db28d94d538bbb249dcc7f2273ab1)); file_put_contents($v0f635d0e0f3874fff8b581c132e6c7a7, $v9a0364b9e99bb480dd25e1f0284c8555); } $v7f24d9fc4140045241b3f97bcf36bf03 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName('currencies')->item(0); $v09c2a312ca0311b5e24340fe8f827077 = iconv("UTF-8", "CP1251//IGNORE", $vdd988cfd769c9f7fbd795a0f5da8e751->saveXML($v7f24d9fc4140045241b3f97bcf36bf03)); file_put_contents($v100664c6e2c0333b19a729f2f3ddb7dd . 'currencies', $v09c2a312ca0311b5e24340fe8f827077); $vdaeed474badc5873f59f5c1933dfa304 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName('name')->item(0); $vb068931cc450442b63f5b3d276ea4297 = $vdaeed474badc5873f59f5c1933dfa304->nodeValue; $v93c731f1c3a84ef05cd54d044c379eaa = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName('company')->item(0); $vdb486e4cdf8b2048591e59f683319c4c = $v93c731f1c3a84ef05cd54d044c379eaa->nodeValue; foreach ($v9c28d32df234037773be184dbdafc274 as $v013b012140e3049c2436475764dfba3c) { file_put_contents($v100664c6e2c0333b19a729f2f3ddb7dd . 'shop' . $v013b012140e3049c2436475764dfba3c, '<name>' . iconv("UTF-8", "CP1251//IGNORE", $vb068931cc450442b63f5b3d276ea4297) . '</name><company>' . iconv("UTF-8", "CP1251", $vdb486e4cdf8b2048591e59f683319c4c) . '</company><url>http://' . domainsCollection::getInstance()->getDomain($this->getDomainId())->getHost() . '</url>'); } } }
class umiTemplaterXSLTParsePageTest extends umiTestCase {protected static $templater;protected static $page;protected static $globalVars = array();protected static $actualResult;protected static $xPath;public static function setUpBeforeClass() {self::$page = self::createPageFixture(__CLASS__, 'content', '');self::$page->content = 'Content';self::$page->title = 'Title';self::$page->meta_keywords = 'Keywords';self::$page->meta_descriptions = 'Description';self::$page->h1 = 'Header';self::$page->commit();$_REQUEST['path'] = '/' . self::$page->getAltName() . "/";self::controller()->analyzePath(true);$_REQUEST['test_request_param'] = 'testRequestParamValue';$_SERVER['test_server_param'] = 'testServerParamValue';self::$templater = umiTemplater::create('XSLT', dirname(__FILE__) . "/data/umiTemplaterXSLTParsePageTest.xsl");self::$templater->setScope(self::$page->getId());self::$globalVars = self::controller()->getGlobalVariables();$v136a063334d3fa03b2febfbb4855cbc3 = self::$templater->parse(self::$globalVars);self::$actualResult = new DOMDocument('1.0', 'utf-8');self::$actualResult->loadXML($v136a063334d3fa03b2febfbb4855cbc3);self::$xPath = new DOMXPath(self::$actualResult);}public static function tearDownAfterClass() {parent::tearDownAfterClass();unset($_REQUEST['path']);unset($_REQUEST['test_request_param']);unset($_SERVER['test_server_param']);}public function testRequestParam() {$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testRequestParam']");$this->assertEquals('testRequestParamValue', $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue, 'Не передаются $_REQUEST-параметры в шаблон.');}public function testServerParam() {$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testServerParam']");$this->assertEquals('testServerParamValue', $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue, 'Не передаются $_SERVER-параметры в шаблон.');}public function testRepeatParse() {$v6052c20bf53f16f57139c21feff8ff8f = self::$actualResult;$v301ee7860666c81ec19ababbba418f26 = self::$templater->parse(self::$globalVars);$v1d137762d9282b91ae92344127e9cc59 = new DOMDocument('1.0', 'utf-8');$v1d137762d9282b91ae92344127e9cc59->loadXML($v301ee7860666c81ec19ababbba418f26);$this->assertEquals($v1d137762d9282b91ae92344127e9cc59->saveXML(), $v6052c20bf53f16f57139c21feff8ff8f->saveXML());}public function testParseSimpleProperties() {$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testParseProperies']/prop[@name = 'title']");$this->assertNotEmpty($v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0));$this->assertEquals(self::$page->title, $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue);$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testParseProperies']/prop[@name = 'meta_keywords']");$this->assertNotEmpty($v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0));$this->assertEquals(self::$page->meta_keywords, $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue);$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testParseProperies']/prop[@name = 'meta_descriptions']");$this->assertNotEmpty($v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0));$this->assertEquals(self::$page->meta_descriptions, $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue);$this->assertNotEmpty($v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0));$v1a13105b7e4eb5fb2e7c9515ac06aa48 = self::$xPath->evaluate("//test[@name = 'testParseProperies']/prop[@name = 'h1']");$this->assertEquals(self::$page->h1, $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue);}public function testParseTplScopeMacroses() {if (defined('XML_MACROSES_DISABLE') && XML_MACROSES_DISABLE) {throw new Exception("Не могу протестировать обработку TPL-макросов, включена опция XML_MACROSES_DISABLE");}self::$page->content = '%meta_keywords%,%pid%';self::$page->commit();$v136a063334d3fa03b2febfbb4855cbc3 = self::$templater->parse(self::$globalVars);$v4dbdfdb5f7e507c8955733a7117cb0b3 = new DOMDocument('1.0', 'utf-8');$v4dbdfdb5f7e507c8955733a7117cb0b3->loadXML($v136a063334d3fa03b2febfbb4855cbc3);$v5e9f367e6f6a355657c806a522cc5afb = new DOMXPath($v4dbdfdb5f7e507c8955733a7117cb0b3);$v1a13105b7e4eb5fb2e7c9515ac06aa48 = $v5e9f367e6f6a355657c806a522cc5afb->evaluate("//test[@name = 'testParseProperies']/prop[@name = 'content']");$this->assertEquals(self::$page->meta_keywords. "," . self::$page->getId(), $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)->nodeValue);}}
public static final function getSomething($v0f4153145310ca3a80263d772ccd01d4 = "pro", $v524605ba82e4bb94b84e3a394c2b5879 = null) { return umiTemplater::getSomething($v0f4153145310ca3a80263d772ccd01d4, $v524605ba82e4bb94b84e3a394c2b5879); }