diff --git a/html/setup.php b/html/setup.php index b3765be913ac48857e0635833313520d92463f88..568c76a0d3ff119d5719f5a4d56a3f98dc9dc606 100644 --- a/html/setup.php +++ b/html/setup.php @@ -87,8 +87,9 @@ if (isset($_POST['lang_selected']) && $_POST['lang_selected'] != '') { Language::init($lang); -$smarty->assign("rtl", Language::isRTL($lang)); -$smarty->assign("must", '<span class="must">*</span>'); +$smarty->assign('lang', preg_replace('/_.*$/', '', $lang)); +$smarty->assign('rtl', Language::isRTL($lang)); +$smarty->assign('must', '<span class="must">*</span>'); /* Minimal config */ if (!session::global_is_set('config')) { diff --git a/include/class_exceptions.inc b/include/class_exceptions.inc index 16eeea5ada2acca4fcd606073314b4123478176b..1dc822e6c69d34e4cdf4436af8f0671e919aa0cc 100644 --- a/include/class_exceptions.inc +++ b/include/class_exceptions.inc @@ -71,6 +71,10 @@ class NoManagementClassException extends FusionDirectoryException { } +class UnknownClassException extends FusionDirectoryException +{ +} + class LDAPFailureException extends FusionDirectoryException { } diff --git a/include/class_pluglist.inc b/include/class_pluglist.inc index 7e7d79dde20a836487500def31bbcc7f9a8369db..3218dcbfb096b28d24caa060a9469298a7debae1 100644 --- a/include/class_pluglist.inc +++ b/include/class_pluglist.inc @@ -505,6 +505,9 @@ class pluglist { { $plist = session::global_get('plist'); if ($plist) { + if (!isset($plist->info[$cname])) { + throw new UnknownClassException($cname); + } return $plist->info[$cname]; } else { trigger_error('plist not loaded yet'); diff --git a/include/simpleplugin/class_simplePlugin.inc b/include/simpleplugin/class_simplePlugin.inc index c7963b7b85c32693a49bbd7563d7237f10d5f2c4..dc1c295db6f04da1e2eef35b40eab8f8061288e9 100644 --- a/include/simpleplugin/class_simplePlugin.inc +++ b/include/simpleplugin/class_simplePlugin.inc @@ -155,7 +155,12 @@ class simplePlugin $this->parent = $parent; $this->mainTab = $mainTab; - $plInfo = pluglist::pluginInfos(get_class($this)); + try { + $plInfo = pluglist::pluginInfos(get_class($this)); + } catch (UnknownClassException $e) { + /* May happen in special cases like setup */ + $plInfo = array(); + } if (empty($this->objectclasses) && isset($plInfo['plObjectClass'])) { $this->objectclasses = $plInfo['plObjectClass']; diff --git a/setup/class_setup.inc b/setup/class_setup.inc index 9d50e549d24708d39939b3320c57d83a1c110584..d316c02b718621f4a560fd55af822a7e315adfc1 100644 --- a/setup/class_setup.inc +++ b/setup/class_setup.inc @@ -64,7 +64,7 @@ class setup * but only do this, if user is allowed to use the setup. * If setupsetupStepWelcome is_completed, we are allowed to view those infos- */ - if (isset($_GET['info']) && preg_match("/setupStepWelcome/i", get_class($this->o_steps[1])) && $this->o_steps[1]->is_completed()) { + if (isset($_GET['info']) && preg_match('/setupStepWelcome/i', get_class($this->o_steps[0])) && $this->o_steps[0]->is_completed()) { phpinfo(); exit(); }