Пример #1
0
/**
 * This function utilizes the Mimer SQL Validator service
 * to validate an SQL query
 *
 * <http://developer.mimer.com/validator/index.htm>
 *
 * @param string $sql SQL query to validate
 *
 * @return string Validator result string
 *
 * @global array The PMA configuration array
 */
function PMA_validateSQL($sql)
{
    global $cfg;
    $str = '';
    if ($cfg['SQLValidator']['use']) {
        if (isset($GLOBALS['sqlvalidator_error']) && $GLOBALS['sqlvalidator_error']) {
            $str = sprintf(__('The SQL validator could not be initialized. Please check if you have installed the necessary PHP extensions as described in the %sdocumentation%s.'), '<a href="' . PMA_Util::getDocuLink('faq', 'faqsqlvalidator') . '" target="documentation">', '</a>');
        } else {
            // create new class instance
            $srv = new PMA_SQLValidator();
            // Checks for username settings
            // The class defaults to anonymous with an empty password
            // automatically
            if ($cfg['SQLValidator']['username'] != '') {
                $srv->setCredentials($cfg['SQLValidator']['username'], $cfg['SQLValidator']['password']);
            }
            // Identify ourselves to the server properly...
            $srv->appendCallingProgram('phpMyAdmin', PMA_VERSION);
            // ... and specify what database system we are using
            $srv->setTargetDbms('MySQL', PMA_MYSQL_STR_VERSION);
            // Log on to service
            $srv->start();
            // Do service validation
            $str = $srv->validationString($sql);
        }
    }
    // end if
    // Gives string back to caller
    return $str;
}
/**
 * Callback function for replacing [doc@anchor] links in bb code.
 *
 * @param array $found Array of preg matches
 *
 * @return string Replaced string
 */
function PMA_replaceDocLink($found)
{
    $anchor = $found[1];
    if (strncmp('faq', $anchor, 3) == 0) {
        $page = 'faq';
    } else {
        if (strncmp('cfg', $anchor, 3) == 0) {
            $page = 'cfg';
        } else {
            /* Guess */
            $page = 'setup';
        }
    }
    $link = PMA_Util::getDocuLink($page, $anchor);
    return '<a href="' . $link . '" target="documentation">';
}
Пример #3
0
/**
 * prints out one diagnostic message for a configuration parameter
 *
 * @param string  $parameter            config parameter name to display
 * @param boolean $relationParameterSet whether this parameter is set
 * @param array   $messages             utility messages
 * @param string  $docAnchor            anchor in documentation
 *
 * @return string
 */
function PMA_getDiagMessageForParameter($parameter, $relationParameterSet, $messages, $docAnchor)
{
    $retval = '<tr><th class="left">';
    $retval .= '$cfg[\'Servers\'][$i][\'' . $parameter . '\']  ... ';
    $retval .= '</th><td class="right">';
    if ($relationParameterSet) {
        $retval .= $messages['ok'];
    } else {
        $retval .= sprintf($messages['error'], PMA_Util::getDocuLink('config', 'cfg_Servers_' . $docAnchor));
    }
    $retval .= '</td></tr>' . "\n";
    return $retval;
}
 /**
  * Creates the code for displaying the links
  * at the top of the navigation panel
  *
  * @return string HTML code for the links
  */
 private function _links()
 {
     // always iconic
     $showIcon = true;
     $showText = false;
     $retval = '<!-- LINKS START -->';
     $retval .= '<div id="navipanellinks">';
     $retval .= PMA_Util::getNavigationLink('index2.php' . PMA_URL_getCommon(), $showText, __('Home'), $showIcon, 'b_home.png');
     // if we have chosen server
     if ($GLOBALS['server'] != 0) {
         // Logout for advanced authentication
         if ($GLOBALS['cfg']['Server']['auth_type'] != 'config') {
             $link = 'index2.php' . $GLOBALS['url_query'];
             $link .= '&amp;old_usr='******'PHP_AUTH_USER']);
             $retval .= PMA_Util::getNavigationLink($link, $showText, __('Log out'), $showIcon, 's_loggoff.png', '', true);
         }
     }
     $retval .= PMA_Util::getNavigationLink(PMA_Util::getDocuLink('index'), $showText, __('phpMyAdmin documentation'), $showIcon, 'b_docs.png', '', false, 'documentation');
     $retval .= PMA_Util::getNavigationLink(PMA_Util::getMySQLDocuURL('', ''), $showText, __('Documentation'), $showIcon, 'b_sqlhelp.png', '', false, 'mysql_doc');
     $retval .= PMA_Util::getNavigationLink('#', $showText, __('Navigation panel settings'), $showIcon, 's_cog.png', 'pma_navigation_settings_icon', false, '', defined('PMA_DISABLE_NAVI_SETTINGS') ? array('hide') : array());
     $retval .= PMA_Util::getNavigationLink('#', $showText, __('Reload navigation panel'), $showIcon, 's_reload.png', 'pma_navigation_reload');
     $retval .= '</div>';
     $retval .= '<!-- LINKS ENDS -->';
     return $retval;
 }
Пример #5
0
/**
 * Prints Html For Export Options
 *
 * @param String $export_type Selected Export Type
 *
 * @return string
 */
function PMA_getHtmlForExportOptionsOutputFormat($export_type)
{
    $html = '<li>';
    $html .= '<label for="filename_template" class="desc">';
    $html .= __('File name template:');
    $trans = new PMA_Message();
    $trans->addMessage(__('@SERVER@ will become the server name'));
    if ($export_type == 'database' || $export_type == 'table') {
        $trans->addMessage(__(', @DATABASE@ will become the database name'));
        if ($export_type == 'table') {
            $trans->addMessage(__(', @TABLE@ will become the table name'));
        }
    }
    $msg = new PMA_Message(__('This value is interpreted using %1$sstrftime%2$s, ' . 'so you can use time formatting strings. ' . 'Additionally the following transformations will happen: %3$s. ' . 'Other text will be kept as is. See the %4$sFAQ%5$s for details.'));
    $msg->addParam('<a href="' . PMA_linkURL(PMA_getPHPDocLink('function.strftime.php')) . '" target="documentation" title="' . __('Documentation') . '">', false);
    $msg->addParam('</a>', false);
    $msg->addParam($trans);
    $doc_url = PMA_Util::getDocuLink('faq', 'faq6-27');
    $msg->addParam('<a href="' . $doc_url . '" target="documentation">', false);
    $msg->addParam('</a>', false);
    $html .= PMA_Util::showHint($msg);
    $html .= '</label>';
    $html .= '<input type="text" name="filename_template" id="filename_template" ';
    $html .= ' value="';
    if (isset($_GET['filename_template'])) {
        $html .= htmlspecialchars($_GET['filename_template']);
    } else {
        if ($export_type == 'database') {
            $html .= htmlspecialchars($GLOBALS['PMA_Config']->getUserValue('pma_db_filename_template', $GLOBALS['cfg']['Export']['file_template_database']));
        } elseif ($export_type == 'table') {
            $html .= htmlspecialchars($GLOBALS['PMA_Config']->getUserValue('pma_table_filename_template', $GLOBALS['cfg']['Export']['file_template_table']));
        } else {
            $html .= htmlspecialchars($GLOBALS['PMA_Config']->getUserValue('pma_server_filename_template', $GLOBALS['cfg']['Export']['file_template_server']));
        }
    }
    $html .= '"';
    $html .= '/>';
    $html .= '<input type="checkbox" name="remember_template" ';
    $html .= 'id="checkbox_remember_template" ';
    $html .= PMA_exportCheckboxCheck('remember_file_template');
    $html .= '/>';
    $html .= '<label for="checkbox_remember_template">';
    $html .= __('use this for future exports');
    $html .= '</label>';
    $html .= '</li>';
    return $html;
}
Пример #6
0
        PMA_printListItem(__('Show PHP information'), 'li_phpinfo', 'phpinfo.php' . $common_url_query, null, '_blank');
    }
    echo '  </ul>';
    echo ' </div>';
}
echo '<div class="group pmagroup">';
echo '<h2>phpMyAdmin</h2>';
echo '<ul>';
$class = null;
// We rely on CSP to allow access to http://www.phpmyadmin.net, but IE lacks
// support here and does not allow request to http once using https.
if ($GLOBALS['cfg']['VersionCheck'] && (!$GLOBALS['PMA_Config']->get('is_https') || PMA_USR_BROWSER_AGENT != 'IE')) {
    $class = 'jsversioncheck';
}
PMA_printListItem(__('Version information:') . ' ' . PMA_VERSION, 'li_pma_version', null, null, null, null, $class);
PMA_printListItem(__('Documentation'), 'li_pma_docs', PMA_Util::getDocuLink('index'), null, '_blank');
PMA_printListItem(__('Wiki'), 'li_pma_wiki', PMA_linkURL('http://wiki.phpmyadmin.net/'), null, '_blank');
// does not work if no target specified, don't know why
PMA_printListItem(__('Official Homepage'), 'li_pma_homepage', PMA_linkURL('http://www.phpMyAdmin.net/'), null, '_blank');
PMA_printListItem(__('Contribute'), 'li_pma_contribute', PMA_linkURL('http://www.phpmyadmin.net/home_page/improve.php'), null, '_blank');
PMA_printListItem(__('Get support'), 'li_pma_support', PMA_linkURL('http://www.phpmyadmin.net/home_page/support.php'), null, '_blank');
PMA_printListItem(__('List of changes'), 'li_pma_changes', PMA_linkURL('changelog.php'), null, '_blank');
echo '    </ul>';
echo ' </div>';
echo '</div>';
echo '</div>';
/**
 * Warning if using the default MySQL privileged account
 */
if ($server != 0 && $cfg['Server']['user'] == 'root' && $cfg['Server']['password'] == '') {
    trigger_error(__('Your configuration file contains settings (root with no password)' . ' that correspond to the default MySQL privileged account.' . ' Your MySQL server is running with this default, is open to' . ' intrusion, and you really should fix this security hole by' . ' setting a password for user \'root\'.'), E_USER_WARNING);
Пример #7
0
/**
 * Returns HTML for the menu bar of the designer page
 *
 * @param boolean $visualBuilder whether this is visual query builder
 * @param string  $selected_page name of the selected page
 *
 * @return string html
 */
function PMA_getDesignerPageMenu($visualBuilder, $selected_page)
{
    $iconClass = '';
    $textClass = 'hidable hide';
    $html = '';
    if (!$visualBuilder) {
        $html .= '<div id="name-panel" style="overflow:hidden">';
        $html .= '<span id="page_name" style="border:none">';
        $html .= $selected_page == null ? __("Untitled") : htmlspecialchars($selected_page);
        $html .= '</span>';
        $html .= '<span id="saved_state" style="border:none;width:5px">';
        $html .= ($selected_page == null ? '*' : '') . '</span>';
        $html .= '</div>';
    }
    $html .= '<div class="pmd_header side-menu" id="side_menu">';
    $html .= '<a class="M_butt" id="key_Show_left_menu" href="#" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Show/Hide tables list') . '" alt="v" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/downarrow2_m.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Show/Hide tables list') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" id="toggleFullscreen" class="M_butt" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('View in fullscreen') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/viewInFullscreen.png') . '" />';
    $html .= '<span class="' . $textClass . '" data-exit="' . __('Exit fullscreen');
    $html .= '" data-enter="' . __('View in fullscreen') . '">' . __('View in fullscreen') . '</span>';
    $html .= '</a>';
    if (!$visualBuilder) {
        $html .= '<a id="newPage" href="#" ';
        $html .= 'class="M_butt" target="_self">';
        $html .= '<img class="' . $iconClass . '" title="' . __('New page') . '"alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/page_add.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('New page') . '</span>';
        $html .= '</a>';
        $html .= '<a href="#" id="editPage" ';
        $html .= 'class="M_butt ajax" target="_self">';
        $html .= '<img class="' . $iconClass . '" title="' . __('Open page') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/page_edit.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('Open page') . '</span>';
        $html .= '</a>';
        $html .= '<a href="#" id="savePos" ';
        $html .= 'class="M_butt" target="_self">';
        $html .= '<img class="' . $iconClass . '" title="' . __('Save position') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/save.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('Save position') . '</span>';
        $html .= '</a>';
        $html .= '<a href="#" id="SaveAs" ';
        $html .= 'class="M_butt ajax" target="_self">';
        $html .= '<img class="' . $iconClass . '" title="' . __('Save positions as') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/save_as.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('Save positions as') . '</span>';
        $html .= '</a>';
        $html .= '<a href="#" id="delPages" ';
        $html .= 'class="M_butt ajax" target="_self">';
        $html .= '<img class="' . $iconClass . '" title="' . __('Delete pages') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/page_delete.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('Delete pages') . '</span>';
        $html .= '</a>';
    }
    $html .= '<a href="#" id="StartTableNew" ';
    $html .= 'class="M_butt" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Create table') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/table.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Create table') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" class="M_butt" ';
    $html .= 'id="rel_button" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Create relation') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/relation.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Create relation') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" ';
    $html .= 'class="M_butt" id="display_field_button" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Choose column to display') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/display_field.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Choose column to display') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" id="reloadPage" class="M_butt" ';
    $html .= 'target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Reload') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/reload.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Reload') . '</span>';
    $html .= '</a>';
    $html .= '<a href="' . PMA_Util::getDocuLink('faq', 'faq6-31') . '" ';
    $html .= 'target="documentation" class="M_butt" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Help') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/help.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Help') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" ';
    $html .= 'class="M_butt" id="angular_direct_button" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Angular links') . ' / ' . __('Direct links') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/ang_direct.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Angular links') . ' / ' . __('Direct links') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" class="M_butt" ';
    $html .= 'id="grid_button" target="_self">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Snap to grid') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/grid.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Snap to grid') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" class="M_butt" target="_self" id="key_SB_all">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Small/Big All') . '" alt="v" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/downarrow1.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Small/Big All') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" id="SmallTabInvert" ';
    $html .= 'class="M_butt" target="_self" >';
    $html .= '<img class="' . $iconClass . '" title="' . __('Toggle small/big') . '" alt="key" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bottom.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Toggle small/big') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" id="relLineInvert" ';
    $html .= 'class="M_butt" target="_self" >';
    $html .= '<img class="' . $iconClass . '" title="' . __('Toggle relation lines') . '" alt="key" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/toggle_lines.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Toggle relation lines') . '</span>';
    $html .= '</a>';
    if (!$visualBuilder) {
        $html .= '<a href="#" id="exportPages" ';
        $html .= 'class="M_butt" target="_self" >';
        $html .= '<img class="' . $iconClass . '" title="' . __('Export schema') . '" alt="key" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/export.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('Export schema') . '</span>';
        $html .= '</a>';
    } else {
        $html .= '<a class="M_butt" href="#" onclick="build_query(\'SQL Query on Database\', 0)" ';
        $html .= 'onmousedown="return false;" class="M_butt" target="_self">';
        $html .= '<img class="' . $iconClass . '" title="' . __('Build Query') . '" alt="key" ';
        $html .= 'width="20" height="20" src="';
        $html .= $_SESSION['PMA_Theme']->getImgPath('pmd/query_builder.png') . '" />';
        $html .= '<span class="' . $textClass . '">' . __('Build Query') . '</span>';
        $html .= '</a>';
    }
    $html .= '<a href="#" class="M_butt" target="_self" id="key_Left_Right">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Move Menu') . '" alt=">"';
    $html .= ' data-right="' . $_SESSION['PMA_Theme']->getImgPath('pmd/2leftarrow_m.png');
    $html .= '" src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/2rightarrow_m.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Move Menu') . '</span>';
    $html .= '</a>';
    $html .= '<a href="#" class="M_butt" target="_self" id="pin_Text">';
    $html .= '<img class="' . $iconClass . '" title="' . __('Pin text') . '" alt=">"';
    $html .= ' data-right="' . $_SESSION['PMA_Theme']->getImgPath('pmd/anchor.png');
    $html .= '" src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/anchor.png') . '" />';
    $html .= '<span class="' . $textClass . '">' . __('Pin text') . '</span>';
    $html .= '</a>';
    $html .= '</div>';
    return $html;
}
 /**
  * Creates the code for displaying the links
  * at the top of the navigation panel
  *
  * @return string HTML code for the links
  */
 private function _links()
 {
     // always iconic
     $showIcon = true;
     $showText = false;
     $retval = '<!-- LINKS START -->';
     $retval .= '<div id="navipanellinks">';
     $retval .= $this->_getLink('index.php?' . PMA_URL_getCommon(), $showText, __('Home'), $showIcon, 'b_home.png');
     // if we have chosen server
     if ($GLOBALS['server'] != 0) {
         // Logout for advanced authentication
         if ($GLOBALS['cfg']['Server']['auth_type'] != 'config') {
             $link = 'index.php?' . $GLOBALS['url_query'];
             $link .= '&amp;old_usr='******'PHP_AUTH_USER']);
             $retval .= $this->_getLink($link, $showText, __('Log out'), $showIcon, 's_loggoff.png', '', true);
         }
         $link = 'querywindow.php?';
         $link .= PMA_URL_getCommon($GLOBALS['db'], $GLOBALS['table']);
         $link .= '&amp;no_js=true';
         $retval .= $this->_getLink($link, $showText, __('Query window'), $showIcon, 'b_selboard.png', 'pma_open_querywindow', true);
     }
     $retval .= $this->_getLink(PMA_Util::getDocuLink('index'), $showText, __('phpMyAdmin documentation'), $showIcon, 'b_docs.png', '', false, 'documentation');
     if ($showIcon) {
         $retval .= PMA_Util::showMySQLDocu('', true);
     }
     if ($showText) {
         // PMA_showMySQLDocu always spits out an icon,
         // we just replace it with some perl regexp.
         $link = preg_replace('/<img[^>]+>/i', __('Documentation'), PMA_Util::showMySQLDocu('', true));
         $retval .= $link;
         $retval .= '<br />';
     }
     $retval .= $this->_getLink('#', $showText, __('Reload navigation panel'), $showIcon, 's_reload.png', 'pma_navigation_reload');
     $retval .= '</div>';
     $retval .= '<!-- LINKS ENDS -->';
     return $retval;
 }
}
require_once './libraries/DatabaseInterface.class.php';
if (defined('TESTSUITE')) {
    /**
     * For testsuite we use dummy driver which can fake some queries.
     */
    include_once './libraries/dbi/DBIDummy.class.php';
    $extension = new PMA_DBI_Dummy();
} else {
    /**
     * First check for the mysqli extension, as it's the one recommended
     * for the MySQL server's version that we support
     */
    $extension = 'mysqli';
    if (!PMA_DatabaseInterface::checkDbExtension($extension)) {
        $docurl = PMA_Util::getDocuLink('faq', 'faqmysql');
        $doclink = sprintf(__('See %sour documentation%s for more information.'), '[a@' . $docurl . '@documentation]', '[/a]');
        $extension = 'mysql';
        if (!PMA_DatabaseInterface::checkDbExtension($extension)) {
            // warn about both extensions missing and exit
            PMA_warnMissingExtension('mysqli|mysql', true, $doclink);
        } elseif (empty($_SESSION['mysqlwarning'])) {
            trigger_error(__('You are using the mysql extension which is deprecated in ' . 'phpMyAdmin. Please consider installing the mysqli ' . 'extension.') . ' ' . $doclink, E_USER_WARNING);
            // tell the user just once per session
            $_SESSION['mysqlwarning'] = true;
        }
    }
    /**
     * Including The DBI Plugin
     */
    switch ($extension) {
Пример #10
0
 /**
  * Returns link to documentation
  *
  * @param string $path
  *
  * @return string
  */
 public function getDocLink($path)
 {
     $test = substr($path, 0, 6);
     if ($test == 'Import' || $test == 'Export') {
         return '';
     }
     return PMA_Util::getDocuLink('config', 'cfg_' . $this->_getOptName($path));
 }
/**
 * prints out diagnostic info for pma relation feature
 *
 * @param array $cfgRelation Relation configuration
 *
 * @return string
 */
function PMA_getRelationsParamDiagnostic($cfgRelation)
{
    $retval = '';
    $doc_url = PMA_Util::getDocuLink('config', 'cfg_Servers_%s');
    $messages['error'] = '<font color="red"><strong>' . __('not OK') . '</strong></font>' . ' [ <a href="' . $doc_url . '" target="documentation">' . __('Documentation') . '</a> ]';
    $messages['ok'] = '<font color="green"><strong>' . _pgettext('Correctly working', 'OK') . '</strong></font>';
    $messages['enabled'] = '<font color="green">' . __('Enabled') . '</font>';
    $messages['disabled'] = '<font color="red">' . __('Disabled') . '</font>';
    if (false === $GLOBALS['cfg']['Server']['pmadb']) {
        $retval .= 'PMA Database ... ' . sprintf($messages['error'], 'pmadb') . '<br />' . "\n" . __('General relation features') . ' <font color="green">' . __('Disabled') . '</font>' . "\n";
    } else {
        $retval .= '<table>' . "\n";
        $retval .= PMA_getDiagMessageForParameter('pmadb', $GLOBALS['cfg']['Server']['pmadb'], $messages, 'pmadb');
        $retval .= PMA_getDiagMessageForParameter('relation', isset($cfgRelation['relation']), $messages, 'relation');
        $retval .= PMA_getDiagMessageForFeature(__('General relation features'), 'relwork', $messages);
        $retval .= PMA_getDiagMessageForParameter('table_info', isset($cfgRelation['table_info']), $messages, 'table_info');
        $retval .= PMA_getDiagMessageForFeature(__('Display Features'), 'displaywork', $messages);
        $retval .= PMA_getDiagMessageForParameter('table_coords', isset($cfgRelation['table_coords']), $messages, 'table_coords');
        $retval .= PMA_getDiagMessageForParameter('pdf_pages', isset($cfgRelation['pdf_pages']), $messages, 'pdf_pages');
        $retval .= PMA_getDiagMessageForFeature(__('Creation of PDFs'), 'pdfwork', $messages);
        $retval .= PMA_getDiagMessageForParameter('column_info', isset($cfgRelation['column_info']), $messages, 'column_info');
        $retval .= PMA_getDiagMessageForFeature(__('Displaying Column Comments'), 'commwork', $messages, false);
        $retval .= PMA_getDiagMessageForFeature(__('Browser transformation'), 'mimework', $messages);
        if ($cfgRelation['commwork'] && !$cfgRelation['mimework']) {
            $retval .= '<tr><td colspan=2 class="left">';
            $retval .= __('Please see the documentation on how to update your column_comments table');
            $retval .= '</td></tr>';
        }
        $retval .= PMA_getDiagMessageForParameter('bookmarktable', isset($cfgRelation['bookmark']), $messages, 'bookmark');
        $retval .= PMA_getDiagMessageForFeature(__('Bookmarked SQL query'), 'bookmarkwork', $messages);
        $retval .= PMA_getDiagMessageForParameter('history', isset($cfgRelation['history']), $messages, 'history');
        $retval .= PMA_getDiagMessageForFeature(__('SQL history'), 'historywork', $messages);
        $retval .= PMA_getDiagMessageForParameter('designer_coords', isset($cfgRelation['designer_coords']), $messages, 'designer_coords');
        $retval .= PMA_getDiagMessageForFeature(__('Designer'), 'designerwork', $messages);
        $retval .= PMA_getDiagMessageForParameter('recent', isset($cfgRelation['recent']), $messages, 'recent');
        $retval .= PMA_getDiagMessageForFeature(__('Persistent recently used tables'), 'recentwork', $messages);
        $retval .= PMA_getDiagMessageForParameter('table_uiprefs', isset($cfgRelation['table_uiprefs']), $messages, 'table_uiprefs');
        $retval .= PMA_getDiagMessageForFeature(__('Persistent tables\' UI preferences'), 'uiprefswork', $messages);
        $retval .= PMA_getDiagMessageForParameter('tracking', isset($cfgRelation['tracking']), $messages, 'tracking');
        $retval .= PMA_getDiagMessageForFeature(__('Tracking'), 'trackingwork', $messages);
        $retval .= PMA_getDiagMessageForParameter('userconfig', isset($cfgRelation['userconfig']), $messages, 'userconfig');
        $retval .= PMA_getDiagMessageForFeature(__('User preferences'), 'userconfigwork', $messages);
        $retval .= '</table>' . "\n";
        $retval .= '<p>' . __('Quick steps to setup advanced features:') . '</p>';
        $retval .= '<ul>';
        $retval .= '<li>';
        $retval .= __('Create the needed tables with the ' . '<code>examples/create_tables.sql</code>.');
        $retval .= ' ' . PMA_Util::showDocu('setup', 'linked-tables');
        $retval .= '</li>';
        $retval .= '<li>';
        $retval .= __('Create a pma user and give access to these tables.');
        $retval .= ' ' . PMA_Util::showDocu('config', 'cfg_Servers_controluser');
        $retval .= '</li>';
        $retval .= '<li>';
        $retval .= __('Enable advanced features in configuration file ' . '(<code>config.inc.php</code>), for example by ' . 'starting from <code>config.sample.inc.php</code>.');
        $retval .= ' ' . PMA_Util::showDocu('setup', 'quick-install');
        $retval .= '</li>';
        $retval .= '<li>';
        $retval .= __('Re-login to phpMyAdmin to load the updated configuration file.');
        $retval .= '</li>';
        $retval .= '</ul>';
    }
    return $retval;
}
Пример #12
0
?>
" />
    </a>
    <a href="#" onclick="location.reload(); return false" class="M_butt"
        target="_self">
        <img title="<?php 
echo __('Reload');
?>
" alt=""
            src="<?php 
echo $_SESSION['PMA_Theme']->getImgPath('pmd/reload.png');
?>
" />
    </a>
    <a href="<?php 
echo PMA_Util::getDocuLink('faq', 'faq6-31');
?>
"
        target="documentation" class="M_butt" target="_self">
        <img title="<?php 
echo __('Help');
?>
" alt=""
            src="<?php 
echo $_SESSION['PMA_Theme']->getImgPath('pmd/help.png');
?>
" />
    </a>
    <img class="M_bord"
        src="<?php 
echo $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png');
Пример #13
0
echo '<li>';
echo '<label for="filename_template" class="desc">';
echo __('File name template:');
$trans = new PMA_Message();
$trans->addMessage(__('@SERVER@ will become the server name'));
if ($export_type == 'database' || $export_type == 'table') {
    $trans->addMessage(__(', @DATABASE@ will become the database name'));
    if ($export_type == 'table') {
        $trans->addMessage(__(', @TABLE@ will become the table name'));
    }
}
$msg = new PMA_Message(__('This value is interpreted using %1$sstrftime%2$s, so you can use time formatting strings. Additionally the following transformations will happen: %3$s. Other text will be kept as is. See the %4$sFAQ%5$s for details.'));
$msg->addParam('<a href="' . PMA_linkURL(PMA_getPHPDocLink('function.strftime.php')) . '" target="documentation" title="' . __('Documentation') . '">', false);
$msg->addParam('</a>', false);
$msg->addParam($trans);
$doc_url = PMA_Util::getDocuLink('faq', 'faq6-27');
$msg->addParam('<a href="' . $doc_url . '" target="documentation">', false);
$msg->addParam('</a>', false);
echo PMA_Util::showHint($msg);
echo '</label>';
echo '<input type="text" name="filename_template" id="filename_template" ';
echo ' value="';
if (isset($_GET['filename_template'])) {
    echo htmlspecialchars($_GET['filename_template']);
} else {
    if ($export_type == 'database') {
        echo htmlspecialchars($GLOBALS['PMA_Config']->getUserValue('pma_db_filename_template', $GLOBALS['cfg']['Export']['file_template_database']));
    } elseif ($export_type == 'table') {
        echo htmlspecialchars($GLOBALS['PMA_Config']->getUserValue('pma_table_filename_template', $GLOBALS['cfg']['Export']['file_template_table']));
    } else {
        echo htmlspecialchars($GLOBALS['PMA_Config']->getUserValue('pma_server_filename_template', $GLOBALS['cfg']['Export']['file_template_server']));
/**
 * Returns HTML for the top menu bar of the designer page
 *
 * @param boolean $visualBuilder whether this is visual query builder
 * @param string  $selected_page name of the selected page
 *
 * @return string html
 */
function PMA_getDesignerPageTopMenu($visualBuilder, $selected_page)
{
    $html = '<div class="pmd_header" id="top_menu">';
    $html .= '<a href="#" onclick="Show_left_menu(' . 'document.getElementById(\'key_Show_left_menu\')' . '); return false" ';
    $html .= 'class="M_butt first" target="_self">';
    $html .= '<img id="key_Show_left_menu" ';
    $html .= 'title="' . __('Show/Hide left menu') . '" alt="v" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/downarrow2_m.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" id="enterFullscreen" ';
    $html .= 'onclick="Enter_fullscreen(); return false" ';
    $html .= 'class="M_butt" target="_self">';
    $html .= '<img title="' . __('View in fullscreen') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/viewInFullscreen.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" id="exitFullscreen" ';
    $html .= 'onclick="Exit_fullscreen(); return false" ';
    $html .= 'class="M_butt hide" target="_self">';
    $html .= '<img title="' . __('Exit fullscreen') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/exitFullscreen.png') . '" />';
    $html .= '</a>';
    if (!$visualBuilder) {
        $html .= '<img class="M_bord" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
        $html .= '<a href="#" onclick="New(); return false" ';
        $html .= 'class="M_butt" target="_self">';
        $html .= '<img title="' . __('New page') . '"alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/page_add.png') . '" />';
        $html .= '</a>';
        $html .= '<a href="#" onclick="Edit_pages(); return false" ';
        $html .= 'class="M_butt ajax" target="_self">';
        $html .= '<img title="' . __('Open page') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/page_edit.png') . '" />';
        $html .= '</a>';
        $html .= '<a href="#" onclick="Save3(); return false" ';
        $html .= 'class="M_butt" target="_self">';
        $html .= '<img title="' . __('Save position') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/save.png') . '" />';
        $html .= '</a>';
        $html .= '<a href="#" onclick="Save_as(); return false" ';
        $html .= 'class="M_butt ajax" target="_self">';
        $html .= '<img title="' . __('Save positions as') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/save_as.png') . '" />';
        $html .= '</a>';
        $html .= '<a href="#" onclick="Delete_pages(); return false" ';
        $html .= 'class="M_butt ajax" target="_self">';
        $html .= '<img title="' . __('Delete pages') . '" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/page_delete.png') . '" />';
        $html .= '</a>';
    }
    $html .= '<img class="M_bord" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
    $html .= '<a href="#" onclick="Start_table_new(); return false" ';
    $html .= 'class="M_butt" target="_self">';
    $html .= '<img title="' . __('Create table') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/table.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" onclick="Start_relation(); return false" class="M_butt" ';
    $html .= 'id="rel_button" target="_self">';
    $html .= '<img title="' . __('Create relation') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/relation.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" onclick="Start_display_field(); return false" ';
    $html .= 'class="M_butt" id="display_field_button" target="_self">';
    $html .= '<img title="' . __('Choose column to display') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/display_field.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" onclick="location.reload(); return false" class="M_butt" ';
    $html .= 'target="_self">';
    $html .= '<img title="' . __('Reload') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/reload.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="' . PMA_Util::getDocuLink('faq', 'faq6-31') . '" ';
    $html .= 'target="documentation" class="M_butt" target="_self">';
    $html .= '<img title="' . __('Help') . '" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/help.png') . '" />';
    $html .= '</a>';
    $html .= '<img class="M_bord" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
    $html .= '<a href="#" onclick="Angular_direct(); return false" ';
    $html .= 'class="M_butt" id="angular_direct_button" target="_self">';
    $html .= '<img alt="" ';
    $html .= 'title="' . __('Angular links') . ' / ' . __('Direct links') . '" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/ang_direct.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" onclick="Grid(); return false" class="M_butt" ';
    $html .= 'id="grid_button" target="_self">';
    $html .= '<img title="' . __('Snap to grid') . '>" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/grid.png') . '" />';
    $html .= '</a>';
    $html .= '<img class="M_bord" alt="" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
    $html .= '<a href="#" onclick="Small_tab_all(' . 'document.getElementById("key_SB_all")); return false" ';
    $html .= 'class="M_butt" target="_self">';
    $html .= '<img id="key_SB_all" title="' . __('Small/Big All') . '" alt="v" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/downarrow1.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" onclick="Small_tab_invert(); return false" ';
    $html .= 'class="M_butt" target="_self" >';
    $html .= '<img title="' . __('Toggle small/big') . '" alt="key" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bottom.png') . '" />';
    $html .= '</a>';
    $html .= '<a href="#" onclick="Relation_lines_invert(); return false"';
    $html .= 'class="M_butt" target="_self" >';
    $html .= '<img title="' . __('Toggle relation lines') . '" alt="key" ';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/toggle_lines.png') . '" />';
    $html .= '</a>';
    if (!$visualBuilder) {
        $html .= '<img class="M_bord" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
        $html .= '<span id="page_name" style="border:none;">';
        $html .= $selected_page == null ? __("Untitled") : htmlspecialchars($selected_page);
        $html .= '</span>';
        $html .= '<span id="saved_state" style="border:none;width:5px">';
        $html .= ($selected_page == null ? '*' : '') . '</span>';
        $html .= '<img class="M_bord" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
        $html .= '<a href="#" onclick="Export_pages(); return false" ';
        $html .= 'class="M_butt" target="_self" >';
        $html .= '<img title="' . __('Export schema') . '" alt="key" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/export.png') . '" />';
        $html .= '</a>';
        $html .= '<img class="M_bord" alt="" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/bord.png') . '" />';
    } else {
        $html .= '<a href="#" onclick="build_query(\'SQL Query on Database\', 0)" ';
        $html .= 'onmousedown="return false;" class="M_butt" target="_self">';
        $html .= '<img alt="key" width="20" height="20" ';
        $html .= 'title="' . __('Build Query') . '" ';
        $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/query_builder.png') . '" />';
        $html .= '</a>';
    }
    $html .= '<a href="#" onclick="Top_menu_right(' . 'document.getElementById("key_Left_Right")); return false" ';
    $html .= 'class="M_butt last" target="_self">';
    $html .= '<img id="key_Left_Right" alt=">" title="' . __('Move Menu') . '"';
    $html .= 'src="' . $_SESSION['PMA_Theme']->getImgPath('pmd/2rightarrow_m.png') . '" />';
    $html .= '</a>';
    $html .= '</div>';
    return $html;
}