summaryrefslogtreecommitdiffstats
path: root/modules/sysconfig
diff options
context:
space:
mode:
authorSimon Rettberg2014-12-12 18:28:38 +0100
committerSimon Rettberg2014-12-12 18:28:38 +0100
commit97a0f7dcfdcf4a5263c1cc6c19160a0868abb5f2 (patch)
treecf735055cfb785ac64e60ab477e215f5f50ad767 /modules/sysconfig
parent[news] fix xml tags of news api (diff)
downloadslx-admin-97a0f7dcfdcf4a5263c1cc6c19160a0868abb5f2.tar.gz
slx-admin-97a0f7dcfdcf4a5263c1cc6c19160a0868abb5f2.tar.xz
slx-admin-97a0f7dcfdcf4a5263c1cc6c19160a0868abb5f2.zip
Rework config module class structure. Still some TODOs though....
Diffstat (limited to 'modules/sysconfig')
-rw-r--r--modules/sysconfig/addconfig.inc.php2
-rw-r--r--modules/sysconfig/addmodule.inc.php2
-rw-r--r--modules/sysconfig/addmodule_adauth.inc.php (renamed from modules/sysconfig/addmodule_ad.inc.php)35
-rw-r--r--modules/sysconfig/addmodule_branding.inc.php4
-rw-r--r--modules/sysconfig/addmodule_custommodule.inc.php (renamed from modules/sysconfig/addmodule_custom.inc.php)6
5 files changed, 23 insertions, 26 deletions
diff --git a/modules/sysconfig/addconfig.inc.php b/modules/sysconfig/addconfig.inc.php
index 1e2e870a..0f35095f 100644
--- a/modules/sysconfig/addconfig.inc.php
+++ b/modules/sysconfig/addconfig.inc.php
@@ -108,7 +108,7 @@ class AddConfig_Start extends AddConfig_Base
protected function renderInternal()
{
- $mods = Page_SysConfig::getModuleTypes();
+ $mods = ConfigModules::getList();
$res = Database::simpleQuery("SELECT moduleid, title, moduletype, filepath FROM configtgz_module"
. " ORDER BY title ASC");
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
diff --git a/modules/sysconfig/addmodule.inc.php b/modules/sysconfig/addmodule.inc.php
index 1191570d..7fa5b5b9 100644
--- a/modules/sysconfig/addmodule.inc.php
+++ b/modules/sysconfig/addmodule.inc.php
@@ -109,7 +109,7 @@ class AddModule_Start extends AddModule_Base
protected function renderInternal()
{
$title = $order = array();
- $mods = Page_SysConfig::getModuleTypes();
+ $mods = ConfigModules::getList();
foreach ($mods as $module) {
$title[] = $module['title'];
$order[] = $module['sortOrder'];
diff --git a/modules/sysconfig/addmodule_ad.inc.php b/modules/sysconfig/addmodule_adauth.inc.php
index d43c9129..4873d505 100644
--- a/modules/sysconfig/addmodule_ad.inc.php
+++ b/modules/sysconfig/addmodule_adauth.inc.php
@@ -4,10 +4,7 @@
* Wizard for setting up active directory integration for authentication.
*/
-Page_SysConfig::addModule('AD_AUTH', 'AdModule_Start', Dictionary::translate('lang_adAuthentication'), Dictionary::translate('lang_adModule'), Dictionary::translate('lang_authentication'), true
-);
-
-class AdModule_Start extends AddModule_Base
+class AdAuth_Start extends AddModule_Base
{
protected function renderInternal()
@@ -15,7 +12,7 @@ class AdModule_Start extends AddModule_Base
Session::set('ad_check', false);
Session::save();
Render::addDialog(Dictionary::translate('lang_adAuthentication'), false, 'sysconfig/ad-start', array(
- 'step' => 'AdModule_CheckConnection',
+ 'step' => 'AdAuth_CheckConnection',
'title' => Request::post('title'),
'server' => Request::post('server'),
'searchbase' => Request::post('searchbase'),
@@ -27,7 +24,7 @@ class AdModule_Start extends AddModule_Base
}
-class AdModule_CheckConnection extends AddModule_Base
+class AdAuth_CheckConnection extends AddModule_Base
{
private $taskIds;
@@ -41,7 +38,7 @@ class AdModule_CheckConnection extends AddModule_Base
$bindpw = Request::post('bindpw');
if (empty($server) || empty($binddn)) {
Message::addError('empty-field');
- AddModule_Base::setStep('AdModule_Start'); // Continues with AdModule_Start for render()
+ AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
$parent = null;
@@ -57,7 +54,7 @@ class AdModule_CheckConnection extends AddModule_Base
'username' => $user
));
if (!isset($selfSearch['id'])) {
- AddModule_Base::setStep('AdModule_Start'); // Continues with AdModule_Start for render()
+ AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
$parent = $selfSearch['id'];
@@ -70,7 +67,7 @@ class AdModule_CheckConnection extends AddModule_Base
'bindpw' => $bindpw
));
if (!isset($ldapSearch['id'])) {
- AddModule_Base::setStep('AdModule_Start'); // Continues with AdModule_Start for render()
+ AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
$this->taskIds = array(
@@ -90,14 +87,14 @@ class AdModule_CheckConnection extends AddModule_Base
'bindpw' => Request::post('bindpw'),
'home' => Request::post('home'),
'originalbinddn' => $this->originalBindDn,
- 'step' => 'AdModule_Finish'
+ 'step' => 'AdAuth_Finish'
))
);
}
}
-class AdModule_Finish extends AddModule_Base
+class AdAuth_Finish extends AddModule_Base
{
private $taskIds;
@@ -107,26 +104,32 @@ class AdModule_Finish extends AddModule_Base
$binddn = Request::post('binddn');
$searchbase = Request::post('searchbase');
if (empty($searchbase)) {
+ // If no search base was given, determine it from the dn
$originalBindDn = str_replace('\\', '/', trim(Request::post('originalbinddn')));
if (!preg_match('#^([^/]+)/[^/]+$#', $originalBindDn, $out)) {
Message::addError('value-invalid', 'binddn', $originalBindDn);
- Util::redirect('?do=SysConfig&action=addmodule&step=AdModule_Start');
- }
+ Util::redirect('?do=SysConfig&action=addmodule&step=AdAuth_Start');
+ } // $out[1] is the domain
+ // Find the domain in the dn
$i = mb_stripos($binddn, '=' . $out[1] . ',');
if ($i === false) {
Message::addError('value-invalid', 'binddn', $out[1]);
- Util::redirect('?do=SysConfig&action=addmodule&step=AdModule_Start');
+ Util::redirect('?do=SysConfig&action=addmodule&step=AdAuth_Start');
}
+ // Now find ',' before it so we get the key
+ $i = mb_strrpos(mb_substr($binddn, 0, $i), ',');
+ if ($i === false)
+ $i = -1;
$searchbase = mb_substr($binddn, $i + 1);
}
$title = Request::post('title');
if (empty($title))
$title = 'AD: ' . Request::post('server');
- $config = ConfigModule::insertAdConfig($title, Request::post('server'), $searchbase, $binddn, Request::post('bindpw', ''), Request::post('home', ''));
+ $config = ConfigModule_AdAuth::insert($title, Request::post('server'), $searchbase, $binddn, Request::post('bindpw', ''), Request::post('home', ''));
$config['proxyip'] = Property::getServerIp();
$tgz = Taskmanager::submit('CreateAdConfig', $config);
if (!isset($tgz['id'])) {
- AddModule_Base::setStep('AdModule_Start'); // Continues with AdModule_Start for render()
+ AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
$this->taskIds = array(
diff --git a/modules/sysconfig/addmodule_branding.inc.php b/modules/sysconfig/addmodule_branding.inc.php
index 9612bedb..a6c16d9d 100644
--- a/modules/sysconfig/addmodule_branding.inc.php
+++ b/modules/sysconfig/addmodule_branding.inc.php
@@ -4,8 +4,6 @@
* Wizard for including a branding logo.
*/
-Page_SysConfig::addModule('BRANDING', 'Branding_Start', Dictionary::translate('lang_institutionLogo'), Dictionary::translate('lang_institutionLogo'), 'Branding', true);
-
class Branding_Start extends AddModule_Base
{
@@ -199,7 +197,7 @@ class Branding_Finish extends AddModule_Base
Message::addError('missing-file');
Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start');
}
- if (!ConfigModule::insertBrandingModule($title, $tgz))
+ if (!ConfigModule_Branding::insert($title, $tgz))
Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start');
Session::set('logo_tgz', false);
Session::save();
diff --git a/modules/sysconfig/addmodule_custom.inc.php b/modules/sysconfig/addmodule_custommodule.inc.php
index f79313e8..66ba33a5 100644
--- a/modules/sysconfig/addmodule_custom.inc.php
+++ b/modules/sysconfig/addmodule_custommodule.inc.php
@@ -6,11 +6,7 @@
* fancy is happening.
*/
-Page_SysConfig::addModule('custom', 'CustomModule_UploadForm', Dictionary::translate('lang_generic'),
- Dictionary::translate('lang_addCustomModuleInfo'), Dictionary::translate('lang_generic'), false, 100
-);
-
-class CustomModule_UploadForm extends AddModule_Base
+class CustomModule_Start extends AddModule_Base
{
protected function renderInternal()