diff --git a/setup/class_setup.inc b/setup/class_setup.inc index 5efca8f88fb2d5f9b176abdf3013d572cda72cde..980bd22c940fb20aac3ff30f3975f2c5830e4aef 100644 --- a/setup/class_setup.inc +++ b/setup/class_setup.inc @@ -121,10 +121,6 @@ class setup implements FusionDirectoryDialog public function update (): bool { - if (!$this->selectable_step($this->i_current)) { - $this->i_current = $this->i_previous; - } - $this->o_steps[$this->i_previous]->update(); /* Get attributes from setup step */ @@ -155,9 +151,14 @@ class setup implements FusionDirectoryDialog } } + if (!$this->selectable_step($this->i_current)) { + $this->i_current = $this->i_previous; + } + if ($this->i_current != $this->i_previous) { $this->o_steps[$this->i_current]->update(); } + return TRUE; } @@ -267,12 +268,11 @@ class setup implements FusionDirectoryDialog } /* Called when LDAP is configured */ - function read_ldap_config () + public function read_ldap_config (array $captured_values) { global $config; - /* Get attributes from current ldap step */ - $tmp = $this->o_steps[$this->i_current]->get_attributes(); - foreach ($tmp as $name => $value) { + /* Get attributes from ldap step */ + foreach ($captured_values as $name => $value) { $this->captured_values[$name] = $value; } $smarty = get_smarty(); diff --git a/setup/class_setupStep.inc b/setup/class_setupStep.inc index 6e0907924534e79ca63588ff76b86a660cd015c5..a357213aa4e53bf1a3e729a4a6bcd90cc02866de 100644 --- a/setup/class_setupStep.inc +++ b/setup/class_setupStep.inc @@ -93,7 +93,7 @@ class setupStep extends simplePlugin } /* Return attributes handled by this setup step */ - function get_attributes () + public function get_attributes (): array { $tmp = []; foreach (array_keys($this->attributesAccess) as $attr) { diff --git a/setup/class_setupStepLdap.inc b/setup/class_setupStepLdap.inc index 1745b6b48697a1262b577377229a029b94c21ac9..92fe043539ad2f6e605b3cf9ffcc262f9a3d88e7 100644 --- a/setup/class_setupStepLdap.inc +++ b/setup/class_setupStepLdap.inc @@ -152,7 +152,7 @@ class setupStepLdap extends setupStep $this->status = $this->get_connection_status(); if ($this->bind_id && !empty($this->admin) && !empty($this->base)) { $this->is_completed = TRUE; - $this->parent->read_ldap_config(); + $this->parent->read_ldap_config($this->get_attributes()); } else { $this->is_completed = FALSE; } diff --git a/setup/class_setupStepMigrate.inc b/setup/class_setupStepMigrate.inc index a6c3faa391f515215cc49a935f3ff5134d7d9634..882982888b3dc6231137326768a646576a09e731 100644 --- a/setup/class_setupStepMigrate.inc +++ b/setup/class_setupStepMigrate.inc @@ -131,7 +131,7 @@ class StepMigrateCheck public $fnc; private $step; - public function __construct ($step, $name, $title) + public function __construct (setupStepMigrate $step, string $name, string $title) { $this->name = $name; $this->title = $title; @@ -434,7 +434,7 @@ class setupStepMigrate extends setupStep $mods['ou'] = $val; } - /*Append description, it is required by gosaDepartment too */ + /* Append description, it is required by gosaDepartment too */ if (!isset($attrs['description'])) { $val = "GOsa"; if (isset($attrs[$dep_infos['mainAttr']][0])) { @@ -447,7 +447,7 @@ class setupStepMigrate extends setupStep $this->rootOC_details['target'] = $str; $this->rootOC_details['mods'] = $mods; - /* Add button that allows to open the migration details */ + /* Add button that allows to open the migration details */ throw new CheckFailedException( _('Failed'), ' '.$checkobj->submit() @@ -460,6 +460,8 @@ class setupStepMigrate extends setupStep function check_baseOC_migrate (&$checkobj) { + /* Refresh $this->rootOC_details */ + $checkobj->run(); $this->openDialog(new StepMigrateDialog($checkobj, 'setup_migrate_baseOC.tpl', $this->rootOC_details)); } @@ -894,16 +896,15 @@ class setupStepMigrate extends setupStep } /* Creating user */ - $infos = $checkobj->getInfos(); $tabObject = objects::create('user'); $baseObject = $tabObject->getBaseObject(); $baseObject->givenName = 'System'; $baseObject->sn = 'Administrator'; - $baseObject->uid = $infos['uid']; + $baseObject->uid = $_POST['uid']; $baseObject->userPassword = [ '', - $infos['password'], - $infos['password2'], + $_POST['userPassword_password'], + $_POST['userPassword_password2'], '', FALSE ];