| @@ -8,9 +8,9 @@ | ||
| 8 | 8 | public $stream; |
| 9 | 9 | public $account; |
| 10 | 10 | |
| 11 | 11 | public static $cwAllowedFiles = array(".htaccess", ".user.ini", "malcare-waf.php"); |
| 12 | - const FS_WING_VERSION = 1.2; | |
| 12 | + const FS_WING_VERSION = 1.1; | |
| 13 | 13 | |
| 14 | 14 | public function __construct($callback_handler) { |
| 15 | 15 | $this->account = $callback_handler->account; |
| 16 | 16 | } |
| @@ -199,9 +199,9 @@ | ||
| 199 | 199 | } |
| 200 | 200 | if ($md5 === true && !is_dir($absfile)) { |
| 201 | 201 | $fdata["md5"] = $this->calculateMd5($absfile, $fdata, $offset, $limit, $bsize); |
| 202 | 202 | } |
| 203 | - $result["stats"][] = $fdata; | |
| 203 | + $result[] = $fdata; | |
| 204 | 204 | } |
| 205 | 205 | return $result; |
| 206 | 206 | } |
| 207 | 207 | |
| @@ -250,13 +250,13 @@ | ||
| 250 | 250 | if (array_key_exists('stream', $stream_init_info)) { |
| 251 | 251 | $this->stream = $stream_init_info['stream']; |
| 252 | 252 | switch ($request->method) { |
| 253 | 253 | case "scanfilesglob": |
| 254 | - $initdir = $params['initdir']; | |
| 255 | - $offset = intval($params['offset']); | |
| 256 | - $limit = intval($params['limit']); | |
| 257 | - $bsize = intval($params['bsize']); | |
| 258 | - $regex = $params['regex']; | |
| 254 | + $initdir = urldecode($params['initdir']); | |
| 255 | + $offset = intval(urldecode($params['offset'])); | |
| 256 | + $limit = intval(urldecode($params['limit'])); | |
| 257 | + $bsize = intval(urldecode($params['bsize'])); | |
| 258 | + $regex = urldecode($params['regex']); | |
| 259 | 259 | $recurse = true; |
| 260 | 260 | if (array_key_exists('recurse', $params) && $params["recurse"] == "false") { |
| 261 | 261 | $recurse = false; |
| 262 | 262 | } |
| @@ -267,13 +267,13 @@ | ||
| 267 | 267 | $dir_options = array(); |
| 268 | 268 | if (array_key_exists('dir_options', $params)) { |
| 269 | 269 | $dir_options = $params['dir_options']; |
| 270 | 270 | } |
| 271 | - $bsize = intval($params['bsize']); | |
| 271 | + $bsize = intval(urldecode($params['bsize'])); | |
| 272 | 272 | foreach($dir_options as $option) { |
| 273 | - $dir = $option['dir']; | |
| 274 | - $offset = intval($option['offset']); | |
| 275 | - $limit = intval($option['limit']); | |
| 273 | + $dir = urldecode($option['dir']); | |
| 274 | + $offset = intval(urldecode($option['offset'])); | |
| 275 | + $limit = intval(urldecode($option['limit'])); | |
| 276 | 276 | $recurse = true; |
| 277 | 277 | if (array_key_exists('recurse', $option) && $option["recurse"] == "false") { |
| 278 | 278 | $recurse = false; |
| 279 | 279 | } |
| @@ -287,23 +287,19 @@ | ||
| 287 | 287 | } |
| 288 | 288 | $resp = array("status" => "done", "links" => $links); |
| 289 | 289 | break; |
| 290 | 290 | case "getfilesstats": |
| 291 | - $files = $params['files']; | |
| 292 | - $offset = intval($params['offset']); | |
| 293 | - $limit = intval($params['limit']); | |
| 294 | - $bsize = intval($params['bsize']); | |
| 295 | - $md5 = false; | |
| 296 | - if (array_key_exists('md5', $params)) { | |
| 297 | - $md5 = true; | |
| 298 | - } | |
| 299 | - $resp = $this->getFilesStats($files, $offset, $limit, $bsize, $md5); | |
| 291 | + $md5 = array_key_exists('md5', $params) ? $params['md5'] : false; | |
| 292 | + $stats = $this->getFilesStats( | |
| 293 | + $params['files'], $params['offset'], $params['limit'], $params['bsize'], $md5 | |
| 294 | + ); | |
| 295 | + $resp = array('stats' => $stats); | |
| 300 | 296 | break; |
| 301 | 297 | case "sendmanyfiles": |
| 302 | 298 | $files = $params['files']; |
| 303 | - $offset = intval($params['offset']); | |
| 304 | - $limit = intval($params['limit']); | |
| 305 | - $bsize = intval($params['bsize']); | |
| 299 | + $offset = intval(urldecode($params['offset'])); | |
| 300 | + $limit = intval(urldecode($params['limit'])); | |
| 301 | + $bsize = intval(urldecode($params['bsize'])); | |
| 306 | 302 | $resp = $this->uploadFiles($files, $offset, $limit, $bsize); |
| 307 | 303 | break; |
| 308 | 304 | case "filelist": |
| 309 | 305 | $dir_options = array(); |
| @@ -334,9 +330,9 @@ | ||
| 334 | 330 | |
| 335 | 331 | foreach($regexes as $regex) { |
| 336 | 332 | $directoryList = array_merge($directoryList, glob($options['dir'].$regex, $glob_option)); |
| 337 | 333 | } |
| 338 | - $resp[$options['dir']] = $this->getFilesStats($directoryList, 0, 0, 0, $md5); | |
| 334 | + $resp[$options['dir']] = array('stats' => $this->getFilesStats($directoryList, 0, 0, 0, $md5)); | |
| 339 | 335 | } |
| 340 | 336 | break; |
| 341 | 337 | case "dirsexists": |
| 342 | 338 | $resp = array(); |
| @@ -374,20 +370,11 @@ | ||
| 374 | 370 | $args['files'], $args['offset'], $args['limit'], $args['bsize'], $md5 |
| 375 | 371 | ); |
| 376 | 372 | |
| 377 | 373 | $result = array(); |
| 378 | - | |
| 379 | - if (array_key_exists('stats', $stats)) { | |
| 380 | - $result['stats'] = array(); | |
| 381 | - foreach ($stats['stats'] as $stat) { | |
| 382 | - $result['stats'][$stat['filename']] = $stat; | |
| 383 | - } | |
| 374 | + foreach ($stats as $stat) { | |
| 375 | + $result[$stat['filename']] = $stat; | |
| 384 | 376 | } |
| 385 | - | |
| 386 | - if (array_key_exists('missingfiles', $stats)) { | |
| 387 | - $result['missingfiles'] = $stats['missingfiles']; | |
| 388 | - } | |
| 389 | - | |
| 390 | 377 | $resp['get_files_stats'] = $result; |
| 391 | 378 | } |
| 392 | 379 | |
| 393 | 380 | break; |