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

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-file-.../lib/php
File: elFinderVolumeSFTPphpseclib.class.php
$stat = $this->convEncIn(isset($this->cache[$outPath]) ? $this->cache[$outPath] : array());
[500] Fix | Delete
if (!$this->mounted) {
[501] Fix | Delete
// dispose incomplete cache made by calling `stat` by 'startPath' option
[502] Fix | Delete
$this->cache = array();
[503] Fix | Delete
}
[504] Fix | Delete
[505] Fix | Delete
return $stat;
[506] Fix | Delete
}
[507] Fix | Delete
[508] Fix | Delete
/**
[509] Fix | Delete
* Return true if path is dir and has at least one childs directory
[510] Fix | Delete
*
[511] Fix | Delete
* @param string $path dir path
[512] Fix | Delete
*
[513] Fix | Delete
* @return bool
[514] Fix | Delete
* @author Dmitry (dio) Levashov, sitecode
[515] Fix | Delete
**/
[516] Fix | Delete
protected function _subdirs($path)
[517] Fix | Delete
{
[518] Fix | Delete
foreach ($this->ftpRawList($path) as $info) {
[519] Fix | Delete
$name = $info['filename'];
[520] Fix | Delete
if ($name && $name !== '.' && $name !== '..' && $info['type'] == NET_SFTP_TYPE_DIRECTORY) {
[521] Fix | Delete
return true;
[522] Fix | Delete
}
[523] Fix | Delete
if ($name && $name !== '.' && $name !== '..' && $info['type'] == NET_SFTP_TYPE_SYMLINK) {
[524] Fix | Delete
//return true;
[525] Fix | Delete
}
[526] Fix | Delete
}
[527] Fix | Delete
[528] Fix | Delete
return false;
[529] Fix | Delete
}
[530] Fix | Delete
[531] Fix | Delete
[532] Fix | Delete
/******************** file/dir content *********************/
[533] Fix | Delete
[534] Fix | Delete
/**
[535] Fix | Delete
* Open file and return file pointer
[536] Fix | Delete
*
[537] Fix | Delete
* @param string $path file path
[538] Fix | Delete
* @param string $mode
[539] Fix | Delete
*
[540] Fix | Delete
* @return false|resource
[541] Fix | Delete
* @throws elFinderAbortException
[542] Fix | Delete
* @internal param bool $write open file for writing
[543] Fix | Delete
* @author Dmitry (dio) Levashov
[544] Fix | Delete
*/
[545] Fix | Delete
protected function _fopen($path, $mode = 'rb')
[546] Fix | Delete
{
[547] Fix | Delete
if ($this->tmp) {
[548] Fix | Delete
$local = $this->getTempFile($path);
[549] Fix | Delete
$this->connect->get($path, $local);
[550] Fix | Delete
return @fopen($local, $mode);
[551] Fix | Delete
}
[552] Fix | Delete
[553] Fix | Delete
return false;
[554] Fix | Delete
}
[555] Fix | Delete
[556] Fix | Delete
/**
[557] Fix | Delete
* Close opened file
[558] Fix | Delete
*
[559] Fix | Delete
* @param resource $fp file pointer
[560] Fix | Delete
* @param string $path
[561] Fix | Delete
*
[562] Fix | Delete
* @return void
[563] Fix | Delete
* @author Dmitry (dio) Levashov
[564] Fix | Delete
*/
[565] Fix | Delete
protected function _fclose($fp, $path = '')
[566] Fix | Delete
{
[567] Fix | Delete
is_resource($fp) && fclose($fp);
[568] Fix | Delete
if ($path) {
[569] Fix | Delete
unlink($this->getTempFile($path));
[570] Fix | Delete
}
[571] Fix | Delete
}
[572] Fix | Delete
[573] Fix | Delete
[574] Fix | Delete
/******************** file/dir manipulations *************************/
[575] Fix | Delete
[576] Fix | Delete
/**
[577] Fix | Delete
* Create dir and return created dir path or false on failed
[578] Fix | Delete
*
[579] Fix | Delete
* @param string $path parent dir path
[580] Fix | Delete
* @param string $name new directory name
[581] Fix | Delete
*
[582] Fix | Delete
* @return string|bool
[583] Fix | Delete
* @author Dmitry (dio) Levashov
[584] Fix | Delete
**/
[585] Fix | Delete
protected function _mkdir($path, $name)
[586] Fix | Delete
{
[587] Fix | Delete
$path = $this->_joinPath($path, $this->_basename($name));
[588] Fix | Delete
if ($this->connect->mkdir($path) === false) {
[589] Fix | Delete
return false;
[590] Fix | Delete
}
[591] Fix | Delete
[592] Fix | Delete
$this->options['dirMode'] && $this->connect->chmod($this->options['dirMode'], $path);
[593] Fix | Delete
return $path;
[594] Fix | Delete
}
[595] Fix | Delete
[596] Fix | Delete
/**
[597] Fix | Delete
* Create file and return it's path or false on failed
[598] Fix | Delete
*
[599] Fix | Delete
* @param string $path parent dir path
[600] Fix | Delete
* @param string $name new file name
[601] Fix | Delete
*
[602] Fix | Delete
* @return string|bool
[603] Fix | Delete
* @author sitecode
[604] Fix | Delete
**/
[605] Fix | Delete
protected function _mkfile($path, $name)
[606] Fix | Delete
{
[607] Fix | Delete
$path = $this->_joinPath($path, $this->_basename($name));
[608] Fix | Delete
return $this->connect->put($path, '') ? $path : false;
[609] Fix | Delete
/*
[610] Fix | Delete
if ($this->tmp) {
[611] Fix | Delete
$path = $this->_joinPath($path, $name);
[612] Fix | Delete
$local = $this->getTempFile();
[613] Fix | Delete
$res = touch($local) && $this->connect->put($path, $local, NET_SFTP_LOCAL_FILE);
[614] Fix | Delete
unlink($local);
[615] Fix | Delete
return $res ? $path : false;
[616] Fix | Delete
}
[617] Fix | Delete
[618] Fix | Delete
return false;
[619] Fix | Delete
*/
[620] Fix | Delete
}
[621] Fix | Delete
[622] Fix | Delete
/**
[623] Fix | Delete
* Copy file into another file
[624] Fix | Delete
*
[625] Fix | Delete
* @param string $source source file path
[626] Fix | Delete
* @param string $targetDir target directory path
[627] Fix | Delete
* @param string $name new file name
[628] Fix | Delete
*
[629] Fix | Delete
* @return bool
[630] Fix | Delete
* @author Dmitry (dio) Levashov, sitecode
[631] Fix | Delete
**/
[632] Fix | Delete
protected function _copy($source, $targetDir, $name)
[633] Fix | Delete
{
[634] Fix | Delete
$res = false;
[635] Fix | Delete
[636] Fix | Delete
$target = $this->_joinPath($targetDir, $this->_basename($name));
[637] Fix | Delete
if ($this->tmp) {
[638] Fix | Delete
$local = $this->getTempFile();
[639] Fix | Delete
[640] Fix | Delete
if ($this->connect->get($source, $local)
[641] Fix | Delete
&& $this->connect->put($target, $local, NET_SFTP_LOCAL_FILE)) {
[642] Fix | Delete
$res = true;
[643] Fix | Delete
}
[644] Fix | Delete
unlink($local);
[645] Fix | Delete
} else {
[646] Fix | Delete
//not memory efficient
[647] Fix | Delete
$res = $this->_filePutContents($target, $this->_getContents($source));
[648] Fix | Delete
}
[649] Fix | Delete
[650] Fix | Delete
return $res;
[651] Fix | Delete
}
[652] Fix | Delete
[653] Fix | Delete
/**
[654] Fix | Delete
* Move file into another parent dir.
[655] Fix | Delete
* Return new file path or false.
[656] Fix | Delete
*
[657] Fix | Delete
* @param string $source source file path
[658] Fix | Delete
* @param $targetDir
[659] Fix | Delete
* @param string $name file name
[660] Fix | Delete
*
[661] Fix | Delete
* @return bool|string
[662] Fix | Delete
* @internal param string $target target dir path
[663] Fix | Delete
* @author Dmitry (dio) Levashov
[664] Fix | Delete
*/
[665] Fix | Delete
protected function _move($source, $targetDir, $name)
[666] Fix | Delete
{
[667] Fix | Delete
$target = $this->_joinPath($targetDir, $this->_basename($name));
[668] Fix | Delete
return $this->connect->rename($source, $target) ? $target : false;
[669] Fix | Delete
}
[670] Fix | Delete
[671] Fix | Delete
/**
[672] Fix | Delete
* Remove file
[673] Fix | Delete
*
[674] Fix | Delete
* @param string $path file path
[675] Fix | Delete
*
[676] Fix | Delete
* @return bool
[677] Fix | Delete
* @author Dmitry (dio) Levashov
[678] Fix | Delete
**/
[679] Fix | Delete
protected function _unlink($path)
[680] Fix | Delete
{
[681] Fix | Delete
return $this->connect->delete($path, false);
[682] Fix | Delete
}
[683] Fix | Delete
[684] Fix | Delete
/**
[685] Fix | Delete
* Remove dir
[686] Fix | Delete
*
[687] Fix | Delete
* @param string $path dir path
[688] Fix | Delete
*
[689] Fix | Delete
* @return bool
[690] Fix | Delete
* @author Dmitry (dio) Levashov
[691] Fix | Delete
**/
[692] Fix | Delete
protected function _rmdir($path)
[693] Fix | Delete
{
[694] Fix | Delete
return $this->connect->delete($path);
[695] Fix | Delete
}
[696] Fix | Delete
[697] Fix | Delete
/**
[698] Fix | Delete
* Create new file and write into it from file pointer.
[699] Fix | Delete
* Return new file path or false on error.
[700] Fix | Delete
*
[701] Fix | Delete
* @param resource $fp file pointer
[702] Fix | Delete
* @param string $dir target dir path
[703] Fix | Delete
* @param string $name file name
[704] Fix | Delete
* @param array $stat file stat (required by some virtual fs)
[705] Fix | Delete
*
[706] Fix | Delete
* @return bool|string
[707] Fix | Delete
* @author Dmitry (dio) Levashov
[708] Fix | Delete
**/
[709] Fix | Delete
protected function _save($fp, $dir, $name, $stat)
[710] Fix | Delete
{
[711] Fix | Delete
//TODO optionally encrypt $fp before uploading if mime is not already encrypted type
[712] Fix | Delete
$path = $this->_joinPath($dir, $this->_basename($name));
[713] Fix | Delete
return $this->connect->put($path, $fp)
[714] Fix | Delete
? $path
[715] Fix | Delete
: false;
[716] Fix | Delete
}
[717] Fix | Delete
[718] Fix | Delete
/**
[719] Fix | Delete
* Get file contents
[720] Fix | Delete
*
[721] Fix | Delete
* @param string $path file path
[722] Fix | Delete
*
[723] Fix | Delete
* @return string|false
[724] Fix | Delete
* @throws elFinderAbortException
[725] Fix | Delete
* @author Dmitry (dio) Levashov
[726] Fix | Delete
*/
[727] Fix | Delete
protected function _getContents($path)
[728] Fix | Delete
{
[729] Fix | Delete
return $this->connect->get($path);
[730] Fix | Delete
}
[731] Fix | Delete
[732] Fix | Delete
/**
[733] Fix | Delete
* Write a string to a file
[734] Fix | Delete
*
[735] Fix | Delete
* @param string $path file path
[736] Fix | Delete
* @param string $content new file content
[737] Fix | Delete
*
[738] Fix | Delete
* @return bool
[739] Fix | Delete
* @author Dmitry (dio) Levashov
[740] Fix | Delete
**/
[741] Fix | Delete
protected function _filePutContents($path, $content)
[742] Fix | Delete
{
[743] Fix | Delete
return $this->connect->put($path, $content);
[744] Fix | Delete
}
[745] Fix | Delete
[746] Fix | Delete
/**
[747] Fix | Delete
* chmod availability
[748] Fix | Delete
*
[749] Fix | Delete
* @param string $path
[750] Fix | Delete
* @param string $mode
[751] Fix | Delete
*
[752] Fix | Delete
* @return bool
[753] Fix | Delete
*/
[754] Fix | Delete
protected function _chmod($path, $mode)
[755] Fix | Delete
{
[756] Fix | Delete
$modeOct = is_string($mode) ? octdec($mode) : octdec(sprintf("%04o", $mode));
[757] Fix | Delete
return $this->connect->chmod($modeOct, $path);
[758] Fix | Delete
}
[759] Fix | Delete
[760] Fix | Delete
/**
[761] Fix | Delete
* Extract files from archive
[762] Fix | Delete
*
[763] Fix | Delete
* @param string $path archive path
[764] Fix | Delete
* @param array $arc archiver command and arguments (same as in $this->archivers)
[765] Fix | Delete
*
[766] Fix | Delete
* @return true
[767] Fix | Delete
* @throws elFinderAbortException
[768] Fix | Delete
* @author Dmitry (dio) Levashov,
[769] Fix | Delete
* @author Alexey Sukhotin
[770] Fix | Delete
*/
[771] Fix | Delete
protected function _extract($path, $arc)
[772] Fix | Delete
{
[773] Fix | Delete
return false; //TODO
[774] Fix | Delete
}
[775] Fix | Delete
[776] Fix | Delete
/**
[777] Fix | Delete
* Create archive and return its path
[778] Fix | Delete
*
[779] Fix | Delete
* @param string $dir target dir
[780] Fix | Delete
* @param array $files files names list
[781] Fix | Delete
* @param string $name archive name
[782] Fix | Delete
* @param array $arc archiver options
[783] Fix | Delete
*
[784] Fix | Delete
* @return string|bool
[785] Fix | Delete
* @throws elFinderAbortException
[786] Fix | Delete
* @author Dmitry (dio) Levashov,
[787] Fix | Delete
* @author Alexey Sukhotin
[788] Fix | Delete
*/
[789] Fix | Delete
protected function _archive($dir, $files, $name, $arc)
[790] Fix | Delete
{
[791] Fix | Delete
return false; //TODO
[792] Fix | Delete
}
[793] Fix | Delete
[794] Fix | Delete
/**
[795] Fix | Delete
* Gets an array of absolute remote SFTP paths of files and
[796] Fix | Delete
* folders in $remote_directory omitting symbolic links.
[797] Fix | Delete
*
[798] Fix | Delete
* @param $remote_directory string remote SFTP path to scan for file and folders recursively
[799] Fix | Delete
* @param $targets array Array of target item. `null` is to get all of items
[800] Fix | Delete
*
[801] Fix | Delete
* @return array of elements each of which is an array of two elements:
[802] Fix | Delete
* <ul>
[803] Fix | Delete
* <li>$item['path'] - absolute remote SFTP path</li>
[804] Fix | Delete
* <li>$item['type'] - either 'f' for file or 'd' for directory</li>
[805] Fix | Delete
* </ul>
[806] Fix | Delete
*/
[807] Fix | Delete
protected function ftp_scan_dir($remote_directory, $targets = null)
[808] Fix | Delete
{
[809] Fix | Delete
$buff = $this->ftpRawList($remote_directory);
[810] Fix | Delete
$items = array();
[811] Fix | Delete
if ($targets && is_array($targets)) {
[812] Fix | Delete
$targets = array_flip($targets);
[813] Fix | Delete
} else {
[814] Fix | Delete
$targets = false;
[815] Fix | Delete
}
[816] Fix | Delete
foreach ($buff as $info) {
[817] Fix | Delete
$name = $info['filename'];
[818] Fix | Delete
if ($name !== '.' && $name !== '..' && (!$targets || isset($targets[$name]))) {
[819] Fix | Delete
switch ($info['type']) {
[820] Fix | Delete
case NET_SFTP_TYPE_SYMLINK : //omit symbolic links
[821] Fix | Delete
case NET_SFTP_TYPE_DIRECTORY :
[822] Fix | Delete
$remote_file_path = $this->_joinPath($remote_directory, $name);
[823] Fix | Delete
$item = array();
[824] Fix | Delete
$item['path'] = $remote_file_path;
[825] Fix | Delete
$item['type'] = 'd'; // normal file
[826] Fix | Delete
$items[] = $item;
[827] Fix | Delete
$items = array_merge($items, $this->ftp_scan_dir($remote_file_path));
[828] Fix | Delete
break;
[829] Fix | Delete
default:
[830] Fix | Delete
$remote_file_path = $this->_joinPath($remote_directory, $name);
[831] Fix | Delete
$item = array();
[832] Fix | Delete
$item['path'] = $remote_file_path;
[833] Fix | Delete
$item['type'] = 'f'; // normal file
[834] Fix | Delete
$items[] = $item;
[835] Fix | Delete
}
[836] Fix | Delete
}
[837] Fix | Delete
}
[838] Fix | Delete
return $items;
[839] Fix | Delete
}
[840] Fix | Delete
[841] Fix | Delete
} // END class
[842] Fix | Delete
[843] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function