public static function control()
 {
     global $REX;
     $myself = 'url_control';
     $addon = $REX['ADDON'][$myself]['addon'];
     $rewriter = $REX['ADDON'][$myself]['rewriter'];
     // http://www.domain.de/kategorie/artikel.html
     $url_full = parent::getFullRequestedUrl();
     $parse = parse_url($url_full);
     $url_path = $parse['path'];
     $sql = rex_sql::factory();
     //$sql->debugsql = true;
     $sql->setQuery('SELECT  *
                     FROM    ' . $REX['TABLE_PREFIX'] . 'url_control_manager
                     WHERE   status = "1"
                         AND (
                             url = "' . mysql_real_escape_string($url_full) . '"
                             OR
                             url = "' . mysql_real_escape_string($url_path) . '"
                         )
                 ');
     if ($sql->getRows() == 1) {
         $method = $sql->getValue('method');
         $params = unserialize($sql->getValue('method_parameters'));
         switch ($method) {
             case 'article':
                 $article_id = (int) $params['article']['article_id'];
                 $clang = (int) $params['article']['clang'];
                 if ($params['article']['action'] == 'view') {
                     return array('article_id' => $article_id, 'clang' => $clang);
                 } elseif ($params['article']['action'] == 'redirect') {
                     $a = OOArticle::getArticleById((int) $params['article']['article_id'], (int) $params['article']['clang']);
                     if ($a instanceof OOArticle) {
                         if (isset($rewriter[$addon]['get_url'])) {
                             $func = $rewriter[$addon]['get_url'];
                             $url = call_user_func($func, $article_id, $clang);
                         } else {
                             $url = $a->getUrl();
                         }
                     }
                     //$url = rex_getUrl((int) $params['article']['article_id'], (int) $params['article']['clang']);
                     self::redirect($a->getUrl(), $params['http_type']['code']);
                 }
                 break;
             case 'target_url':
                 $url = $params['target_url']['url'];
                 self::redirect($url, $params['http_type']['code']);
                 break;
         }
     }
     return false;
 }
 public static function init()
 {
     global $REX;
     self::$rex_server = $REX['SERVER'];
     url_generate::init();
 }
 /**
  * gibt alle Urls einer Tabelle zurück
  *
  */
 public static function getUrlsByTable($table_name)
 {
     $ids = self::getIds($table_name);
     if ($ids) {
         $save = array();
         foreach ($ids as $id => $path) {
             $save[$id] = parent::getCleanUrl($path);
         }
         return $save;
     }
 }
            $be_page->setHref('index.php?page=' . $addon . '&subpage=' . $mysubpage);
            $REX['ADDON']['pages'][$addon][] = $be_page;
        }
    }
    if ($rewriter[$addon]['subpages']) {
        foreach ($mysubpages as $mysubpage) {
            $REX['ADDON'][$addon]['SUBPAGES'][] = array($mysubpage, $I18N->msg('b_' . $mysubpage));
        }
    }
}
$subpage = rex_request('subpage', 'string');
if (rex_request('page', 'string') == $addon && in_array($subpage, $mysubpages)) {
    $file = str_replace('control_', '', $subpage);
    $REX['ADDON']['navigation'][$addon]['path'] = $REX['INCLUDE_PATH'] . '/addons/' . $addon . '/plugins/' . $myself . '/pages/' . $file . '.php';
}
if ($REX['MOD_REWRITE'] !== false && !$REX['SETUP']) {
    require_once $basedir . '/lib/url_control.php';
    require_once $basedir . '/lib/url_generate.php';
    require_once $basedir . '/lib/url_manager.php';
    $extension_point = $rewriter[$addon]['extension_point'];
    $extension_function = $rewriter[$addon]['extension_function'];
    rex_register_extension($extension_point, 'url_control::' . $extension_function);
    if (isset($rewriter[$addon]['sitemap_extension_point']) && isset($rewriter[$addon]['sitemap_extension_function'])) {
        $sitemap_extension_point = $rewriter[$addon]['sitemap_extension_point'];
        $sitemap_extension_function = $rewriter[$addon]['sitemap_extension_function'];
        rex_register_extension($sitemap_extension_point, 'url_control::' . $sitemap_extension_function);
    }
    rex_register_extension('ADDONS_INCLUDED', 'url_control::extension_register_extensions', '', REX_EXTENSION_EARLY);
    url_control::init();
    //rex_register_extension('ADDONS_INCLUDED', 'url_control::init');
}