/** * Creates a fieldset for adding a new item, if the user has the privileges. * * @param string $docu String used to create a link to the MySQL docs * @param string $priv Privilege to check for adding a new item * @param string $name MySQL name of the item * * @return string An HTML snippet with the link to add a new item */ function PMA_RTE_getFooterLinks($docu, $priv, $name) { global $db, $url_query, $ajax_class; $icon = 'b_' . strtolower($name) . '_add.png'; $retval = ""; $retval .= "<!-- ADD " . $name . " FORM START -->\n"; $retval .= "<fieldset class='left'>\n"; $retval .= " <legend>" . __('New') . "</legend>\n"; $retval .= " <div class='wrap'>\n"; if (PMA_currentUserHasPrivilege($priv, $db)) { $retval .= " <a {$ajax_class['add']} "; $retval .= "href='db_" . strtolower($name) . "s.php"; $retval .= "?{$url_query}&add_item=1'>"; $retval .= PMA_getIcon($icon); $retval .= PMA_RTE_getWord('add') . "</a>\n"; } else { $retval .= " " . PMA_getIcon($icon); $retval .= PMA_RTE_getWord('no_create') . "\n"; } $retval .= " " . PMA_showMySQLDocu('SQL-Syntax', $docu) . "\n"; $retval .= " </div>\n"; $retval .= "</fieldset>\n"; $retval .= "<!-- ADD " . $name . " FORM END -->\n\n"; return $retval; }
/** * Creates the contents for a row in the list of events * * @param array $event An array of routine data * @param string $rowclass Empty or one of ['even'|'odd'] * * @return string HTML code of a cell for the list of events */ function PMA_EVN_getRowForList($event, $rowclass = '') { global $ajax_class, $url_query, $db, $titles; $sql_drop = sprintf('DROP EVENT IF EXISTS %s', PMA_backquote($event['EVENT_NAME'])); $retval = " <tr class='noclick {$rowclass}'>\n"; $retval .= " <td>\n"; $retval .= " <span class='drop_sql hide'>{$sql_drop}</span>\n"; $retval .= " <strong>\n"; $retval .= " " . htmlspecialchars($event['EVENT_NAME']) . "\n"; $retval .= " </strong>\n"; $retval .= " </td>\n"; $retval .= " <td>\n"; $retval .= " {$event['STATUS']}\n"; $retval .= " </td>\n"; $retval .= " <td>\n"; if (PMA_currentUserHasPrivilege('EVENT', $db)) { $retval .= ' <a ' . $ajax_class['edit'] . ' href="db_events.php?' . $url_query . '&edit_item=1' . '&item_name=' . urlencode($event['EVENT_NAME']) . '">' . $titles['Edit'] . "</a>\n"; } else { $retval .= " {$titles['NoEdit']}\n"; } $retval .= " </td>\n"; $retval .= " <td>\n"; $retval .= ' <a ' . $ajax_class['export'] . ' href="db_events.php?' . $url_query . '&export_item=1' . '&item_name=' . urlencode($event['EVENT_NAME']) . '">' . $titles['Export'] . "</a>\n"; $retval .= " </td>\n"; $retval .= " <td>\n"; if (PMA_currentUserHasPrivilege('EVENT', $db)) { $retval .= ' <a ' . $ajax_class['drop'] . ' href="sql.php?' . $url_query . '&sql_query=' . urlencode($sql_drop) . '&goto=db_events.php' . urlencode("?db={$db}") . '" >' . $titles['Drop'] . "</a>\n"; } else { $retval .= " {$titles['NoDrop']}\n"; } $retval .= " </td>\n"; $retval .= " <td>\n"; $retval .= " {$event['EVENT_TYPE']}\n"; $retval .= " </td>\n"; $retval .= " </tr>\n"; return $retval; }
/** * Returns the db tabs as an array * * @return array Data for generating db tabs */ private function _getDbTabs() { $db_is_information_schema = PMA_is_system_schema($this->_db); $num_tables = count(PMA_DBI_get_tables($this->_db)); $is_superuser = PMA_isSuperuser(); /** * Gets the relation settings */ $cfgRelation = PMA_getRelationsParam(); $tabs = array(); /** * export, search and qbe links if there is at least one table */ if ($num_tables == 0) { $tabs['qbe']['warning'] = __('Database seems to be empty!'); $tabs['search']['warning'] = __('Database seems to be empty!'); $tabs['export']['warning'] = __('Database seems to be empty!'); } $tabs['structure']['link'] = 'db_structure.php'; $tabs['structure']['text'] = __('Structure'); $tabs['structure']['icon'] = 'b_props.png'; $tabs['sql']['link'] = 'db_sql.php'; $tabs['sql']['args']['db_query_force'] = 1; $tabs['sql']['text'] = __('SQL'); $tabs['sql']['icon'] = 'b_sql.png'; $tabs['search']['text'] = __('Search'); $tabs['search']['icon'] = 'b_search.png'; $tabs['search']['link'] = 'db_search.php'; $tabs['qbe']['text'] = __('Query'); $tabs['qbe']['icon'] = 's_db.png'; $tabs['qbe']['link'] = 'db_qbe.php'; $tabs['export']['text'] = __('Export'); $tabs['export']['icon'] = 'b_export.png'; $tabs['export']['link'] = 'db_export.php'; if (!$db_is_information_schema) { $tabs['import']['link'] = 'db_import.php'; $tabs['import']['text'] = __('Import'); $tabs['import']['icon'] = 'b_import.png'; $tabs['operation']['link'] = 'db_operations.php'; $tabs['operation']['text'] = __('Operations'); $tabs['operation']['icon'] = 'b_tblops.png'; if ($is_superuser && !PMA_DRIZZLE) { $tabs['privileges']['link'] = 'server_privileges.php'; $tabs['privileges']['args']['checkprivs'] = $this->_db; // stay on database view $tabs['privileges']['args']['viewing_mode'] = 'db'; $tabs['privileges']['text'] = __('Privileges'); $tabs['privileges']['icon'] = 's_rights.png'; } if (!PMA_DRIZZLE) { $tabs['routines']['link'] = 'db_routines.php'; $tabs['routines']['text'] = __('Routines'); $tabs['routines']['icon'] = 'b_routines.png'; } if (PMA_MYSQL_INT_VERSION >= 50106 && !PMA_DRIZZLE && PMA_currentUserHasPrivilege('EVENT', $this->_db)) { $tabs['events']['link'] = 'db_events.php'; $tabs['events']['text'] = __('Events'); $tabs['events']['icon'] = 'b_events.png'; } if (!PMA_DRIZZLE && PMA_currentUserHasPrivilege('TRIGGER', $this->_db)) { $tabs['triggers']['link'] = 'db_triggers.php'; $tabs['triggers']['text'] = __('Triggers'); $tabs['triggers']['icon'] = 'b_triggers.png'; } } if (PMA_Tracker::isActive()) { $tabs['tracking']['text'] = __('Tracking'); $tabs['tracking']['icon'] = 'eye.png'; $tabs['tracking']['link'] = 'db_tracking.php'; } if (!$db_is_information_schema && $cfgRelation['designerwork']) { $tabs['designer']['text'] = __('Designer'); $tabs['designer']['icon'] = 'b_relations.png'; $tabs['designer']['link'] = 'pmd_general.php'; } return $tabs; }
*/ if (!$tbl_is_view && !$db_is_information_schema) { $tabs['import']['icon'] = 'b_tblimport.png'; $tabs['import']['link'] = 'tbl_import.php'; $tabs['import']['text'] = __('Import'); $tabs['operation']['icon'] = 'b_tblops.png'; $tabs['operation']['link'] = 'tbl_operations.php'; $tabs['operation']['text'] = __('Operations'); } if (PMA_Tracker::isActive()) { $tabs['tracking']['icon'] = 'eye.png'; $tabs['tracking']['text'] = __('Tracking'); $tabs['tracking']['link'] = 'tbl_tracking.php'; } if (!$db_is_information_schema && !PMA_DRIZZLE) { if (PMA_currentUserHasPrivilege('TRIGGER', $db, $table) && !PMA_Table::isView($db, $table)) { $tabs['triggers']['link'] = 'tbl_triggers.php'; $tabs['triggers']['text'] = __('Triggers'); $tabs['triggers']['icon'] = 'b_triggers.png'; } } /** * Views support a limited number of operations */ if ($tbl_is_view && !$db_is_information_schema) { $tabs['operation']['icon'] = 'b_tblops.png'; $tabs['operation']['link'] = 'view_operations.php'; $tabs['operation']['text'] = __('Operations'); } if ($table_info_num_rows == 0 && !$tbl_is_view) { $tabs['browse']['warning'] = __('Table seems to be empty!');
if (!$db_is_information_schema) { $tabs[] =& $tab_import; $tabs[] =& $tab_operation; if ($is_superuser && !PMA_DRIZZLE) { $tabs[] =& $tab_privileges; } if (!PMA_DRIZZLE) { $tabs[] =& $tab_routines; } if (PMA_MYSQL_INT_VERSION >= 50106 && !PMA_DRIZZLE) { if (PMA_currentUserHasPrivilege('EVENT', $db)) { $tabs[] =& $tab_events; } } if (!PMA_DRIZZLE) { if (PMA_currentUserHasPrivilege('TRIGGER', $db)) { $tabs[] =& $tab_triggers; } } } if (PMA_Tracker::isActive()) { $tabs[] =& $tab_tracking; } if (!$db_is_information_schema) { if ($cfgRelation['designerwork']) { $tabs[] =& $tab_designer; } } $url_params['db'] = $db; echo PMA_generate_html_tabs($tabs, $url_params); unset($tabs);