示例#1
0
 /**
  * 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 footer
  *
  * @return string
  */
 public function getDisplay()
 {
     $retval = '';
     $this->_setHistory();
     if ($this->_isEnabled) {
         if (!$this->_isAjax) {
             $retval .= "</div>";
         }
         if (!$this->_isAjax && !$this->_isMinimal) {
             if (PMA_getenv('SCRIPT_NAME') && empty($_POST) && empty($GLOBALS['checked_special']) && !$this->_isAjax) {
                 $url = $this->getSelfUrl('unencoded');
                 $header = PMA_Response::getInstance()->getHeader();
                 $scripts = $header->getScripts()->getFiles();
                 $menuHash = $header->getMenu()->getHash();
                 // prime the client-side cache
                 $this->_scripts->addCode(sprintf('AJAX.cache.primer = {' . ' url: "%s",' . ' scripts: %s,' . ' menuHash: "%s"' . '};', PMA_escapeJsString($url), json_encode($scripts), PMA_escapeJsString($menuHash)));
             }
             if (PMA_getenv('SCRIPT_NAME') && !$this->_isAjax) {
                 $url = $this->getSelfUrl();
                 $retval .= $this->_getSelfLink($url);
             }
             $this->_scripts->addCode('var debugSQLInfo = ' . $this->getDebugMessage() . ';');
             $retval .= $this->getErrorMessages();
             $retval .= $this->_scripts->getDisplay();
             if ($GLOBALS['cfg']['DBG']['demo']) {
                 $retval .= '<div id="pma_demo">';
                 $retval .= $this->_getDemoMessage();
                 $retval .= '</div>';
             }
             // Include possible custom footers
             if (file_exists(CUSTOM_FOOTER_FILE)) {
                 $retval .= '<div id="pma_footer">';
                 ob_start();
                 include CUSTOM_FOOTER_FILE;
                 $retval .= ob_get_contents();
                 ob_end_clean();
                 $retval .= '</div>';
             }
         }
         if (!$this->_isAjax) {
             $retval .= "</body></html>";
         }
     }
     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;
 }
示例#4
0
    var onLoadHandler = window.onload;
    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 ',*';
}
?>