public function view($elementPath = "", $template = "default") { if ($this->breakMe()) { return; } $hierarchy = umiHierarchy::getInstance(); list($template_block) = def_module::loadTemplates("tpls/modulelements/{$template}.tpl", "view"); $elementId = $this->analyzeRequiredPath($elementPath); //echo $elementId; $element = $hierarchy->getElement($elementId); templater::pushEditable("modulelements", "item_element", $element->id); return self::parseTemplate($template_block, array('id' => $element->id), $element->id); }
$this->_field = $field; $this->_client_id = $client_id; } public function format($data, $type, $number = 0, $columns = null) { switch ($this->_field) { case 'actions': return '<a href="javascript:' . $this->_client_id . '.deleteItem(' . $data[0] . ');">Удалить</a>'; default: return parent::format($data, $type); } } } // Создаём DataSource $datasource = new grid_data_source(new grid_header_item_array(new grid_header_item('id', 'Id', type::STRING, true), new grid_header_item('title', 'Заголовок', type::STRING, true), new grid_header_item('actions', 'Действия', null, false, new my_grid_formatter('actions', $emanager->client_id())))); // Создаём новый грид и пейджер к нему $grid_pager = new ajax_grid_pager('my_grid_pager', mydata::get_total(), 5); $grid = new ajax_grid('my_grid', $datasource, $ajaxbuffer, $grid_pager); // выбираем текущую страницу отсортированных данных $mydata = mydata::get_page($grid_pager->get_pagesize(), $grid_pager->get_curpage(), $grid->get_sort_direction() != sorting::SORT_DIR_DESC); // добавляем данные в DataSource foreach ($mydata as $data) { $datasource->add_row(array($data[0], $data[1], $data)); } // чтобы было видно прогресс задержим рендеринг постбэка на секунду if ($ajaxbuffer->is_post_back()) { sleep(1); } // Выводим результат $templater = new templater(dirname(__FILE__) . '/templates/main.tpl.php'); die($templater->render(array('grid' => $grid, 'ajaxbuffer' => $ajaxbuffer, 'title' => 'Тестовая страница')));
<?php require_once 'app/templater.php'; # Make sure we have our requested film if (isset($_GET['film'])) { # Instantiate a new view $view = new templater('views/movies-view.php'); # Basic protection from script injection (you MUST do more if this will be sent to a database, see https://www.owasp.org/index.php/SQL_Injection) $output = htmlentities($_GET['film']); # Handle bad inputs if (strlen($output) < 1) { $output = 'Invalid input'; } # Set variable and render template $view->set('choice', $output); $view->render(); } else { # Redirect for errors header('Location:index.php'); }
/** * @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%'; }
<?php include_once 'class/templater.php'; $view = new templater('templates/template_nowShowing.php'); $view->render();
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; }