Ejemplo n.º 1
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;
     });
 }
Ejemplo n.º 2
0
    seo::setPageId($id);
    $seoFunc = type::get('seo_func', 'string');
    if ($seoFunc == 'robots') {
        $robots = new seo_robots();
        $robots->send();
        die;
    }
    if ($seoFunc == 'sitemap') {
        $sitemap = new seo_sitemap();
        $sitemap->setArticles(dyn::get('addons')['seo']['sitemap']['offlines']);
        $sitemap->send();
        die;
    }
} else {
    userPerm::add('admin[seo]', 'SEO Administrator');
    seo_control::addToPathlist('default', seo_control::getUrlsFromTable('addons', ['id', 'name']));
    backend::addAddonNavi(lang::get('seo'), url::backend('seo'), 'flag', -1, function () {
        return dir::addon('seo', 'page' . DIRECTORY_SEPARATOR . 'seo.php');
    });
    seo::setPageId(dyn::get('start_page'));
    $page = type::super('page', 'string');
    $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 ($sql) {
            seo_rewrite::generatePathlist();
            return $sql;
        });