/** * Removes all users from a group after asking for confirmation * * @access private * @return string A template for the confirmation formular */ function _RemoveAllUsers() { // Get external parameters $GroupID = GetPostOrGet('group_id'); $Confirmation = GetPostOrGet('confirmation'); if ($GroupID != 0 && $Confirmation == 1) { // we got a group... check wether it got any users and if remove all of them $sql = 'SELECT * FROM ' . DB_PREFIX . "group_users\n\t\t\t\t\t\tWHERE group_id='{$GroupID}'"; $result = $this->_SqlConnection->SqlQuery($sql); if (mysql_fetch_object($result)) { // The group got some users... remove them! mysql_free_result($result); $sql = 'DELETE FROM ' . DB_PREFIX . "group_users\n\t\t\t\t\t\t\tWHERE group_id='{$GroupID}'"; $this->_SqlConnection->SqlQuery($sql); $template = "\r\n\t\t\t\t" . $this->_ViewGroup($GroupID); return $template; } else { // Nothing to do... there are no users in the group... $template = "\r\n\t\t\t\t" . $this->_ViewGroup($GroupID); return $template; } } elseif ($GroupID != 0) { // Get some information about the group $sql = 'SELECT group_name FROM ' . DB_PREFIX . "groups\n\t\t\t\t\t\tWHERE group_id={$GroupID}"; $result = $this->_SqlConnection->SqlQuery($sql); $group = mysql_fetch_object($result); $group = $group->group_name; mysql_free_result($result); // Generate a formular to find a new user for the group $formMaker = new FormMaker($this->_Translation->GetTranslation('todo'), $this->_SqlConnection); $formMaker->AddForm('remove_all_users', 'admin.php', $this->_Translation->GetTranslation('remove'), $this->_Translation->GetTranslation('remove_all_users'), 'post'); $formMaker->AddHiddenInput('remove_all_users', 'page', 'groups'); $formMaker->AddHiddenInput('remove_all_users', 'action', 'remove_all_users'); $formMaker->AddHiddenInput('remove_all_users', 'group_id', $GroupID); $formMaker->AddInput('remove_all_users', 'confirmation', 'select', $this->_Translation->GetTranslation('remove_users'), sprintf($this->_Translation->GetTranslation('do_you_really_want_to_remove_all_users_from_the_group_%group%?'), $group)); $formMaker->AddSelectEntry('remove_all_users', 'confirmation', true, 0, $this->_Translation->GetTranslation('no')); $formMaker->AddSelectEntry('remove_all_users', 'confirmation', false, 1, $this->_Translation->GetTranslation('yes')); // Generate the template to correct the inputs $template = "\r\n\t\t\t\t" . $formMaker->GenerateSingleFormTemplate($this->_ComaLate, false); return $template; } else { // Set the user back to the homepage $template = "\r\n\t\t\t\t" . $this->_HomePage(); return $template; } }
/** * Returns a formular to edit any errors if there are any or set the user back to showmenu page * @access private * @return string A template for a formular to edit the errors */ function _CheckMenuEntry() { // Get external parameters $MenuID = GetPostOrGet('menu_id'); $MenuEntryID = GetPostOrGet('menu_entry_id'); $MenuEntryType = GetPostOrGet('menu_entry_type'); $MenuEntryTitle = GetPostOrGet('menu_entry_title'); $MenuEntryLink = GetPostOrGet('menu_entry_link'); $MenuEntryCssID = GetPostOrGet('menu_entry_css_id'); // Initialize the formmaker class $formMaker = new FormMaker($this->_Translation->GetTranslation('todo'), &$this->_SqlConnection); $formMaker->AddForm('check_menu_entry', 'admin.php', $this->_Translation->GetTranslation('save'), $this->_Translation->GetTranslation('add_menu_entry'), 'post'); // Add hidden inputs to give some variables to next page $formMaker->AddHiddenInput('check_menu_entry', 'page', 'menueditor'); $formMaker->AddHiddenInput('check_menu_entry', 'action', 'add_menu_entry'); $formMaker->AddHiddenInput('check_menu_entry', 'menu_entry_type', $MenuEntryType); // Add the inputs to the formmakerclass $formMaker->AddInput('check_menu_entry', 'menu_id', 'select', $this->_Translation->GetTranslation('belongs_to_menu'), $this->_Translation->GetTranslation('this_is_the_menu_the_new_entry_should_be_added_to')); // Get the existing menus from the database $sql = "SELECT *\n\t\t\t\t\tFROM " . DB_PREFIX . "menu"; $menuResult = $this->_SqlConnection->SqlQuery($sql); while ($menu = mysql_fetch_object($menuResult)) { // Add an entry for each existing menu $formMaker->AddSelectEntry('check_menu_entry', 'menu_id', $menu->menu_id == $MenuID ? true : false, $menu->menu_id, $menu->menu_id . ". " . $menu->menu_name); } $formMaker->AddInput('check_menu_entry', 'menu_entry_title', 'text', $this->_Translation->GetTranslation('menu_entry_title'), $this->_Translation->GetTranslation('this_is_the_title_of_the_menuentry_that_will_be_shown_in_the_menu'), $MenuEntryTitle); $formMaker->AddCheck('check_menu_entry', 'menu_entry_title', 'empty', $this->_Translation->GetTranslation('you_have_to_define_a_title_for_the_menu_entry')); if ($MenuEntryType == 'intern_link') { // Add select input for all pages in the system $formMaker->AddInput('check_menu_entry', 'menu_entry_link', 'select', $this->_Translation->GetTranslation('menu_entry_link'), $this->_Translation->GetTranslation('choose_here_the_page_to_which_the_link_should_refer')); // Add all existing pages to the select $pageStructure = new Pagestructure(&$this->_SqlConnection, &$this->_User, &$this->_ComaLib); $pageStructure->LoadParentIDs(); $formMaker->AddSelectEntrysCode('check_menu_entry', 'menu_entry_link', $pageStructure->PageStructurePulldown(0, 0, '', -1, $MenuEntryLink)); } elseif ($MenuEntryType == 'extern_link') { // Add input for the extern url $formMaker->AddInput('check_menu_entry', 'menu_entry_link', 'text', $this->_Translation->GetTranslation('menu_entry_link'), $this->_Translation->GetTranslation('type_here_the_url_of_the_page_to_link_to'), $MenuEntryLink); $formMaker->AddCheck('check_menu_entry', 'menu_entry_link', 'empty', $this->_Translation->GetTranslation('you_have_to_define_an_extern_url_for_this_link')); } elseif ($MenuEntryType == 'download') { // Add select input for the downloads $formMaker->AddInput('check_menu_entry', 'menu_entry_link', 'select', $this->_Translation->GetTranslation('download'), $this->_Translation->GetTranslation('choose_here_the_download_you_want_to_link_to')); // Add all existing files to the select input $sql = "SELECT *\n\t\t\t\t\t\tFROM " . DB_PREFIX . "files\n\t\t\t\t\t\tORDER BY file_name"; $files_result = $this->_SqlConnection->SqlQuery($sql); while ($file = mysql_fetch_object($files_result)) { if (file_exists($file->file_path)) { $formMaker->AddSelectEntry('check_menu_entry', 'menu_entry_link', $MenuEntryLink == $file->file_id ? true : false, $file->file_id, utf8_encode($file->file_name) . " (" . kbormb($file->file_size) . ")"); } } } $formMaker->AddInput('check_menu_entry', 'menu_entry_css_id', 'text', $this->_Translation->GetTranslation('menu_entry_css'), $this->_Translation->GetTranslation('type_in_here_the_css_id_for_the_menuentry_if_you_need_one_for_it')); if ($formMaker->CheckInputs('check_menu_entry', true)) { if ($MenuEntryType == 'intern_link') { // Get the name of the page $sql = "SELECT *\n\t\t \t\t\t\tFROM " . DB_PREFIX . "pages\n\t \t\t\t\t\tWHERE page_id='{$MenuEntryLink}'"; $pageResult = $this->_SqlConnection->SqlQuery($sql); if ($page = mysql_fetch_object($pageResult)) { $PageID = $MenuEntryLink; $MenuEntryLink = $page->page_name; } } else { $PageID = ''; } // Add new user to the database $sql = "UPDATE " . DB_PREFIX . "menu_entries\n\t\t\t\t\t\tSET menu_entries_link='" . ($MenuEntryType == 'intern_link' ? 'l:' : ($MenuEntryType == 'download' ? 'd:' : ($MenuEntryType == 'extern_link' ? 'e:' : ''))) . "{$MenuEntryLink}', \n\t\t\t\t\t\t\tmenu_entries_title='{$MenuEntryTitle}', \n\t\t\t\t\t\t\tmenu_entries_type='{$MenuEntryType}', \n\t\t\t\t\t\t\tmenu_entries_css_id='{$MenuEntryCssID}', \n\t\t\t\t\t\t\tmenu_entries_menuid='{$MenuID}', \n\t\t\t\t\t\t\tmenu_entries_page_id='{$PageID}'\n\t\t\t\t\t\tWHERE menu_entries_id='{$MenuEntryID}'"; $this->_SqlConnection->SqlQuery($sql); // Set user to the HomePage of the usermanager $template = "\r\n\t\t\t\t" . $this->_ShowMenu($MenuID); return $template; } else { // Generate to edit the errors $template = "\r\n\t\t\t\t" . $formMaker->GenerateMultiFormTemplate(&$this->_ComaLate, true); return $template; } }
/** * Checks the inputs of the user and saves them to the database if they are correct * @access private * @return string The template for the correctionspage */ function _CheckProfile() { // Get external parameters $UserID = GetPostOrGet('user_id'); // Check wether the actual logged in user is the same that should be edited if ($UserID == $this->_User->ID) { // Get the values of the editfields $UserShowname = GetPostOrGet('user_showname'); $UserName = GetPostOrGet('user_name'); $UserEmail = GetPostOrGet('user_email'); $UserPassword = GetPostOrGet('user_password'); $UserPasswordRepetition = GetPostOrGet('user_password_repetition'); $UserPreferredLanguage = GetPostOrGet('user_preferred_language'); // Get the missing data of the user $sql = "SELECT user_email\n\t\t\t\t\t\tFROM " . DB_PREFIX . "users\n\t\t\t\t\t\tWHERE user_id='{$this->_User->ID}'"; $userResult = $this->_SqlConnection->SqlQuery($sql); $user = mysql_fetch_object($userResult); mysql_free_result($userResult); // Initialize the formmaker class $formMaker = new FormMaker($this->_Translation->GetTranslation('todo'), $this->_SqlConnection); $formMaker->AddForm('edit_user', 'special.php', $this->_Translation->GetTranslation('save'), $this->_Translation->GetTranslation('user'), 'post'); $formMaker->AddHiddenInput('edit_user', 'page', 'userinterface'); $formMaker->AddHiddenInput('edit_user', 'action', 'check_profile'); $formMaker->AddHiddenInput('edit_user', 'user_id', $UserID); $formMaker->AddInput('edit_user', 'user_showname', 'text', $this->_Translation->GetTranslation('name'), $this->_Translation->GetTranslation('the_name_that_is_displayed_if_the_user_writes_a_news_for_example'), $UserShowname); $formMaker->AddCheck('edit_user', 'user_showname', 'empty', $this->_Translation->GetTranslation('the_nickname_must_be_indicated')); if ($this->_User->Showname != $UserShowname) { $formMaker->AddCheck('edit_user', 'user_showname', 'already_assigned', $this->_Translation->GetTranslation('the_name_is_already_assigned'), '', 'users', 'user_showname'); } $formMaker->AddInput('edit_user', 'user_name', 'text', $this->_Translation->GetTranslation('loginname'), $this->_Translation->GetTranslation('with_this_nick_the_user_can_login_so_he_must_not_fill_in_his_long_name'), $UserName); $formMaker->AddCheck('edit_user', 'user_name', 'empty', $this->_Translation->GetTranslation('the_nickname_must_be_indicated')); if ($this->_User->Name != $UserName) { $formMaker->AddCheck('edit_user', 'user_name', 'already_assigned', $this->_Translation->GetTranslation('the_nickname_is_already_assigned'), '', 'users', 'user_name'); } $formMaker->AddInput('edit_user', 'user_email', 'text', $this->_Translation->GetTranslation('email'), $this->_Translation->GetTranslation('using_the_email_address_the_user_is_contacted_by_the_system'), $UserEmail); $formMaker->AddCheck('edit_user', 'user_email', 'empty', $this->_Translation->GetTranslation('the_email_address_must_be_indicated')); $formMaker->AddCheck('edit_user', 'user_email', 'not_email', $this->_Translation->GetTranslation('this_is_not_a_valid_email_address')); if ($user->user_email != $UserEmail) { $formMaker->AddCheck('edit_user', 'user_email', 'already_assigned', $this->_Translation->GetTranslation('the_email_is_already_assigned_to_another_user'), '', 'users', 'user_email'); } $formMaker->AddInput('edit_user', 'user_password', 'password', $this->_Translation->GetTranslation('password'), $this->_Translation->GetTranslation('with_this_password_the_user_can_login_to_restricted_areas'), !empty($UserPassword) ? $UserPassword : ''); $formMaker->AddInput('edit_user', 'user_password_repetition', 'password', $this->_Translation->GetTranslation('password_repetition'), $this->_Translation->GetTranslation('it_is_guaranteed_by_a_repetition_that_the_user_did_not_mistype_during_the_input'), !empty($UserPasswordRepetition) ? $UserPasswordRepetition : ''); if (!empty($UserPassword) || !empty($UserPasswordRepetition)) { $formMaker->AddCheck('edit_user', 'user_password', 'empty', $this->_Translation->GetTranslation('the_password_field_must_not_be_empty')); $formMaker->AddCheck('edit_user', 'user_password', 'not_same_password_value_as', $this->_Translation->GetTranslation('the_password_and_its_repetition_are_unequal'), 'user_password_repetition'); $formMaker->AddCheck('edit_user', 'user_password_repetition', 'empty', $this->_Translation->GetTranslation('the_password_field_must_not_be_empty')); } $formMaker->AddInput('edit_user', 'user_preferred_language', 'select', $this->_Translation->GetTranslation('preferred_language'), $this->_Translation->GetTranslation('this_is_your_preferred_language_of_the_installed_ones')); // Get all languages installed in the system $languageFolder = dir(__ROOT__ . "/lang/"); while ($file = $languageFolder->read()) { // check if the found file is really a language file if ($file != "." && $file != ".." && strpos($file, 'lang_') === 0 && substr($file, -4) == '.php') { // extract the pure language name $file = str_replace('lang_', '', $file); $file = str_replace('.php', '', $file); // Check wether the language is the actual one of the user if ($UserPreferredLanguage == $file) { $selected = true; } else { $selected = false; } // Add the found language to the formmaker class $formMaker->AddSelectEntry('edit_user', 'user_preferred_language', $selected, $file, $this->_Translation->GetTranslation($file)); } } // Get custom fields $sql = "SELECT value.custom_fields_values_value, field.custom_fields_information, field.custom_fields_name, field.custom_fields_title, field.custom_fields_type, field.custom_fields_required\n\t\t\t\t\tFROM (" . DB_PREFIX . "custom_fields field\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "custom_fields_values value\n\t\t\t\t\tON field.custom_fields_id = value.custom_fields_values_fieldid)\n\t\t\t\t\tWHERE value.custom_fields_values_userid='{$this->_User->ID}'\n\t\t\t\t\tOR value.custom_fields_values_userid IS NULL"; $customFieldsDataResult = $this->_SqlConnection->SqlQuery($sql); while ($customFieldsData = mysql_fetch_object($customFieldsDataResult)) { // Get external value for that field ${$customFieldsData->custom_fields_name} = GetPostOrGet($customFieldsData->custom_fields_name); // Add input to the formmaker class $formMaker->AddInput('edit_user', $customFieldsData->custom_fields_name, 'text', $customFieldsData->custom_fields_title, $customFieldsData->custom_fields_information . ($customFieldsData->custom_fields_required == 1 ? ' ' . $this->_Translation->GetTranslation('(required)') : ''), ${$customFieldsData->custom_fields_name}); // Get the type of the field switch ($customFieldsData->custom_fields_type) { case 'EMail': $type = 'not_email'; $text = $this->_Translation->GetTranslation('this_is_not_a_valid_email_address'); break; case 'ICQ': $type = 'not_icq'; $text = $this->_Translation->GetTranslation('this_is_not_a_valid_icq_number'); break; default: $type = ''; $text = ''; break; } // Add necessary checks if ($customFieldsData->custom_fields_required == 1) { // Check wether the field has any value $formMaker->AddCheck('edit_user', $customFieldsData->custom_fields_name, 'empty', sprintf($this->_Translation->GetTranslation('you_have_to_give_a_value_for_the_field_%field%!'), $customFieldsData->custom_fields_title)); // Check wether the field has the necessary value if (!empty($type) && !empty($text)) { $formMaker->AddCheck('edit_user', $customFieldsData->custom_fields_name, $type, $text); } } else { if (!empty(${$customFieldsData->custom_fields_name})) { $formMaker->AddCheck('edit_user', $customFieldsData->custom_fields_name, $type, $text); } } } if ($formMaker->CheckInputs('edit_user', true)) { $user_password = !empty($UserPassword) ? ", user_password='******'" : ''; // Update the user in the database $sql = "UPDATE " . DB_PREFIX . "users\n\t\t\t\t\t\t\tSET user_showname='{$UserShowname}',\n\t\t\t\t\t\t\t\tuser_name='{$UserName}',\n\t\t\t\t\t\t\t\tuser_preferred_language='{$UserPreferredLanguage}',\n\t\t\t\t\t\t\t\tuser_email='{$UserEmail}'{$user_password}\n\t\t\t\t\t\t\tWHERE user_id={$UserID}"; $this->_SqlConnection->SqlQuery($sql); // Get custom fields $sql = "SELECT value.custom_fields_values_value, field.custom_fields_name, value.custom_fields_values_id, field.custom_fields_id, value.custom_fields_values_userid\n\t\t\t\t\t\tFROM (" . DB_PREFIX . "custom_fields field\n\t\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "custom_fields_values value\n\t\t\t\t\t\tON field.custom_fields_id = value.custom_fields_values_fieldid)\n\t\t\t\t\t\tWHERE value.custom_fields_values_userid='{$this->_User->ID}'\n\t\t\t\t\t\tOR value.custom_fields_values_userid IS NULL"; $customFieldsDataResult = $this->_SqlConnection->SqlQuery($sql); while ($customFieldsData = mysql_fetch_object($customFieldsDataResult)) { // Get external value for that field ${$customFieldsData->custom_fields_name} = GetPostOrGet($customFieldsData->custom_fields_name); if ($customFieldsData->custom_fields_values_userid != '') { // Update existing entry $sql = "UPDATE " . DB_PREFIX . "custom_fields_values\n\t\t\t\t\t\t\t\t\tSET custom_fields_values_value='" . ${$customFieldsData->custom_fields_name} . "'\n\t\t\t\t\t\t\t\t\tWHERE custom_fields_values_id='{$customFieldsData->custom_fields_values_id}'"; $this->_SqlConnection->SqlQuery($sql); } else { // Insert a new entry into the database $sql = "INSERT INTO " . DB_PREFIX . "custom_fields_values\n\t\t\t\t\t\t\t\t\t(custom_fields_values_userid, custom_fields_values_fieldid, custom_fields_values_value)\n\t\t\t\t\t\t\t\t\tVALUES ('{$this->_User->ID}', '{$customFieldsData->custom_fields_id}', '" . ${$customFieldsData->custom_fields_name} . "')"; $this->_SqlConnection->SqlQuery($sql); } } // Set user back to userinterface header('Location: special.php?page=userinterface&lang=' . $UserPreferredLanguage); die; } else { // Generate the template $template = "\r\n\t\t\t\t" . $formMaker->GenerateMultiFormTemplate(&$this->_ComaLate, true); return $template; } } else { if ($this->_User->IsAdmin) { header('Location: admin.php?page=users&action=edit_user&user_id=' . $UserID); } else { return $this->_Translation->GetTranslation('you_have_no_right_to_edit_the_profile_of_another_user'); } } }
/** * @return string * @access private */ function _ShowPreferences() { // If there are no settings load return if (count($this->_Preferences->Settings) <= 0) { return ''; } // Initialize the formMaker class $formMaker = new FormMaker($this->_Translation->GetTranslation('todo'), $this->_SqlConnection); // Add necessary inputs $formMaker->AddForm('settings'); $formMaker->AddHiddenInput('settings', 'page', 'preferences'); $formMaker->AddHiddenInput('settings', 'action', 'save'); // Go through each preferences group foreach ($this->_Preferences->Settings as $settingsGroup => $settings) { // Add a new form to the formmaker $formMaker->AddForm("settings_group_{$settingsGroup}", '', $this->_Translation->GetTranslation('save'), $settingsGroup); // Display all pereferences of the actual group foreach ($settings as $setting) { // Load the current config and if it isn't available use the default $setting['value'] = $this->_Config->Get($setting['name'], $setting['default']); // Make it possible to define simple options lists if (substr($setting['datatype'], 0, 6) == 'array(') { $setting['data'] = explode(',', substr($setting['datatype'], 6, -1)); $setting['datatype'] = 'array'; } switch ($setting['datatype']) { // 'simple options list' case 'array': $formMaker->AddInput("settings_group_{$settingsGroup}", "setting_{$setting['name']}", 'select', $setting['display'], $setting['description']); // Add the possible values foreach ($setting['data'] as $option) { $formMaker->AddSelectEntry("settings_group_{$settingsGroup}", "setting_{$setting['name']}", $option == $setting['value'] ? true : false, $option, $option); } break; // The pages-tree // The pages-tree case 'page_select': $pageStructure = new Pagestructure($this->_SqlConnection, $this->_User, $this->_ComaLib); $pageStructure->LoadParentIDs(); $formMaker->AddInput("settings_group_{$settingsGroup}", "setting_{$setting['name']}", 'select', $setting['display'], $setting['description']); $formMaker->AddSelectEntrysCode("settings_group_{$settingsGroup}", "setting_{$setting['name']}", $pageStructure->PageStructurePulldown(0, 0, '', -1, $setting['default'])); break; // 'bool'-options-list // 'bool'-options-list case 'bool': $formMaker->AddInput("settings_group_{$settingsGroup}", "setting_{$setting['name']}", 'select', $setting['display'], $setting['description']); $formMaker->AddSelectEntry("settings_group_{$settingsGroup}", "setting_{$setting['name']}", $setting['value'] == 1 ? true : false, '1', $this->_Translation->GetTranslation('yes')); $formMaker->AddSelectEntry("settings_group_{$settingsGroup}", "setting_{$setting['name']}", $setting['value'] == 0 ? true : false, '0', $this->_Translation->GetTranslation('no')); break; // Every thing else // Every thing else default: $formMaker->AddInput("settings_group_{$settingsGroup}", "setting_{$setting['name']}", 'text', $setting['display'], $setting['description'], $setting['value']); break; } } } $formMaker->SetComaLateReplacement(&$this->_ComaLate, false); // Generate the template $template = "\r\n\t\t\t\t<form action=\"admin.php\" method=\"post\"><FORM_MAKER:loop>\n\t\t\t\t\t{fieldset_start}\n\t\t\t\t\t\t<hidden_inputs:loop><input type=\"hidden\" name=\"{name}\" value=\"{value}\" />\r\n\t\t\t\t\t\t</hidden_inputs>\n\t\t\t\t\t\t{fieldset_legend}\n\t\t\t\t\t\t<inputs:loop>\n\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t<label for=\"{name}\">\n\t\t\t\t\t\t\t\t\t<strong>{translation}:</strong>\n\t\t\t\t\t\t\t\t\t<errorinformation:loop><span class=\"error\">{errortext}</span>\n\t\t\t\t\t\t\t\t\t</errorinformation>\n\t\t\t\t\t\t\t\t\t<span class=\"info\">{information}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t{start_input} name=\"{name}\" id=\"{name}\" {end_input}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</inputs>\n\t\t\t\t\t\t{submit_button}\n\t\t\t\t\t{fieldset_end}\n\t\t\t\t</FORM_MAKER>\n\t\t\t\t</form>"; return $template; }
/** * Returns the template for the language page * @access private * @param string $Language The actual choosen language * @return string The template for the language page */ function _LanguagePage($Language) { $formMaker = new FormMaker($this->_Translation->GetTranslation('todo'), $this->_SqlConnection); $formMaker->AddForm('installation_language', 'install.php', $this->_Translation->GetTranslation('next'), $this->_Translation->GetTranslation('language'), 'post'); $formMaker->AddHiddenInput('installation_language', 'page', '2'); $formMaker->AddInput('installation_language', 'lang', 'select', $this->_Translation->GetTranslation('language'), $this->_Translation->GetTranslation('please_select_your_language')); // search for the availible language-files $languageItems = array(); $languageFolder = dir("../lang/"); while ($file = $languageFolder->read()) { // check if the language-file really exists if ($file != "." && $file != ".." && strpos($file, 'lang_') === 0 && substr($file, -4) == '.php') { $file = str_replace('lang_', '', $file); $file = str_replace('.php', '', $file); if ($Language == $file) { $selected = true; } else { $selected = false; } $formMaker->AddSelectEntry('installation_language', 'lang', $selected, $file, $this->_Translation->GetTranslation($file)); } } $template = "\r\n\t\t\t\t" . $formMaker->GenerateMultiFormTemplate(&$this->_ComaLate, false); return $template; }