cache table information
[phpmyadmin.git] / index.php
blob007fb5296ecb06f86a87316f700b525f76c82110
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
4 * forms frameset
6 * @version $Id$
7 * @uses $GLOBALS['strNoFrames']
8 * @uses $GLOBALS['cfg']['QueryHistoryDB']
9 * @uses $GLOBALS['cfg']['Server']['user']
10 * @uses $GLOBALS['cfg']['DefaultTabServer'] as src for the mainframe
11 * @uses $GLOBALS['cfg']['DefaultTabDatabase'] as src for the mainframe
12 * @uses $GLOBALS['cfg']['NaviWidth'] for navi frame width
13 * @uses $GLOBALS['collation_connection'] from $_REQUEST (grab_globals.lib.php)
14 * or common.inc.php
15 * @uses $GLOBALS['available_languages'] from common.inc.php (select_lang.lib.php)
16 * @uses $GLOBALS['db']
17 * @uses $GLOBALS['charset']
18 * @uses $GLOBALS['lang']
19 * @uses $GLOBALS['text_dir']
20 * @uses $_ENV['HTTP_HOST']
21 * @uses PMA_getRelationsParam()
22 * @uses PMA_purgeHistory()
23 * @uses PMA_generate_common_url()
24 * @uses PMA_VERSION
25 * @uses session_write_close()
26 * @uses time()
27 * @uses PMA_getenv()
28 * @uses header() to send charset
31 /**
32 * Gets core libraries and defines some variables
34 require_once './libraries/common.inc.php';
36 /**
37 * Includes the ThemeManager if it hasn't been included yet
39 require_once './libraries/relation.lib.php';
41 // free the session file, for the other frames to be loaded
42 session_write_close();
44 // Gets the host name
45 if (empty($HTTP_HOST)) {
46 if (PMA_getenv('HTTP_HOST')) {
47 $HTTP_HOST = PMA_getenv('HTTP_HOST');
48 } else {
49 $HTTP_HOST = '';
54 // purge querywindow history
55 $cfgRelation = PMA_getRelationsParam();
56 if ($GLOBALS['cfg']['QueryHistoryDB'] && $cfgRelation['historywork']) {
57 PMA_purgeHistory($GLOBALS['cfg']['Server']['user']);
59 unset($cfgRelation);
62 /**
63 * pass variables to child pages
65 $drops = array('lang', 'server', 'convcharset', 'collation_connection',
66 'db', 'table');
68 foreach ($drops as $each_drop) {
69 if (! array_key_exists($each_drop, $_GET)) {
70 unset($_GET[$each_drop]);
73 unset($drops, $each_drop);
75 if (! strlen($GLOBALS['db'])) {
76 $main_target = $GLOBALS['cfg']['DefaultTabServer'];
77 } elseif (! strlen($GLOBALS['table'])) {
78 $_GET['db'] = $GLOBALS['db'];
79 $main_target = $GLOBALS['cfg']['DefaultTabDatabase'];
80 } else {
81 $_GET['db'] = $GLOBALS['db'];
82 $_GET['table'] = $GLOBALS['table'];
83 $main_target = $GLOBALS['cfg']['DefaultTabTable'];
86 $url_query = PMA_generate_common_url($_GET);
88 if (isset($GLOBALS['target']) && is_string($GLOBALS['target']) && !empty($GLOBALS['target']) && in_array($GLOBALS['target'], $goto_whitelist)) {
89 $main_target = $GLOBALS['target'];
92 $main_target .= $url_query;
94 $lang_iso_code = $GLOBALS['available_languages'][$GLOBALS['lang']][2];
97 // start output
98 header('Content-Type: text/html; charset=' . $GLOBALS['charset']);
100 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
101 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
102 <html xmlns="http://www.w3.org/1999/xhtml"
103 xml:lang="<?php echo $lang_iso_code; ?>"
104 lang="<?php echo $lang_iso_code; ?>"
105 dir="<?php echo $GLOBALS['text_dir']; ?>">
106 <head>
107 <link rel="icon" href="./favicon.ico" type="image/x-icon" />
108 <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />
109 <title>phpMyAdmin <?php echo PMA_VERSION; ?> -
110 <?php echo htmlspecialchars($HTTP_HOST); ?></title>
111 <meta http-equiv="Content-Type"
112 content="text/html; charset=<?php echo $GLOBALS['charset']; ?>" />
113 <meta name="robots" content="noindex,nofollow" />
114 <script type="text/javascript">
115 // <![CDATA[
116 // definitions used in common.js
117 var common_query = '<?php echo PMA_escapeJsString(PMA_generate_common_url('', '', '&'));?>';
118 var opendb_url = '<?php echo PMA_escapeJsString($GLOBALS['cfg']['DefaultTabDatabase']); ?>';
119 var safari_browser = <?php echo PMA_USR_BROWSER_AGENT == 'SAFARI' ? 'true' : 'false' ?>;
120 var querywindow_height = <?php echo PMA_escapeJsString($GLOBALS['cfg']['QueryWindowHeight']); ?>;
121 var querywindow_width = <?php echo PMA_escapeJsString($GLOBALS['cfg']['QueryWindowWidth']); ?>;
122 var collation_connection = '<?php echo PMA_escapeJsString($GLOBALS['collation_connection']); ?>';
123 var lang = '<?php echo PMA_escapeJsString($GLOBALS['lang']); ?>';
124 var server = '<?php echo PMA_escapeJsString($GLOBALS['server']); ?>';
125 var table = '<?php echo PMA_escapeJsString($GLOBALS['table']); ?>';
126 var db = '<?php echo PMA_escapeJsString($GLOBALS['db']); ?>';
127 var text_dir = '<?php echo PMA_escapeJsString($GLOBALS['text_dir']); ?>';
128 var pma_absolute_uri = '<?php echo PMA_escapeJsString($GLOBALS['cfg']['PmaAbsoluteUri']); ?>';
130 // for content and navigation frames
132 var frame_content = 0;
133 var frame_navigation = 0;
134 function getFrames() {
135 <?php if ($GLOBALS['text_dir'] === 'ltr') { ?>
136 frame_content = window.frames[1];
137 frame_navigation = window.frames[0];
138 <?php } else { ?>
139 frame_content = window.frames[0];
140 frame_navigation = window.frames[1];
141 <?php } ?>
143 var onloadCnt = 0;
144 var onLoadHandler = window.onload;
145 window.onload = function() {
146 if (onloadCnt == 0) {
147 if (typeof(onLoadHandler) == "function") {
148 onLoadHandler();
150 if (typeof(getFrames) != 'undefined' && typeof(getFrames) == 'function') {
151 getFrames();
153 onloadCnt++;
156 // ]]>
157 </script>
158 <script src="./js/common.js" type="text/javascript"></script>
159 </head>
160 <frameset cols="<?php
161 if ($GLOBALS['text_dir'] === 'rtl') {
162 echo '*,';
164 echo $GLOBALS['cfg']['NaviWidth'];
165 if ($GLOBALS['text_dir'] === 'ltr') {
166 echo ',*';
168 ?>" rows="*" id="mainFrameset">
169 <?php if ($GLOBALS['text_dir'] === 'ltr') { ?>
170 <frame frameborder="0" id="frame_navigation"
171 src="navigation.php<?php echo $url_query; ?>"
172 name="frame_navigation" />
173 <?php } ?>
174 <frame frameborder="0" id="frame_content"
175 src="<?php echo $main_target; ?>"
176 name="frame_content" />
177 <?php if ($GLOBALS['text_dir'] === 'rtl') { ?>
178 <frame frameborder="0" id="frame_navigation"
179 src="navigation.php<?php echo $url_query; ?>"
180 name="frame_navigation" />
181 <?php } ?>
182 <noframes>
183 <body>
184 <p><?php echo $GLOBALS['strNoFrames']; ?></p>
185 </body>
186 </noframes>
187 </frameset>
188 </html>