'; for ($i=1;$i'; $comment = (isset($row["TABLE_COMMENT"]) ? $row["TABLE_COMMENT"] : ""); if ($comment) { $xml .= ''.$comment.''; } $q = "SELECT * FROM COLUMNS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."'"; $result2 = mysql_query($q); while ($row = mysql_fetch_array($result2)) { $name = $row["COLUMN_NAME"]; $type = $row["COLUMN_TYPE"]; $comment = (isset($row["COLUMN_COMMENT"]) ? $row["COLUMN_COMMENT"] : ""); $null = ($row["IS_NULLABLE"] == "YES" ? "0" : "1"); $def = $row["COLUMN_DEFAULT"]; $ai = (preg_match("/auto_increment/i",$row["EXTRA"]) ? "1" : "0"); if ($def == "NULL") { $def = ""; } $xml .= ''; $xml .= ''.strtoupper($type).''; $xml .= ''.$def.''; if ($comment) { $xml .= ''.$comment.''; } /* fk constraints */ $q = "SELECT REFERENCED_TABLE_NAME AS 'table', REFERENCED_COLUMN_NAME AS 'column' FROM KEY_COLUMN_USAGE k LEFT JOIN TABLE_CONSTRAINTS c ON k.CONSTRAINT_NAME = c.CONSTRAINT_NAME WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND c.TABLE_SCHEMA = '".$db."' AND c.TABLE_NAME = '".$table."' AND k.COLUMN_NAME = '".$name."'"; $result3 = mysql_query($q); while ($row = mysql_fetch_array($result3)) { $xml .= ''; } $xml .= ''; } /* keys */ $q = "SELECT * FROM STATISTICS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."' ORDER BY SEQ_IN_INDEX ASC"; $result2 = mysql_query($q); $idx = array(); while ($row = mysql_fetch_array($result2)) { $name = $row["INDEX_NAME"]; if (array_key_exists($name, $idx)) { $obj = $idx[$name]; } else { $type = $row["INDEX_TYPE"]; $t = "INDEX"; if ($type == "FULLTEXT") { $t = $type; } if ($row["NON_UNIQUE"] == "0") { $t = "UNIQUE"; } if ($name == "PRIMARY") { $t = "PRIMARY"; } $obj = array( "columns" => array(), "type" => $t ); } $obj["columns"][] = $row["COLUMN_NAME"]; $idx[$name] = $obj; } foreach ($idx as $name=>$obj) { $xml .= ''; for ($i=0;$i'; } $xml .= ''; } $xml .= ""; } $arr[] = $xml; $arr[] = ''; return implode("\n",$arr); } $a = (isset($_GET["action"]) ? $_GET["action"] : false); switch ($a) { case "list": setup_saveloadlist(); if (!connect()) { header("HTTP/1.0 503 Service Unavailable"); break; } $result = mysql_query("SELECT keyword FROM ".TABLE." ORDER BY dt DESC"); while ($row = mysql_fetch_assoc($result)) { echo $row["keyword"]."\n"; } break; case "save": setup_saveloadlist(); if (!connect()) { header("HTTP/1.0 503 Service Unavailable"); break; } $keyword = (isset($_GET["keyword"]) ? $_GET["keyword"] : ""); $keyword = mysql_real_escape_string($keyword); $data = file_get_contents("php://input"); if (get_magic_quotes_gpc() || get_magic_quotes_runtime()) { $data = stripslashes($data); } $data = mysql_real_escape_string($data); $r = mysql_query("SELECT * FROM ".TABLE." WHERE keyword = '".$keyword."'"); if (mysql_num_rows($r) > 0) { $res = mysql_query("UPDATE ".TABLE." SET data = '".$data."' WHERE keyword = '".$keyword."'"); } else { $res = mysql_query("INSERT INTO ".TABLE." (keyword, data) VALUES ('".$keyword."', '".$data."')"); } if (!$res) { header("HTTP/1.0 500 Internal Server Error"); } else { header("HTTP/1.0 201 Created"); } break; case "load": setup_saveloadlist(); if (!connect()) { header("HTTP/1.0 503 Service Unavailable"); break; } $keyword = (isset($_GET["keyword"]) ? $_GET["keyword"] : ""); $keyword = mysql_real_escape_string($keyword); $result = mysql_query("SELECT `data` FROM ".TABLE." WHERE keyword = '".$keyword."'"); $row = mysql_fetch_assoc($result); if (!$row) { header("HTTP/1.0 404 Not Found"); } else { header("Content-type: text/xml"); echo $row["data"]; } break; case "import": setup_import(); if (!connect()) { header("HTTP/1.0 503 Service Unavailable"); break; } header("Content-type: text/xml"); echo import(); break; default: header("HTTP/1.0 501 Not Implemented"); } /* list: 501/200 load: 501/200/404 save: 501/201 import: 501/200 */ ?>