From f80cbcb93bb50121bc126e2922e460dfa63c4864 Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Mon, 5 Jul 2010 22:37:36 +0000 Subject: [PATCH] - Create the admin account with the default language selected during the setup SVN:trunk[566] --- addons/userrights/userrightsmatrix.class.inc.php | 2 +- addons/userrights/userrightsnull.class.inc.php | 2 +- addons/userrights/userrightsprofile.class.inc.php | 4 ++-- core/userrights.class.inc.php | 6 +++--- setup/index.php | 5 +++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/addons/userrights/userrightsmatrix.class.inc.php b/addons/userrights/userrightsmatrix.class.inc.php index a85d4bf18..ab3d3c132 100644 --- a/addons/userrights/userrightsmatrix.class.inc.php +++ b/addons/userrights/userrightsmatrix.class.inc.php @@ -140,7 +140,7 @@ class UserRightsMatrix extends UserRightsAddOnAPI ); // Installation: create the very first user - public function CreateAdministrator($sAdminUser, $sAdminPwd) + public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage) { // Maybe we should check that no other user with userid == 0 exists $oUser = new UserRightsMatrixUsers(); diff --git a/addons/userrights/userrightsnull.class.inc.php b/addons/userrights/userrightsnull.class.inc.php index e4b034b90..e0fac725c 100644 --- a/addons/userrights/userrightsnull.class.inc.php +++ b/addons/userrights/userrightsnull.class.inc.php @@ -27,7 +27,7 @@ class UserRightsNull extends UserRightsAddOnAPI { // Installation: create the very first user - public function CreateAdministrator($sAdminUser, $sAdminPwd) + public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US') { return true; } diff --git a/addons/userrights/userrightsprofile.class.inc.php b/addons/userrights/userrightsprofile.class.inc.php index 10d7c644e..8defa5168 100644 --- a/addons/userrights/userrightsprofile.class.inc.php +++ b/addons/userrights/userrightsprofile.class.inc.php @@ -707,7 +707,7 @@ class UserRightsProfile extends UserRightsAddOnAPI ); // Installation: create the very first user - public function CreateAdministrator($sAdminUser, $sAdminPwd) + public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US') { // Create a change to record the history of the User object $oChange = MetaModel::NewObject("CMDBChange"); @@ -748,7 +748,7 @@ class UserRightsProfile extends UserRightsAddOnAPI $oUser->Set('login', $sAdminUser); $oUser->Set('password', $sAdminPwd); $oUser->Set('userid', $iContactId); - $oUser->Set('language', utils::GetConfig()->GetDefaultLanguage()); // Default language was chosen during the installation + $oUser->Set('language', $sLanguage); // Language was chosen during the installation $iUserId = $oUser->DBInsertTrackedNoReload($oChange); // Add this user to the very specific 'admin' profile diff --git a/core/userrights.class.inc.php b/core/userrights.class.inc.php index 7519e5dcd..a9e13c3e5 100644 --- a/core/userrights.class.inc.php +++ b/core/userrights.class.inc.php @@ -51,7 +51,7 @@ define('UR_ACTION_APPLICATION_DEFINED', 10000); // Application specific actions abstract class UserRightsAddOnAPI { abstract public function Setup(); // initial installation - abstract public function CreateAdministrator($sAdminUser, $sAdminPwd); // could be used during initial installation + abstract public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US'); // could be used during initial installation abstract public function Init(); // loads data (possible optimizations) abstract public function CheckCredentials($sLogin, $sPassword); // returns the id of the user or false @@ -111,9 +111,9 @@ class UserRights } // Installation: create the very first user - public static function CreateAdministrator($sAdminUser, $sAdminPwd) + public static function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US') { - return self::$m_oAddOn->CreateAdministrator($sAdminUser, $sAdminPwd); + return self::$m_oAddOn->CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage); } // Installation (e.g: give default values for users) diff --git a/setup/index.php b/setup/index.php index 1b0012379..891e47a55 100644 --- a/setup/index.php +++ b/setup/index.php @@ -400,7 +400,7 @@ function CreateDatabaseStructure(SetupWebPage $oP, Config $oConfig, $sDBName, $s * Helper function to create and administrator account for iTop * @return boolean true on success, false otherwise */ -function CreateAdminAccount(SetupWebPage $oP, Config $oConfig, $sAdminUser, $sAdminPwd) +function CreateAdminAccount(SetupWebPage $oP, Config $oConfig, $sAdminUser, $sAdminPwd, $sLanguage) { $oP->log('Info - CreateAdminAccount'); InitDataModel($oP, TMP_CONFIG_FILE, true); // allow missing DB @@ -877,6 +877,7 @@ function SampleDataSelection(SetupWebPage $oP, $aParamValues, $iCurrentStep, Con $oP->set_title("Application Initialization"); $sAdminUser = $aParamValues['auth_user']; $sAdminPwd = $aParamValues['auth_pwd']; + $sLanguage = $aParamValues['language']; $oConfig->SetDefaultLanguage($aParamValues['language']); $oConfig->WriteToFile(TMP_CONFIG_FILE); @@ -884,7 +885,7 @@ function SampleDataSelection(SetupWebPage $oP, $aParamValues, $iCurrentStep, Con $oP->add("\n"); AddParamsToForm($oP, $aParamValues, array('sample_data')); - if (CreateAdminAccount($oP, $oConfig, $sAdminUser, $sAdminPwd) && UserRights::Setup()) + if (CreateAdminAccount($oP, $oConfig, $sAdminUser, $sAdminPwd, $sLanguage) && UserRights::Setup()) { $oP->add("

Loading of sample data

\n"); $oP->p("
Do you want to load sample data into the database ? \n");