Guest User

Untitled

a guest
Jun 24th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 37.25 KB | None | 0 0
  1. zö¥m«ë‡^r‡^/*
  2.  * MySQL Web Interface Version 2
  3.  * -------------------------------
  4.  * Developed By sNiper_hEx
  5. */
  6.  
  7. if ( function_exists('ini_get') ) {
  8.     $onoff = ini_get('register_globals');
  9. } else {
  10.     $onoff = get_cfg_var('register_globals');
  11. }
  12. if ($onoff != 1) {
  13.     @extract($HTTP_SERVER_VARS, EXTR_SKIP);
  14.     @extract($HTTP_COOKIE_VARS, EXTR_SKIP);
  15.     @extract($HTTP_POST_FILES, EXTR_SKIP);
  16.     @extract($HTTP_POST_VARS, EXTR_SKIP);
  17.     @extract($HTTP_GET_VARS, EXTR_SKIP);
  18.     @extract($HTTP_ENV_VARS, EXTR_SKIP);
  19. }
  20.  
  21. function logon() {
  22.     global $PHP_SELF;
  23.  
  24.     setcookie( "mysql_web_admin_username" );
  25.     setcookie( "mysql_web_admin_password" );
  26.     setcookie( "mysql_web_admin_hostname" );
  27.     echo "<html>\n";
  28.     echo "<head>\n";
  29.     echo "<title>MySQL Interface</title>\n";
  30.     echo "</head>\n";
  31.     echo "<body>\n";
  32.     echo "<table width=100% height=100%><tr><td><center>\n";
  33.     echo "<table cellpadding=2><tr><td bgcolor=#a4a260><center>\n";
  34.     echo "<table cellpadding=20><tr><td bgcolor=#ffffff><center>\n";
  35.     echo "<h1>MySQL Web Interface</h1>\n";
  36.     echo "<form action='$PHP_SELF'>\n";
  37.     echo "<input type=hidden name=action value=logon_submit>\n";
  38.     echo "<table cellpadding=5 cellspacing=1>\n";
  39.     echo "<tr><td>Hostname </td><td> <input type=text name=hostname value='localhost'></td></tr>\n";
  40.     echo "<tr><td>Username </td><td> <input type=text name=username></td></tr>\n";
  41.     echo "<tr><td>Password </td><td> <input type=password name=password></td></tr>\n";
  42.     echo "</table><p>\n";
  43.     echo "<input type=submit value='Enter'>\n";
  44.     echo "<input type=reset value='Clear'><br>\n";
  45.     echo "</form>\n";
  46.     echo "</center></td></tr></table>\n";
  47.     echo "</center></td></tr></table>\n";
  48.     echo "<p><hr width=300>\n";
  49.     echo "</center></td></tr></table>\n";
  50.     echo "</body>\n";
  51.     echo "</html>\n";
  52. }
  53.  
  54. function logon_submit() {
  55.     global $username, $password, $hostname ,$PHP_SELF;
  56.     if($hostname =='')
  57.         $hostname = 'localhost';
  58.     setcookie( "mysql_web_admin_username", $username );
  59.     setcookie( "mysql_web_admin_password", $password );
  60.     setcookie( "mysql_web_admin_hostname", $hostname );
  61.     echo "<html>";
  62.     echo "<head>";
  63.     echo "<META HTTP-EQUIV=Refresh CONTENT='0; URL=$PHP_SELF?action=listDBs'>";
  64.     echo "</head>";
  65.     echo "</html>";
  66. }
  67.  
  68. function echoQueryResult() {
  69.     global $queryStr, $errMsg;
  70.  
  71.     if( $errMsg == "" ) $errMsg = "Success";
  72.     if( $queryStr != "" ) {
  73.         echo "<table cellpadding=5>\n";
  74.         echo "<tr><td>Query</td><td>$queryStr</td></tr>\n";
  75.         echo "<tr><td>Result</td><td>$errMsg</td></tr>\n";
  76.         echo "</table><p>\n";
  77.     }
  78. }
  79.  
  80. function listDatabases() {
  81.     global $mysqlHandle, $PHP_SELF;
  82.  
  83.     echo "<h1>Databases List</h1>\n";
  84.  
  85.     echo "<form action='$PHP_SELF'>\n";
  86.     echo "<input type=hidden name=action value=createDB>\n";
  87.     echo "<input type=text name=dbname>\n";
  88.     echo "<input type=submit value='Create Database'>\n";
  89.     echo "</form>\n";
  90.     echo "<hr>\n";
  91.  
  92.     echo "<table cellspacing=1 cellpadding=5>\n";
  93.  
  94.     $pDB = mysql_list_dbs( $mysqlHandle );
  95.     $num = mysql_num_rows( $pDB );
  96.     for( $i = 0; $i < $num; $i++ ) {
  97.         $dbname = mysql_dbname( $pDB, $i );
  98.         echo "<tr>\n";
  99.         echo "<td>$dbname</td>\n";
  100.         echo "<td><a href='$PHP_SELF?action=listTables&dbname=$dbname'>Tables</a></td>\n";
  101.         echo "<td><a href='$PHP_SELF?action=dropDB&dbname=$dbname' onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a></td>\n";
  102.         echo "<td><a href='$PHP_SELF?action=dumpDB&dbname=$dbname' onClick=\"return confirm('Dump Database \'$dbname\'?')\">Dump</a></td>\n";
  103.         echo "</tr>\n";
  104.     }
  105.     echo "</table>\n";
  106. }
  107.  
  108. function createDatabase() {
  109.     global $mysqlHandle, $dbname, $PHP_SELF;
  110.  
  111.     mysql_create_db( $dbname, $mysqlHandle );
  112.     listDatabases();
  113. }
  114.  
  115. function dropDatabase() {
  116.     global $mysqlHandle, $dbname, $PHP_SELF;
  117.  
  118.     mysql_drop_db( $dbname, $mysqlHandle );
  119.     listDatabases();
  120. }
  121.  
  122. function listTables() {
  123.     global $mysqlHandle, $dbname, $PHP_SELF;
  124.  
  125.  
  126.     echo "<h1>Tables List</h1>\n";
  127.     echo "<p class=location>$dbname</p>\n";
  128.     echoQueryResult();
  129.     echo "<form action='$PHP_SELF'>\n";
  130.     echo "<input type=hidden name=action value=createTable>\n";
  131.     echo "<input type=hidden name=dbname value=$dbname>\n";
  132.     echo "<input type=text name=tablename>\n";
  133.     echo "<input type=submit value='Create Table'>\n";
  134.     echo "</form>\n";
  135.     echo "<form action='$PHP_SELF'>\n";
  136.     echo "<input type=hidden name=action value=query>\n";
  137.     echo "<input type=hidden name=dbname value=$dbname>\n";
  138.     echo "<input type=text size=120 name=queryStr>\n";
  139.     echo "<input type=submit value='Query'>\n";
  140.     echo "</form>\n";
  141.     echo "<hr>\n";
  142.  
  143.     $pTable = mysql_list_tables( $dbname );
  144.  
  145.     if( $pTable == 0 ) {
  146.         $msg  = mysql_error();
  147.         echo "<h3>Error : $msg</h3><p>\n";
  148.         return;
  149.     }
  150.     $num = mysql_num_rows( $pTable );
  151.  
  152.     echo "<table cellspacing=1 cellpadding=5>\n";
  153.  
  154.     for( $i = 0; $i < $num; $i++ ) {
  155.         $tablename = mysql_tablename( $pTable, $i );
  156.  
  157.         echo "<tr>\n";
  158.         echo "<td>\n";
  159.         echo "$tablename\n";
  160.         echo "</td>\n";
  161.         echo "<td>\n";
  162.         echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  163.         echo "</td>\n";
  164.         echo "<td>\n";
  165.         echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n";
  166.         echo "</td>\n";
  167.         echo "<td>\n";
  168.         echo "<a href='$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Drop Table \'$tablename\'?')\">Drop</a>\n";
  169.         echo "</td>\n";
  170.         echo "<td>\n";
  171.         echo "<a href='$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Dump Table \'$tablename\'?')\">Dump</a>\n";
  172.         echo "</td>\n";
  173.         echo "</tr>\n";
  174.     }
  175.  
  176.     echo "</table>";
  177. }
  178.  
  179. function createTable() {
  180.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  181.  
  182.     $queryStr = "CREATE TABLE $tablename ( no INT )";
  183.     mysql_select_db( $dbname, $mysqlHandle );
  184.     mysql_query( $queryStr, $mysqlHandle );
  185.     $errMsg = mysql_error();
  186.  
  187.     listTables();
  188. }
  189.  
  190. function dropTable() {
  191.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  192.  
  193.     $queryStr = "DROP TABLE $tablename";
  194.     mysql_select_db( $dbname, $mysqlHandle );
  195.     mysql_query( $queryStr, $mysqlHandle );
  196.     $errMsg = mysql_error();
  197.  
  198.     listTables();
  199. }
  200.  
  201. function viewSchema() {
  202.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  203.  
  204.     echo "<h1>Table Schema</h1>\n";
  205.     echo "<p class=location>$dbname > $tablename</p>\n";
  206.  
  207.     echoQueryResult();
  208.  
  209.     echo "<a href='$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename'>Add Field</a> | \n";
  210.     echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>View Data</a>\n";
  211.     echo "<hr>\n";
  212.  
  213.     $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  214.     $num = mysql_num_rows( $pResult );
  215.  
  216.     echo "<table cellspacing=1 cellpadding=5>\n";
  217.     echo "<tr>\n";
  218.     echo "<th>Field</th>\n";
  219.     echo "<th>Type</th>\n";
  220.     echo "<th>Null</th>\n";
  221.     echo "<th>Key</th>\n";
  222.     echo "<th>Default</th>\n";
  223.     echo "<th>Extra</th>\n";
  224.     echo "<th colspan=2>Action</th>\n";
  225.     echo "</tr>\n";
  226.  
  227.  
  228.     for( $i = 0; $i < $num; $i++ ) {
  229.         $field = mysql_fetch_array( $pResult );
  230.         echo "<tr>\n";
  231.         echo "<td>".$field["Field"]."</td>\n";
  232.         echo "<td>".$field["Type"]."</td>\n";
  233.         echo "<td>".$field["Null"]."</td>\n";
  234.         echo "<td>".$field["Key"]."</td>\n";
  235.         echo "<td>".$field["Default"]."</td>\n";
  236.         echo "<td>".$field["Extra"]."</td>\n";
  237.         $fieldname = $field["Field"];
  238.         echo "<td><a href='$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n";
  239.         echo "<td><a href='$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' onClick=\"return confirm('Drop Field \'$fieldname\'?')\">Drop</a></td>\n";
  240.         echo "</tr>\n";
  241.     }
  242.     echo "</table>\n";
  243.  
  244. }
  245.  
  246. function manageField( $cmd ) {
  247.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF;
  248.  
  249.     if( $cmd == "add" )
  250.         echo "<h1>Add Field</h1>\n";
  251.     else if( $cmd == "edit" ) {
  252.         echo "<h1>Edit Field</h1>\n";
  253.         $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  254.         $num = mysql_num_rows( $pResult );
  255.         for( $i = 0; $i < $num; $i++ ) {
  256.             $field = mysql_fetch_array( $pResult );
  257.             if( $field["Field"] == $fieldname ) {
  258.                 $fieldtype = $field["Type"];
  259.                 $fieldkey = $field["Key"];
  260.                 $fieldextra = $field["Extra"];
  261.                 $fieldnull = $field["Null"];
  262.                 $fielddefault = $field["Default"];
  263.                 break;
  264.             }
  265.         }
  266.         $type = strtok( $fieldtype, " (,)\n" );
  267.         if( strpos( $fieldtype, "(" ) ) {
  268.             if( $type == "enum" | $type == "set" ) {
  269.                 $valuelist = strtok( " ()\n" );
  270.             } else {
  271.                 $M = strtok( " (,)\n" );
  272.                 if( strpos( $fieldtype, "," ) )
  273.                     $D = strtok( " (,)\n" );
  274.             }
  275.         }
  276.     }
  277.  
  278.     echo "<p class=location>$dbname > $tablename</p>\n";
  279.     echo "<form action=$PHP_SELF>\n";
  280.  
  281.     if( $cmd == "add" )
  282.         echo "<input type=hidden name=action value=addField_submit>\n";
  283.     else if( $cmd == "edit" ) {
  284.         echo "<input type=hidden name=action value=editField_submit>\n";
  285.         echo "<input type=hidden name=old_name value=$fieldname>\n";
  286.     }
  287.     echo "<input type=hidden name=dbname value=$dbname>\n";
  288.     echo "<input type=hidden name=tablename value=$tablename>\n";
  289.  
  290.     echo "<h3>Name</h3>\n";
  291.     echo "<input type=text name=name value=$fieldname><p>\n";
  292.     echo '
  293.  
  294. <h3>Type</h3>
  295.  
  296. <font size=2>
  297. * `M\' indicates the maximum display size.<br>
  298. * `D\' applies to floating-point types and indicates the number of digits following the decimal point.<br>
  299. </font>
  300.  
  301. <table>
  302. <tr>
  303. <th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th>
  304. </tr>
  305. <tr>
  306. <td><input type=radio name=type value="TINYINT" '; if( $type == "tinyint" ) echo "checked";echo '>TINYINT (-128 ~ 127)</td>
  307. <td align=center>O</td>
  308. <td>&nbsp</td>
  309. <td align=center>O</td>
  310. <td align=center>O</td>
  311. <td>&nbsp</td>
  312. </tr>
  313. <tr>
  314. <td><input type=radio name=type value="SMALLINT" '; if( $type == "smallint" ) echo "checked";echo '>SMALLINT (-32768 ~ 32767)</td>
  315. <td align=center>O</td>
  316. <td>&nbsp</td>
  317. <td align=center>O</td>
  318. <td align=center>O</td>
  319. <td>&nbsp</td>
  320. </tr>
  321. <tr>
  322. <td><input type=radio name=type value="MEDIUMINT" '; if( $type == "mediumint" ) echo "checked";echo '>MEDIUMINT (-8388608 ~ 8388607)</td>
  323.  
  324. <td align=center>O</td>
  325. <td>&nbsp</td>
  326. <td align=center>O</td>
  327. <td align=center>O</td>
  328. <td>&nbsp</td>
  329. </tr>
  330. <tr>
  331. <td><input type=radio name=type value="INT" '; if( $type == "int" ) echo "checked";echo '>INT (-2147483648 ~ 2147483647)</td>
  332. <td align=center>O</td>
  333. <td>&nbsp</td>
  334. <td align=center>O</td>
  335. <td align=center>O</td>
  336. <td>&nbsp</td>
  337. </tr>
  338. <tr>
  339. <td><input type=radio name=type value="BIGINT" '; if( $type == "bigint" ) echo "checked";echo '>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td>
  340. <td align=center>O</td>
  341. <td>&nbsp</td>
  342. <td align=center>O</td>
  343. <td align=center>O</td>
  344. <td>&nbsp</td>
  345. </tr>
  346. <tr>
  347. <td><input type=radio name=type value="FLOAT" '; if( $type == "float" ) echo "checked";echo '>FLOAT</td>
  348. <td align=center>O</td>
  349. <td align=center>O</td>
  350. <td>&nbsp</td>
  351. <td align=center>O</td>
  352. <td>&nbsp</td>
  353. </tr>
  354. <tr>
  355. <td><input type=radio name=type value="DOUBLE" '; if( $type == "double" ) echo "checked";echo '>DOUBLE</td>
  356. <td align=center>O</td>
  357. <td align=center>O</td>
  358. <td>&nbsp</td>
  359. <td align=center>O</td>
  360. <td>&nbsp</td>
  361. </tr>
  362. <tr>
  363. <td><input type=radio name=type value="DECIMAL" '; if( $type == "decimal" ) echo "checked";echo '>DECIMAL(NUMERIC)</td>
  364. <td align=center>O</td>
  365. <td align=center>O</td>
  366. <td>&nbsp</td>
  367. <td align=center>O</td>
  368. <td>&nbsp</td>
  369. </tr>
  370. <tr>
  371. <td><input type=radio name=type value="DATE" '; if( $type == "date" ) echo "checked";echo '>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td>
  372. <td>&nbsp</td>
  373. <td>&nbsp</td>
  374. <td>&nbsp</td>
  375. <td>&nbsp</td>
  376. <td>&nbsp</td>
  377. </tr>
  378. <tr>
  379. <td><input type=radio name=type value="DATETIME" '; if( $type == "datetime" ) echo "checked";echo '>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59, YYYY-MM-DD HH:MM:SS)</td>
  380. <td>&nbsp</td>
  381. <td>&nbsp</td>
  382. <td>&nbsp</td>
  383. <td>&nbsp</td>
  384. <td>&nbsp</td>
  385. </tr>
  386. <tr>
  387. <td><input type=radio name=type value="TIMESTAMP" '; if( $type == "timestamp" ) echo "checked";echo '>TIMESTAMP (1970-01-01 00:00:00 ~ 2106..., YYYYMMDD[HH[MM[SS]]])</td>
  388. <td align=center>O</td>
  389. <td>&nbsp</td>
  390. <td>&nbsp</td>
  391. <td>&nbsp</td>
  392. <td>&nbsp</td>
  393. </tr>
  394. <tr>
  395. <td><input type=radio name=type value="TIME" '; if( $type == "time" ) echo "checked";echo '>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td>
  396. <td>&nbsp</td>
  397. <td>&nbsp</td>
  398. <td>&nbsp</td>
  399. <td>&nbsp</td>
  400. <td>&nbsp</td>
  401. </tr>
  402. <tr>
  403. <td><input type=radio name=type value="YEAR" '; if( $type == "year" ) echo "checked";echo '>YEAR (1901 ~ 2155, 0000, YYYY)</td>
  404. <td>&nbsp</td>
  405. <td>&nbsp</td>
  406. <td>&nbsp</td>
  407. <td>&nbsp</td>
  408. <td>&nbsp</td>
  409. </tr>
  410. <tr>
  411. <td><input type=radio name=type value="CHAR" '; if( $type == "char" ) echo "checked";echo '>CHAR</td>
  412. <td align=center>O</td>
  413. <td>&nbsp</td>
  414. <td>&nbsp</td>
  415. <td>&nbsp</td>
  416. <td align=center>O</td>
  417. </tr>
  418. <tr>
  419. <td><input type=radio name=type value="VARCHAR" '; if( $type == "varchar" ) echo "checked";echo '>VARCHAR</td>
  420. <td align=center>O</td>
  421. <td>&nbsp</td>
  422. <td>&nbsp</td>
  423. <td>&nbsp</td>
  424. <td align=center>O</td>
  425. </tr>
  426. <tr>
  427. <td><input type=radio name=type value="TINYTEXT" '; if( $type == "tinytext" ) echo "checked";echo '>TINYTEXT (0 ~ 255)</td>
  428. <td>&nbsp</td>
  429. <td>&nbsp</td>
  430. <td>&nbsp</td>
  431. <td>&nbsp</td>
  432. <td>&nbsp</td>
  433. </tr>
  434. <tr>
  435. <td><input type=radio name=type value="TEXT" '; if( $type == "text" ) echo "checked";echo '>TEXT (0 ~ 65535)</td>
  436. <td>&nbsp</td>
  437. <td>&nbsp</td>
  438. <td>&nbsp</td>
  439. <td>&nbsp</td>
  440. <td>&nbsp</td>
  441. </tr>
  442. <tr>
  443. <td><input type=radio name=type value="MEDIUMTEXT" '; if( $type == "mediumtext" ) echo "checked";echo '>MEDIUMTEXT (0 ~ 16777215)</td>
  444. <td>&nbsp</td>
  445. <td>&nbsp</td>
  446. <td>&nbsp</td>
  447. <td>&nbsp</td>
  448. <td>&nbsp</td>
  449. </tr>
  450. <tr>
  451. <td><input type=radio name=type value="LONGTEXT" '; if( $type == "longtext" ) echo "checked";echo '>LONGTEXT (0 ~ 4294967295)</td>
  452. <td>&nbsp</td>
  453. <td>&nbsp</td>
  454. <td>&nbsp</td>
  455. <td>&nbsp</td>
  456. <td>&nbsp</td>
  457. </tr>
  458. <tr>
  459. <td><input type=radio name=type value="TINYBLOB" '; if( $type == "tinyblob" ) echo "checked";echo '>TINYBLOB (0 ~ 255)</td>
  460. <td>&nbsp</td>
  461. <td>&nbsp</td>
  462. <td>&nbsp</td>
  463. <td>&nbsp</td>
  464. <td>&nbsp</td>
  465. </tr>
  466. <tr>
  467. <td><input type=radio name=type value="BLOB" '; if( $type == "blob" ) echo "checked";echo '>BLOB (0 ~ 65535)</td>
  468. <td>&nbsp</td>
  469. <td>&nbsp</td>
  470. <td>&nbsp</td>
  471. <td>&nbsp</td>
  472. <td>&nbsp</td>
  473. </tr>
  474. <tr>
  475. <td><input type=radio name=type value="MEDIUMBLOB" '; if( $type == "mediumblob" ) echo "checked";echo '>MEDIUMBLOB (0 ~ 16777215)</td>
  476. <td>&nbsp</td>
  477. <td>&nbsp</td>
  478. <td>&nbsp</td>
  479. <td>&nbsp</td>
  480. <td>&nbsp</td>
  481. </tr>
  482. <tr>
  483. <td><input type=radio name=type value="LONGBLOB" '; if( $type == "longblob" ) echo "checked";echo '>LONGBLOB (0 ~ 4294967295)</td>
  484. <td>&nbsp</td>
  485. <td>&nbsp</td>
  486. <td>&nbsp</td>
  487. <td>&nbsp</td>
  488. <td>&nbsp</td>
  489. </tr>
  490. <tr>
  491. <td><input type=radio name=type value="ENUM" '; if( $type == "enum" ) echo "checked";echo '>ENUM</td>
  492. <td colspan=5><center>value list</center></td>
  493. </tr>
  494. <tr>
  495. <td><input type=radio name=type value="SET" '; if( $type == "set" ) echo "checked";echo '>SET</td>
  496. <td colspan=5><center>value list</center></td>
  497. </tr>
  498.  
  499. </table>
  500. <table>
  501. <tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value list (ex: \'apple\', \'orange\', \'banana\') </th></tr>
  502. <tr>
  503. <td align=center><input type=text size=4 name=M '; if( $M != "" ) echo "value=$M";echo '></td>
  504. <td align=center><input type=text size=4 name=D '; if( $D != "" ) echo "value=$D";echo '></td>
  505. <td align=center><input type=checkbox name=unsigned value="UNSIGNED" '; if( strpos( $fieldtype, "unsigned" ) ) echo "checked";echo '></td>
  506. <td align=center><input type=checkbox name=zerofill value="ZEROFILL" '; if( strpos( $fieldtype, "zerofill" ) ) echo "checked";echo '></td>
  507. <td align=center><input type=checkbox name=binary value="BINARY" '; if( strpos( $fieldtype, "binary" )  ) echo "checked";echo '></td>
  508. <td align=center><input type=text size=60 name=valuelist '; if( $valuelist != "" ) echo "value=\"$valuelist\"";echo '></td>
  509. </tr>
  510. </table>
  511.  
  512.  
  513. <h3>Flags</h3>
  514. <table>
  515. <tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr>
  516. <tr>
  517. <td align=center><input type=checkbox name=not_null value="NOT NULL" '; if( $fieldnull != "YES" ) echo "checked";echo '></td>
  518. <td align=center><input type=text name=default_value '; if( $fielddefault != "" ) echo "value=$fielddefault";echo '></td>
  519. <td align=center><input type=checkbox name=auto_increment value="AUTO_INCREMENT" '; if( $fieldextra == "auto_increment" ) echo "checked";echo '></td>
  520. <td align=center><input type=checkbox name=primary_key value="PRIMARY KEY" '; if( $fieldkey == "PRI" ) echo "checked";echo '></td>
  521. </tr>
  522. </table>
  523.  
  524. <p>';
  525.  
  526.     if( $cmd == "add" )
  527.         echo "<input type=submit value='Add Field'>\n";
  528.     else if( $cmd == "edit" )
  529.         echo "<input type=submit value='Edit Field'>\n";
  530.     echo "<input type=button value=Cancel onClick='history.back()'>\n";
  531.     echo "</form>\n";
  532. }
  533.  
  534. function manageField_submit( $cmd ) {
  535.     global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, $PHP_SELF, $queryStr, $errMsg,
  536.         $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, $auto_increment, $primary_key, $valuelist;
  537.  
  538.     if( $cmd == "add" )
  539.         $queryStr = "ALTER TABLE $tablename ADD $name ";
  540.     else if( $cmd == "edit" )
  541.         $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name ";
  542.    
  543.     if( $M != "" )
  544.         if( $D != "" )
  545.             $queryStr .= "$type($M,$D) ";
  546.         else
  547.             $queryStr .= "$type($M) ";
  548.     else if( $valuelist != "" ) {
  549.         $valuelist = stripslashes( $valuelist );
  550.         $queryStr .= "$type($valuelist) ";
  551.     } else
  552.         $queryStr .= "$type ";
  553.  
  554.     $queryStr .= "$unsigned $zerofill $binary ";
  555.  
  556.     if( $default_value != "" )
  557.         $queryStr .= "DEFAULT '$default_value' ";
  558.    
  559.     $queryStr .= "$not_null $auto_increment";
  560.  
  561.     mysql_select_db( $dbname, $mysqlHandle );
  562.     mysql_query( $queryStr, $mysqlHandle );
  563.     $errMsg = mysql_error();
  564.  
  565.     // key change
  566.     $keyChange = false;
  567.     $result = mysql_query( "SHOW KEYS FROM $tablename" );
  568.     $primary = "";
  569.     while( $row = mysql_fetch_array($result) )
  570.         if( $row["Key_name"] == "PRIMARY" ) {
  571.             if( $row[Column_name] == $name )
  572.                 $keyChange = true;
  573.             else
  574.                 $primary .= ", $row[Column_name]";
  575.         }
  576.     if( $primary_key == "PRIMARY KEY" ) {
  577.         $primary .= ", $name";
  578.         $keyChange = !$keyChange;
  579.     }
  580.     $primary = substr( $primary, 2 );
  581.     if( $keyChange == true ) {
  582.         $q = "ALTER TABLE $tablename DROP PRIMARY KEY";
  583.         mysql_query( $q );
  584.         $queryStr .= "<br>\n" . $q;
  585.         $errMsg .= "<br>\n" . mysql_error();
  586.         $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )";
  587.         mysql_query( $q );
  588.         $queryStr .= "<br>\n" . $q;
  589.         $errMsg .= "<br>\n" . mysql_error();
  590.     }
  591.  
  592.     viewSchema();
  593. }
  594.  
  595. function dropField() {
  596.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  597.  
  598.     $queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname";
  599.     mysql_select_db( $dbname, $mysqlHandle );
  600.     mysql_query( $queryStr , $mysqlHandle );
  601.     $errMsg = mysql_error();
  602.  
  603.     viewSchema();
  604. }
  605.  
  606. function viewData( $queryStr ) {
  607.     global $action, $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, $rowperpage, $orderby;
  608.  
  609.     echo "<h1>Data in Table</h1>\n";
  610.     if( $tablename != "" )
  611.         echo "<p class=location>$dbname > $tablename</p>\n";
  612.     else
  613.         echo "<p class=location>$dbname</p>\n";
  614.  
  615.     $queryStr = stripslashes( $queryStr );
  616.     if( $queryStr == "" ) {
  617.         $queryStr = "SELECT * FROM $tablename";
  618.         if( $orderby != "" )
  619.             $queryStr .= " ORDER BY $orderby";
  620.         echo "<a href='$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename'>Add Data</a> | \n";
  621.         echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  622.     }
  623.  
  624.     $pResult = mysql_db_query( $dbname, $queryStr );
  625.     $fieldt = mysql_fetch_field($pResult);
  626.     $tablename = $fieldt->table;
  627.     $errMsg = mysql_error();
  628.  
  629.     $GLOBALS[queryStr] = $queryStr;
  630.  
  631.     if( $pResult == false ) {
  632.         echoQueryResult();
  633.         return;
  634.     }
  635.     if( $pResult == 1 ) {
  636.         $errMsg = "Success";
  637.         echoQueryResult();
  638.         return;
  639.     }
  640.  
  641.     echo "<hr>\n";
  642.  
  643.     $row = mysql_num_rows( $pResult );
  644.     $col = mysql_num_fields( $pResult );
  645.  
  646.     if( $row == 0 ) {
  647.         echo "No Data Exist!";
  648.         return;
  649.     }
  650.    
  651.     if( $rowperpage == "" ) $rowperpage = 30;
  652.     if( $page == "" ) $page = 0;
  653.     else $page--;
  654.     mysql_data_seek( $pResult, $page * $rowperpage );
  655.  
  656.     echo "<table cellspacing=1 cellpadding=2>\n";
  657.     echo "<tr>\n";
  658.     for( $i = 0; $i < $col; $i++ ) {
  659.         $field = mysql_fetch_field( $pResult, $i );
  660.         echo "<th>";
  661.         if($action == "viewData")
  662.             echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n";
  663.         else
  664.             echo "<font style='text-decoration:none;color:#000000;font-size:x-small;'>".$field->name."</font>\n";
  665.         echo "</th>\n";
  666.     }
  667.     echo "<th colspan=2>Action</th>\n";
  668.     echo "</tr>\n";
  669.  
  670.     for( $i = 0; $i < $rowperpage; $i++ ) {
  671.         $rowArray = mysql_fetch_row( $pResult );
  672.         if( $rowArray == false ) break;
  673.         echo "<tr>\n";
  674.         $key = "";
  675.         for( $j = 0; $j < $col; $j++ ) {
  676.             $data = $rowArray[$j];
  677.  
  678.             $field = mysql_fetch_field( $pResult, $j );
  679.             if( $field->primary_key == 1 )
  680.                 $key .= "&" . $field->name . "=" . $data;
  681.  
  682.             if( strlen( $data ) > 30 )
  683.                 $data = substr( $data, 0, 30 ) . "...";
  684.             $data = htmlspecialchars( $data );
  685.             echo "<td>\n";
  686.             echo "$data\n";
  687.             echo "</td>\n";
  688.         }
  689.          
  690.         if( $key == "" )
  691.             echo "<td colspan=2>no Key</td>\n";
  692.         else {
  693.             echo "<td><a href='$PHP_SELF?action=editData$key&dbname=$dbname&tablename=$tablename'>Edit</a></td>\n";
  694.             echo "<td><a href='$PHP_SELF?action=deleteData$key&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n";
  695.         }
  696.         echo "</tr>\n";
  697.     }
  698.     echo "</table>\n";
  699.  
  700.     echo "<font size=2>\n";
  701.     if($action == "viewData")
  702.         echo "<form action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename' method=post>\n";
  703.     else
  704.         echo "<form action='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr' method=post>\n";
  705.     echo "<font color=green>\n";
  706.     echo ($page+1)."/".(int)($row/$rowperpage+1)." page";
  707.     echo "</font>\n";
  708.     echo " | ";
  709.     if( $page > 0 ) {
  710.         if($action == "viewData")
  711.             echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page);
  712.         else
  713.             echo "<a href='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page);
  714.         if( $orderby != "" && $action == "viewData")
  715.             echo "&orderby=$orderby";
  716.         echo "'>Prev</a>\n";
  717.     } else
  718.         echo "Prev";
  719.     echo " | ";
  720.     if( $page < ($row/$rowperpage)-1 ) {
  721.         if($action == "viewData")
  722.             echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2);
  723.         else
  724.             echo "<a href='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page+2);
  725.         if( $orderby != "" && $action == "viewData")
  726.             echo "&orderby=$orderby";
  727.         echo "'>Next</a>\n";
  728.     } else
  729.         echo "Next";
  730.     echo " | ";
  731.     if( $row > $rowperpage ) {
  732.         echo "<input type=text size=4 name=page>\n";
  733.         echo "<input type=submit value='Go'>\n";
  734.     }
  735.     echo "</form>\n";
  736.     echo "</font>\n";
  737. }
  738.  
  739. function manageData( $cmd ) {
  740.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF;
  741.  
  742.     if( $cmd == "add" )
  743.         echo "<h1>Add Data</h1>\n";
  744.     else if( $cmd == "edit" ) {
  745.         echo "<h1>Edit Data</h1>\n";
  746.         $pResult = mysql_list_fields( $dbname, $tablename );
  747.         $num = mysql_num_fields( $pResult );
  748.    
  749.         $key = "";
  750.         for( $i = 0; $i < $num; $i++ ) {
  751.             $field = mysql_fetch_field( $pResult, $i );
  752.             if( $field->primary_key == 1 )
  753.                 if( $field->numeric == 1 )
  754.                     $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  755.                 else
  756.                     $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  757.         }
  758.         $key = substr( $key, 0, strlen($key)-4 );
  759.  
  760.         mysql_select_db( $dbname, $mysqlHandle );
  761.         $pResult = mysql_query( $queryStr =  "SELECT * FROM $tablename WHERE $key", $mysqlHandle );
  762.         $data = mysql_fetch_array( $pResult );
  763.     }
  764.  
  765.     echo "<p class=location>$dbname > $tablename</p>\n";
  766.  
  767.     echo "<form action='$PHP_SELF' method=post>\n";
  768.     if( $cmd == "add" )
  769.         echo "<input type=hidden name=action value=addData_submit>\n";
  770.     else if( $cmd == "edit" )
  771.         echo "<input type=hidden name=action value=editData_submit>\n";
  772.     echo "<input type=hidden name=dbname value=$dbname>\n";
  773.     echo "<input type=hidden name=tablename value=$tablename>\n";
  774.     echo "<table cellspacing=1 cellpadding=2>\n";
  775.     echo "<tr>\n";
  776.     echo "<th>Name</th>\n";
  777.     echo "<th>Type</th>\n";
  778.     echo "<th>Function</th>\n";
  779.     echo "<th>Data</th>\n";
  780.     echo "</tr>\n";
  781.  
  782.     $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  783.     $num = mysql_num_rows( $pResult );
  784.  
  785.     $pResultLen = mysql_list_fields( $dbname, $tablename );
  786.  
  787.     for( $i = 0; $i < $num; $i++ ) {
  788.         $field = mysql_fetch_array( $pResult );
  789.         $fieldname = $field["Field"];
  790.         $fieldtype = $field["Type"];
  791.         $len = mysql_field_len( $pResultLen, $i );
  792.  
  793.         echo "<tr>";
  794.         echo "<td>$fieldname</td>";
  795.         echo "<td>".$field["Type"]."</td>";
  796.         echo "<td>\n";
  797.         echo "<select name=${fieldname}_function>\n";
  798.         echo "<option>\n";
  799.         echo "<option>ASCII\n";
  800.         echo "<option>CHAR\n";
  801.         echo "<option>SOUNDEX\n";
  802.         echo "<option>CURDATE\n";
  803.         echo "<option>CURTIME\n";
  804.         echo "<option>FROM_DAYS\n";
  805.         echo "<option>FROM_UNIXTIME\n";
  806.         echo "<option>NOW\n";
  807.         echo "<option>PASSWORD\n";
  808.         echo "<option>PERIOD_ADD\n";
  809.         echo "<option>PERIOD_DIFF\n";
  810.         echo "<option>TO_DAYS\n";
  811.         echo "<option>USER\n";
  812.         echo "<option>WEEKDAY\n";
  813.         echo "<option>RAND\n";
  814.         echo "</select>\n";
  815.         echo "</td>\n";
  816.         $value = htmlspecialchars($data[$i]);
  817.         if( $cmd == "add" ) {
  818.             $type = strtok( $fieldtype, " (,)\n" );
  819.             if( $type == "enum" || $type == "set" ) {
  820.                 echo "<td>\n";
  821.                 if( $type == "enum" )
  822.                     echo "<select name=$fieldname>\n";
  823.                 else if( $type == "set" )
  824.                     echo "<select name=$fieldname size=4 multiple>\n";
  825.                 while( $str = strtok( "'" ) ) {
  826.                     echo "<option>$str\n";
  827.                     strtok( "'" );
  828.                 }
  829.                 echo "</select>\n";
  830.                 echo "</td>\n";
  831.             } else {
  832.                 if( $len < 40 )
  833.                     echo "<td><input type=text size=40 maxlength=$len name=$fieldname></td>\n";
  834.                 else
  835.                     echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname></textarea>\n";
  836.             }
  837.         } else if( $cmd == "edit" ) {
  838.             $type = strtok( $fieldtype, " (,)\n" );
  839.             if( $type == "enum" || $type == "set" ) {
  840.                 echo "<td>\n";
  841.                 if( $type == "enum" )
  842.                     echo "<select name=$fieldname>\n";
  843.                 else if( $type == "set" )
  844.                     echo "<select name=$fieldname size=4 multiple>\n";
  845.                 while( $str = strtok( "'" ) ) {
  846.                     if( $value == $str )
  847.                         echo "<option selected>$str\n";
  848.                     else
  849.                         echo "<option>$str\n";
  850.                     strtok( "'" );
  851.                 }
  852.                 echo "</select>\n";
  853.                 echo "</td>\n";
  854.             } else {
  855.                 if( $len < 40 )
  856.                     echo "<td><input type=text size=40 maxlength=$len name=$fieldname value=\"$value\"></td>\n";
  857.                 else
  858.                     echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname>$value</textarea>\n";
  859.             }
  860.         }
  861.         echo "</tr>";
  862.     }
  863.     echo "</table><p>\n";
  864.     if( $cmd == "add" )
  865.         echo "<input type=submit value='Add Data'>\n";
  866.     else if( $cmd == "edit" )
  867.         echo "<input type=submit value='Edit Data'>\n";
  868.     echo "<input type=button value='Cancel' onClick='history.back()'>\n";
  869.     echo "</form>\n";
  870. }
  871.  
  872. function manageData_submit( $cmd ) {
  873.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  874.  
  875.     $pResult = mysql_list_fields( $dbname, $tablename );
  876.     $num = mysql_num_fields( $pResult );
  877.  
  878.     mysql_select_db( $dbname, $mysqlHandle );
  879.     if( $cmd == "add" )
  880.         $queryStr = "INSERT INTO $tablename VALUES (";
  881.     else if( $cmd == "edit" )
  882.         $queryStr = "REPLACE INTO $tablename VALUES (";
  883.     for( $i = 0; $i < $num-1; $i++ ) {
  884.         $field = mysql_fetch_field( $pResult );
  885.         $func = $GLOBALS[$field->name."_function"];
  886.         if( $func != "" )
  887.             $queryStr .= " $func(";
  888.         if( $field->numeric == 1 ) {
  889.             $queryStr .= $GLOBALS[$field->name];
  890.             if( $func != "" )
  891.                 $queryStr .= "),";
  892.             else
  893.                 $queryStr .= ",";
  894.         } else {
  895.             $queryStr .= "'" . $GLOBALS[$field->name];
  896.             if( $func != "" )
  897.                 $queryStr .= "'),";
  898.             else
  899.                 $queryStr .= "',";
  900.         }
  901.     }
  902.     $field = mysql_fetch_field( $pResult );
  903.     if( $field->numeric == 1 )
  904.         $queryStr .= $GLOBALS[$field->name] . ")";
  905.     else
  906.         $queryStr .= "'" . $GLOBALS[$field->name] . "')";
  907.  
  908.     mysql_query( $queryStr , $mysqlHandle );
  909.     $errMsg = mysql_error();
  910.  
  911.     viewData( "" );
  912. }
  913.  
  914. function deleteData() {
  915.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  916.  
  917.     $pResult = mysql_list_fields( $dbname, $tablename );
  918.     $num = mysql_num_fields( $pResult );
  919.  
  920.     $key = "";
  921.     for( $i = 0; $i < $num; $i++ ) {
  922.         $field = mysql_fetch_field( $pResult, $i );
  923.         if( $field->primary_key == 1 )
  924.             if( $field->numeric == 1 )
  925.                 $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  926.             else
  927.                 $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  928.     }
  929.     $key = substr( $key, 0, strlen($key)-4 );
  930.  
  931.     mysql_select_db( $dbname, $mysqlHandle );
  932.     $queryStr =  "DELETE FROM $tablename WHERE $key";
  933.     mysql_query( $queryStr, $mysqlHandle );
  934.     $errMsg = mysql_error();
  935.  
  936.     viewData( "" );
  937. }
  938.  
  939. function fetch_table_dump_sql($table)
  940. {
  941.     global $mysqlHandle,$dbname;
  942.    
  943.     mysql_select_db( $dbname, $mysqlHandle );
  944.     $query_id = mysql_query("SHOW CREATE TABLE $table",$mysqlHandle);
  945.     $tabledump = mysql_fetch_array($query_id, MYSQL_ASSOC);
  946.     $tabledump = "DROP TABLE IF EXISTS $table;\n" . $tabledump['Create Table'] . ";\n\n";
  947.  
  948.     echo $tabledump;
  949.  
  950.     // get data
  951.     $rows = mysql_query("SELECT * FROM $table",$mysqlHandle);
  952.     $numfields=mysql_num_fields($rows);
  953.     while ($row = mysql_fetch_array($rows, MYSQL_NUM))
  954.     {
  955.         $tabledump = "INSERT INTO $table VALUES(";
  956.  
  957.         $fieldcounter = -1;
  958.         $firstfield = 1;
  959.         // get each field's data
  960.         while (++$fieldcounter < $numfields)
  961.         {
  962.             if (!$firstfield)
  963.             {
  964.                 $tabledump .= ', ';
  965.             }
  966.             else
  967.             {
  968.                 $firstfield = 0;
  969.             }
  970.  
  971.             if (!isset($row["$fieldcounter"]))
  972.             {
  973.                 $tabledump .= 'NULL';
  974.             }
  975.             else
  976.             {
  977.                 $tabledump .= "'" . mysql_escape_string($row["$fieldcounter"]) . "'";
  978.             }
  979.         }
  980.  
  981.         $tabledump .= ");\n";
  982.  
  983.         echo $tabledump;
  984.  
  985.     }
  986.     @mysql_free_result($rows);
  987. }
  988.  
  989. function dump() {
  990.     global $mysqlHandle, $action, $dbname, $tablename;
  991.  
  992.     if( $action == "dumpTable" ){
  993.  
  994.         header("Content-disposition: filename=$tablename.sql");
  995.         header('Content-type: unknown/unknown');
  996.         fetch_table_dump_sql($tablename);
  997.         echo "\n\n\n";
  998.         echo "\r\n\r\n\r\n### $tablename TABLE DUMP COMPLETED ###";
  999.         exit;      
  1000.                
  1001.     }else{
  1002.         header("Content-disposition: filename=$dbname.sql");
  1003.         header('Content-type: unknown/unknown');
  1004.        
  1005.         mysql_select_db( $dbname, $mysqlHandle );
  1006.         $query_id = mysql_query("SHOW tables",$mysqlHandle);
  1007.         while ($row = mysql_fetch_array($query_id, MYSQL_NUM))
  1008.         {
  1009.                 fetch_table_dump_sql($row[0]);
  1010.                 echo "\n\n\n";
  1011.                 echo "\r\n\r\n\r\n### $row[0] TABLE DUMP COMPLETED ###";
  1012.                 echo "\n\n\n";
  1013.         }
  1014.         echo "\r\n\r\n\r\n### $dbname DATABASE DUMP COMPLETED ###";
  1015.         exit;      
  1016.  
  1017.     }
  1018.  
  1019. }
  1020.  
  1021. function utils() {
  1022.     global $PHP_SELF, $command;
  1023.     echo "<h1>Utilities</h1>\n";
  1024.     if( $command == "" || substr( $command, 0, 5 ) == "flush" ) {
  1025.         echo "<hr>\n";
  1026.         echo "Show\n";
  1027.         echo "<ul>\n";
  1028.         echo "<li><a href='$PHP_SELF?action=utils&command=show_status'>Status</a>\n";
  1029.         echo "<li><a href='$PHP_SELF?action=utils&command=show_variables'>Variables</a>\n";
  1030.         echo "<li><a href='$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\n";
  1031.         echo "</ul>\n";
  1032.         echo "Flush\n";
  1033.         echo "<ul>\n";
  1034.         echo "<li><a href='$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\n";
  1035.         if( $command == "flush_hosts" ) {
  1036.             if( mysql_query( "Flush hosts" ) != false )
  1037.                 echo "<font size=2 color=red>- Success</font>";
  1038.             else
  1039.                 echo "<font size=2 color=red>- Fail</font>";
  1040.         }
  1041.         echo "<li><a href='$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\n";
  1042.         if( $command == "flush_logs" ) {
  1043.             if( mysql_query( "Flush logs" ) != false )
  1044.                 echo "<font size=2 color=red>- Success</font>";
  1045.             else
  1046.                 echo "<font size=2 color=red>- Fail</font>";
  1047.         }
  1048.         echo "<li><a href='$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\n";
  1049.         if( $command == "flush_privileges" ) {
  1050.             if( mysql_query( "Flush privileges" ) != false )
  1051.                 echo "<font size=2 color=red>- Success</font>";
  1052.             else
  1053.                 echo "<font size=2 color=red>- Fail</font>";
  1054.         }
  1055.         echo "<li><a href='$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\n";
  1056.         if( $command == "flush_tables" ) {
  1057.             if( mysql_query( "Flush tables" ) != false )
  1058.                 echo "<font size=2 color=red>- Success</font>";
  1059.             else
  1060.                 echo "<font size=2 color=red>- Fail</font>";
  1061.         }
  1062.         echo "<li><a href='$PHP_SELF?action=utils&command=flush_status'>Status</a>\n";
  1063.         if( $command == "flush_status" ) {
  1064.             if( mysql_query( "Flush status" ) != false )
  1065.                 echo "<font size=2 color=red>- Success</font>";
  1066.             else
  1067.                 echo "<font size=2 color=red>- Fail</font>";
  1068.         }
  1069.         echo "</ul>\n";
  1070.     } else {
  1071.         $queryStr = ereg_replace( "_", " ", $command );
  1072.         $pResult = mysql_query( $queryStr );
  1073.         if( $pResult == false ) {
  1074.             echo "Fail";
  1075.             return;
  1076.         }
  1077.         $col = mysql_num_fields( $pResult );
  1078.  
  1079.         echo "<p class=location>$queryStr</p>\n";
  1080.         echo "<hr>\n";
  1081.  
  1082.         echo "<table cellspacing=1 cellpadding=2 border=0>\n";
  1083.         echo "<tr>\n";
  1084.         for( $i = 0; $i < $col; $i++ ) {
  1085.             $field = mysql_fetch_field( $pResult, $i );
  1086.             echo "<th>".$field->name."</th>\n";
  1087.         }
  1088.         echo "</tr>\n";
  1089.  
  1090.         while( 1 ) {
  1091.             $rowArray = mysql_fetch_row( $pResult );
  1092.             if( $rowArray == false ) break;
  1093.             echo "<tr>\n";
  1094.             for( $j = 0; $j < $col; $j++ )
  1095.                 echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n";
  1096.             echo "</tr>\n";
  1097.         }
  1098.         echo "</table>\n";
  1099.     }
  1100. }
  1101.  
  1102. function header_html() {
  1103.     global $PHP_SELF;
  1104.    
  1105. echo '
  1106. <html>
  1107. <head>
  1108. <title>MySQL Interface</title>
  1109. <style type="text/css">
  1110. <!--
  1111. p.location {
  1112.     color: #11bb33;
  1113.     font-size: small;
  1114. }
  1115. h1 {
  1116.     color: #A4A260;
  1117. }
  1118. th {
  1119.     background-color: #BDBE42;
  1120.     color: #FFFFFF;
  1121.     font-size: x-small;
  1122. }
  1123. td {
  1124.     background-color: #DEDFA5;
  1125.     font-size: x-small;
  1126. }
  1127. form {
  1128.     margin-top: 0;
  1129.     margin-bottom: 0;
  1130. }
  1131. a {
  1132.     text-decoration:none;
  1133.     color: #848200;
  1134.     font-size:x-small;
  1135. }
  1136. a:link {
  1137. }
  1138. a:hover {
  1139.     background-color:#EEEFD5;
  1140.     color:#646200;
  1141.     text-decoration:none              
  1142. }
  1143. //-->
  1144. </style>
  1145. </head>
  1146. <body>
  1147. ';
  1148. }
  1149.  
  1150. function footer_html() {
  1151.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME;
  1152.  
  1153.     echo "<hr>\n";
  1154.     echo "<font size=2 color=blue>[$USERNAME]</font> - \n";
  1155.  
  1156.     echo "<a href='$PHP_SELF?action=listDBs'>Database List</a> | \n";
  1157.     if( $tablename != "" )
  1158.         echo "<a href='$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename'>Table List</a> | ";
  1159.     echo "<a href='$PHP_SELF?action=utils'>Utils</a> |\n";
  1160.     echo "<a href='$PHP_SELF?action=logout'>Logout</a>\n";
  1161.     echo "</font>\n";
  1162.     echo "</body>\n";
  1163.     echo "</html>\n";
  1164. }
  1165.  
  1166.  
  1167.  
  1168.  
  1169. //------------- MAIN ------------- //
  1170. error_reporting(0);
  1171. ini_set ('display_errors', 0);
  1172. ini_set ('log_errors', 0);
  1173.  
  1174. if( $action == "logon" || $action == "" || $action == "logout" )
  1175.     logon();
  1176. else if( $action == "logon_submit" )
  1177.     logon_submit();
  1178. else if( $action == "dumpTable" || $action == "dumpDB" ) {
  1179.     while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  1180.         if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  1181.         if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  1182.         if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  1183.     }
  1184.     $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  1185.     dump();
  1186. } else {
  1187.     while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  1188.         if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  1189.         if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  1190.         if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  1191.     }
  1192.     echo "<!--";
  1193.     $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  1194.     echo "-->";
  1195.  
  1196.     if( $mysqlHandle == false ) {
  1197.         echo "<html>\n";
  1198.         echo "<head>\n";
  1199.         echo "<title>MySQL Interface</title>\n";
  1200.         echo "</head>\n";
  1201.         echo "<body>\n";
  1202.         echo "<table width=100% height=100%><tr><td><center>\n";
  1203.         echo "<h1>Wrong Password!</h1>\n";
  1204.         echo "<a href='$PHP_SELF?action=logon'>Logon</a>\n";
  1205.         echo "</center></td></tr></table>\n";
  1206.         echo "</body>\n";
  1207.         echo "</html>\n";
  1208.     } else {
  1209.         header_html();
  1210.         if( $action == "listDBs" )
  1211.             listDatabases();
  1212.         else if( $action == "createDB" )
  1213.             createDatabase();
  1214.         else if( $action == "dropDB" )
  1215.             dropDatabase();
  1216.         else if( $action == "listTables" )
  1217.             listTables();
  1218.         else if( $action == "createTable" )
  1219.             createTable();
  1220.         else if( $action == "dropTable" )
  1221.             dropTable();
  1222.         else if( $action == "viewSchema" )
  1223.             viewSchema();
  1224.         else if( $action == "query" )
  1225.             viewData( $queryStr );
  1226.         else if( $action == "addField" )
  1227.             manageField( "add" );
  1228.         else if( $action == "addField_submit" )
  1229.             manageField_submit( "add" );
  1230.         else if( $action == "editField" )
  1231.             manageField( "edit" );
  1232.         else if( $action == "editField_submit" )
  1233.             manageField_submit( "edit" );
  1234.         else if( $action == "dropField" )
  1235.             dropField();
  1236.         else if( $action == "viewData" )
  1237.             viewData( "" );
  1238.         else if( $action == "addData" )
  1239.             manageData( "add" );
  1240.         else if( $action == "addData_submit" )
  1241.             manageData_submit( "add" );
  1242.         else if( $action == "editData" )
  1243.             manageData( "edit" );
  1244.         else if( $action == "editData_submit" )
  1245.             manageData_submit( "edit" );
  1246.         else if( $action == "deleteData" )
  1247.             deleteData();
  1248.         else if( $action == "utils" )
  1249.             utils();
  1250.  
  1251.         mysql_close( $mysqlHandle);
  1252.         footer_html();
  1253.     }
  1254. }
Add Comment
Please, Sign In to add comment