summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/sysconfig/inc/configmodulebaseldap.inc.php')
-rw-r--r--modules-available/sysconfig/inc/configmodulebaseldap.inc.php11
1 files changed, 9 insertions, 2 deletions
diff --git a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
index d8a41a8b..d6fc3ed9 100644
--- a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
+++ b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
@@ -33,7 +33,10 @@ abstract class ConfigModuleBaseLdap extends ConfigModule
protected function generateInternal($tgz, $parent)
{
- Trigger::ldadp($this->id(), $parent);
+ $np = Trigger::ldadp($this->id(), $parent);
+ if ($np !== false) {
+ $parent = $np;
+ }
$config = $this->moduleData;
if (isset($config['certificate']) && !is_string($config['certificate'])) {
unset($config['certificate']);
@@ -64,7 +67,11 @@ abstract class ConfigModuleBaseLdap extends ConfigModule
$config['fixnumeric'] = 's';
}
$this->preTaskmanagerHook($config);
- return Taskmanager::submit('CreateLdapConfig', $config);
+ $task = Taskmanager::submit('CreateLdapConfig', $config);
+ if (is_array($task) && isset($task['id'])) {
+ Trigger::ldadp(null, $task['id']);
+ }
+ return $task;
}
/**