/** * @deprecated * Больше не используется в системе */ function macros_content() { static $res; if (!is_null($res)) { return $res; } $cmsController = cmsController::getInstance(); $current_module = $cmsController->getCurrentModule(); $current_method = $cmsController->getCurrentMethod(); $previousValue = $cmsController->isContentMode; $cmsController->isContentMode = true; if ($module = $cmsController->getModule($current_module)) { $pid = $cmsController->getCurrentElementId(); $permissions = permissionsCollection::getInstance(); $templater = $cmsController->getCurrentTemplater(); $isAdmin = $permissions->isAdmin(); if ($pid) { list($r, $w) = $permissions->isAllowedObject($permissions->getUserId(), $pid); if ($r) { $is_element_allowed = true; } else { $is_element_allowed = false; } } else { $is_element_allowed = true; } if (system_is_allowed($current_module, $current_method) && $is_element_allowed) { if ($parsedContent = $cmsController->parsedContent) { return $parsedContent; } if ($cmsController->getCurrentMode() == "admin") { try { if (!$templater->getIsInited()) { $res = $module->cms_callMethod($current_method, NULL); } } catch (publicException $e) { $templater->setDataSet($e); return $res = false; } } else { try { $res = $module->cms_callMethod($current_method, NULL); } catch (publicException $e) { $res = $e->getMessage(); } $res = system_parse_short_calls($res); $res = str_replace("%content%", "%content ", $res); $res = templater::getInstance()->parseInput($res); $res = system_parse_short_calls($res); } if ($res !== false && is_array($res) == false) { if ($cmsController->getCurrentMode() != "admin" && stripos($res, "%cut%") !== false) { if (array_key_exists("cut", $_REQUEST)) { if ($_REQUEST['cut'] == "all") { $_REQUEST['cut_pages'] = 0; return str_ireplace("%cut%", "", $res); } $cut = (int) $_REQUEST['cut']; } else { $cut = 0; } $res_arr = spliti("%cut%", $res); if ($cut > sizeof($res_arr) - 1) { $cut = sizeof($res_arr) - 1; } if ($cut < 0) { $cut = 0; } $_REQUEST['cut_pages'] = sizeof($res_arr); $_REQUEST['cut_curr_page'] = $cut; $res = $res_arr[$cut]; } $cmsControllerInstance = $cmsController; $cmsControllerInstance->parsedContent = $res; $cmsController->isContentMode = $previousValue; return $res; } else { $cmsController->isContentMode = $previousValue; return $res = '<notice>%core_templater% %core_error_nullvalue%</notice>'; } } else { if ($cmsController->getCurrentMode() == "admin" && $isAdmin) { if ($current_module == "content" && $current_method == "sitetree") { $regedit = regedit::getInstance(); $modules = $regedit->getList("//modules"); foreach ($modules as $item) { list($module) = $item; if (system_is_allowed($module) && $module != 'content') { $module_inst = $cmsController->getModule($module); $url = $module_inst->pre_lang . "/admin/" . $module . "/"; $module_inst->redirect($url); } } } } if ($module = $cmsController->getModule("users")) { header("Status: 401 Unauthorized"); $cmsController->setCurrentModule("users"); $cmsController->setCurrentMethod("login"); $cmsController->isContentMode = $previousValue; if ($isAdmin) { $module = $cmsController->getModule($current_module); if ($module->isMethodExists($current_method) == false) { $url = $module_inst->pre_lang . "/admin/content/sitetree/"; $module->redirect($url); } if ($cmsController->getCurrentMode() == "admin") { $e = new requreMoreAdminPermissionsException(getLabel("error-require-more-permissions")); $templater->setDataSet($e); } return $res = "<p><warning>%core_error_nopermission%</warning></p>" . $module->login(); } else { if ($templater instanceof xslAdminTemplater && $templater->getParsed()) { throw new requireAdminPermissionsException("No permissions"); } return $res = $module->login(); } } return $res = '<warning>%core_templater% %core_error_nullvalue% %core_error_nopermission%</warning>'; } } $cmsController->isContentMode = $previousValue; return $res = '%core_templater% %core_error_unknown%'; }
function system_parse_short_calls($v9b207167e5381c47682c6b4f58a623fb, $v7057e8409c7c531a1a6e9ac3df4ed549 = false, $vaf31437ce61345f416579830a98c91e5 = false, $vf7c0b9f29873bcb1daa361baa7a89b38 = array()) { if (!is_string($v9b207167e5381c47682c6b4f58a623fb) || strpos($v9b207167e5381c47682c6b4f58a623fb, "%") === false) { return $v9b207167e5381c47682c6b4f58a623fb; } $v594c103f2c6e04c3d8ab059f031e0c1a = cmsController::getInstance(); $vaff82898df44626b45c1db972ca61d6e = umiObjectsCollection::getInstance(); $v7eac10e56aecdee23bcc96aa52972dde = strpos($v9b207167e5381c47682c6b4f58a623fb, "%scope%") !== false; $v8e2dcfd7e7e24b1ca76c1193f645902b = NULL; $va8cfde6331bd59eb2ac96f8911c4b666 = NULL; if ($v7057e8409c7c531a1a6e9ac3df4ed549 === false && $vaf31437ce61345f416579830a98c91e5 === false) { $v7057e8409c7c531a1a6e9ac3df4ed549 = $v594c103f2c6e04c3d8ab059f031e0c1a->getCurrentElementId(); } if (strpos($v9b207167e5381c47682c6b4f58a623fb, "id%") !== false) { $v9b207167e5381c47682c6b4f58a623fb = str_replace("%id%", $v7057e8409c7c531a1a6e9ac3df4ed549, $v9b207167e5381c47682c6b4f58a623fb); $v9b207167e5381c47682c6b4f58a623fb = str_replace("%pid%", $v594c103f2c6e04c3d8ab059f031e0c1a->getCurrentElementId(), $v9b207167e5381c47682c6b4f58a623fb); } if ($v7057e8409c7c531a1a6e9ac3df4ed549 !== false) { if (!($v8e2dcfd7e7e24b1ca76c1193f645902b = umiHierarchy::getInstance()->getElement($v7057e8409c7c531a1a6e9ac3df4ed549))) { return $v9b207167e5381c47682c6b4f58a623fb; } else { $va8cfde6331bd59eb2ac96f8911c4b666 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); } } if ($vaf31437ce61345f416579830a98c91e5 !== false) { if (!($va8cfde6331bd59eb2ac96f8911c4b666 = $vaff82898df44626b45c1db972ca61d6e->getObject($vaf31437ce61345f416579830a98c91e5))) { return $v9b207167e5381c47682c6b4f58a623fb; } } if (!$va8cfde6331bd59eb2ac96f8911c4b666) { return $v9b207167e5381c47682c6b4f58a623fb; } $v87306dd4235ed712ebc07fe169b76f83 = $va8cfde6331bd59eb2ac96f8911c4b666->getTypeId(); $v7ae7003da59ae71dcc9f8638ef50593d = umiObjectTypesCollection::getInstance()->getType($v87306dd4235ed712ebc07fe169b76f83); if ($v7eac10e56aecdee23bcc96aa52972dde) { $vd05b6ed7d2345020440df396d6da7f73 = $v7ae7003da59ae71dcc9f8638ef50593d->getAllFields(); foreach ($vd05b6ed7d2345020440df396d6da7f73 as $v06e3d36fa30cea095545139854ad1fb9) { $vb068931cc450442b63f5b3d276ea4297 = $v06e3d36fa30cea095545139854ad1fb9->getName(); $vf7c0b9f29873bcb1daa361baa7a89b38[$vb068931cc450442b63f5b3d276ea4297] = $va8cfde6331bd59eb2ac96f8911c4b666->getValue($vb068931cc450442b63f5b3d276ea4297); } $v9b207167e5381c47682c6b4f58a623fb = str_replace("%scope%", system_print_template_scope($vf7c0b9f29873bcb1daa361baa7a89b38), $v9b207167e5381c47682c6b4f58a623fb); } if (preg_match_all("/%([A-z0-9\\-_]*)%/", $v9b207167e5381c47682c6b4f58a623fb, $vc68271a63ddbc431c307beb7d2918275)) { foreach ($vc68271a63ddbc431c307beb7d2918275[1] as $vfdb247e9e403c4f538e0942a2dac7d4c) { if ($v7ae7003da59ae71dcc9f8638ef50593d->getFieldId($vfdb247e9e403c4f538e0942a2dac7d4c) != false) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = $va8cfde6331bd59eb2ac96f8911c4b666->getValue($vfdb247e9e403c4f538e0942a2dac7d4c); if (is_object($v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { if ($v3a6d0284e743dc4a9b86f97d6dd1a3bf instanceof umiDate) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = $v3a6d0284e743dc4a9b86f97d6dd1a3bf->getFormattedDate("U"); } if ($v3a6d0284e743dc4a9b86f97d6dd1a3bf instanceof umiFile) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = $v3a6d0284e743dc4a9b86f97d6dd1a3bf->getFilePath(true); } if ($v3a6d0284e743dc4a9b86f97d6dd1a3bf instanceof umiHierarchy) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = $v3a6d0284e743dc4a9b86f97d6dd1a3bf->getName(); } } if (is_array($v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { $v2063c1608d6e0baf80249c42e2be5804 = ""; $v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($v3a6d0284e743dc4a9b86f97d6dd1a3bf); for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $vf19e92e810d08b6cf2d0265b779064d9 = $v3a6d0284e743dc4a9b86f97d6dd1a3bf[$v865c0c0b4ab0e063e5caa3387c1a8741]; if (is_numeric($vf19e92e810d08b6cf2d0265b779064d9)) { if ($vbe8f80182e0c983916da7338c2c1c040 = $vaff82898df44626b45c1db972ca61d6e->getObject($vf19e92e810d08b6cf2d0265b779064d9)) { $vf19e92e810d08b6cf2d0265b779064d9 = $vbe8f80182e0c983916da7338c2c1c040->getName(); unset($vbe8f80182e0c983916da7338c2c1c040); } else { continue; } } if ($vf19e92e810d08b6cf2d0265b779064d9 instanceof umiHierarchyElement) { $vf19e92e810d08b6cf2d0265b779064d9 = $vf19e92e810d08b6cf2d0265b779064d9->getName(); } $v2063c1608d6e0baf80249c42e2be5804 .= $vf19e92e810d08b6cf2d0265b779064d9; if ($v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55 - 1) { $v2063c1608d6e0baf80249c42e2be5804 .= ", "; } } $v3a6d0284e743dc4a9b86f97d6dd1a3bf = $v2063c1608d6e0baf80249c42e2be5804; } if (strpos($v3a6d0284e743dc4a9b86f97d6dd1a3bf, "%") !== false) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = templater::getInstance()->parseInput($v3a6d0284e743dc4a9b86f97d6dd1a3bf); } $v9b207167e5381c47682c6b4f58a623fb = str_replace("%" . $vfdb247e9e403c4f538e0942a2dac7d4c . "%", $v3a6d0284e743dc4a9b86f97d6dd1a3bf, $v9b207167e5381c47682c6b4f58a623fb); } } } if (strpos($v9b207167e5381c47682c6b4f58a623fb, "id%") !== false) { $v9b207167e5381c47682c6b4f58a623fb = str_replace("%id%", $v7057e8409c7c531a1a6e9ac3df4ed549, $v9b207167e5381c47682c6b4f58a623fb); $v9b207167e5381c47682c6b4f58a623fb = str_replace("%pid%", $v594c103f2c6e04c3d8ab059f031e0c1a->getCurrentElementId(), $v9b207167e5381c47682c6b4f58a623fb); } return $v9b207167e5381c47682c6b4f58a623fb; }