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