bug [structure] Missing validation for BINARY and VARBINARY
[phpmyadmin/crack.git] / libraries / db_links.inc.php
blobdc6b8e3058747b4209c5881ee6a985ce3567604e
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
5 * @version $Id$
6 * @package phpMyAdmin
7 */
8 if (! defined('PHPMYADMIN')) {
9 exit;
12 /**
15 require_once './libraries/common.inc.php';
17 require_once './libraries/relation.lib.php';
18 /**
19 * Gets the relation settings
21 $cfgRelation = PMA_getRelationsParam();
23 /**
24 * If coming from a Show MySQL link on the home page,
25 * put something in $sub_part
27 if (empty($sub_part)) {
28 $sub_part = '_structure';
31 /**
32 * Checks for superuser privileges
34 $is_superuser = PMA_isSuperuser();
36 /**
37 * Prepares links
39 // Drop link if allowed
40 // rabus: Don't even try to drop information_schema. You won't be able to. Believe me. You won't.
41 // nijel: Don't allow to easilly drop mysql database, RFE #1327514.
42 if (($is_superuser || $GLOBALS['cfg']['AllowUserDropDatabase']) && ! $db_is_information_schema && ($db != 'mysql')) {
43 $tab_drop['link'] = 'sql.php';
44 $tab_drop['args']['sql_query'] = 'DROP DATABASE ' . PMA_backquote($db);
45 $tab_drop['args']['zero_rows'] = sprintf($GLOBALS['strDatabaseHasBeenDropped'], htmlspecialchars(PMA_backquote($db)));
46 $tab_drop['args']['goto'] = 'main.php';
47 $tab_drop['args']['back'] = 'db' . $sub_part . '.php';
48 $tab_drop['args']['reload'] = 1;
49 $tab_drop['args']['purge'] = 1;
50 $tab_drop['attr'] = 'onclick="return confirmLinkDropDB(this, \'DROP DATABASE ' . PMA_jsFormat($db) . '\')"';
53 /**
54 * export, search and qbe links if there is at least one table
56 if ($num_tables == 0) {
57 $tab_qbe['warning'] = $strDbIsEmpty;
58 $tab_search['warning'] = $strDbIsEmpty;
59 $tab_export['warning'] = $strDbIsEmpty;
62 $tab_structure['link'] = 'db_structure.php';
63 $tab_structure['text'] = $GLOBALS['strStructure'];
64 $tab_structure['icon'] = 'b_props.png';
66 $tab_sql['link'] = 'db_sql.php';
67 $tab_sql['args']['db_query_force'] = 1;
68 $tab_sql['text'] = $GLOBALS['strSQL'];
69 $tab_sql['icon'] = 'b_sql.png';
71 $tab_export['text'] = $GLOBALS['strExport'];
72 $tab_export['icon'] = 'b_export.png';
73 $tab_export['link'] = 'db_export.php';
75 $tab_search['text'] = $GLOBALS['strSearch'];
76 $tab_search['icon'] = 'b_search.png';
77 $tab_search['link'] = 'db_search.php';
79 $tab_qbe['text'] = $GLOBALS['strQBE'];
80 $tab_qbe['icon'] = 's_db.png';
81 $tab_qbe['link'] = 'db_qbe.php';
83 if ($cfgRelation['designerwork']) {
84 $tab_designer['text'] = $GLOBALS['strDesigner'];
85 $tab_designer['icon'] = 'b_relations.png';
86 $tab_designer['link'] = 'pmd_general.php';
89 if (! $db_is_information_schema) {
90 $tab_import['link'] = 'db_import.php';
91 $tab_import['text'] = $GLOBALS['strImport'];
92 $tab_import['icon'] = 'b_import.png';
93 $tab_drop['text'] = $GLOBALS['strDrop'];
94 $tab_drop['icon'] = 'b_deltbl.png';
95 $tab_drop['class'] = 'caution';
96 $tab_operation['link'] = 'db_operations.php';
97 $tab_operation['text'] = $GLOBALS['strOperations'];
98 $tab_operation['icon'] = 'b_tblops.png';
99 if ($is_superuser) {
100 $tab_privileges['link'] = 'server_privileges.php';
101 $tab_privileges['args']['checkprivs'] = $db;
102 // stay on database view
103 $tab_privileges['args']['viewing_mode'] = 'db';
104 $tab_privileges['text'] = $GLOBALS['strPrivileges'];
105 $tab_privileges['icon'] = 's_rights.png';
110 * Displays tab links
112 $tabs = array();
113 $tabs[] =& $tab_structure;
114 $tabs[] =& $tab_sql;
115 $tabs[] =& $tab_search;
116 $tabs[] =& $tab_qbe;
117 $tabs[] =& $tab_export;
118 if (! $db_is_information_schema) {
119 $tabs[] =& $tab_import;
120 if ($cfgRelation['designerwork']) {
121 $tabs[] =& $tab_designer;
123 $tabs[] =& $tab_operation;
124 if ($is_superuser) {
125 $tabs[] =& $tab_privileges;
127 if ($is_superuser || $GLOBALS['cfg']['AllowUserDropDatabase']) {
128 $tabs[] =& $tab_drop;
132 $url_params['db'] = $db;
134 echo PMA_getTabs($tabs, $url_params);
135 unset($tabs);
138 * Displays a message
140 if (!empty($message)) {
141 PMA_showMessage($message);
142 unset($message);