/** * Generates the header * * @return string The header */ public function getDisplay() { $retval = ''; if (!$this->_headerIsSent) { if (!$this->_isAjax && $this->_isEnabled) { $this->sendHttpHeaders(); $retval .= $this->_getHtmlStart(); $retval .= $this->_getMetaTags(); $retval .= $this->_getLinkTags(); $retval .= $this->getTitleTag(); // The user preferences have been merged at this point // so we can conditionally add CodeMirror if ($GLOBALS['cfg']['CodemirrorEnable']) { $this->_scripts->addFile('codemirror/lib/codemirror.js'); $this->_scripts->addFile('codemirror/mode/sql/sql.js'); $this->_scripts->addFile('codemirror/addon/runmode/runmode.js'); } if ($this->_userprefsOfferImport) { $this->_scripts->addFile('config.js'); } $retval .= $this->_scripts->getDisplay(); $retval .= $this->_getBodyStart(); if ($this->_menuEnabled && $GLOBALS['server'] > 0) { $nav = new PMA_Navigation(); $retval .= $nav->getDisplay(); } // Include possible custom headers if (file_exists(CUSTOM_HEADER_FILE)) { $retval .= '<div id="pma_header">'; ob_start(); include CUSTOM_HEADER_FILE; $retval .= ob_get_contents(); ob_end_clean(); $retval .= '</div>'; } // offer to load user preferences from localStorage if ($this->_userprefsOfferImport) { include_once './libraries/user_preferences.lib.php'; $retval .= PMA_userprefsAutoloadGetHeader(); } // pass configuration for hint tooltip display // (to be used by PMA_tooltip() in js/functions.js) if (!$GLOBALS['cfg']['ShowHint']) { $retval .= '<span id="no_hint" class="hide"></span>'; } $retval .= $this->_getWarnings(); if ($this->_menuEnabled && $GLOBALS['server'] > 0) { $retval .= $this->_menu->getDisplay(); $retval .= sprintf('<a id="goto_pagetop" href="#" title="%s">%s</a>', __('Click on the bar to scroll to top of page'), PMA_Util::getImage('s_top.png')); } $retval .= '<div id="page_content">'; $retval .= $this->getMessage(); } if ($this->_isEnabled && empty($_REQUEST['recent_table'])) { $retval .= $this->_addRecentTable($GLOBALS['db'], $GLOBALS['table']); } } return $retval; }
/** * Renders the console * * @access public * @return string */ public function getDisplay() { $output = ''; if (!$this->_isAjax && $this->_isEnabled) { $cfgBookmark = PMA_Bookmark_getParams(); if ($GLOBALS['cfg']['CodemirrorEnable']) { $this->_scripts->addFile('codemirror/lib/codemirror.js'); $this->_scripts->addFile('codemirror/mode/sql/sql.js'); $this->_scripts->addFile('codemirror/addon/runmode/runmode.js'); } $this->_scripts->addFile('console.js'); $output .= $this->_scripts->getDisplay(); $output .= '<div id="pma_console_container"><div id="pma_console">'; // The templates, use sprintf() to output them // There're white space at the end of every <span>, // for double-click selection $tpl_query_actions = '<span class="action collapse">' . __('Collapse') . '</span> ' . '<span class="action expand">' . __('Expand') . '</span> ' . '<span class="action requery">' . __('Requery') . '</span> ' . '<span class="action edit">' . __('Edit') . '</span> ' . '<span class="action explain">' . __('Explain') . '</span> ' . '<span class="action profiling">' . __('Profiling') . '</span> ' . ($cfgBookmark ? '<span class="action bookmark">' . __('Bookmark') . '</span> ' : '') . '<span class="text failed">' . __('Query failed') . '</span> ' . '<span class="text targetdb">' . __('Database') . ': <span>%s</span></span> ' . '<span class="text query_time">' . __('Queried time') . ': <span>%s</span></span> '; // Console toolbar $output .= '<div class="toolbar collapsed">'; $output .= '<div class="switch_button console_switch">'; $output .= PMA_Util::getImage('console.png', __('SQL Query Console')); $output .= '<span>' . __('Console') . '</span></div>'; $output .= '<div class="button clear"><span>' . __('Clear') . '</span></div>'; $output .= '<div class="button history"><span>' . __('History') . '</span></div>'; $output .= '<div class="button options"><span>' . __('Options') . '</span></div>'; if ($cfgBookmark) { $output .= '<div class="button bookmarks"><span>' . __('Bookmarks') . '</span></div>'; } $output .= '</div>'; // Toolbar end // Console messages $output .= '<div class="content">'; $output .= '<div class="console_message_container">' . '<div class="message welcome"><span>' . __('Press Ctrl+Enter to execute query') . '</span></div>'; // History support $_sql_history = PMA_getHistory($GLOBALS['cfg']['Server']['user']); if ($_sql_history) { foreach (array_reverse($_sql_history) as $record) { $isSelect = preg_match('@^SELECT[[:space:]]+@i', $record['sqlquery']); $output .= '<div class="message history collapsed hide' . ($isSelect ? ' select' : '') . '" targetdb="' . htmlspecialchars($record['db']) . '" targettable="' . htmlspecialchars($record['table']) . '"><div class="action_content">' . sprintf($tpl_query_actions, htmlspecialchars($record['db']), isset($record['timevalue']) ? $record['timevalue'] : __('During current session')) . '</div><span class="query">' . htmlspecialchars($record['sqlquery']) . '</span></div>'; } } $output .= '</div>'; // .console_message_container $output .= '<div class="query_input"><span class="console_query_input"></span></div>' . '</div>'; // Messages end // Dark the console while other cards cover it $output .= '<div class="mid_layer"></div>'; // Bookmarks card: if ($cfgBookmark) { $output .= '<div class="card" id="pma_bookmarks">'; $output .= '<div class="toolbar">' . '<div class="switch_button"><span>' . __('Bookmarks') . '</span></div>'; $output .= '<div class="button refresh"><span>' . __('Refresh') . '</span></div>'; $output .= '<div class="button add"><span>' . __('Add') . '</span></div>'; $output .= '</div><div class="content bookmark">'; $output .= $this->getBookmarkContent(); $output .= '</div>'; $output .= '<div class="mid_layer"></div>'; $output .= '<div class="card add">'; $output .= '<div class="toolbar">' . '<div class="switch_button"><span>' . __('Add bookmark') . '</span></div>'; $output .= '</div><div class="content add_bookmark">' . '<div class="options">' . '<label>' . __('Label') . ': <input type="text" name="label"></label> ' . '<label>' . __('Target database') . ': <input type="text" name="targetdb"></label> ' . '<label><input type="checkbox" name="shared">' . __('Share this bookmark') . '</label>' . '<button type="submit" name="submit">Ok</button>' . '</div>' . '<div class="query_input">' . '<span class="bookmark_add_input"></span></div>'; $output .= '</div>'; $output .= '</div>'; // Add bookmark card $output .= '</div>'; // Bookmarks card } // Options card: $output .= '<div class="card" id="pma_console_options">'; $output .= '<div class="toolbar">' . '<div class="switch_button"><span>' . __('Options') . '</span></div>'; $output .= '<div class="button default"><span>' . __('Set default') . '</span></div>'; $output .= '</div><div class="content">' . '<label><input type="checkbox" name="always_expand">' . __('Always expand query messages') . '</label><br>' . '<label><input type="checkbox" name="start_history">' . __('Show query history at start') . '</label><br>' . '<label><input type="checkbox" name="current_query">' . __('Show current browsing query') . '</label><br>' . '</div>'; $output .= '</div>'; // Options card $output .= '<div class="templates">' . '<div class="query_actions">' . sprintf($tpl_query_actions, '', '') . '</div>' . '</div>'; $output .= '</div></div>'; // #console and #pma_console_container ends } return $output; }
window.onload = function() { if (onloadCnt == 0) { if (typeof(onLoadHandler) == "function") { onLoadHandler(); } if (typeof(getFrames) != 'undefined' && typeof(getFrames) == 'function') { getFrames(); } onloadCnt++; } }; // ]]> </script> <?php $scripts = new PMA_Scripts(); $scripts->addFile('jquery/jquery-1.6.2.js'); $scripts->addFile('update-location.js'); $scripts->addFile('common.js'); echo $scripts->getDisplay(); ?> </head> <frameset cols="<?php if ($GLOBALS['text_dir'] === 'rtl') { echo '*,'; } echo $GLOBALS['cfg']['NaviWidth']; if ($GLOBALS['text_dir'] === 'ltr') { echo ',*'; } ?> " rows="*" id="mainFrameset">