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: elFinderVolumeLocalFileSystem.class.php
* @param $targetDir
[1000] Fix | Delete
* @param string $name file name
[1001] Fix | Delete
*
[1002] Fix | Delete
* @return bool|string
[1003] Fix | Delete
* @internal param string $target target dir path
[1004] Fix | Delete
* @author Dmitry (dio) Levashov
[1005] Fix | Delete
*/
[1006] Fix | Delete
protected function _move($source, $targetDir, $name)
[1007] Fix | Delete
{
[1008] Fix | Delete
$mtime = filemtime($source);
[1009] Fix | Delete
$target = $this->_joinPath($targetDir, $name);
[1010] Fix | Delete
if ($ret = rename($source, $target) ? $target : false) {
[1011] Fix | Delete
isset($this->options['keepTimestamp']['move']) && $mtime && touch($target, $mtime);
[1012] Fix | Delete
}
[1013] Fix | Delete
return $ret;
[1014] Fix | Delete
}
[1015] Fix | Delete
[1016] Fix | Delete
/**
[1017] Fix | Delete
* Remove file
[1018] Fix | Delete
*
[1019] Fix | Delete
* @param string $path file path
[1020] Fix | Delete
*
[1021] Fix | Delete
* @return bool
[1022] Fix | Delete
* @author Dmitry (dio) Levashov
[1023] Fix | Delete
**/
[1024] Fix | Delete
protected function _unlink($path)
[1025] Fix | Delete
{
[1026] Fix | Delete
return is_file($path) && unlink($path);
[1027] Fix | Delete
}
[1028] Fix | Delete
[1029] Fix | Delete
/**
[1030] Fix | Delete
* Remove dir
[1031] Fix | Delete
*
[1032] Fix | Delete
* @param string $path dir path
[1033] Fix | Delete
*
[1034] Fix | Delete
* @return bool
[1035] Fix | Delete
* @author Dmitry (dio) Levashov
[1036] Fix | Delete
**/
[1037] Fix | Delete
protected function _rmdir($path)
[1038] Fix | Delete
{
[1039] Fix | Delete
return rmdir($path);
[1040] Fix | Delete
}
[1041] Fix | Delete
[1042] Fix | Delete
/**
[1043] Fix | Delete
* Create new file and write into it from file pointer.
[1044] Fix | Delete
* Return new file path or false on error.
[1045] Fix | Delete
*
[1046] Fix | Delete
* @param resource $fp file pointer
[1047] Fix | Delete
* @param string $dir target dir path
[1048] Fix | Delete
* @param string $name file name
[1049] Fix | Delete
* @param array $stat file stat (required by some virtual fs)
[1050] Fix | Delete
*
[1051] Fix | Delete
* @return bool|string
[1052] Fix | Delete
* @author Dmitry (dio) Levashov
[1053] Fix | Delete
**/
[1054] Fix | Delete
protected function _save($fp, $dir, $name, $stat)
[1055] Fix | Delete
{
[1056] Fix | Delete
$path = $this->_joinPath($dir, $name);
[1057] Fix | Delete
[1058] Fix | Delete
$meta = stream_get_meta_data($fp);
[1059] Fix | Delete
$uri = isset($meta['uri']) ? $meta['uri'] : '';
[1060] Fix | Delete
if ($uri && !preg_match('#^[a-zA-Z0-9]+://#', $uri) && !is_link($uri)) {
[1061] Fix | Delete
fclose($fp);
[1062] Fix | Delete
$mtime = filemtime($uri);
[1063] Fix | Delete
$isCmdPaste = ($this->ARGS['cmd'] === 'paste');
[1064] Fix | Delete
$isCmdCopy = ($isCmdPaste && empty($this->ARGS['cut']));
[1065] Fix | Delete
if (($isCmdCopy || !rename($uri, $path)) && !copy($uri, $path)) {
[1066] Fix | Delete
return false;
[1067] Fix | Delete
}
[1068] Fix | Delete
// keep timestamp on upload
[1069] Fix | Delete
if ($mtime && $this->ARGS['cmd'] === 'upload') {
[1070] Fix | Delete
touch($path, isset($this->options['keepTimestamp']['upload']) ? $mtime : time());
[1071] Fix | Delete
}
[1072] Fix | Delete
} else {
[1073] Fix | Delete
if (file_put_contents($path, $fp, LOCK_EX) === false) {
[1074] Fix | Delete
return false;
[1075] Fix | Delete
}
[1076] Fix | Delete
}
[1077] Fix | Delete
[1078] Fix | Delete
chmod($path, $this->options['fileMode']);
[1079] Fix | Delete
return $path;
[1080] Fix | Delete
}
[1081] Fix | Delete
[1082] Fix | Delete
/**
[1083] Fix | Delete
* Get file contents
[1084] Fix | Delete
*
[1085] Fix | Delete
* @param string $path file path
[1086] Fix | Delete
*
[1087] Fix | Delete
* @return string|false
[1088] Fix | Delete
* @author Dmitry (dio) Levashov
[1089] Fix | Delete
**/
[1090] Fix | Delete
protected function _getContents($path)
[1091] Fix | Delete
{
[1092] Fix | Delete
return file_get_contents($path);
[1093] Fix | Delete
}
[1094] Fix | Delete
[1095] Fix | Delete
/**
[1096] Fix | Delete
* Write a string to a file
[1097] Fix | Delete
*
[1098] Fix | Delete
* @param string $path file path
[1099] Fix | Delete
* @param string $content new file content
[1100] Fix | Delete
*
[1101] Fix | Delete
* @return bool
[1102] Fix | Delete
* @author Dmitry (dio) Levashov
[1103] Fix | Delete
**/
[1104] Fix | Delete
protected function _filePutContents($path, $content)
[1105] Fix | Delete
{
[1106] Fix | Delete
return (file_put_contents($path, $content, LOCK_EX) !== false);
[1107] Fix | Delete
}
[1108] Fix | Delete
[1109] Fix | Delete
/**
[1110] Fix | Delete
* Detect available archivers
[1111] Fix | Delete
*
[1112] Fix | Delete
* @return void
[1113] Fix | Delete
* @throws elFinderAbortException
[1114] Fix | Delete
*/
[1115] Fix | Delete
protected function _checkArchivers()
[1116] Fix | Delete
{
[1117] Fix | Delete
$this->archivers = $this->getArchivers();
[1118] Fix | Delete
return;
[1119] Fix | Delete
}
[1120] Fix | Delete
[1121] Fix | Delete
/**
[1122] Fix | Delete
* chmod availability
[1123] Fix | Delete
*
[1124] Fix | Delete
* @param string $path
[1125] Fix | Delete
* @param string $mode
[1126] Fix | Delete
*
[1127] Fix | Delete
* @return bool
[1128] Fix | Delete
*/
[1129] Fix | Delete
protected function _chmod($path, $mode)
[1130] Fix | Delete
{
[1131] Fix | Delete
$modeOct = is_string($mode) ? octdec($mode) : octdec(sprintf("%04o", $mode));
[1132] Fix | Delete
return chmod($path, $modeOct);
[1133] Fix | Delete
}
[1134] Fix | Delete
[1135] Fix | Delete
/**
[1136] Fix | Delete
* Recursive symlinks search
[1137] Fix | Delete
*
[1138] Fix | Delete
* @param string $path file/dir path
[1139] Fix | Delete
*
[1140] Fix | Delete
* @return bool
[1141] Fix | Delete
* @throws Exception
[1142] Fix | Delete
* @author Dmitry (dio) Levashov
[1143] Fix | Delete
*/
[1144] Fix | Delete
protected function _findSymlinks($path)
[1145] Fix | Delete
{
[1146] Fix | Delete
return self::localFindSymlinks($path);
[1147] Fix | Delete
}
[1148] Fix | Delete
[1149] Fix | Delete
/**
[1150] Fix | Delete
* Extract files from archive
[1151] Fix | Delete
*
[1152] Fix | Delete
* @param string $path archive path
[1153] Fix | Delete
* @param array $arc archiver command and arguments (same as in $this->archivers)
[1154] Fix | Delete
*
[1155] Fix | Delete
* @return array|string|boolean
[1156] Fix | Delete
* @throws elFinderAbortException
[1157] Fix | Delete
* @author Dmitry (dio) Levashov,
[1158] Fix | Delete
* @author Alexey Sukhotin
[1159] Fix | Delete
*/
[1160] Fix | Delete
protected function _extract($path, $arc)
[1161] Fix | Delete
{
[1162] Fix | Delete
[1163] Fix | Delete
if ($this->quarantine) {
[1164] Fix | Delete
[1165] Fix | Delete
$dir = $this->quarantine . DIRECTORY_SEPARATOR . md5(basename($path) . mt_rand());
[1166] Fix | Delete
$archive = (isset($arc['toSpec']) || $arc['cmd'] === 'phpfunction') ? '' : $dir . DIRECTORY_SEPARATOR . basename($path);
[1167] Fix | Delete
[1168] Fix | Delete
if (!mkdir($dir)) {
[1169] Fix | Delete
return false;
[1170] Fix | Delete
}
[1171] Fix | Delete
[1172] Fix | Delete
// insurance unexpected shutdown
[1173] Fix | Delete
register_shutdown_function(array($this, 'rmdirRecursive'), realpath($dir));
[1174] Fix | Delete
[1175] Fix | Delete
chmod($dir, 0777);
[1176] Fix | Delete
[1177] Fix | Delete
// copy in quarantine
[1178] Fix | Delete
if (!is_readable($path) || ($archive && !copy($path, $archive))) {
[1179] Fix | Delete
return false;
[1180] Fix | Delete
}
[1181] Fix | Delete
[1182] Fix | Delete
// extract in quarantine
[1183] Fix | Delete
try {
[1184] Fix | Delete
$this->unpackArchive($path, $arc, $archive ? true : $dir);
[1185] Fix | Delete
} catch(Exception $e) {
[1186] Fix | Delete
return $this->setError($e->getMessage());
[1187] Fix | Delete
}
[1188] Fix | Delete
[1189] Fix | Delete
// get files list
[1190] Fix | Delete
try {
[1191] Fix | Delete
$ls = self::localScandir($dir);
[1192] Fix | Delete
} catch (Exception $e) {
[1193] Fix | Delete
return false;
[1194] Fix | Delete
}
[1195] Fix | Delete
[1196] Fix | Delete
// no files - extract error ?
[1197] Fix | Delete
if (empty($ls)) {
[1198] Fix | Delete
return false;
[1199] Fix | Delete
}
[1200] Fix | Delete
[1201] Fix | Delete
$this->archiveSize = 0;
[1202] Fix | Delete
[1203] Fix | Delete
// find symlinks and check extracted items
[1204] Fix | Delete
$checkRes = $this->checkExtractItems($dir);
[1205] Fix | Delete
if ($checkRes['symlinks']) {
[1206] Fix | Delete
self::localRmdirRecursive($dir);
[1207] Fix | Delete
return $this->setError(array_merge($this->error, array(elFinder::ERROR_ARC_SYMLINKS)));
[1208] Fix | Delete
}
[1209] Fix | Delete
$this->archiveSize = $checkRes['totalSize'];
[1210] Fix | Delete
if ($checkRes['rmNames']) {
[1211] Fix | Delete
foreach ($checkRes['rmNames'] as $name) {
[1212] Fix | Delete
$this->addError(elFinder::ERROR_SAVE, $name);
[1213] Fix | Delete
}
[1214] Fix | Delete
}
[1215] Fix | Delete
[1216] Fix | Delete
// check max files size
[1217] Fix | Delete
if ($this->options['maxArcFilesSize'] > 0 && $this->options['maxArcFilesSize'] < $this->archiveSize) {
[1218] Fix | Delete
$this->delTree($dir);
[1219] Fix | Delete
return $this->setError(elFinder::ERROR_ARC_MAXSIZE);
[1220] Fix | Delete
}
[1221] Fix | Delete
[1222] Fix | Delete
$extractTo = $this->extractToNewdir; // 'auto', ture or false
[1223] Fix | Delete
[1224] Fix | Delete
// archive contains one item - extract in archive dir
[1225] Fix | Delete
$name = '';
[1226] Fix | Delete
$src = $dir . DIRECTORY_SEPARATOR . $ls[0];
[1227] Fix | Delete
if (($extractTo === 'auto' || !$extractTo) && count($ls) === 1 && is_file($src)) {
[1228] Fix | Delete
$name = $ls[0];
[1229] Fix | Delete
} else if ($extractTo === 'auto' || $extractTo) {
[1230] Fix | Delete
// for several files - create new directory
[1231] Fix | Delete
// create unique name for directory
[1232] Fix | Delete
$src = $dir;
[1233] Fix | Delete
$splits = elFinder::splitFileExtention(basename($path));
[1234] Fix | Delete
$name = $splits[0];
[1235] Fix | Delete
$test = dirname($path) . DIRECTORY_SEPARATOR . $name;
[1236] Fix | Delete
if (file_exists($test) || is_link($test)) {
[1237] Fix | Delete
$name = $this->uniqueName(dirname($path), $name, '-', false);
[1238] Fix | Delete
}
[1239] Fix | Delete
}
[1240] Fix | Delete
[1241] Fix | Delete
if ($name !== '') {
[1242] Fix | Delete
$result = dirname($path) . DIRECTORY_SEPARATOR . $name;
[1243] Fix | Delete
[1244] Fix | Delete
if (!rename($src, $result)) {
[1245] Fix | Delete
$this->delTree($dir);
[1246] Fix | Delete
return false;
[1247] Fix | Delete
}
[1248] Fix | Delete
} else {
[1249] Fix | Delete
$dstDir = dirname($path);
[1250] Fix | Delete
$result = array();
[1251] Fix | Delete
foreach ($ls as $name) {
[1252] Fix | Delete
$target = $dstDir . DIRECTORY_SEPARATOR . $name;
[1253] Fix | Delete
if (self::localMoveRecursive($dir . DIRECTORY_SEPARATOR . $name, $target, true, $this->options['copyJoin'])) {
[1254] Fix | Delete
$result[] = $target;
[1255] Fix | Delete
}
[1256] Fix | Delete
}
[1257] Fix | Delete
if (!$result) {
[1258] Fix | Delete
$this->delTree($dir);
[1259] Fix | Delete
return false;
[1260] Fix | Delete
}
[1261] Fix | Delete
}
[1262] Fix | Delete
[1263] Fix | Delete
is_dir($dir) && $this->delTree($dir);
[1264] Fix | Delete
[1265] Fix | Delete
return (is_array($result) || file_exists($result)) ? $result : false;
[1266] Fix | Delete
}
[1267] Fix | Delete
//TODO: Add return statement here
[1268] Fix | Delete
return false;
[1269] Fix | Delete
}
[1270] Fix | Delete
[1271] Fix | Delete
/**
[1272] Fix | Delete
* Create archive and return its path
[1273] Fix | Delete
*
[1274] Fix | Delete
* @param string $dir target dir
[1275] Fix | Delete
* @param array $files files names list
[1276] Fix | Delete
* @param string $name archive name
[1277] Fix | Delete
* @param array $arc archiver options
[1278] Fix | Delete
*
[1279] Fix | Delete
* @return string|bool
[1280] Fix | Delete
* @throws elFinderAbortException
[1281] Fix | Delete
* @author Dmitry (dio) Levashov,
[1282] Fix | Delete
* @author Alexey Sukhotin
[1283] Fix | Delete
*/
[1284] Fix | Delete
protected function _archive($dir, $files, $name, $arc)
[1285] Fix | Delete
{
[1286] Fix | Delete
return $this->makeArchive($dir, $files, $name, $arc);
[1287] Fix | Delete
}
[1288] Fix | Delete
[1289] Fix | Delete
/******************** Over write functions *************************/
[1290] Fix | Delete
[1291] Fix | Delete
/**
[1292] Fix | Delete
* File path of local server side work file path
[1293] Fix | Delete
*
[1294] Fix | Delete
* @param string $path
[1295] Fix | Delete
*
[1296] Fix | Delete
* @return string
[1297] Fix | Delete
* @author Naoki Sawada
[1298] Fix | Delete
*/
[1299] Fix | Delete
protected function getWorkFile($path)
[1300] Fix | Delete
{
[1301] Fix | Delete
return $path;
[1302] Fix | Delete
}
[1303] Fix | Delete
[1304] Fix | Delete
/**
[1305] Fix | Delete
* Delete dirctory trees
[1306] Fix | Delete
*
[1307] Fix | Delete
* @param string $localpath path need convert encoding to server encoding
[1308] Fix | Delete
*
[1309] Fix | Delete
* @return boolean
[1310] Fix | Delete
* @throws elFinderAbortException
[1311] Fix | Delete
* @author Naoki Sawada
[1312] Fix | Delete
*/
[1313] Fix | Delete
protected function delTree($localpath)
[1314] Fix | Delete
{
[1315] Fix | Delete
return $this->rmdirRecursive($localpath);
[1316] Fix | Delete
}
[1317] Fix | Delete
[1318] Fix | Delete
/**
[1319] Fix | Delete
* Return fileinfo based on filename
[1320] Fix | Delete
* For item ID based path file system
[1321] Fix | Delete
* Please override if needed on each drivers
[1322] Fix | Delete
*
[1323] Fix | Delete
* @param string $path file cache
[1324] Fix | Delete
*
[1325] Fix | Delete
* @return array|boolean false
[1326] Fix | Delete
*/
[1327] Fix | Delete
protected function isNameExists($path)
[1328] Fix | Delete
{
[1329] Fix | Delete
$exists = file_exists($this->convEncIn($path));
[1330] Fix | Delete
// restore locale
[1331] Fix | Delete
$this->convEncOut();
[1332] Fix | Delete
return $exists ? $this->stat($path) : false;
[1333] Fix | Delete
}
[1334] Fix | Delete
[1335] Fix | Delete
/******************** Over write (Optimized) functions *************************/
[1336] Fix | Delete
[1337] Fix | Delete
/**
[1338] Fix | Delete
* Recursive files search
[1339] Fix | Delete
*
[1340] Fix | Delete
* @param string $path dir path
[1341] Fix | Delete
* @param string $q search string
[1342] Fix | Delete
* @param array $mimes
[1343] Fix | Delete
*
[1344] Fix | Delete
* @return array
[1345] Fix | Delete
* @throws elFinderAbortException
[1346] Fix | Delete
* @author Dmitry (dio) Levashov
[1347] Fix | Delete
* @author Naoki Sawada
[1348] Fix | Delete
*/
[1349] Fix | Delete
protected function doSearch($path, $q, $mimes)
[1350] Fix | Delete
{
[1351] Fix | Delete
if (!empty($this->doSearchCurrentQuery['matchMethod']) || $this->encoding || !class_exists('FilesystemIterator', false)) {
[1352] Fix | Delete
// has custom match method or non UTF-8, use elFinderVolumeDriver::doSearch()
[1353] Fix | Delete
return parent::doSearch($path, $q, $mimes);
[1354] Fix | Delete
}
[1355] Fix | Delete
[1356] Fix | Delete
$result = array();
[1357] Fix | Delete
[1358] Fix | Delete
$timeout = $this->options['searchTimeout'] ? $this->searchStart + $this->options['searchTimeout'] : 0;
[1359] Fix | Delete
if ($timeout && $timeout < time()) {
[1360] Fix | Delete
$this->setError(elFinder::ERROR_SEARCH_TIMEOUT, $this->path($this->encode($path)));
[1361] Fix | Delete
return $result;
[1362] Fix | Delete
}
[1363] Fix | Delete
elFinder::extendTimeLimit($this->options['searchTimeout'] + 30);
[1364] Fix | Delete
[1365] Fix | Delete
$match = array();
[1366] Fix | Delete
try {
[1367] Fix | Delete
$iterator = new RecursiveIteratorIterator(
[1368] Fix | Delete
new RecursiveCallbackFilterIterator(
[1369] Fix | Delete
new RecursiveDirectoryIterator($path,
[1370] Fix | Delete
FilesystemIterator::KEY_AS_PATHNAME |
[1371] Fix | Delete
FilesystemIterator::SKIP_DOTS |
[1372] Fix | Delete
((defined('RecursiveDirectoryIterator::FOLLOW_SYMLINKS') && $this->options['followSymLinks']) ?
[1373] Fix | Delete
RecursiveDirectoryIterator::FOLLOW_SYMLINKS : 0)
[1374] Fix | Delete
),
[1375] Fix | Delete
array($this, 'localFileSystemSearchIteratorFilter')
[1376] Fix | Delete
),
[1377] Fix | Delete
RecursiveIteratorIterator::SELF_FIRST,
[1378] Fix | Delete
RecursiveIteratorIterator::CATCH_GET_CHILD
[1379] Fix | Delete
);
[1380] Fix | Delete
foreach ($iterator as $key => $node) {
[1381] Fix | Delete
if ($timeout && ($this->error || $timeout < time())) {
[1382] Fix | Delete
!$this->error && $this->setError(elFinder::ERROR_SEARCH_TIMEOUT, $this->path($this->encode($node->getPath)));
[1383] Fix | Delete
break;
[1384] Fix | Delete
}
[1385] Fix | Delete
if ($node->isDir()) {
[1386] Fix | Delete
if ($this->stripos($node->getFilename(), $q) !== false) {
[1387] Fix | Delete
$match[] = $key;
[1388] Fix | Delete
}
[1389] Fix | Delete
} else {
[1390] Fix | Delete
$match[] = $key;
[1391] Fix | Delete
}
[1392] Fix | Delete
}
[1393] Fix | Delete
} catch (Exception $e) {
[1394] Fix | Delete
}
[1395] Fix | Delete
[1396] Fix | Delete
if ($match) {
[1397] Fix | Delete
foreach ($match as $p) {
[1398] Fix | Delete
if ($timeout && ($this->error || $timeout < time())) {
[1399] Fix | Delete
!$this->error && $this->setError(elFinder::ERROR_SEARCH_TIMEOUT, $this->path($this->encode(dirname($p))));
[1400] Fix | Delete
break;
[1401] Fix | Delete
}
[1402] Fix | Delete
[1403] Fix | Delete
$stat = $this->stat($p);
[1404] Fix | Delete
[1405] Fix | Delete
if (!$stat) { // invalid links
[1406] Fix | Delete
continue;
[1407] Fix | Delete
}
[1408] Fix | Delete
[1409] Fix | Delete
if (!empty($stat['hidden']) || !$this->mimeAccepted($stat['mime'], $mimes)) {
[1410] Fix | Delete
continue;
[1411] Fix | Delete
}
[1412] Fix | Delete
[1413] Fix | Delete
if ((!$mimes || $stat['mime'] !== 'directory')) {
[1414] Fix | Delete
$stat['path'] = $this->path($stat['hash']);
[1415] Fix | Delete
if ($this->URL && !isset($stat['url'])) {
[1416] Fix | Delete
$_path = str_replace(DIRECTORY_SEPARATOR, '/', substr($p, strlen($this->root) + 1));
[1417] Fix | Delete
$stat['url'] = $this->URL . str_replace('%2F', '/', rawurlencode($_path));
[1418] Fix | Delete
}
[1419] Fix | Delete
[1420] Fix | Delete
$result[] = $stat;
[1421] Fix | Delete
}
[1422] Fix | Delete
}
[1423] Fix | Delete
}
[1424] Fix | Delete
[1425] Fix | Delete
return $result;
[1426] Fix | Delete
}
[1427] Fix | Delete
[1428] Fix | Delete
/******************** Original local functions ************************
[1429] Fix | Delete
*
[1430] Fix | Delete
* @param $file
[1431] Fix | Delete
* @param $key
[1432] Fix | Delete
* @param $iterator
[1433] Fix | Delete
*
[1434] Fix | Delete
* @return bool
[1435] Fix | Delete
*/
[1436] Fix | Delete
[1437] Fix | Delete
public function localFileSystemSearchIteratorFilter($file, $key, $iterator)
[1438] Fix | Delete
{
[1439] Fix | Delete
/* @var FilesystemIterator $file */
[1440] Fix | Delete
/* @var RecursiveDirectoryIterator $iterator */
[1441] Fix | Delete
$name = $file->getFilename();
[1442] Fix | Delete
if ($this->doSearchCurrentQuery['excludes']) {
[1443] Fix | Delete
foreach ($this->doSearchCurrentQuery['excludes'] as $exclude) {
[1444] Fix | Delete
if ($this->stripos($name, $exclude) !== false) {
[1445] Fix | Delete
return false;
[1446] Fix | Delete
}
[1447] Fix | Delete
}
[1448] Fix | Delete
}
[1449] Fix | Delete
if ($iterator->hasChildren()) {
[1450] Fix | Delete
if ($this->options['searchExDirReg'] && preg_match($this->options['searchExDirReg'], $key)) {
[1451] Fix | Delete
return false;
[1452] Fix | Delete
}
[1453] Fix | Delete
return (bool)$this->attr($key, 'read', null, true);
[1454] Fix | Delete
}
[1455] Fix | Delete
return ($this->stripos($name, $this->doSearchCurrentQuery['q']) === false) ? false : true;
[1456] Fix | Delete
}
[1457] Fix | Delete
[1458] Fix | Delete
/**
[1459] Fix | Delete
* Creates a symbolic link
[1460] Fix | Delete
*
[1461] Fix | Delete
* @param string $target The target
[1462] Fix | Delete
* @param string $link The link
[1463] Fix | Delete
*
[1464] Fix | Delete
* @return boolean ( result of symlink() )
[1465] Fix | Delete
*/
[1466] Fix | Delete
protected function localFileSystemSymlink($target, $link)
[1467] Fix | Delete
{
[1468] Fix | Delete
$res = false;
[1469] Fix | Delete
if (function_exists('symlink') and is_callable('symlink')) {
[1470] Fix | Delete
$errlev = error_reporting();
[1471] Fix | Delete
error_reporting($errlev ^ E_WARNING);
[1472] Fix | Delete
if ($res = symlink(realpath($target), $link)) {
[1473] Fix | Delete
$res = is_readable($link);
[1474] Fix | Delete
}
[1475] Fix | Delete
error_reporting($errlev);
[1476] Fix | Delete
}
[1477] Fix | Delete
return $res;
[1478] Fix | Delete
}
[1479] Fix | Delete
} // END class
[1480] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function