2 /* vim: set expandtab sw=4 ts=4 sts=4: */
6 * updates javascript variables in index.php for correct working with querywindow
7 * and navigation frame refreshing
9 * send buffered data if buffered
11 * WARNING: This script has to be included at the very end of your code because
12 * it will stop the script execution!
14 * always use $GLOBALS, as this script is also included by functions
16 * @uses $_REQUEST['no_history']
17 * @uses $GLOBALS['lang']
18 * @uses $GLOBALS['collation_connection']
19 * @uses $GLOBALS['server']
20 * @uses $GLOBALS['db']
21 * @uses $GLOBALS['table']
22 * @uses $GLOBALS['error_message']
23 * @uses $GLOBALS['reload']
24 * @uses $GLOBALS['sql_query']
25 * @uses $GLOBALS['focus_querywindow']
26 * @uses $GLOBALS['checked_special']
27 * @uses $GLOBALS['pmaThemeImage']
28 * @uses $GLOBALS['controllink'] to close it
29 * @uses $GLOBALS['userlink'] to close it
30 * @uses $cfg['Server']['user']
31 * @uses $cfg['NavigationBarIconic']
32 * @uses $cfg['DBG']['enable']
33 * @uses $cfg['DBG']['profile']['enable']
34 * @uses $cfg['MaxCharactersInDisplayedSQL']
36 * @uses PMA_setHistory()
38 * @uses PMA_escapeJsString()
40 * @uses PMA_generate_common_url()
45 if (! defined('PHPMYADMIN')) {
50 * for PMA_setHistory()
52 if (! PMA_isValid($_REQUEST['no_history']) && empty($GLOBALS['error_message'])
53 && ! empty($GLOBALS['sql_query'])) {
54 PMA_setHistory(PMA_ifSetOr($GLOBALS['db'], ''),
55 PMA_ifSetOr($GLOBALS['table'], ''),
56 $GLOBALS['cfg']['Server']['user'],
57 $GLOBALS['sql_query']);
60 if ($GLOBALS['error_handler']->hasDisplayErrors()) {
62 $GLOBALS['error_handler']->dispErrors();
66 if (count($GLOBALS['footnotes'])) {
67 echo '<div class="footnotes">';
68 foreach ($GLOBALS['footnotes'] as $footnote) {
69 echo '<span id="footnote_' . $footnote['nr'] . '"><sup>'
70 . $footnote['nr'] . '</sup> ' . $footnote['note'] . '</span><br />';
75 if (! empty($_SESSION['debug'])) {
78 foreach ($_SESSION['debug']['queries'] as $query) {
79 $sum_time +
= $query['count'] * $query['time'];
80 $sum_exec +
= $query['count'];
84 echo count($_SESSION['debug']['queries']) . ' queries executed'
85 . $sum_exec . ' times in ' . $sum_time . ' seconds';
87 print_r($_SESSION['debug']);
90 $_SESSION['debug'] = array();
94 <script type
="text/javascript">
97 if (empty($GLOBALS['error_message'])) {
99 $
(document
).ready(function(){
100 // updates current settings
101 if (window
.parent
.setAll
) {
102 window
.parent
.setAll('<?php
103 echo PMA_escapeJsString($GLOBALS['lang
']) . "', '";
104 echo PMA_escapeJsString($GLOBALS['collation_connection
']) . "', '";
105 echo PMA_escapeJsString($GLOBALS['server
']) . "', '";
106 echo PMA_escapeJsString(PMA_ifSetOr($GLOBALS['db
'], '')) . "', '";
107 echo PMA_escapeJsString(PMA_ifSetOr($GLOBALS['table
'], '')) . "', '";
108 echo PMA_escapeJsString($_SESSION[' PMA_token
']);?>');
111 if (! empty($GLOBALS['reload'])) {
113 // refresh navigation frame content
114 if (window
.parent
.refreshNavigation
) {
115 window
.parent
.refreshNavigation();
118 } else if (isset($_GET['reload_left_frame']) && $_GET['reload_left_frame'] == '1') {
119 // reload left frame (used by user preferences)
121 if (window
.parent
&& window
.parent
.frame_navigation
) {
122 window
.parent
.frame_navigation
.location
.reload();
128 // set current db, table and sql query in the querywindow
129 if (window
.parent
.reload_querywindow
) {
130 window
.parent
.reload_querywindow(
131 '<?php echo PMA_escapeJsString(PMA_ifSetOr($GLOBALS['db
'], '')) ?>',
132 '<?php echo PMA_escapeJsString(PMA_ifSetOr($GLOBALS['table
'], '')) ?>',
133 '<?php echo strlen($GLOBALS['sql_query
']) > $GLOBALS['cfg
']['MaxCharactersInDisplayedSQL
'] ? PMA_escapeJsString($GLOBALS['sql_query
']) : ''; ?>');
138 if (! empty($GLOBALS['focus_querywindow'])) {
140 // set focus to the querywindow
141 if (parent
.querywindow
&& !parent
.querywindow
.closed
&& parent
.querywindow
.location
) {
148 if (window
.parent
.frame_content
) {
149 // reset content frame name, as querywindow needs to set a unique name
150 // before submitting form data, and navigation frame needs the original name
151 if (typeof(window
.parent
.frame_content
.name
) != 'undefined'
152 && window
.parent
.frame_content
.name
!= 'frame_content') {
153 window
.parent
.frame_content
.name
= 'frame_content';
155 if (typeof(window
.parent
.frame_content
.id
) != 'undefined'
156 && window
.parent
.frame_content
.id
!= 'frame_content') {
157 window
.parent
.frame_content
.id
= 'frame_content';
159 //window.parent.frame_content.setAttribute('name', 'frame_content');
160 //window.parent.frame_content.setAttribute('id', 'frame_content');
168 // Link to itself to replicate windows including frameset
169 if (!isset($GLOBALS['checked_special'])) {
170 $GLOBALS['checked_special'] = false;
173 if (PMA_getenv('SCRIPT_NAME') && empty($_POST) && !$GLOBALS['checked_special']) {
174 echo '<div id="selflink" class="print_ignore">' . "\n";
175 $url_params['target'] = basename(PMA_getenv('SCRIPT_NAME'));
177 <script type
="text/javascript">
180 /* Store current location in hash part of URL to allow direct bookmarking */
181 setURLHash("<?php echo PMA_generate_common_url($url_params, 'text', ''); ?>");
187 echo '<a href="index.php' . PMA_generate_common_url($url_params) . '"'
188 . ' title="' . __('Open new phpMyAdmin window') . '" target="_blank">';
190 echo '<a href="index.php?target=' . basename(PMA_getenv('SCRIPT_NAME'));
191 $url = PMA_generate_common_url($GLOBALS['db'], $GLOBALS['table']);
195 echo '" target="_blank">';
197 if ($GLOBALS['cfg']['NavigationBarIconic']) {
198 echo '<img class="icon" src="'. $GLOBALS['pmaThemeImage'] . 'window-new.png"'
199 . ' alt="' . __('Open new phpMyAdmin window') . '" />';
201 if ($GLOBALS['cfg']['NavigationBarIconic'] !== true) {
202 echo __('Open new phpMyAdmin window');
205 echo '</div>' . "\n";
208 // Include possible custom footers
209 if (file_exists(CUSTOM_FOOTER_FILE
)) {
210 require CUSTOM_FOOTER_FILE
;
215 * Generates profiling data if requested
218 // profiling deactivated due to licensing issues
219 if (! empty($GLOBALS['cfg']['DBG']['php'])
220 && ! empty($GLOBALS['cfg']['DBG']['profile']['enable'])) {
221 //run the basic setup code first
222 require_once './libraries/dbg/setup.php';
223 //if the setup ran fine, then do the profiling
225 if (! empty($GLOBALS['DBG'])) {
226 require_once './libraries/dbg/profiling.php';
227 dbg_dump_profiling_results();
237 * Stops the script execution