diff --git a/c.php b/c.php index 288e38c..e1e4ee3 100644 --- a/c.php +++ b/c.php @@ -1,275 +1,288 @@ user = $user; - $this->password = $password; - $this->server = $server; - $this->is_connected = false; - } - - function connect(){ - if(!$this->is_connected){ - $this->link = @mysql_connect($this->server, $this->user, $this->password); - if(!$this->link){ - return 'CANNOT connect: '.mysql_error(); - } - else{ - $this->is_connected = true; - mysql_set_charset("utf8"); - return 'OK'; - } - } - } - - function selectDb($database){ - $this->database = $database; - - mysql_select_db($this->database); - } - - function dbList(){ - $db_list = mysql_list_dbs($this->link); - - for($i = 0; $row = mysql_fetch_object($db_list);$i++) - $list[$i] = $row->Database; - - return $list; - } - - function tableList($database){ - $result = mysql_list_tables($database); - $num_rows = mysql_num_rows($result); - - for($i=0;$i<$num_rows;$i++) - $list[$i] = mysql_tablename($result, $i); - - return $list; - } - - function query($query){ - $result_id = mysql_query($query); +class connector +{ + public $action; - if( !$result_id ){ - echo mysql_error()."\n"; - } else if ( $info = mysql_info() ){ - echo $info; - } else { - echo OK."\n"; - + public $server; + public $user; + public $password; - $numOfCols = mysql_num_fields($result_id); - if($numOfCols > 0 ) { - for($i=0;$i<$numOfCols;$i++) - $field[$i] = mysql_field_name($result_id, $i); + private $database; - - echo json_encode($field)."\n"; - for($i=0;$row=mysql_fetch_row($result_id);$i++) - $result[$i] = $row; - echo json_encode($result); - } - } - } - - function disconnect(){ - if($this->link) - mysql_close($this->link); - } - - function selectTable($table, $start, $limit){ - $query = "SELECT * FROM `$table` LIMIT $start, $limit"; - $result_id = mysql_query($query); - - for($i=0;$row=mysql_fetch_row($result_id);$i++) - $result[$i] = $row; - - return $result; - } - - function fieldList($table){ - $result_id = mysql_list_fields($this->database, $table); - - $numOfCols = mysql_num_fields($result_id); - for($i=0;$i<$numOfCols;$i++) - $result[$i] = mysql_field_name($result_id, $i); + private $link; + private $is_connected; - return $result; - } - - function numRows($table){ - $result_id = mysql_query("SELECT COUNT(*) as total_count FROM `$table`"); + function connector($user, $password, $server) + { + $this->user = $user; + $this->password = $password; + $this->server = $server; + $this->is_connected = false; + } - $ret = mysql_fetch_object($result_id); - return $ret->total_count; - } - - function updateElement($table, $headerJSON, $oldValuesJSON, $newValuesJSON){ - $header = json_decode($headerJSON); - $oldValues = json_decode($oldValuesJSON); - $newValues = json_decode($newValuesJSON); - $query = "UPDATE `$table` SET "; - - for($i = 0;$i < sizeof($header); $i++){ - $query .= "`".$header[$i]."` = '".$newValues[$i]."' "; - if($i+1 < sizeof($header)) - $query .= ", "; - } - $query .= " WHERE ( "; - for($i = 0;$i < sizeof($header); $i++){ - $query .= "`".$header[$i]."` = '".$oldValues[$i]."' "; - if($i+1 < sizeof($header)) - $query .= " && "; - } - $query .= ");"; - - $result_id = mysql_query($query); - - if( !$result_id ){ - echo mysql_error(); - } - - $info = mysql_info(); - echo $info ; - } - - function addElement($table, $headerJSON, $valuesJSON){ - $header = json_decode($headerJSON); - $values = json_decode($valuesJSON); - $query = "INSERT INTO `$table` ("; - - for($i = 0;$i < sizeof($header); $i++){ - $query .= "`".$header[$i]."`"; - if($i+1 < sizeof($header)) - $query .= ", "; - } - $query .= ") VALUES ( "; - for($i = 0;$i < sizeof($header); $i++){ - $query .= "'".$values[$i]."' "; - if($i+1 < sizeof($header)) - $query .= " , "; - } - $query .= ");"; - - $result_id = mysql_query($query); - - if( !$result_id ){ - echo mysql_error(); - } else { - echo OK; - } - - $info = mysql_info(); - echo $info ; - } + function connect() + { + if (!$this->is_connected) { + $this->link = @mysql_connect($this->server, $this->user, $this->password); + if (!$this->link) { + return 'CANNOT connect: ' . mysql_error(); + } else { + $this->is_connected = true; + mysql_set_charset("utf8"); + return 'OK'; + } + } + } - function removeElement($table, $headerJSON, $valuesJSON){ - $header = json_decode($headerJSON); - $values = json_decode($valuesJSON); - $query = "DELETE FROM `$table` WHERE ("; + function selectDb($database) + { + $this->database = $database; - for($i = 0;$i < sizeof($header); $i++){ - $query .= "`".$header[$i]."` = '".$values[$i]."' "; - if($i+1!=sizeof($header)) - $query .= " AND "; - } - $query .= ");"; + mysql_select_db($this->database); + } - $result_id = mysql_query($query); + function dbList() + { + $db_list = mysql_list_dbs($this->link); - if( !$result_id ){ - echo mysql_error(); - } else { - echo OK; - } - } - } + for ($i = 0; $row = mysql_fetch_object($db_list); $i++) + $list[$i] = $row->Database; - // DEBUG!!! - // $_POST = $_GET; + return $list; + } - $action = $_POST['a']; - - $server = 'localhost'; - $user = $_POST['u']; - $password = $_POST['p']; - - $database = $_POST['d']; - $table = $_POST['t']; - $start = $_POST['s']; - $limit = $_POST['l']; - $query = $_POST['q']; - $header = $_POST['h']; - $values = $_POST['v']; - $oldValues = $_POST['o']; - - if(($user == null) || ($password == null) || ($action == null)) - die('Nope'); - - - $con = new connector($user, $password, $server); - - switch ($action){ - case "login": - echo $con->connect(); - break; - case "dblist": - $con->connect(); - $list = $con->dbList(); - echo json_encode($list); - break; - case "tablelist": - $con->connect(); - echo json_encode($con->tableList($database)); - break; - case "fieldlist": - $con->connect(); - $con->selectDb($database); - echo json_encode($con->fieldList($table)); - break; - case "numrows": - $con->connect(); - $con->selectDb($database); - echo $con->numRows($table); - break; - case "query": - $con->connect(); - if(isset($database)) - $con->selectDb($database); - $con->query($query); - break; - case "getrows": - $con->connect(); - $con->selectDb($database); - echo json_encode($con->selectTable($table, $start, $limit)); - break; - case "updateelement": - $con->connect(); - $con->selectDb($database); - $con->updateElement($table, $header, $oldValues, $values); - break; - case "addelement": - $con->connect(); - $con->selectDb($database); - $con->addElement($table, $header, $values); - break; - case "removeelement": - $con->connect(); - $con->selectDb($database); - //print_r($_GET); - $con->removeElement($table, $header, $values); - } - - $con->disconnect(); + function tableList($database) + { + $result = mysql_list_tables($database); + $num_rows = mysql_num_rows($result); + + for ($i = 0; $i < $num_rows; $i++) + $list[$i] = mysql_tablename($result, $i); + + return $list; + } + + function query($query) + { + $result_id = mysql_query($query); + + if (!$result_id) { + echo mysql_error() . "\n"; + } else if ($info = mysql_info()) { + echo $info; + } else { + echo OK . "\n"; + + + $numOfCols = mysql_num_fields($result_id); + if ($numOfCols > 0) { + for ($i = 0; $i < $numOfCols; $i++) + $field[$i] = mysql_field_name($result_id, $i); + + + echo json_encode($field) . "\n"; + for ($i = 0; $row = mysql_fetch_row($result_id); $i++) + $result[$i] = $row; + echo json_encode($result); + } + } + } + + function disconnect() + { + if ($this->link) + mysql_close($this->link); + } + + function selectTable($table, $start, $limit) + { + $query = "SELECT * FROM `$table` LIMIT $start, $limit"; + $result_id = mysql_query($query); + + for ($i = 0; $row = mysql_fetch_row($result_id); $i++) + $result[$i] = $row; + + return $result; + } + + function fieldList($table) + { + $result_id = mysql_list_fields($this->database, $table); + + $numOfCols = mysql_num_fields($result_id); + for ($i = 0; $i < $numOfCols; $i++) + $result[$i] = mysql_field_name($result_id, $i); + + return $result; + } + + function numRows($table) + { + $result_id = mysql_query("SELECT COUNT(*) as total_count FROM `$table`"); + + $ret = mysql_fetch_object($result_id); + return $ret->total_count; + } + + function updateElement($table, $headerJSON, $oldValuesJSON, $newValuesJSON) + { + $header = json_decode($headerJSON); + $oldValues = json_decode($oldValuesJSON); + $newValues = json_decode($newValuesJSON); + $query = "UPDATE `$table` SET "; + + for ($i = 0; $i < sizeof($header); $i++) { + $query .= "`" . $header[$i] . "` = '" . $newValues[$i] . "' "; + if ($i + 1 < sizeof($header)) + $query .= ", "; + } + $query .= " WHERE ( "; + for ($i = 0; $i < sizeof($header); $i++) { + $query .= "`" . $header[$i] . "` = '" . $oldValues[$i] . "' "; + if ($i + 1 < sizeof($header)) + $query .= " && "; + } + $query .= ");"; + + $result_id = mysql_query($query); + + if (!$result_id) { + echo mysql_error(); + } + + $info = mysql_info(); + echo $info; + } + + function addElement($table, $headerJSON, $valuesJSON) + { + $header = json_decode($headerJSON); + $values = json_decode($valuesJSON); + $query = "INSERT INTO `$table` ("; + + for ($i = 0; $i < sizeof($header); $i++) { + $query .= "`" . $header[$i] . "`"; + if ($i + 1 < sizeof($header)) + $query .= ", "; + } + $query .= ") VALUES ( "; + for ($i = 0; $i < sizeof($header); $i++) { + $query .= "'" . $values[$i] . "' "; + if ($i + 1 < sizeof($header)) + $query .= " , "; + } + $query .= ");"; + + $result_id = mysql_query($query); + + if (!$result_id) { + echo mysql_error(); + } else { + echo OK; + } + + $info = mysql_info(); + echo $info; + } + + function removeElement($table, $headerJSON, $valuesJSON) + { + $header = json_decode($headerJSON); + $values = json_decode($valuesJSON); + $query = "DELETE FROM `$table` WHERE ("; + + for ($i = 0; $i < sizeof($header); $i++) { + $query .= "`" . $header[$i] . "` = '" . $values[$i] . "' "; + if ($i + 1 != sizeof($header)) + $query .= " AND "; + } + $query .= ");"; + + $result_id = mysql_query($query); + + if (!$result_id) { + echo mysql_error(); + } else { + echo OK; + } + } +} + +// DEBUG!!! +// $_POST = $_GET; + +$action = $_POST['a']; + +$server = 'localhost'; +$user = $_POST['u']; +$password = $_POST['p']; + +$database = $_POST['d']; +$table = $_POST['t']; +$start = $_POST['s']; +$limit = $_POST['l']; +$query = $_POST['q']; +$header = $_POST['h']; +$values = $_POST['v']; +$oldValues = $_POST['o']; + +if (($user == null) || ($password == null) || ($action == null)) + die('Nope'); + + +$con = new connector($user, $password, $server); + +switch ($action) { + case "login": + echo $con->connect(); + break; + case "dblist": + $con->connect(); + $list = $con->dbList(); + echo json_encode($list); + break; + case "tablelist": + $con->connect(); + echo json_encode($con->tableList($database)); + break; + case "fieldlist": + $con->connect(); + $con->selectDb($database); + echo json_encode($con->fieldList($table)); + break; + case "numrows": + $con->connect(); + $con->selectDb($database); + echo $con->numRows($table); + break; + case "query": + $con->connect(); + if (isset($database)) + $con->selectDb($database); + $con->query($query); + break; + case "getrows": + $con->connect(); + $con->selectDb($database); + echo json_encode($con->selectTable($table, $start, $limit)); + break; + case "updateelement": + $con->connect(); + $con->selectDb($database); + $con->updateElement($table, $header, $oldValues, $values); + break; + case "addelement": + $con->connect(); + $con->selectDb($database); + $con->addElement($table, $header, $values); + break; + case "removeelement": + $con->connect(); + $con->selectDb($database); + //print_r($_GET); + $con->removeElement($table, $header, $values); +} + +$con->disconnect(); ?>