Patch for bug ID: 3277503
[phpmyadmin/mlewandow.git] / setup / frames / index.inc.php
blob773c21c4334010d246967b5d789ae5fbfab0c9e3
1 <?php
2 /**
3 * Overview (main page)
5 * @package phpMyAdmin-setup
6 */
8 if (!defined('PHPMYADMIN')) {
9 exit;
12 /**
13 * Core libraries.
15 require_once './libraries/display_select_lang.lib.php';
16 require_once './libraries/config/FormDisplay.class.php';
17 require_once './setup/lib/index.lib.php';
19 // prepare unfiltered language list
20 $all_languages = PMA_langList();
21 uasort($all_languages, 'PMA_language_cmp');
23 $cf = ConfigFile::getInstance();
24 $separator = PMA_get_arg_separator('html');
26 // message handling
27 messages_begin();
30 // Check phpMyAdmin version
32 if (isset($_GET['version_check'])) {
33 PMA_version_check();
37 // Perform various security, compatibility and consistency checks
39 perform_config_checks();
42 // Check whether we can read/write configuration
44 $config_readable = false;
45 $config_writable = false;
46 $config_exists = false;
47 check_config_rw($config_readable, $config_writable, $config_exists);
48 if (!$config_writable || !$config_readable) {
49 messages_set('error', 'config_rw', __('Cannot load or save configuration'),
50 PMA_lang(__('Please create web server writable folder [em]config[/em] in phpMyAdmin top level directory as described in [a@Documentation.html#setup_script]documentation[/a]. Otherwise you will be only able to download or display it.')));
53 // Check https connection
55 $is_https = !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on';
56 if (!$is_https) {
57 $text = __('You are not using a secure connection; all data (including potentially sensitive information, like passwords) is transferred unencrypted!');
59 if (!empty($_SERVER['REQUEST_URI']) && !empty($_SERVER['HTTP_HOST'])) {
60 $strInsecureConnectionMsg2 = __('If your server is also configured to accept HTTPS requests follow [a@%s]this link[/a] to use a secure connection.');
61 $text .= ' ' . PMA_lang($strInsecureConnectionMsg2,
62 'https://' . htmlspecialchars($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']));
64 messages_set('warning', 'no_https', __('Insecure connection'), $text);
68 <form id="select_lang" method="post" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']) ?>">
69 <?php echo PMA_generate_common_hidden_inputs() ?>
70 <bdo xml:lang="en" dir="ltr"><label for="lang">
71 <?php echo __('Language') . (__('Language') != 'Language' ? ' - Language' : '') ?>
72 </label></bdo><br />
73 <select id="lang" name="lang" onchange="this.form.submit();" xml:lang="en" dir="ltr">
74 <?php
75 // create language list
76 $lang_list = array();
77 foreach ($all_languages as $each_lang_key => $each_lang) {
78 $lang_name = PMA_langName($each_lang);
79 //Is current one active?
80 $selected = ($GLOBALS['lang'] == $each_lang_key) ? ' selected="selected"' : '';
81 echo '<option value="' . $each_lang_key . '"' . $selected . '>' . $lang_name
82 . '</option>' . "\n";
85 </select>
86 </form>
88 <?php
89 // Check for done action info and set notice message if present
90 switch ($action_done) {
91 case 'config_saved':
92 messages_set('notice', 'config_saved', __('Configuration saved.'),
93 PMA_lang(__('Configuration saved to file config/config.inc.php in phpMyAdmin top level directory, copy it to top level one and delete directory config to use it.')));
94 break;
95 default:
96 break;
100 <h2><?php echo __('Overview') ?></h2>
102 <?php
103 // message handling
104 messages_end();
105 messages_show_html();
108 <a href="#" id="show_hidden_messages" style="display:none"><?php echo __('Show hidden messages (#MSG_COUNT)') ?></a>
110 <h3><?php echo __('Servers') ?></h3>
111 <?php
113 // Display server list
115 display_form_top('index.php', 'get', array(
116 'page' => 'servers',
117 'mode' => 'add'
120 <div class="form">
121 <?php if ($cf->getServerCount() > 0): ?>
122 <table cellspacing="0" class="datatable" style="table-layout: fixed">
123 <tr>
124 <th>#</th>
125 <th><?php echo __('Name') ?></th>
126 <th><?php echo __('Authentication type') ?></th>
127 <th colspan="2">DSN</th>
128 </tr>
129 <?php foreach ($cf->getServers() as $id => $server): ?>
130 <tr>
131 <td><?php echo $id ?></td>
132 <td><?php echo htmlspecialchars($cf->getServerName($id)) ?></td>
133 <td><?php echo htmlspecialchars($cf->getValue("Servers/$id/auth_type")) ?></td>
134 <td><?php echo htmlspecialchars($cf->getServerDSN($id)) ?></td>
135 <td style="white-space: nowrap">
136 <small>
137 <a href="<?php echo "?page=servers{$separator}mode=edit{$separator}id=$id" ?>"><?php echo __('Edit') ?></a>
138 | <a href="<?php echo "?page=servers{$separator}mode=remove{$separator}id=$id" ?>"><?php echo __('Delete') ?></a>
139 </small>
140 </td>
141 </tr>
142 <?php endforeach; ?>
143 </table>
144 <?php else: ?>
145 <table width="100%">
146 <tr>
147 <td>
148 <i><?php echo __('There are no configured servers') ?></i>
149 </td>
150 </tr>
151 </table>
152 <?php endif; ?>
153 <table width="100%">
154 <tr>
155 <td class="lastrow" style="text-align: left">
156 <input type="submit" name="submit" value="<?php echo __('New server') ?>" />
157 </td>
158 </tr>
159 </table>
160 </div>
161 <?php
162 display_form_bottom();
165 <h3><?php echo __('Configuration file') ?></h3>
166 <?php
168 // Display config file settings and load/save form
170 $form_display = new FormDisplay();
172 display_form_top('config.php');
173 display_fieldset_top('', '', null, array('class' => 'simple'));
175 // Display language list
176 $opts = array(
177 'doc' => $form_display->getDocLink('DefaultLang'),
178 'wiki' => $form_display->getWikiLink('DefaultLang'),
179 'values' => array(),
180 'values_escaped' => true);
181 foreach ($all_languages as $each_lang_key => $each_lang) {
182 $lang_name = PMA_langName($each_lang);
183 $opts['values'][$each_lang_key] = $lang_name;
185 display_input('DefaultLang', __('Default language'), '', 'select',
186 $cf->getValue('DefaultLang'), true, $opts);
188 // Display server list
189 $opts = array(
190 'doc' => $form_display->getDocLink('ServerDefault'),
191 'wiki' => $form_display->getWikiLink('ServerDefault'),
192 'values' => array(),
193 'values_disabled' => array());
194 if ($cf->getServerCount() > 0) {
195 $opts['values']['0'] = __('let the user choose');
196 $opts['values']['-'] = '------------------------------';
197 if ($cf->getServerCount() == 1) {
198 $opts['values_disabled'][] = '0';
200 $opts['values_disabled'][] = '-';
202 foreach ($cf->getServers() as $id => $server) {
203 $opts['values'][(string)$id] = $cf->getServerName($id) . " [$id]";
205 } else {
206 $opts['values']['1'] = __('- none -');
207 $opts['values_escaped'] = true;
209 display_input('ServerDefault', __('Default server'), '', 'select',
210 $cf->getValue('ServerDefault'), true, $opts);
212 // Display EOL list
213 $opts = array(
214 'values' => array(
215 'unix' => 'UNIX / Linux (\n)',
216 'win' => 'Windows (\r\n)'),
217 'values_escaped' => true);
218 $eol = PMA_ifSetOr($_SESSION['eol'], (PMA_IS_WINDOWS ? 'win' : 'unix'));
219 display_input('eol', __('End of line'), '', 'select',
220 $eol, true, $opts);
222 <tr>
223 <td colspan="2" class="lastrow" style="text-align: left">
224 <input type="submit" name="submit_display" value="<?php echo __('Display') ?>" />
225 <input type="submit" name="submit_download" value="<?php echo __('Download') ?>" />
226 &nbsp; &nbsp;
227 <input type="submit" name="submit_save" value="<?php echo __('Save') ?>"<?php if (!$config_writable) echo ' disabled="disabled"' ?> />
228 <input type="submit" name="submit_load" value="<?php echo __('Load') ?>"<?php if (!$config_exists) echo ' disabled="disabled"' ?> />
229 <input type="submit" name="submit_delete" value="<?php echo __('Delete') ?>"<?php if (!$config_exists || !$config_writable) echo ' disabled="disabled"' ?> />
230 &nbsp; &nbsp;
231 <input type="submit" name="submit_clear" value="<?php echo __('Clear') ?>" class="red" />
232 </td>
233 </tr>
234 <?php
235 display_fieldset_bottom_simple();
236 display_form_bottom();
238 <div id="footer">
239 <a href="http://phpmyadmin.net"><?php echo __('phpMyAdmin homepage') ?></a>
240 <a href="http://sourceforge.net/donate/index.php?group_id=23067"><?php echo __('Donate') ?></a>
241 <a href="?version_check=1<?php echo "{$separator}token=" . $_SESSION[' PMA_token '] ?>"><?php echo __('Check for latest version') ?></a>
242 </div>