2007-07-02 05:51:26 +00:00
< ? php
2007-07-09 14:48:46 +00:00
// Copyright 2007 Jakub Vrana http://phpminadmin.sourceforge.net, licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License.
2007-07-05 10:34:19 +00:00
2007-07-02 05:51:26 +00:00
session_start ();
error_reporting ( E_ALL & ~ E_NOTICE );
2007-07-02 20:21:30 +00:00
$SELF = preg_replace ( '~^[^?]*/([^?]*).*~' , '\\1?' , $_SERVER [ " REQUEST_URI " ]) . ( strlen ( $_GET [ " server " ]) ? 'server=' . urlencode ( $_GET [ " server " ]) . '&' : '' ) . ( strlen ( $_GET [ " db " ]) ? 'db=' . urlencode ( $_GET [ " db " ]) . '&' : '' );
2007-07-09 06:12:22 +00:00
$TOKENS = & $_SESSION [ " tokens " ][ $_GET [ " server " ]][ preg_replace ( '~([?&]sql=)upload~' , '\\1' , $_SERVER [ " REQUEST_URI " ])];
2007-07-02 05:51:26 +00:00
include " ./functions.inc.php " ;
2007-07-10 06:30:04 +00:00
include " ./lang.inc.php " ;
2007-07-02 05:51:26 +00:00
include " ./design.inc.php " ;
2007-07-10 13:30:42 +00:00
include " ./abstraction.inc.php " ;
2007-07-02 05:51:26 +00:00
include " ./auth.inc.php " ;
include " ./connect.inc.php " ;
2007-07-05 10:45:23 +00:00
if ( isset ( $_GET [ " dump " ])) {
2007-07-02 05:51:26 +00:00
include " ./dump.inc.php " ;
2007-07-09 06:12:22 +00:00
} elseif ( isset ( $_GET [ " download " ])) {
include " ./download.inc.php " ;
2007-07-02 05:51:26 +00:00
} else {
2007-07-06 18:08:17 +00:00
if ( isset ( $_GET [ " table " ])) {
2007-07-05 10:45:23 +00:00
include " ./table.inc.php " ;
} elseif ( isset ( $_GET [ " select " ])) {
include " ./select.inc.php " ;
} elseif ( isset ( $_GET [ " view " ])) {
include " ./view.inc.php " ;
} else {
2007-07-06 18:08:17 +00:00
if ( $_POST ) {
2007-07-09 06:12:22 +00:00
$error = ( in_array ( $_POST [ " token " ], ( array ) $TOKENS ) ? " " : lang ( 'Invalid CSRF token. Send the form again.' ));
2007-07-06 18:08:17 +00:00
}
2007-07-09 06:12:22 +00:00
$token = ( $_POST && ! $error ? $_POST [ " token " ] : token ());
2007-07-09 14:48:46 +00:00
if ( isset ( $_GET [ " default " ])) {
$_GET [ " edit " ] = $_GET [ " default " ];
}
if ( isset ( $_GET [ " callf " ])) {
$_GET [ " call " ] = $_GET [ " callf " ];
}
2007-07-06 18:08:17 +00:00
if ( isset ( $_GET [ " sql " ])) {
include " ./sql.inc.php " ;
} elseif ( isset ( $_GET [ " edit " ])) {
include " ./edit.inc.php " ;
} elseif ( isset ( $_GET [ " create " ])) {
include " ./create.inc.php " ;
} elseif ( isset ( $_GET [ " indexes " ])) {
include " ./indexes.inc.php " ;
} elseif ( isset ( $_GET [ " database " ])) {
include " ./database.inc.php " ;
2007-07-09 07:29:02 +00:00
} elseif ( isset ( $_GET [ " call " ])) {
include " ./call.inc.php " ;
2007-07-06 18:08:17 +00:00
} else {
2007-07-09 06:12:22 +00:00
$TOKENS = array ();
2007-07-06 18:08:17 +00:00
page_header ( htmlspecialchars ( lang ( 'Database' ) . " : " . $_GET [ " db " ]));
echo '<p><a href="' . htmlspecialchars ( $SELF ) . 'database=">' . lang ( 'Alter database' ) . " </a></p> \n " ;
2007-07-10 13:30:42 +00:00
if ( $mysql -> server_info >= 5 ) {
$result = $mysql -> query ( " SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ' " . $mysql -> real_escape_string ( $_GET [ " db " ]) . " ' " );
if ( $result -> num_rows ) {
2007-07-06 18:08:17 +00:00
echo " <h2> " . lang ( 'Routines' ) . " </h2> \n " ;
echo " <table border='0' cellspacing='0' cellpadding='2'> \n " ;
2007-07-10 13:30:42 +00:00
while ( $row = $result -> fetch_assoc ()) {
2007-07-06 18:08:17 +00:00
echo " <tr valign='top'> " ;
echo " <th> " . htmlspecialchars ( $row [ " ROUTINE_TYPE " ]) . " </th> " ;
2007-07-09 14:48:46 +00:00
echo '<td><a href="' . htmlspecialchars ( $SELF ) . ( $row [ " ROUTINE_TYPE " ] == " FUNCTION " ? 'callf' : 'call' ) . '=' . urlencode ( $row [ " ROUTINE_NAME " ]) . '">' . htmlspecialchars ( $row [ " ROUTINE_NAME " ]) . '</a></td>' ;
2007-07-10 06:30:04 +00:00
echo " <td><pre class='jush-sql'> " . htmlspecialchars ( $row [ " ROUTINE_DEFINITION " ]) . " </pre></td> " ;
2007-07-06 18:08:17 +00:00
echo " </tr> \n " ;
}
echo " </table> \n " ;
2007-07-06 09:55:51 +00:00
}
2007-07-10 13:30:42 +00:00
$result -> free ();
2007-07-05 10:45:23 +00:00
}
2007-07-02 05:51:26 +00:00
}
}
2007-07-05 10:45:23 +00:00
page_footer ();
2007-07-02 05:51:26 +00:00
}