Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wordfenc.../lib
File: wfDirectoryIterator.php
<?php
[0] Fix | Delete
[1] Fix | Delete
abstract class wfDirectoryIterator {
[2] Fix | Delete
[3] Fix | Delete
abstract public function file($file);
[4] Fix | Delete
[5] Fix | Delete
/**
[6] Fix | Delete
* @var string
[7] Fix | Delete
*/
[8] Fix | Delete
private $directory;
[9] Fix | Delete
[10] Fix | Delete
/**
[11] Fix | Delete
* @var int
[12] Fix | Delete
*/
[13] Fix | Delete
private $directory_limit;
[14] Fix | Delete
[15] Fix | Delete
[16] Fix | Delete
private $directories_entered = array();
[17] Fix | Delete
private $directories_processed = array();
[18] Fix | Delete
[19] Fix | Delete
/**
[20] Fix | Delete
* @var callback
[21] Fix | Delete
*/
[22] Fix | Delete
private $callback;
[23] Fix | Delete
/**
[24] Fix | Delete
* @var int
[25] Fix | Delete
*/
[26] Fix | Delete
private $max_iterations;
[27] Fix | Delete
private $iterations;
[28] Fix | Delete
[29] Fix | Delete
/**
[30] Fix | Delete
* @param string $directory
[31] Fix | Delete
* @param int $max_files_per_directory
[32] Fix | Delete
* @param int $max_iterations
[33] Fix | Delete
*/
[34] Fix | Delete
public function __construct($directory = ABSPATH, $max_files_per_directory = 20000, $max_iterations = 1000000) {
[35] Fix | Delete
$this->directory = $directory;
[36] Fix | Delete
$this->directory_limit = $max_files_per_directory;
[37] Fix | Delete
$this->max_iterations = $max_iterations;
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
public function run() {
[41] Fix | Delete
$this->iterations = 0;
[42] Fix | Delete
$this->scan($this->directory);
[43] Fix | Delete
}
[44] Fix | Delete
[45] Fix | Delete
protected function scan($dir) {
[46] Fix | Delete
$dir = rtrim($dir, DIRECTORY_SEPARATOR);
[47] Fix | Delete
$handle = opendir($dir);
[48] Fix | Delete
$file_count = 0;
[49] Fix | Delete
while ($file = readdir($handle)) {
[50] Fix | Delete
if ($file == '.' || $file == '..') {
[51] Fix | Delete
continue;
[52] Fix | Delete
}
[53] Fix | Delete
$file_path = $dir . '/' . $file;
[54] Fix | Delete
$real_path = realpath($file_path);
[55] Fix | Delete
if (isset($this->directories_processed[$real_path]) || isset($this->directories_entered[$real_path])) { //Already processed or being processed, possibly a recursive symlink
[56] Fix | Delete
continue;
[57] Fix | Delete
}
[58] Fix | Delete
[59] Fix | Delete
else if (is_dir($file_path)) {
[60] Fix | Delete
$this->directories_entered[$real_path] = 1;
[61] Fix | Delete
if ($this->scan($file_path) === false) {
[62] Fix | Delete
closedir($handle);
[63] Fix | Delete
return false;
[64] Fix | Delete
}
[65] Fix | Delete
$this->directories_processed[$real_path] = 1;
[66] Fix | Delete
unset($this->directories_entered[$real_path]);
[67] Fix | Delete
}
[68] Fix | Delete
else {
[69] Fix | Delete
if ($this->file($file_path) === false) {
[70] Fix | Delete
closedir($handle);
[71] Fix | Delete
return false;
[72] Fix | Delete
}
[73] Fix | Delete
}
[74] Fix | Delete
if (++$file_count >= $this->directory_limit) {
[75] Fix | Delete
break;
[76] Fix | Delete
}
[77] Fix | Delete
if (++$this->iterations >= $this->max_iterations) {
[78] Fix | Delete
closedir($handle);
[79] Fix | Delete
return false;
[80] Fix | Delete
}
[81] Fix | Delete
}
[82] Fix | Delete
closedir($handle);
[83] Fix | Delete
return true;
[84] Fix | Delete
}
[85] Fix | Delete
}
[86] Fix | Delete
[87] Fix | Delete
[88] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function