PluginProbe
The WP Remote WordPress Plugin / 4.84
The WP Remote WordPress Plugin v4.84
6.72 6.69 6.65 6.62 6.48 6.47 4.87 4.97 5.05 5.09 5.16 5.22 5.24 5.25 5.38 5.41 5.42 5.45 5.47 5.53 5.56 5.65 5.68 5.72 5.73 All 53 releases
← All changes | callback/wings/db.php +45 -103 4.874.84 View file →
@@ -10,9 +10,9 @@
10 10 public $account;
11 11
12 12 public static $bvTables = array("fw_requests", "lp_requests", "ip_store");
13 13
14 - const DB_WING_VERSION = 1.2;
14 + const DB_WING_VERSION = 1.1;
15 15
16 16 public function __construct($callback_handler) {
17 17 $this->db = $callback_handler->db;
18 18 $this->account = $callback_handler->account;
@@ -26,9 +26,9 @@
26 26 }
27 27 return $last_ids;
28 28 }
29 29
30 - public function getTableData($table, $tname, $offset, $limit, $bsize, $filter, $pkeys, $include_rows = false) {
30 + public function getTableData($table, $tname, $rcount, $offset, $limit, $bsize, $filter, $pkeys, $include_rows = false) {
31 31 $tinfo = array();
32 32
33 33 $rows_count = $this->db->rowsCount($table);
34 34 $result = array('count' => $rows_count);
@@ -67,59 +67,12 @@
67 67 $result['tinfo'] = $tinfo;
68 68 return $result;
69 69 }
70 70
71 - public function streamQueryResult($identifier, $query, $pkeys) {
72 - $data = array();
73 - $data["identifier"] = $identifier;
74 - $data["query"] = $query;
75 -
76 - $data["query_start_time"] = time();
77 - $rows = $this->db->getResult($query);
78 - $srows = sizeof($rows);
79 - $data["size"] = $srows;
80 - $data["query_end_time"] = time();
81 - if (!empty($pkeys) && $srows > 0) {
82 - $end_row = end($rows);
83 - $last_ids = $this->getLastID($pkeys, $end_row);
84 - $data['last_ids'] = $last_ids;
85 - }
86 - $result = array_merge($data);
87 - $data["rows"] = $rows;
88 - $serialized_rows = serialize($data);
89 - $this->stream->writeStream($serialized_rows);
90 - $result['length'] = strlen($serialized_rows);
91 - return $result;
92 - }
93 -
94 - function getRandomData($totalSize, $bsize) {
95 - if ($bsize == 0) {
96 - $bsize = $totalSize;
97 - }
98 -
99 - $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
100 - $charactersLength = strlen($characters);
101 -
102 - while ($totalSize > 0) {
103 - if ($bsize > $totalSize) {
104 - $bsize = $totalSize;
105 - }
106 -
107 - $randomString = '';
108 - for ($i = 0; $i < $bsize; $i++) {
109 - $randomString .= $characters[rand(0, $charactersLength - 1)];
110 - }
111 -
112 - $this->stream->writeStream($randomString);
113 - $totalSize -= $bsize;
114 - }
115 - return array("status" => "true");
116 - }
117 -
118 71 public function getCreateTableQueries($tables) {
119 72 $resp = array();
120 73 foreach($tables as $table) {
121 - $tname = $table;
74 + $tname = urldecode($table);
122 75 $resp[$tname] = array("create" => $this->db->showTableCreate($table));
123 76 }
124 77 return $resp;
125 78 }
@@ -126,9 +79,9 @@
126 79
127 80 public function checkTables($tables, $type) {
128 81 $resp = array();
129 82 foreach($tables as $table) {
130 - $tname = $table;
83 + $tname = urldecode($table);
131 84 $resp[$tname] = array("status" => $this->db->checkTable($table, $type));
132 85 }
133 86 return $resp;
134 87 }
@@ -135,9 +88,9 @@
135 88
136 89 public function describeTables($tables) {
137 90 $resp = array();
138 91 foreach($tables as $table) {
139 - $tname = $table;
92 + $tname = urldecode($table);
140 93 $resp[$tname] = array("description" => $this->db->describeTable($table));
141 94 }
142 95 return $resp;
143 96 }
@@ -144,9 +97,9 @@
144 97
145 98 public function checkTablesExist($tables) {
146 99 $resp = array();
147 100 foreach($tables as $table) {
148 - $tname = $table;
101 + $tname = urldecode($table);
149 102 $resp[$tname] = array("tblexists" => $this->db->isTablePresent($table));
150 103 }
151 104 return $resp;
152 105 }
@@ -153,9 +106,9 @@
153 106
154 107 public function getTablesRowCount($tables) {
155 108 $resp = array();
156 109 foreach($tables as $table) {
157 - $tname = $table;
110 + $tname = urldecode($table);
158 111 $resp[$tname] = array("count" => $this->db->rowsCount($table));
159 112 }
160 113 return $resp;
161 114 }
@@ -162,9 +115,9 @@
162 115
163 116 public function getTablesKeys($tables) {
164 117 $resp = array();
165 118 foreach($tables as $table) {
166 - $tname = $table;
119 + $tname = urldecode($table);
167 120 $resp[$tname] = array("keys" => $this->db->tableKeys($table));
168 121 }
169 122 return $resp;
170 123 }
@@ -191,26 +144,26 @@
191 144 case "tblstatus":
192 145 $resp = array("statuses" => $db->showTableStatus());
193 146 break;
194 147 case "tablekeys":
195 - $table = $params['table'];
148 + $table = urldecode($params['table']);
196 149 $resp = array("table_keys" => $db->tableKeys($table));
197 150 break;
198 151 case "describetable":
199 - $table = $params['table'];
152 + $table = urldecode($params['table']);
200 153 $resp = array("table_description" => $db->describeTable($table));
201 154 break;
202 155 case "checktable":
203 - $table = $params['table'];
204 - $type = $params['type'];
156 + $table = urldecode($params['table']);
157 + $type = urldecode($params['type']);
205 158 $resp = array("status" => $db->checkTable($table, $type));
206 159 break;
207 160 case "repairtable":
208 - $table = $params['table'];
161 + $table = urldecode($params['table']);
209 162 $resp = array("status" => $db->repairTable($table));
210 163 break;
211 164 case "gettcrt":
212 - $table = $params['table'];
165 + $table = urldecode($params['table']);
213 166 $resp = array("create" => $db->showTableCreate($table));
214 167 break;
215 168 case "tblskys":
216 169 $tables = $params['tables'];
@@ -229,9 +182,9 @@
229 182 $resp = $this->getTablesRowCount($tables);
230 183 break;
231 184 case "chktabls":
232 185 $tables = $params['tables'];
233 - $type = $params['type'];
186 + $type = urldecode($params['type']);
234 187 $resp = $this->checkTables($tables, $type);
235 188 break;
236 189 case "chktablsxist":
237 190 $tables = $params['tables'];
@@ -237,18 +190,18 @@
237 190 $tables = $params['tables'];
238 191 $resp = $this->checkTablesExist($tables);
239 192 break;
240 193 case "getrowscount":
241 - $table = $params['table'];
194 + $table = urldecode($params['table']);
242 195 $resp = array("count" => $db->rowsCount($table));
243 196 break;
244 197 case "gettablecontent":
245 198 $result = array();
246 - $table = $params['table'];
247 - $fields = $params['fields'];
248 - $filter = (array_key_exists('filter', $params)) ? $params['filter'] : "";
249 - $limit = intval($params['limit']);
250 - $offset = intval($params['offset']);
199 + $table = urldecode($params['table']);
200 + $fields = urldecode($params['fields']);
201 + $filter = (array_key_exists('filter', $params)) ? urldecode($params['filter']) : "";
202 + $limit = intval(urldecode($params['limit']));
203 + $offset = intval(urldecode($params['offset']));
251 204 $pkeys = (array_key_exists('pkeys', $params)) ? $params['pkeys'] : array();
252 205 $result['timestamp'] = time();
253 206 $result['tablename'] = $table;
254 207 $rows = $db->getTableContent($table, $fields, $filter, $limit, $offset);
@@ -286,16 +239,17 @@
286 239 $resp[$identifier] = $result;
287 240 }
288 241 break;
289 242 case "tableinfo":
290 - $table = $params['table'];
291 - $offset = intval($params['offset']);
292 - $limit = intval($params['limit']);
293 - $bsize = intval($params['bsize']);
294 - $filter = (array_key_exists('filter', $params)) ? $params['filter'] : "";
295 - $tname = $params['tname'];
243 + $table = urldecode($params['table']);
244 + $offset = intval(urldecode($params['offset']));
245 + $limit = intval(urldecode($params['limit']));
246 + $bsize = intval(urldecode($params['bsize']));
247 + $filter = (array_key_exists('filter', $params)) ? urldecode($params['filter']) : "";
248 + $rcount = intval(urldecode($params['rcount']));
249 + $tname = urldecode($params['tname']);
296 250 $pkeys = (array_key_exists('pkeys', $params)) ? $params['pkeys'] : array();
297 - $resp = $this->getTableData($table, $tname, $offset, $limit, $bsize, $filter, $pkeys, false);
251 + $resp = $this->getTableData($table, $tname, $rcount, $offset, $limit, $bsize, $filter, $pkeys, false);
298 252 break;
299 253 case "getmulttables":
300 254 $result = array();
301 255 $tableParams = $params['table_params'];
@@ -300,27 +254,29 @@
300 254 $result = array();
301 255 $tableParams = $params['table_params'];
302 256 $resp = array();
303 257 foreach($tableParams as $tableParam) {
304 - $table = $tableParam['table'];
305 - $tname = $tableParam['tname'];
306 - $filter = (array_key_exists('filter', $tableParam)) ? $tableParam['filter'] : "";
307 - $limit = intval($tableParam['limit']);
308 - $offset = intval($tableParam['offset']);
309 - $bsize = intval($tableParam['bsize']);
258 + $table = urldecode($tableParam['table']);
259 + $tname = urldecode($tableParam['tname']);
260 + $rcount = intval(urldecode($tableParam['rcount']));
261 + $filter = (array_key_exists('filter', $tableParam)) ? urldecode($tableParam['filter']) : "";
262 + $limit = intval(urldecode($tableParam['limit']));
263 + $offset = intval(urldecode($tableParam['offset']));
264 + $bsize = intval(urldecode($tableParam['bsize']));
310 265 $pkeys = (array_key_exists('pkeys', $tableParam)) ? $tableParam['pkeys'] : array();
311 - $resp[$tname] = $this->getTableData($table, $tname, $offset, $limit, $bsize, $filter, $pkeys, true);
266 + $resp[$tname] = $this->getTableData($table, $tname, $rcount, $offset, $limit, $bsize, $filter, $pkeys, true);
312 267 }
313 268 break;
314 269 case "uploadrows":
315 - $table = $params['table'];
316 - $offset = intval($params['offset']);
317 - $limit = intval($params['limit']);
318 - $bsize = intval($params['bsize']);
319 - $filter = (array_key_exists('filter', $params)) ? $params['filter'] : "";
320 - $tname = $params['tname'];
270 + $table = urldecode($params['table']);
271 + $offset = intval(urldecode($params['offset']));
272 + $limit = intval(urldecode($params['limit']));
273 + $bsize = intval(urldecode($params['bsize']));
274 + $filter = (array_key_exists('filter', $params)) ? urldecode($params['filter']) : "";
275 + $rcount = intval(urldecode($params['rcount']));
276 + $tname = urldecode($params['tname']);
321 277 $pkeys = (array_key_exists('pkeys', $params)) ? $params['pkeys'] : array();
322 - $resp = $this->getTableData($table, $tname, $offset, $limit, $bsize, $filter, $pkeys, true);
278 + $resp = $this->getTableData($table, $tname, $rcount, $offset, $limit, $bsize, $filter, $pkeys, true);
323 279 break;
324 280 case "tblexists":
325 281 $resp = array("tblexists" => $db->isTablePresent($params['table']));
326 282 break;
@@ -338,22 +294,8 @@
338 294 $resp = array("altrtbl" => $db->alterBVTable($params['query'], $params['query']));
339 295 break;
340 296 case "mltigtrslt":
341 297 $resp = array("mltigtrslt" => $this->multiGetResult($params['queries']));
342 - break;
343 - case "mltiqrsstrm":
344 - $queries = $params['queries'];
345 - $result = array();
346 - foreach ($queries as $qparams) {
347 - $identifier = $qparams['identifier'];
348 - $query = $qparams['query'];
349 - $pkeys = (array_key_exists('pkeys', $qparams)) ? $qparams['pkeys'] : array();
350 - array_push($result, $this->streamQueryResult($identifier, $query, $pkeys));
351 - }
352 - $resp = array('mltqrsstrm' => $result);
353 - break;
354 - case "getrndmdata":
355 - $resp = array("getrndmdata" => $this->getRandomData($params['size'], $params['batch_size']));
356 298 break;
357 299 case "tbls":
358 300 $resp = array();
359 301