示例#1
0
 /**
  * {@inheritdoc}
  */
 public function run()
 {
     $this->db->sql_return_on_error(true);
     $languages = $this->language_helper->get_available_languages();
     $installed_languages = array();
     foreach ($languages as $lang_info) {
         $lang_pack = array('lang_iso' => $lang_info['iso'], 'lang_dir' => $lang_info['iso'], 'lang_english_name' => htmlspecialchars($lang_info['name']), 'lang_local_name' => htmlspecialchars($lang_info['local_name'], ENT_COMPAT, 'UTF-8'), 'lang_author' => htmlspecialchars($lang_info['author'], ENT_COMPAT, 'UTF-8'));
         $this->db->sql_query('INSERT INTO ' . LANG_TABLE . ' ' . $this->db->sql_build_array('INSERT', $lang_pack));
         $installed_languages[] = (int) $this->db->sql_nextid();
         if ($this->db->get_sql_error_triggered()) {
             $error = $this->db->sql_error($this->db->get_sql_error_sql());
             $this->iohandler->add_error_message($error['message']);
         }
     }
     $sql = 'SELECT * FROM ' . PROFILE_FIELDS_TABLE;
     $result = $this->db->sql_query($sql);
     $insert_buffer = new \phpbb\db\sql_insert_buffer($this->db, PROFILE_LANG_TABLE);
     while ($row = $this->db->sql_fetchrow($result)) {
         foreach ($installed_languages as $lang_id) {
             $insert_buffer->insert(array('field_id' => $row['field_id'], 'lang_id' => $lang_id, 'lang_name' => strtoupper(substr($row['field_name'], 6)), 'lang_explain' => '', 'lang_default_value' => ''));
         }
     }
     $this->db->sql_freeresult($result);
     $insert_buffer->flush();
 }
示例#2
0
文件: helper.php 项目: MrAdder/phpbb
 /**
  * Render language select form
  *
  * @param string	$selected_language
  */
 protected function render_language_select($selected_language = null)
 {
     $langs = $this->lang_helper->get_available_languages();
     foreach ($langs as $lang) {
         $this->template->assign_block_vars('language_select_item', array('VALUE' => $lang['iso'], 'NAME' => $lang['local_name'], 'SELECTED' => $lang['iso'] === $selected_language));
     }
 }
示例#3
0
 /**
  * Request data from the user
  *
  * @param bool $use_request_data Whether to use submited data
  *
  * @throws \phpbb\install\exception\user_interaction_required_exception When the user is required to provide data
  */
 protected function request_form_data($use_request_data = false)
 {
     if ($use_request_data) {
         $board_name = $this->io_handler->get_input('board_name', '', true);
         $board_desc = $this->io_handler->get_input('board_description', '', true);
     } else {
         $board_name = '{L_CONFIG_SITENAME}';
         $board_desc = '{L_CONFIG_SITE_DESC}';
     }
     // Use language because we only check this to be valid
     $default_lang = $this->install_config->get('user_language', 'en');
     $langs = $this->language_helper->get_available_languages();
     $lang_options = array();
     foreach ($langs as $lang) {
         $lang_options[] = array('value' => $lang['iso'], 'label' => $lang['local_name'], 'selected' => $default_lang === $lang['iso']);
     }
     $board_form = array('default_lang' => array('label' => 'DEFAULT_LANGUAGE', 'type' => 'select', 'options' => $lang_options), 'board_name' => array('label' => 'BOARD_NAME', 'type' => 'text', 'default' => $board_name), 'board_description' => array('label' => 'BOARD_DESCRIPTION', 'type' => 'text', 'default' => $board_desc), 'submit_board' => array('label' => 'SUBMIT', 'type' => 'submit'));
     $this->io_handler->add_user_form_group('BOARD_CONFIG', $board_form);
     throw new user_interaction_required_exception();
 }