diff options
author | Simon Rettberg | 2014-05-28 18:18:34 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-05-28 18:18:34 +0200 |
commit | e4e79982dd3c447a4ced762a6069db553e246f59 (patch) | |
tree | d17f74565ed5347350edeab412a07c77bd80a636 /modules/sysconfig | |
parent | WIP (diff) | |
download | slx-admin-e4e79982dd3c447a4ced762a6069db553e246f59.tar.gz slx-admin-e4e79982dd3c447a4ced762a6069db553e246f59.tar.xz slx-admin-e4e79982dd3c447a4ced762a6069db553e246f59.zip |
Fixed some bugs from Sateserver v05
Diffstat (limited to 'modules/sysconfig')
-rw-r--r-- | modules/sysconfig/addconfig.inc.php | 32 | ||||
-rw-r--r-- | modules/sysconfig/addmodule.inc.php | 23 | ||||
-rw-r--r-- | modules/sysconfig/addmodule_ad.inc.php | 9 | ||||
-rw-r--r-- | modules/sysconfig/addmodule_custom.inc.php | 4 |
4 files changed, 20 insertions, 48 deletions
diff --git a/modules/sysconfig/addconfig.inc.php b/modules/sysconfig/addconfig.inc.php index 6f076a12..96c29fea 100644 --- a/modules/sysconfig/addconfig.inc.php +++ b/modules/sysconfig/addconfig.inc.php @@ -8,21 +8,6 @@ abstract class AddConfig_Base { /** - * - * @var array Known module types - */ - protected static $types = array( - 'AD_AUTH' => array( - 'unique' => true, - 'group' => 'Authentifizierung' - ), - 'custom' => array( - 'unique' => false, - 'group' => 'Generisch' - ) - ); - - /** * Holds the instance for the currently executing step * @var \AddConfig_Base */ @@ -123,26 +108,27 @@ class AddConfig_Start extends AddConfig_Base protected function renderInternal() { + $mods = Page_SysConfig::getModuleTypes(); $res = Database::simpleQuery("SELECT moduleid, title, moduletype, filepath FROM configtgz_module" . " ORDER BY title ASC"); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { - if (!isset(self::$types[$row['moduletype']])) { - self::$types[$row['moduletype']] = array( + if (!isset($mods[$row['moduletype']])) { + $mods[$row['moduletype']] = array( 'unique' => false, 'group' => 'Undefined moduletype in addconfig.inc.php' ); } - if (!isset(self::$types[$row['moduletype']]['modules'])) { - self::$types[$row['moduletype']]['modules'] = array(); - self::$types[$row['moduletype']]['groupid'] = $row['moduletype']; + if (!isset($mods[$row['moduletype']]['modules'])) { + $mods[$row['moduletype']]['modules'] = array(); + $mods[$row['moduletype']]['groupid'] = $row['moduletype']; } if (empty($row['filepath']) || !file_exists($row['filepath'])) $row['missing'] = true; - self::$types[$row['moduletype']]['modules'][] = $row; + $mods[$row['moduletype']]['modules'][] = $row; } Render::addDialog('Konfiguration zusammenstellen', false, 'sysconfig/cfg-start', array( 'token' => Session::get('token'), 'step' => 'AddConfig_Finish', - 'groups' => array_values(self::$types) + 'groups' => array_values($mods) )); } @@ -195,7 +181,7 @@ class AddConfig_Finish extends AddConfig_Base protected function renderInternal() { - if (isset($this->task['statusCode']) && $this->task['statusCode'] === TASK_WAITING) { + if (isset($this->task['statusCode']) && ($this->task['statusCode'] === TASK_WAITING || $this->task['statusCode'] === TASK_PROCESSING)) { $this->task = Taskmanager::waitComplete($this->task['id']); } if ($this->task === false) $this->tmError(); diff --git a/modules/sysconfig/addmodule.inc.php b/modules/sysconfig/addmodule.inc.php index 883c196f..5af43c20 100644 --- a/modules/sysconfig/addmodule.inc.php +++ b/modules/sysconfig/addmodule.inc.php @@ -8,27 +8,11 @@ abstract class AddModule_Base { /** - * Holds all the known configuration modules, with title, description, start class for their wizard, etc. - * @var array - */ - protected static $moduleTypes = array(); - - /** * Holds the instance for the currently executing step * @var \AddModule_Base */ private static $instance = false; - public static function addModule($id, $startClass, $title, $description, $sortOrder = 0) - { - self::$moduleTypes[] = array( - 'startClass' => $startClass, - 'title' => $title, - 'description' => $description, - 'sortOrder' => $sortOrder - ); - } - /** * * @param type $step @@ -125,12 +109,13 @@ class AddModule_Start extends AddModule_Base protected function renderInternal() { $title = $order = array(); - foreach (AddModule_Base::$moduleTypes as $module) { + $mods = Page_SysConfig::getModuleTypes(); + foreach ($mods as $module) { $title[] = $module['title']; $order[] = $module['sortOrder']; } - array_multisort($order, SORT_ASC, $title, SORT_ASC, self::$moduleTypes); - Render::addDialog('Modul hinzufügen', false, 'sysconfig/start', array('modules' => self::$moduleTypes)); + array_multisort($order, SORT_ASC, $title, SORT_ASC, $mods); + Render::addDialog('Modul hinzufügen', false, 'sysconfig/start', array('modules' => array_values($mods))); } } diff --git a/modules/sysconfig/addmodule_ad.inc.php b/modules/sysconfig/addmodule_ad.inc.php index 459d7f2c..d533a2b8 100644 --- a/modules/sysconfig/addmodule_ad.inc.php +++ b/modules/sysconfig/addmodule_ad.inc.php @@ -4,9 +4,10 @@ * Wizard for setting up active directory integration for authentication. */ -AddModule_Base::addModule('active_directory', 'AdModule_Start', 'Active Directory Authentifizierung', +Page_SysConfig::addModule('AD_AUTH', 'AdModule_Start', 'Active Directory Authentifizierung', 'Mit diesem Modul ist die Anmeldung an den Client PCs mit den Benutzerkonten eines Active Directory' - . ' möglich. Je nach Konfiguration ist auch die Nutzung eines Benutzerverzeichnisses auf dem Client möglich.' + . ' möglich. Je nach Konfiguration ist auch die Nutzung eines Benutzerverzeichnisses auf dem Client möglich.', + 'Authentifizierung', true ); class AdModule_Start extends AddModule_Base @@ -88,8 +89,8 @@ class AdModule_Finish extends AddModule_Base Request::post('server'), Request::post('searchbase'), Request::post('binddn'), - Request::post('bindpw'), - Request::post('home') + Request::post('bindpw', ''), + Request::post('home', '') ); $config['proxyip'] = Property::getServerIp(); $tgz = Taskmanager::submit('CreateAdConfig', $config); diff --git a/modules/sysconfig/addmodule_custom.inc.php b/modules/sysconfig/addmodule_custom.inc.php index 070c1fd4..e5def1ef 100644 --- a/modules/sysconfig/addmodule_custom.inc.php +++ b/modules/sysconfig/addmodule_custom.inc.php @@ -6,12 +6,12 @@ * fancy is happening. */ -AddModule_Base::addModule('custom', 'CustomModule_UploadForm', 'Erweitertes Modul', +Page_SysConfig::addModule('custom', 'CustomModule_UploadForm', 'Erweitertes Modul', 'Mit einem Erweiterten Modul ist es möglich, beliebige Dateien zum Grundsystem hinzuzufügen.' . ' Nutzen Sie dieses Modul, um z.B. spezielle Konfigurationsdateien auf den Client PCs zu' . ' verwenden, die sich nicht mit einem der anderen Wizards erstellen lässt.' . ' Das Hinzufügen eines Erweiterten Moduls erfordert in der Regel zumindest grundlegende' - . ' Systemkenntnisse im Linuxbereich.', 100 + . ' Systemkenntnisse im Linuxbereich.', 'Generisch', false, 100 ); class CustomModule_UploadForm extends AddModule_Base |