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-параметры в шаблон.');}}
Exemple #14
0
 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);
 }