Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        $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' => 'Тестовая страница')));
Ejemplo n.º 3
0
<?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');
}
Ejemplo n.º 4
0
/**
 * @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%';
}
Ejemplo n.º 5
0
<?php

include_once 'class/templater.php';
$view = new templater('templates/template_nowShowing.php');
$view->render();
Ejemplo n.º 6
0
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;
}