+ ), __FUNCTION__, __LINE__);
+ } // END - if
+ } // END - if
+}
+
+// Function to register first admin
+function registerFirstAdmin () {
+ // Make sure that no admin is registered
+ assert(!isAdminRegistered());
+
+ // Admin is not registered so we have to inform the user
+ if ((isFormSent('add_first_admin')) && ((!isPostRequestElementSet('admin_login')) || (!isPostRequestElementSet('admin_password1')) || (strlen(postRequestElement('admin_password1')) < getConfig('minium_admin_pass_length')) || (!isPostRequestElementSet('admin_password2')) || (strlen(postRequestElement('admin_password2')) < getConfig('minium_admin_pass_length')) || (postRequestElement('admin_password1') != postRequestElement('admin_password2')))) {
+ setPostRequestElement('add_first_admin', '***');
+ } // END - if
+
+ // Clear error message
+ $errorMessage = '';
+ $ret = 'init';
+
+ // Is form for first admin sent?
+ if ((isFormSent('add_first_admin')) && (postRequestElement('add_first_admin') != '***')) {
+ // Hash the password with the old function because we are here in install mode
+ $hashedPass = md5(postRequestElement('admin_password1'));
+
+ // Kill maybe existing session variables
+ destroyAdminSession();
+
+ // Do registration
+ $ret = addAdminAccount(postRequestElement('admin_login'), $hashedPass, getWebmaster(), 'allow');
+
+ // Check if registration wents fine
+ switch ($ret) {
+ case 'done':
+ // Change ADMIN_REGISTERED entry
+ $done = changeDataInLocalConfigurationFile('ADMIN-SETUP', "setConfigEntry('ADMIN_REGISTERED', '", "');", 'Y', 0);
+
+ // Was it successfull?
+ if ($done === TRUE) {
+ // Registering is done
+ redirectToUrl('modules.php?module=admin&register=done');
+ } else {
+ // Registration incomplete
+ $errorMessage = '{--ADMIN_CANNOT_COMPLETE--}';
+
+ // Set this to have our error message displayed
+ setPostRequestElement('add_first_admin', '***');
+ }
+ break;
+
+ case 'failed': // Registration has failed
+ $errorMessage = '{--ADMIN_REGISTER_FAILED--}';
+
+ // Set this to have our error message displayed
+ setPostRequestElement('add_first_admin', '***');
+ break;
+
+ case 'already': // Admin does already exists!
+ $errorMessage = '{--ADMIN_LOGIN_ALREADY_REG--}';
+
+ // Set this to have our error message displayed
+ setPostRequestElement('add_first_admin', '***');
+ break;
+
+ default:
+ // Any other kind will be logged
+ $errorMessage = sprintf("Unknown return code %s from ifAdminLoginDataIsValid().", $ret);
+ logDebugMessage(__FUNCTION__, __LINE__, $errorMessage);
+
+ // Set this to have our error message displayed
+ setPostRequestElement('add_first_admin', '***');
+ break;
+ } // END - switch
+ } // END - if
+
+ // Whas that action okay?
+ if ($ret != 'done') {
+ // Init login name
+ $content['admin_login'] = '';
+ if (isPostRequestElementSet('admin_login')) {
+ $content['admin_login'] = postRequestElement('admin_login');