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: elFinderVolumeDropbox2.class.php
* @author Dmitry (dio) Levashov
[1000] Fix | Delete
**/
[1001] Fix | Delete
protected function _relpath($path)
[1002] Fix | Delete
{
[1003] Fix | Delete
if ($path === $this->root) {
[1004] Fix | Delete
return '';
[1005] Fix | Delete
} else {
[1006] Fix | Delete
return ltrim(substr($path, strlen($this->root)), '/');
[1007] Fix | Delete
}
[1008] Fix | Delete
}
[1009] Fix | Delete
[1010] Fix | Delete
/**
[1011] Fix | Delete
* Convert path related to root dir into real path.
[1012] Fix | Delete
*
[1013] Fix | Delete
* @param string $path file path
[1014] Fix | Delete
*
[1015] Fix | Delete
* @return string
[1016] Fix | Delete
* @author Naoki Sawada
[1017] Fix | Delete
**/
[1018] Fix | Delete
protected function _abspath($path)
[1019] Fix | Delete
{
[1020] Fix | Delete
if ($path === '/') {
[1021] Fix | Delete
return $this->root;
[1022] Fix | Delete
} else {
[1023] Fix | Delete
return $this->_joinPath($this->root, $path);
[1024] Fix | Delete
}
[1025] Fix | Delete
}
[1026] Fix | Delete
[1027] Fix | Delete
/**
[1028] Fix | Delete
* Return fake path started from root dir.
[1029] Fix | Delete
*
[1030] Fix | Delete
* @param string $path file path
[1031] Fix | Delete
*
[1032] Fix | Delete
* @return string
[1033] Fix | Delete
* @author Naoki Sawada
[1034] Fix | Delete
**/
[1035] Fix | Delete
protected function _path($path)
[1036] Fix | Delete
{
[1037] Fix | Delete
$path = $this->_normpath(substr($path, strlen($this->root)));
[1038] Fix | Delete
[1039] Fix | Delete
return $path;
[1040] Fix | Delete
}
[1041] Fix | Delete
[1042] Fix | Delete
/**
[1043] Fix | Delete
* Return true if $path is children of $parent.
[1044] Fix | Delete
*
[1045] Fix | Delete
* @param string $path path to check
[1046] Fix | Delete
* @param string $parent parent path
[1047] Fix | Delete
*
[1048] Fix | Delete
* @return bool
[1049] Fix | Delete
* @author Naoki Sawada
[1050] Fix | Delete
**/
[1051] Fix | Delete
protected function _inpath($path, $parent)
[1052] Fix | Delete
{
[1053] Fix | Delete
return $path == $parent || strpos($path, $parent . '/') === 0;
[1054] Fix | Delete
}
[1055] Fix | Delete
[1056] Fix | Delete
/***************** file stat ********************/
[1057] Fix | Delete
/**
[1058] Fix | Delete
* Return stat for given path.
[1059] Fix | Delete
* Stat contains following fields:
[1060] Fix | Delete
* - (int) size file size in b. required
[1061] Fix | Delete
* - (int) ts file modification time in unix time. required
[1062] Fix | Delete
* - (string) mime mimetype. required for folders, others - optionally
[1063] Fix | Delete
* - (bool) read read permissions. required
[1064] Fix | Delete
* - (bool) write write permissions. required
[1065] Fix | Delete
* - (bool) locked is object locked. optionally
[1066] Fix | Delete
* - (bool) hidden is object hidden. optionally
[1067] Fix | Delete
* - (string) alias for symlinks - link target path relative to root path. optionally
[1068] Fix | Delete
* - (string) target for symlinks - link target path. optionally.
[1069] Fix | Delete
* If file does not exists - returns empty array or false.
[1070] Fix | Delete
*
[1071] Fix | Delete
* @param string $path file path
[1072] Fix | Delete
*
[1073] Fix | Delete
* @return array|false
[1074] Fix | Delete
* @author Dmitry (dio) Levashov
[1075] Fix | Delete
**/
[1076] Fix | Delete
protected function _stat($path)
[1077] Fix | Delete
{
[1078] Fix | Delete
if ($raw = $this->_db_getFile($path)) {
[1079] Fix | Delete
return $this->_db_parseRaw($raw);
[1080] Fix | Delete
}
[1081] Fix | Delete
[1082] Fix | Delete
return false;
[1083] Fix | Delete
}
[1084] Fix | Delete
[1085] Fix | Delete
/**
[1086] Fix | Delete
* Return true if path is dir and has at least one childs directory.
[1087] Fix | Delete
*
[1088] Fix | Delete
* @param string $path dir path
[1089] Fix | Delete
*
[1090] Fix | Delete
* @return bool
[1091] Fix | Delete
* @author Naoki Sawada
[1092] Fix | Delete
**/
[1093] Fix | Delete
protected function _subdirs($path)
[1094] Fix | Delete
{
[1095] Fix | Delete
$hasdir = false;
[1096] Fix | Delete
[1097] Fix | Delete
try {
[1098] Fix | Delete
$res = $this->service->listFolder($path);
[1099] Fix | Delete
if ($res) {
[1100] Fix | Delete
$items = $res->getItems();
[1101] Fix | Delete
foreach ($items as $raw) {
[1102] Fix | Delete
if ($raw instanceof FolderMetadata) {
[1103] Fix | Delete
$hasdir = true;
[1104] Fix | Delete
break;
[1105] Fix | Delete
}
[1106] Fix | Delete
}
[1107] Fix | Delete
}
[1108] Fix | Delete
} catch (DropboxClientException $e) {
[1109] Fix | Delete
$this->setError('Dropbox error: ' . $e->getMessage());
[1110] Fix | Delete
}
[1111] Fix | Delete
[1112] Fix | Delete
return $hasdir;
[1113] Fix | Delete
}
[1114] Fix | Delete
[1115] Fix | Delete
/**
[1116] Fix | Delete
* Return object width and height
[1117] Fix | Delete
* Ususaly used for images, but can be realize for video etc...
[1118] Fix | Delete
*
[1119] Fix | Delete
* @param string $path file path
[1120] Fix | Delete
* @param string $mime file mime type
[1121] Fix | Delete
*
[1122] Fix | Delete
* @return string
[1123] Fix | Delete
* @throws ImagickException
[1124] Fix | Delete
* @throws elFinderAbortException
[1125] Fix | Delete
* @author Naoki Sawada
[1126] Fix | Delete
*/
[1127] Fix | Delete
protected function _dimensions($path, $mime)
[1128] Fix | Delete
{
[1129] Fix | Delete
if (strpos($mime, 'image') !== 0) {
[1130] Fix | Delete
return '';
[1131] Fix | Delete
}
[1132] Fix | Delete
$ret = '';
[1133] Fix | Delete
[1134] Fix | Delete
if ($data = $this->_getContents($path)) {
[1135] Fix | Delete
$tmp = $this->getTempFile();
[1136] Fix | Delete
file_put_contents($tmp, $data);
[1137] Fix | Delete
$size = getimagesize($tmp);
[1138] Fix | Delete
if ($size) {
[1139] Fix | Delete
$ret = array('dim' => $size[0] . 'x' . $size[1]);
[1140] Fix | Delete
$srcfp = fopen($tmp, 'rb');
[1141] Fix | Delete
$target = isset(elFinder::$currentArgs['target'])? elFinder::$currentArgs['target'] : '';
[1142] Fix | Delete
if ($subImgLink = $this->getSubstituteImgLink($target, $size, $srcfp)) {
[1143] Fix | Delete
$ret['url'] = $subImgLink;
[1144] Fix | Delete
}
[1145] Fix | Delete
}
[1146] Fix | Delete
}
[1147] Fix | Delete
[1148] Fix | Delete
return $ret;
[1149] Fix | Delete
}
[1150] Fix | Delete
[1151] Fix | Delete
/******************** file/dir content *********************/
[1152] Fix | Delete
[1153] Fix | Delete
/**
[1154] Fix | Delete
* Return files list in directory.
[1155] Fix | Delete
*
[1156] Fix | Delete
* @param string $path dir path
[1157] Fix | Delete
*
[1158] Fix | Delete
* @return array
[1159] Fix | Delete
* @author Naoki Sawada
[1160] Fix | Delete
**/
[1161] Fix | Delete
protected function _scandir($path)
[1162] Fix | Delete
{
[1163] Fix | Delete
return isset($this->dirsCache[$path])
[1164] Fix | Delete
? $this->dirsCache[$path]
[1165] Fix | Delete
: $this->cacheDir($path);
[1166] Fix | Delete
}
[1167] Fix | Delete
[1168] Fix | Delete
/**
[1169] Fix | Delete
* Open file and return file pointer.
[1170] Fix | Delete
*
[1171] Fix | Delete
* @param string $path file path
[1172] Fix | Delete
* @param bool $write open file for writing
[1173] Fix | Delete
*
[1174] Fix | Delete
* @return resource|false
[1175] Fix | Delete
* @author Naoki Sawada
[1176] Fix | Delete
**/
[1177] Fix | Delete
protected function _fopen($path, $mode = 'rb')
[1178] Fix | Delete
{
[1179] Fix | Delete
if ($mode === 'rb' || $mode === 'r') {
[1180] Fix | Delete
if ($link = $this->service->getTemporaryLink($path)) {
[1181] Fix | Delete
$access_token = $this->service->getAccessToken();
[1182] Fix | Delete
if ($access_token) {
[1183] Fix | Delete
$data = array(
[1184] Fix | Delete
'target' => $link->getLink(),
[1185] Fix | Delete
'headers' => array('Authorization: Bearer ' . $access_token),
[1186] Fix | Delete
);
[1187] Fix | Delete
[1188] Fix | Delete
// to support range request
[1189] Fix | Delete
if (func_num_args() > 2) {
[1190] Fix | Delete
$opts = func_get_arg(2);
[1191] Fix | Delete
} else {
[1192] Fix | Delete
$opts = array();
[1193] Fix | Delete
}
[1194] Fix | Delete
if (!empty($opts['httpheaders'])) {
[1195] Fix | Delete
$data['headers'] = array_merge($opts['httpheaders'], $data['headers']);
[1196] Fix | Delete
}
[1197] Fix | Delete
[1198] Fix | Delete
return elFinder::getStreamByUrl($data);
[1199] Fix | Delete
}
[1200] Fix | Delete
}
[1201] Fix | Delete
}
[1202] Fix | Delete
[1203] Fix | Delete
return false;
[1204] Fix | Delete
}
[1205] Fix | Delete
[1206] Fix | Delete
/**
[1207] Fix | Delete
* Close opened file.
[1208] Fix | Delete
*
[1209] Fix | Delete
* @param resource $fp file pointer
[1210] Fix | Delete
*
[1211] Fix | Delete
* @return bool
[1212] Fix | Delete
* @author Naoki Sawada
[1213] Fix | Delete
**/
[1214] Fix | Delete
protected function _fclose($fp, $path = '')
[1215] Fix | Delete
{
[1216] Fix | Delete
is_resource($fp) && fclose($fp);
[1217] Fix | Delete
}
[1218] Fix | Delete
[1219] Fix | Delete
/******************** file/dir manipulations *************************/
[1220] Fix | Delete
[1221] Fix | Delete
/**
[1222] Fix | Delete
* Create dir and return created dir path or false on failed.
[1223] Fix | Delete
*
[1224] Fix | Delete
* @param string $path parent dir path
[1225] Fix | Delete
* @param string $name new directory name
[1226] Fix | Delete
*
[1227] Fix | Delete
* @return string|bool
[1228] Fix | Delete
* @author Naoki Sawada
[1229] Fix | Delete
**/
[1230] Fix | Delete
protected function _mkdir($path, $name)
[1231] Fix | Delete
{
[1232] Fix | Delete
try {
[1233] Fix | Delete
return $this->service->createFolder($this->_db_joinName($path, $name))->getPathLower();
[1234] Fix | Delete
} catch (DropboxClientException $e) {
[1235] Fix | Delete
return $this->setError('Dropbox error: ' . $e->getMessage());
[1236] Fix | Delete
}
[1237] Fix | Delete
}
[1238] Fix | Delete
[1239] Fix | Delete
/**
[1240] Fix | Delete
* Create file and return it's path or false on failed.
[1241] Fix | Delete
*
[1242] Fix | Delete
* @param string $path parent dir path
[1243] Fix | Delete
* @param string $name new file name
[1244] Fix | Delete
*
[1245] Fix | Delete
* @return string|bool
[1246] Fix | Delete
* @author Naoki Sawada
[1247] Fix | Delete
**/
[1248] Fix | Delete
protected function _mkfile($path, $name)
[1249] Fix | Delete
{
[1250] Fix | Delete
return $this->_save($this->tmpfile(), $path, $name, []);
[1251] Fix | Delete
}
[1252] Fix | Delete
[1253] Fix | Delete
/**
[1254] Fix | Delete
* Create symlink. FTP driver does not support symlinks.
[1255] Fix | Delete
*
[1256] Fix | Delete
* @param string $target link target
[1257] Fix | Delete
* @param string $path symlink path
[1258] Fix | Delete
*
[1259] Fix | Delete
* @return bool
[1260] Fix | Delete
* @author Naoki Sawada
[1261] Fix | Delete
**/
[1262] Fix | Delete
protected function _symlink($target, $path, $name)
[1263] Fix | Delete
{
[1264] Fix | Delete
return false;
[1265] Fix | Delete
}
[1266] Fix | Delete
[1267] Fix | Delete
/**
[1268] Fix | Delete
* Copy file into another file.
[1269] Fix | Delete
*
[1270] Fix | Delete
* @param string $source source file path
[1271] Fix | Delete
* @param string $targetDir target directory path
[1272] Fix | Delete
* @param string $name new file name
[1273] Fix | Delete
*
[1274] Fix | Delete
* @return bool
[1275] Fix | Delete
* @author Naoki Sawada
[1276] Fix | Delete
**/
[1277] Fix | Delete
protected function _copy($source, $targetDir, $name)
[1278] Fix | Delete
{
[1279] Fix | Delete
try {
[1280] Fix | Delete
$this->service->copy($source, $this->_db_joinName($targetDir, $name))->getPathLower();
[1281] Fix | Delete
} catch (DropboxClientException $e) {
[1282] Fix | Delete
return $this->setError('Dropbox error: ' . $e->getMessage());
[1283] Fix | Delete
}
[1284] Fix | Delete
[1285] Fix | Delete
return true;
[1286] Fix | Delete
}
[1287] Fix | Delete
[1288] Fix | Delete
/**
[1289] Fix | Delete
* Move file into another parent dir.
[1290] Fix | Delete
* Return new file path or false.
[1291] Fix | Delete
*
[1292] Fix | Delete
* @param string $source source file path
[1293] Fix | Delete
* @param string $target target dir path
[1294] Fix | Delete
* @param string $name file name
[1295] Fix | Delete
*
[1296] Fix | Delete
* @return string|bool
[1297] Fix | Delete
* @author Naoki Sawada
[1298] Fix | Delete
**/
[1299] Fix | Delete
protected function _move($source, $targetDir, $name)
[1300] Fix | Delete
{
[1301] Fix | Delete
try {
[1302] Fix | Delete
return $this->service->move($source, $this->_db_joinName($targetDir, $name))->getPathLower();
[1303] Fix | Delete
} catch (DropboxClientException $e) {
[1304] Fix | Delete
return $this->setError('Dropbox error: ' . $e->getMessage());
[1305] Fix | Delete
}
[1306] Fix | Delete
}
[1307] Fix | Delete
[1308] Fix | Delete
/**
[1309] Fix | Delete
* Remove file.
[1310] Fix | Delete
*
[1311] Fix | Delete
* @param string $path file path
[1312] Fix | Delete
*
[1313] Fix | Delete
* @return bool
[1314] Fix | Delete
* @author Naoki Sawada
[1315] Fix | Delete
**/
[1316] Fix | Delete
protected function _unlink($path)
[1317] Fix | Delete
{
[1318] Fix | Delete
try {
[1319] Fix | Delete
$this->service->delete($path);
[1320] Fix | Delete
[1321] Fix | Delete
return true;
[1322] Fix | Delete
} catch (DropboxClientException $e) {
[1323] Fix | Delete
return $this->setError('Dropbox error: ' . $e->getMessage());
[1324] Fix | Delete
}
[1325] Fix | Delete
[1326] Fix | Delete
return true;
[1327] Fix | Delete
}
[1328] Fix | Delete
[1329] Fix | Delete
/**
[1330] Fix | Delete
* Remove dir.
[1331] Fix | Delete
*
[1332] Fix | Delete
* @param string $path dir path
[1333] Fix | Delete
*
[1334] Fix | Delete
* @return bool
[1335] Fix | Delete
* @author Naoki Sawada
[1336] Fix | Delete
**/
[1337] Fix | Delete
protected function _rmdir($path)
[1338] Fix | Delete
{
[1339] Fix | Delete
return $this->_unlink($path);
[1340] Fix | Delete
}
[1341] Fix | Delete
[1342] Fix | Delete
/**
[1343] Fix | Delete
* Create new file and write into it from file pointer.
[1344] Fix | Delete
* Return new file path or false on error.
[1345] Fix | Delete
*
[1346] Fix | Delete
* @param resource $fp file pointer
[1347] Fix | Delete
* @param string $dir target dir path
[1348] Fix | Delete
* @param string $name file name
[1349] Fix | Delete
* @param array $stat file stat (required by some virtual fs)
[1350] Fix | Delete
*
[1351] Fix | Delete
* @return bool|string
[1352] Fix | Delete
* @author Naoki Sawada
[1353] Fix | Delete
**/
[1354] Fix | Delete
protected function _save($fp, $path, $name, $stat)
[1355] Fix | Delete
{
[1356] Fix | Delete
try {
[1357] Fix | Delete
$info = stream_get_meta_data($fp);
[1358] Fix | Delete
if (empty($info['uri']) || preg_match('#^[a-z0-9.-]+://#', $info['uri'])) {
[1359] Fix | Delete
if ($filepath = $this->getTempFile()) {
[1360] Fix | Delete
$_fp = fopen($filepath, 'wb');
[1361] Fix | Delete
stream_copy_to_stream($fp, $_fp);
[1362] Fix | Delete
fclose($_fp);
[1363] Fix | Delete
}
[1364] Fix | Delete
} else {
[1365] Fix | Delete
$filepath = $info['uri'];
[1366] Fix | Delete
}
[1367] Fix | Delete
$dropboxFile = new DropboxFile($filepath);
[1368] Fix | Delete
if ($name === '') {
[1369] Fix | Delete
$fullpath = $path;
[1370] Fix | Delete
} else {
[1371] Fix | Delete
$fullpath = $this->_db_joinName($path, $name);
[1372] Fix | Delete
}
[1373] Fix | Delete
[1374] Fix | Delete
return $this->service->upload($dropboxFile, $fullpath, ['mode' => 'overwrite'])->getPathLower();
[1375] Fix | Delete
} catch (DropboxClientException $e) {
[1376] Fix | Delete
return $this->setError('Dropbox error: ' . $e->getMessage());
[1377] Fix | Delete
}
[1378] Fix | Delete
}
[1379] Fix | Delete
[1380] Fix | Delete
/**
[1381] Fix | Delete
* Get file contents.
[1382] Fix | Delete
*
[1383] Fix | Delete
* @param string $path file path
[1384] Fix | Delete
*
[1385] Fix | Delete
* @return string|false
[1386] Fix | Delete
* @author Naoki Sawada
[1387] Fix | Delete
**/
[1388] Fix | Delete
protected function _getContents($path)
[1389] Fix | Delete
{
[1390] Fix | Delete
$contents = '';
[1391] Fix | Delete
[1392] Fix | Delete
try {
[1393] Fix | Delete
$file = $this->service->download($path);
[1394] Fix | Delete
$contents = $file->getContents();
[1395] Fix | Delete
} catch (Exception $e) {
[1396] Fix | Delete
return $this->setError('Dropbox error: ' . $e->getMessage());
[1397] Fix | Delete
}
[1398] Fix | Delete
[1399] Fix | Delete
return $contents;
[1400] Fix | Delete
}
[1401] Fix | Delete
[1402] Fix | Delete
/**
[1403] Fix | Delete
* Write a string to a file.
[1404] Fix | Delete
*
[1405] Fix | Delete
* @param string $path file path
[1406] Fix | Delete
* @param string $content new file content
[1407] Fix | Delete
*
[1408] Fix | Delete
* @return bool
[1409] Fix | Delete
* @author Naoki Sawada
[1410] Fix | Delete
**/
[1411] Fix | Delete
protected function _filePutContents($path, $content)
[1412] Fix | Delete
{
[1413] Fix | Delete
$res = false;
[1414] Fix | Delete
[1415] Fix | Delete
if ($local = $this->getTempFile($path)) {
[1416] Fix | Delete
if (file_put_contents($local, $content, LOCK_EX) !== false
[1417] Fix | Delete
&& ($fp = fopen($local, 'rb'))) {
[1418] Fix | Delete
clearstatcache();
[1419] Fix | Delete
$name = '';
[1420] Fix | Delete
$stat = $this->stat($path);
[1421] Fix | Delete
if ($stat) {
[1422] Fix | Delete
// keep real name
[1423] Fix | Delete
$path = $this->_dirname($path);
[1424] Fix | Delete
$name = $stat['name'];
[1425] Fix | Delete
}
[1426] Fix | Delete
$res = $this->_save($fp, $path, $name, []);
[1427] Fix | Delete
fclose($fp);
[1428] Fix | Delete
}
[1429] Fix | Delete
file_exists($local) && unlink($local);
[1430] Fix | Delete
}
[1431] Fix | Delete
[1432] Fix | Delete
return $res;
[1433] Fix | Delete
}
[1434] Fix | Delete
[1435] Fix | Delete
/**
[1436] Fix | Delete
* Detect available archivers.
[1437] Fix | Delete
**/
[1438] Fix | Delete
protected function _checkArchivers()
[1439] Fix | Delete
{
[1440] Fix | Delete
// die('Not yet implemented. (_checkArchivers)');
[1441] Fix | Delete
return [];
[1442] Fix | Delete
}
[1443] Fix | Delete
[1444] Fix | Delete
/**
[1445] Fix | Delete
* chmod implementation.
[1446] Fix | Delete
*
[1447] Fix | Delete
* @return bool
[1448] Fix | Delete
**/
[1449] Fix | Delete
protected function _chmod($path, $mode)
[1450] Fix | Delete
{
[1451] Fix | Delete
return false;
[1452] Fix | Delete
}
[1453] Fix | Delete
[1454] Fix | Delete
/**
[1455] Fix | Delete
* Unpack archive.
[1456] Fix | Delete
*
[1457] Fix | Delete
* @param string $path archive path
[1458] Fix | Delete
* @param array $arc archiver command and arguments (same as in $this->archivers)
[1459] Fix | Delete
*
[1460] Fix | Delete
* @return true
[1461] Fix | Delete
* @author Dmitry (dio) Levashov
[1462] Fix | Delete
* @author Alexey Sukhotin
[1463] Fix | Delete
**/
[1464] Fix | Delete
protected function _unpack($path, $arc)
[1465] Fix | Delete
{
[1466] Fix | Delete
die('Not yet implemented. (_unpack)');
[1467] Fix | Delete
//return false;
[1468] Fix | Delete
}
[1469] Fix | Delete
[1470] Fix | Delete
/**
[1471] Fix | Delete
* Recursive symlinks search.
[1472] Fix | Delete
*
[1473] Fix | Delete
* @param string $path file/dir path
[1474] Fix | Delete
*
[1475] Fix | Delete
* @return bool
[1476] Fix | Delete
* @author Dmitry (dio) Levashov
[1477] Fix | Delete
**/
[1478] Fix | Delete
protected function _findSymlinks($path)
[1479] Fix | Delete
{
[1480] Fix | Delete
die('Not yet implemented. (_findSymlinks)');
[1481] Fix | Delete
}
[1482] Fix | Delete
[1483] Fix | Delete
/**
[1484] Fix | Delete
* Extract files from archive.
[1485] Fix | Delete
*
[1486] Fix | Delete
* @param string $path archive path
[1487] Fix | Delete
* @param array $arc archiver command and arguments (same as in $this->archivers)
[1488] Fix | Delete
*
[1489] Fix | Delete
* @return true
[1490] Fix | Delete
* @author Dmitry (dio) Levashov,
[1491] Fix | Delete
* @author Alexey Sukhotin
[1492] Fix | Delete
**/
[1493] Fix | Delete
protected function _extract($path, $arc)
[1494] Fix | Delete
{
[1495] Fix | Delete
die('Not yet implemented. (_extract)');
[1496] Fix | Delete
}
[1497] Fix | Delete
[1498] Fix | Delete
/**
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function