function macros_title()
{
    $cmsController = cmsController::getInstance();
    $hierarchy = umiHierarchy::getInstance();
    $regedit = regedit::getInstance();
    if ($cmsController->getCurrentMode() == "") {
        if ($elementId = $cmsController->getCurrentElementId()) {
            if ($element = $hierarchy->getElement($elementId)) {
                if ($title = $element->getValue("title")) {
                    return $title;
                }
            }
        }
    }
    if ($cmsController->currentTitle) {
        return $cmsController->currentTitle;
    }
    $domainId = $cmsController->getCurrentDomain()->getId();
    $langId = $cmsController->getCurrentLang()->getId();
    $titlePrefix = trim($regedit->getVal("//settings/title_prefix/" . $langId . "/" . $domainId));
    if (strpos($titlePrefix, "%title_string%") !== false) {
        return str_replace("%title_string%", macros_header(), $titlePrefix);
    }
    $title = strlen($titlePrefix) ? $titlePrefix . ' ' . macros_header() : macros_header();
    return $title;
}
 private function prepareClientSideGlobalVariablesForXSLT()
 {
     $v6d9fecd2868e8a635b6d088c3e8068c2 = array();
     $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance();
     $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance();
     $v69ae498121c2d8e63f20c7144a0246d7 = umiObjectsCollection::getInstance();
     $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance();
     $v8e44f0089b076e18a718eb9ca3d94674 = $v41275a535677f79ff347e01bc530c176->getUserId();
     $v7552cd149af7495ee7d8225974e50f80 = $this->getCurrentElementId();
     $v7b975dff6c0134c6f231fd13895c2349 = $this->getCurrentModule();
     $vb6ad8768e9a35023e3d824c5057699d1 = $this->getCurrentMethod();
     $va5f3e7671419d689ba41872016aded04 = true;
     if ($v41275a535677f79ff347e01bc530c176->isAllowedMethod($v8e44f0089b076e18a718eb9ca3d94674, $v7b975dff6c0134c6f231fd13895c2349, $vb6ad8768e9a35023e3d824c5057699d1)) {
         $va5f3e7671419d689ba41872016aded04 = false;
         if ($v7552cd149af7495ee7d8225974e50f80) {
             list($v4b43b0aee35624cd95b910189b3dc231) = $v41275a535677f79ff347e01bc530c176->isAllowedObject($v8e44f0089b076e18a718eb9ca3d94674, $v7552cd149af7495ee7d8225974e50f80);
             if (!$v4b43b0aee35624cd95b910189b3dc231) {
                 $va5f3e7671419d689ba41872016aded04 = true;
                 $v6d9fecd2868e8a635b6d088c3e8068c2['attribute:not-permitted'] = 1;
             }
         }
     }
     if ($va5f3e7671419d689ba41872016aded04) {
         $v7b975dff6c0134c6f231fd13895c2349 = "users";
         $vb6ad8768e9a35023e3d824c5057699d1 = "login";
         $this->setCurrentModule($v7b975dff6c0134c6f231fd13895c2349);
         $this->setCurrentMethod($vb6ad8768e9a35023e3d824c5057699d1);
     }
     $this->currentHeader = def_module::parseTPLMacroses(macros_header());
     $v6d9fecd2868e8a635b6d088c3e8068c2 += array('@module' => $v7b975dff6c0134c6f231fd13895c2349, '@method' => $vb6ad8768e9a35023e3d824c5057699d1, '@domain' => $this->getCurrentDomain()->getHost(), '@system-build' => $vb1444fb0c07653567ad325aa25d4e37a->getVal("//modules/autoupdate/system_build"), '@lang' => $this->getCurrentLang()->getPrefix(), '@pre-lang' => $this->pre_lang, '@header' => $this->currentHeader, '@title' => def_module::parseTPLMacroses(macros_title()), '@site-name' => def_module::parseTPLMacroses(macros_sitename()), 'meta' => array('keywords' => macros_keywords(), 'description' => macros_describtion()));
     if (defined('CURRENT_VERSION_LINE') and CURRENT_VERSION_LINE == 'demo') {
         $v6d9fecd2868e8a635b6d088c3e8068c2['@demo'] = 1;
     }
     if (!is_null(getRequest('p'))) {
         $v6d9fecd2868e8a635b6d088c3e8068c2['@paging'] = "yes";
     }
     $v14e478589cc0c27c6e14f2eca7bc7ccd = cmsController::getInstance()->getModule("social_networks");
     if ($v14e478589cc0c27c6e14f2eca7bc7ccd && ($v32a2f74bd1a12b30d1879b4b0ab59d64 = $v14e478589cc0c27c6e14f2eca7bc7ccd->getCurrentSocial())) {
         $v6d9fecd2868e8a635b6d088c3e8068c2['@socialId'] = $v32a2f74bd1a12b30d1879b4b0ab59d64->getId();
     }
     if ($vb6ee27ee7fe19b0c0dd907d5f947aa12 = getServer('REQUEST_URI')) {
         $vafbad9dc43d3b9eb8533cd54a4df6a87 = @parse_url($vb6ee27ee7fe19b0c0dd907d5f947aa12);
         $vb6ee27ee7fe19b0c0dd907d5f947aa12 = getArrayKey($vafbad9dc43d3b9eb8533cd54a4df6a87, 'path');
         $vf7cc8e4882789cf3335d9ed97f208c6f = getArrayKey($vafbad9dc43d3b9eb8533cd54a4df6a87, 'query');
         if ($v14e478589cc0c27c6e14f2eca7bc7ccd && ($v32a2f74bd1a12b30d1879b4b0ab59d64 = $v14e478589cc0c27c6e14f2eca7bc7ccd->getCurrentSocial())) {
             $vf7cc8e4882789cf3335d9ed97f208c6f = "";
         }
         if ($vf7cc8e4882789cf3335d9ed97f208c6f) {
             parse_str($vf7cc8e4882789cf3335d9ed97f208c6f, $v5ebb3c9d5620968cde8459888eff1702);
             if (isset($v5ebb3c9d5620968cde8459888eff1702['p'])) {
                 unset($v5ebb3c9d5620968cde8459888eff1702['p']);
             }
             if (isset($v5ebb3c9d5620968cde8459888eff1702['xmlMode'])) {
                 unset($v5ebb3c9d5620968cde8459888eff1702['xmlMode']);
             }
             $vf7cc8e4882789cf3335d9ed97f208c6f = http_build_query($v5ebb3c9d5620968cde8459888eff1702, '', '&');
             if ($vf7cc8e4882789cf3335d9ed97f208c6f) {
                 $vb6ee27ee7fe19b0c0dd907d5f947aa12 .= '?' . $vf7cc8e4882789cf3335d9ed97f208c6f;
             }
         }
         $v6d9fecd2868e8a635b6d088c3e8068c2['@request-uri'] = $vb6ee27ee7fe19b0c0dd907d5f947aa12;
     }
     $v49f290d6e8459c53f31f97de37921086 = array();
     $v8e44f0089b076e18a718eb9ca3d94674 = $this->getModule('users')->user_id;
     $v49f290d6e8459c53f31f97de37921086['@id'] = $v8e44f0089b076e18a718eb9ca3d94674;
     $v3d88fcbaa3581c4957147ef9ad47ec5e = 'guest';
     if ($v41275a535677f79ff347e01bc530c176->isAuth() && ($vee11cbb19052e40b07aac0ca060c23ee = $v69ae498121c2d8e63f20c7144a0246d7->getObject($v8e44f0089b076e18a718eb9ca3d94674))) {
         $v3d88fcbaa3581c4957147ef9ad47ec5e = 'user';
         $v49f290d6e8459c53f31f97de37921086['@status'] = 'auth';
         $v49f290d6e8459c53f31f97de37921086['@login'] = $vee11cbb19052e40b07aac0ca060c23ee->login;
         $v49f290d6e8459c53f31f97de37921086['xlink:href'] = $vee11cbb19052e40b07aac0ca060c23ee->xlink;
         if ($v41275a535677f79ff347e01bc530c176->isAdmin()) {
             $v3d88fcbaa3581c4957147ef9ad47ec5e = 'admin';
             if ($v41275a535677f79ff347e01bc530c176->isSv()) {
                 $v3d88fcbaa3581c4957147ef9ad47ec5e = 'sv';
             }
         }
     }
     $v49f290d6e8459c53f31f97de37921086['@type'] = $v3d88fcbaa3581c4957147ef9ad47ec5e;
     if ($vabb341de59578cc2eefc8b95d451142b = $this->getModule("geoip")) {
         $vdfc4832c05a0296e4f53eff66626baec = $vabb341de59578cc2eefc8b95d451142b->lookupIp();
         if (!isset($vdfc4832c05a0296e4f53eff66626baec['special'])) {
             $v49f290d6e8459c53f31f97de37921086['geo'] = array('country' => $vdfc4832c05a0296e4f53eff66626baec['country'], 'region' => $vdfc4832c05a0296e4f53eff66626baec['region'], 'city' => $vdfc4832c05a0296e4f53eff66626baec['city'], 'latitude' => $vdfc4832c05a0296e4f53eff66626baec['lat'], 'longitude' => $vdfc4832c05a0296e4f53eff66626baec['lon']);
         } else {
             $v49f290d6e8459c53f31f97de37921086['geo'] = array('special' => $vdfc4832c05a0296e4f53eff66626baec['special']);
         }
     }
     $v6d9fecd2868e8a635b6d088c3e8068c2['user'] = $v49f290d6e8459c53f31f97de37921086;
     if ($v7552cd149af7495ee7d8225974e50f80 && ($v8e2dcfd7e7e24b1ca76c1193f645902b = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($v7552cd149af7495ee7d8225974e50f80))) {
         $v587a02d1eb09e2b2fd6514d36a7c3438 = $vb81ca7c0ccaa77e7aa91936ab0070695->getAllParents($v7552cd149af7495ee7d8225974e50f80);
         $v8e13d18cd44dd15da3533bd4db912ab8 = array();
         foreach ($v587a02d1eb09e2b2fd6514d36a7c3438 as $v72352a4d26581ef082a6d2243c5a6b88) {
             if ($v72352a4d26581ef082a6d2243c5a6b88 == 0) {
                 continue;
             }
             if ($va4f09cfeea7392a1f6df6a3de5c3bc9e = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($v72352a4d26581ef082a6d2243c5a6b88)) {
                 $v8e13d18cd44dd15da3533bd4db912ab8[] = $va4f09cfeea7392a1f6df6a3de5c3bc9e;
             }
         }
         $v6d9fecd2868e8a635b6d088c3e8068c2 += array('@pageId' => $v7552cd149af7495ee7d8225974e50f80, 'parents' => array('+page' => $v8e13d18cd44dd15da3533bd4db912ab8), 'full:page' => $v8e2dcfd7e7e24b1ca76c1193f645902b);
         def_module::pushEditable($v7b975dff6c0134c6f231fd13895c2349, $vb6ad8768e9a35023e3d824c5057699d1, $v7552cd149af7495ee7d8225974e50f80);
     } elseif ($v7b975dff6c0134c6f231fd13895c2349 == 'content' && $vb6ad8768e9a35023e3d824c5057699d1 == 'content') {
         $v7f2db423a49b305459147332fb01cf87 = outputBuffer::current();
         $v7f2db423a49b305459147332fb01cf87->status("404 Not Found");
         $v6d9fecd2868e8a635b6d088c3e8068c2['@method'] = "notfound";
     } elseif (!$va5f3e7671419d689ba41872016aded04 && $this->isAllowedExecuteMethod($v7b975dff6c0134c6f231fd13895c2349, $vb6ad8768e9a35023e3d824c5057699d1)) {
         try {
             $vd6fe1d0be6347b8ef2427fa629c04485 = getRequest('path');
             $v1bbcb648e0b1869444f3a2d344a5b3ac = explode("/", $vd6fe1d0be6347b8ef2427fa629c04485);
             if (count($v1bbcb648e0b1869444f3a2d344a5b3ac) < 2) {
                 throw new coreException("Invalid udata path");
             }
             $v1bbcb648e0b1869444f3a2d344a5b3ac[0] = $v7b975dff6c0134c6f231fd13895c2349;
             $v1bbcb648e0b1869444f3a2d344a5b3ac[1] = $vb6ad8768e9a35023e3d824c5057699d1;
             $vd6fe1d0be6347b8ef2427fa629c04485 = 'udata://' . implode("/", $v1bbcb648e0b1869444f3a2d344a5b3ac);
             $v6d9fecd2868e8a635b6d088c3e8068c2['xml:data'] = $this->executeStream($vd6fe1d0be6347b8ef2427fa629c04485);
         } catch (publicException $ve1671797c52e15f763380b45e841ec32) {
             $v6d9fecd2868e8a635b6d088c3e8068c2['data'] = $ve1671797c52e15f763380b45e841ec32;
         }
     }
     return $v6d9fecd2868e8a635b6d088c3e8068c2;
 }