示例#1
0
 public static function addExtension($classname)
 {
     $class = get_called_class();
     extension::add($class . '_CLASS', function () use($classname) {
         return $classname;
     });
 }
示例#2
0
 public function parseUrl($url)
 {
     $url = $this->deleteSubDir($url);
     $url = ltrim($url, '/');
     //Redirect falls alte URL
     preg_match('/.*?page_id=(\\d)*.*/', $url, $match);
     if (isset($match[1]) && page::isValid($match[1])) {
         $this->redirect($match[1]);
     }
     // Überflüssige Zeichen löschen, damit eine reine URL angezeigt wird
     $url = self::removeWastedParts($url);
     if (isset(self::$pathlist[$url])) {
         $id = self::$pathlist[$url];
         extension::add('SET_PAGE_ID', function () use($id) {
             return $id;
         });
     }
     if ($url == '') {
         $id = dyn::get('start_page');
     }
     if (!isset($id)) {
         header('HTTP/1.0 404 Not Found');
         $id = dyn::get('error_page');
     }
     return $id;
 }
示例#3
0
 public function parseUrl($url)
 {
     $url = str_replace(dyn::get('hp_url'), '', $url);
     $url = trim($url, '/');
     if (isset(self::$pathlist[$url])) {
         $id = self::$pathlist[$url];
         extension::add('SET_PAGE_ID', function () use($id) {
             return $id;
         });
     }
     if ($url == '') {
         $id = dyn::get('start_page');
     }
     return $id;
 }
示例#4
0
 public static function addToPathlist($filter, $addonsUrls)
 {
     $addonnames = [];
     foreach (seo_control::getArticleNames(seo_control::getArticleByFilter($filter)) as $id => $name) {
         $name = rtrim($name, dyn::get('addons')['seo']['ending']);
         if ($name) {
             $name .= '/';
         }
         foreach ($addonsUrls as $addonname) {
             $addonnames[$name . $addonname] = $id;
         }
     }
     extension::add('SEO_GENERATE_PATHLIST', function ($list) use($addonnames) {
         $list = array_merge($addonnames, $list);
         return $list;
     });
 }
示例#5
0
userPerm::add('media[category][delete]', lang::get('media[category][delete]'));
if (dyn::get('user')->hasPerm('media[edit]') || dyn::get('user')->hasPerm('media[delete]') || dyn::get('user')->hasPerm('media[category][edit]') || dyn::get('user')->hasPerm('media[category][delete]')) {
    backend::addNavi(lang::get('media'), url::backend('media'), 'picture-o', 2, function () {
        return dir::addon('mediamanager', 'page' . DIRECTORY_SEPARATOR . 'media.php');
    });
}
form::addClassMethod('addMediaField', function ($name, $value) {
    return $this->addField($name, $value, 'formMedia');
});
form::addClassMethod('addMediaListField', function ($name, $value) {
    return $this->addField($name, $value, 'formMediaList');
});
$page = type::super('page', 'string');
$subpage = type::super('subpage', 'string');
$action = type::super('action', 'string');
pageArea::addType('varsMedia');
pageArea::addType('varsMedialist');
if (addonConfig::isActive('metainfos')) {
    metainfosPage::addType('DYN_MEDIA');
    metainfosPage::addType('DYN_MEDIA_LIST');
    if ($page == 'meta') {
        backend::addSubNavi(lang::get('media'), url::backend('meta', ['subpage' => 'media']), 'circle', -1, function () {
            return dir::addon('mediamanager', 'page' . DIRECTORY_SEPARATOR . 'meta.media.php');
        });
    }
    if ($page == 'media' && $subpage == 'files' && in_array($action, ['add', 'edit'])) {
        extension::add('FORM_BEFORE_ACTION', function ($form) {
            $form = metainfos::getMetaInfos($form, 'media');
        });
    }
}
示例#6
0
        $field->autofocus();
        $template = template::factory(dyn::get('template'));
        $field = $form->addElement('template', $template->getTemplates('template', $form->get('template')));
        $field->fieldName(lang::get('template'));
        $field = $form->addRadioField('online', $form->get('online'));
        $field->fieldName(lang::get('status'));
        $field->add(1, lang::get('online'));
        $field->add(0, lang::get('offline'));
        if ($action == 'edit') {
            $form->addHiddenField('id', $id);
        }
        extension::add('FORM_AFTER_SAVE', function ($sql) use($action, $id) {
            if ($action == 'add') {
                $id = $sql->insertId();
                pageMisc::updateTime($id, true);
            } else {
                pageMisc::updateTime($id);
            }
            return $sql;
        });
        if ($action == 'edit') {
            $title = $form->get('name');
        } else {
            $title = lang::get('add');
        }
        $buttons = ['<a class="btn btn-sm btn-warning" href="' . url::backend('structure', ['subpage' => 'pages', 'structure_id' => $form->get('id')]) . '">' . lang::get('modules') . '</a>', '<a class="btn btn-sm btn-default" href="' . url::backend('structure') . '">' . lang::get('back') . '</a>'];
        ?>
	<div class="row"><?php 
        echo bootstrap::panel($title, $buttons, $form->show());
        ?>
</div>
示例#7
0
    $subpage = type::super('subpage', 'string');
    $action = type::super('action', 'string');
    $structure_id = type::super('structure_id', 'int', 0);
    $id = type::super('id', 'int', 0);
    // Falls was an der Page geändert worden ist
    if ($page == 'structure' && $subpage == 'pages' && in_array($action, ['add', 'edit', 'seo']) && !$structure_id) {
        extension::add('FORM_AFTER_SAVE', function ($form) {
            seo_rewrite::generatePathlist();
            return $form;
        });
    }
    // Wenn SEO Button geklickt worden ist
    if ($page == 'structure' && $subpage == 'pages' && $action == 'seo') {
        seoPage::generateForm($id);
        layout::addJsCode("\n\t\tvar default_url = \$('#seo-costum-url').text();\n\t\t\n\t\t\$('#seo-costum-url-text').keyup(function() {\n\t\t\tvar val = \$(this).val();\n\t\t\t\n\t\t\tif(val == '')\n\t\t\t\tval = default_url;\n\t\t\t\t\t\t\t\n\t\t\t\$('#seo-costum-url').text(val);\n\t\t});\n\t\t\n\t\tvar default_title = \$('#seo-default-title').text();\n\t\t\$('#seo-title-text').keyup(function() {\n\t\t\tvar val = \$(this).val();\n\t\t\t\n\t\t\tif(val == '')\n\t\t\t\tval = default_title;\n\t\t\t\n\t\t\t\$('#seo-title').text(val);\n\t\t});\n\t\t");
    }
    // Wenn Sortiert worden ist
    if ($page == 'structure' && $subpage == 'pages' && (ajax::is() || $action == 'delete' && !$structure_id)) {
        extension::add('BACKEND_OUTPUT', function ($output) {
            seo_rewrite::generatePathlist();
            return $output;
        });
    }
    // Inhaltsseite der page
    if ($page == 'structure' && $subpage == 'pages' && ($structure_id || $action == 'edit' && $id)) {
        $id = $structure_id ? $structure_id : $id;
        extension::add('BACKEND_OUTPUT', function ($output) use($id) {
            return seoPage::generateButton($output, $id);
        });
    }
}
示例#8
0
文件: config.php 项目: DINKIN/rokket
<?php

layout::addNav(lang::get('console'), 'console', 'terminal', [], true);
layout::addCSS('addons/console/layout/css/console.css');
if ($page == 'console') {
    function consolePath()
    {
        return 'addons/console/console.php';
    }
    extension::add('PAGE_PATH', 'consolePath');
    layout::addJS('addons/console/layout/js/console.js');
}