/**
  * @see SystemHandlerInterface::get_module_controller()
  * @param string $nav
  * @return arr�y
  * @throws BaseModuleControllerNotFoundException
  * @throws BaseModuleNotFoundException
  * @throws BaseModuleMissingException
  */
 public static function get_module_controller($nav)
 {
     if ($nav) {
         $nav_array = explode(".", $nav);
         $module_id = BaseModule_Access::get_module_id_by_module_name($nav_array[0]);
         if (is_numeric($module_id)) {
             $base_module = new BaseModule_Access($module_id);
             if (count($nav_array) == 1) {
                 $tmp_array = BaseModuleNavigation_Access::get_module_controller($module_id, null);
             } elseif (count($nav_array) == 2) {
                 $tmp_array = BaseModuleNavigation_Access::get_module_controller($module_id, $nav_array[1]);
             } else {
                 throw new BaseModuleControllerNotFoundException();
             }
             if (is_array($tmp_array) and count($tmp_array) == 2) {
                 $controller_array['path'] = $base_module->get_folder() . "/" . $tmp_array['controller_file'];
                 $controller_array['class'] = $tmp_array['controller_class'];
                 if (isset($nav_array[1])) {
                     $controller_array['alias'] = $nav_array[1];
                 } else {
                     $controller_array['alias'] = null;
                 }
                 return $controller_array;
             } else {
                 $controller_array = array();
                 $controller_array['path'] = $base_module->get_folder() . "/" . $nav_array[0] . ".request.php";
                 $controller_array['class'] = $base_module->get_class();
                 $controller_array['alias'] = null;
                 return $controller_array;
             }
         } else {
             throw new BaseModuleNotFoundException();
         }
     } else {
         throw new BaseModuleMissingException();
     }
 }
 /**
  * @todo implementation
  * Checks the sort-ID of the menu-entries and resorts them
  * @return bool
  */
 private static function clean_up()
 {
     if (BaseModuleNavigation_Access::check_position() == false) {
         $entry_array = BaseModuleNavigation_Access::list_ids();
         $number_of_entries = BaseModuleNavigation_Access::count_entries();
         for ($i = 1; $i <= $number_of_entries; $i++) {
             $base_module_navigation = new BaseModuleNavigation_Access($entry_array[$i - 1]);
             $base_module_navigation->set_position($i);
         }
     }
 }