summaryrefslogtreecommitdiffstats
path: root/modules/sysconfig
diff options
context:
space:
mode:
authorSimon Rettberg2014-05-28 18:18:34 +0200
committerSimon Rettberg2014-05-28 18:18:34 +0200
commite4e79982dd3c447a4ced762a6069db553e246f59 (patch)
treed17f74565ed5347350edeab412a07c77bd80a636 /modules/sysconfig
parentWIP (diff)
downloadslx-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.php32
-rw-r--r--modules/sysconfig/addmodule.inc.php23
-rw-r--r--modules/sysconfig/addmodule_ad.inc.php9
-rw-r--r--modules/sysconfig/addmodule_custom.inc.php4
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