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; }); }
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; });