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: elFinderVolumeGoogleDrive.class.php
/**
[1500] Fix | Delete
* Convert path related to root dir into real path.
[1501] Fix | Delete
*
[1502] Fix | Delete
* @param string $path file path
[1503] Fix | Delete
*
[1504] Fix | Delete
* @return string
[1505] Fix | Delete
* @author Dmitry (dio) Levashov
[1506] Fix | Delete
**/
[1507] Fix | Delete
protected function _abspath($path)
[1508] Fix | Delete
{
[1509] Fix | Delete
return $path;
[1510] Fix | Delete
}
[1511] Fix | Delete
[1512] Fix | Delete
/**
[1513] Fix | Delete
* Return fake path started from root dir.
[1514] Fix | Delete
*
[1515] Fix | Delete
* @param string $path file path
[1516] Fix | Delete
*
[1517] Fix | Delete
* @return string
[1518] Fix | Delete
* @author Dmitry (dio) Levashov
[1519] Fix | Delete
**/
[1520] Fix | Delete
protected function _path($path)
[1521] Fix | Delete
{
[1522] Fix | Delete
if (!$this->names) {
[1523] Fix | Delete
$this->_gd_getDirectoryData();
[1524] Fix | Delete
}
[1525] Fix | Delete
$path = $this->_normpath(substr($path, strlen($this->root)));
[1526] Fix | Delete
$names = [];
[1527] Fix | Delete
$paths = explode('/', $path);
[1528] Fix | Delete
foreach ($paths as $_p) {
[1529] Fix | Delete
$names[] = isset($this->names[$_p]) ? $this->names[$_p] : $_p;
[1530] Fix | Delete
}
[1531] Fix | Delete
[1532] Fix | Delete
return $this->rootName . implode('/', $names);
[1533] Fix | Delete
}
[1534] Fix | Delete
[1535] Fix | Delete
/**
[1536] Fix | Delete
* Return true if $path is children of $parent.
[1537] Fix | Delete
*
[1538] Fix | Delete
* @param string $path path to check
[1539] Fix | Delete
* @param string $parent parent path
[1540] Fix | Delete
*
[1541] Fix | Delete
* @return bool
[1542] Fix | Delete
* @author Dmitry (dio) Levashov
[1543] Fix | Delete
**/
[1544] Fix | Delete
protected function _inpath($path, $parent)
[1545] Fix | Delete
{
[1546] Fix | Delete
return $path == $parent || strpos($path, $parent . '/') === 0;
[1547] Fix | Delete
}
[1548] Fix | Delete
[1549] Fix | Delete
/***************** file stat ********************/
[1550] Fix | Delete
/**
[1551] Fix | Delete
* Return stat for given path.
[1552] Fix | Delete
* Stat contains following fields:
[1553] Fix | Delete
* - (int) size file size in b. required
[1554] Fix | Delete
* - (int) ts file modification time in unix time. required
[1555] Fix | Delete
* - (string) mime mimetype. required for folders, others - optionally
[1556] Fix | Delete
* - (bool) read read permissions. required
[1557] Fix | Delete
* - (bool) write write permissions. required
[1558] Fix | Delete
* - (bool) locked is object locked. optionally
[1559] Fix | Delete
* - (bool) hidden is object hidden. optionally
[1560] Fix | Delete
* - (string) alias for symlinks - link target path relative to root path. optionally
[1561] Fix | Delete
* - (string) target for symlinks - link target path. optionally.
[1562] Fix | Delete
* If file does not exists - returns empty array or false.
[1563] Fix | Delete
*
[1564] Fix | Delete
* @param string $path file path
[1565] Fix | Delete
*
[1566] Fix | Delete
* @return array|false
[1567] Fix | Delete
* @author Dmitry (dio) Levashov
[1568] Fix | Delete
**/
[1569] Fix | Delete
protected function _stat($path)
[1570] Fix | Delete
{
[1571] Fix | Delete
if ($raw = $this->_gd_getFile($path)) {
[1572] Fix | Delete
$stat = $this->_gd_parseRaw($raw);
[1573] Fix | Delete
if ($path === $this->root) {
[1574] Fix | Delete
$stat['expires'] = $this->expires;
[1575] Fix | Delete
}
[1576] Fix | Delete
return $stat;
[1577] Fix | Delete
}
[1578] Fix | Delete
[1579] Fix | Delete
return false;
[1580] Fix | Delete
}
[1581] Fix | Delete
[1582] Fix | Delete
/**
[1583] Fix | Delete
* Return true if path is dir and has at least one childs directory.
[1584] Fix | Delete
*
[1585] Fix | Delete
* @param string $path dir path
[1586] Fix | Delete
*
[1587] Fix | Delete
* @return bool
[1588] Fix | Delete
* @author Dmitry (dio) Levashov
[1589] Fix | Delete
**/
[1590] Fix | Delete
protected function _subdirs($path)
[1591] Fix | Delete
{
[1592] Fix | Delete
if ($this->directories === null) {
[1593] Fix | Delete
$this->_gd_getDirectoryData();
[1594] Fix | Delete
}
[1595] Fix | Delete
list(, $itemId) = $this->_gd_splitPath($path);
[1596] Fix | Delete
[1597] Fix | Delete
return isset($this->directories[$itemId]);
[1598] Fix | Delete
}
[1599] Fix | Delete
[1600] Fix | Delete
/**
[1601] Fix | Delete
* Return object width and height
[1602] Fix | Delete
* Ususaly used for images, but can be realize for video etc...
[1603] Fix | Delete
*
[1604] Fix | Delete
* @param string $path file path
[1605] Fix | Delete
* @param string $mime file mime type
[1606] Fix | Delete
*
[1607] Fix | Delete
* @return string
[1608] Fix | Delete
* @throws ImagickException
[1609] Fix | Delete
* @throws elFinderAbortException
[1610] Fix | Delete
* @author Dmitry (dio) Levashov
[1611] Fix | Delete
*/
[1612] Fix | Delete
protected function _dimensions($path, $mime)
[1613] Fix | Delete
{
[1614] Fix | Delete
if (strpos($mime, 'image') !== 0) {
[1615] Fix | Delete
return '';
[1616] Fix | Delete
}
[1617] Fix | Delete
$ret = '';
[1618] Fix | Delete
[1619] Fix | Delete
if ($file = $this->_gd_getFile($path)) {
[1620] Fix | Delete
if (isset($file['imageMediaMetadata'])) {
[1621] Fix | Delete
$ret = array('dim' => $file['imageMediaMetadata']['width'] . 'x' . $file['imageMediaMetadata']['height']);
[1622] Fix | Delete
if (func_num_args() > 2) {
[1623] Fix | Delete
$args = func_get_arg(2);
[1624] Fix | Delete
} else {
[1625] Fix | Delete
$args = array();
[1626] Fix | Delete
}
[1627] Fix | Delete
if (!empty($args['substitute'])) {
[1628] Fix | Delete
$tmbSize = intval($args['substitute']);
[1629] Fix | Delete
$srcSize = explode('x', $ret['dim']);
[1630] Fix | Delete
if ($srcSize[0] && $srcSize[1]) {
[1631] Fix | Delete
if (min(($tmbSize / $srcSize[0]), ($tmbSize / $srcSize[1])) < 1) {
[1632] Fix | Delete
if ($this->_gd_isPublished($file)) {
[1633] Fix | Delete
$tmbSize = strval($tmbSize);
[1634] Fix | Delete
$ret['url'] = 'https://drive.google.com/thumbnail?authuser=0&sz=s' . $tmbSize . '&id=' . $file['id'];
[1635] Fix | Delete
} elseif ($subImgLink = $this->getSubstituteImgLink(elFinder::$currentArgs['target'], $srcSize)) {
[1636] Fix | Delete
$ret['url'] = $subImgLink;
[1637] Fix | Delete
}
[1638] Fix | Delete
}
[1639] Fix | Delete
}
[1640] Fix | Delete
}
[1641] Fix | Delete
}
[1642] Fix | Delete
}
[1643] Fix | Delete
[1644] Fix | Delete
return $ret;
[1645] Fix | Delete
}
[1646] Fix | Delete
[1647] Fix | Delete
/******************** file/dir content *********************/
[1648] Fix | Delete
[1649] Fix | Delete
/**
[1650] Fix | Delete
* Return files list in directory.
[1651] Fix | Delete
*
[1652] Fix | Delete
* @param string $path dir path
[1653] Fix | Delete
*
[1654] Fix | Delete
* @return array
[1655] Fix | Delete
* @author Dmitry (dio) Levashov
[1656] Fix | Delete
* @author Cem (DiscoFever)
[1657] Fix | Delete
**/
[1658] Fix | Delete
protected function _scandir($path)
[1659] Fix | Delete
{
[1660] Fix | Delete
return isset($this->dirsCache[$path])
[1661] Fix | Delete
? $this->dirsCache[$path]
[1662] Fix | Delete
: $this->cacheDir($path);
[1663] Fix | Delete
}
[1664] Fix | Delete
[1665] Fix | Delete
/**
[1666] Fix | Delete
* Open file and return file pointer.
[1667] Fix | Delete
*
[1668] Fix | Delete
* @param string $path file path
[1669] Fix | Delete
* @param bool $write open file for writing
[1670] Fix | Delete
*
[1671] Fix | Delete
* @return resource|false
[1672] Fix | Delete
* @author Dmitry (dio) Levashov
[1673] Fix | Delete
**/
[1674] Fix | Delete
protected function _fopen($path, $mode = 'rb')
[1675] Fix | Delete
{
[1676] Fix | Delete
if ($mode === 'rb' || $mode === 'r') {
[1677] Fix | Delete
if ($file = $this->_gd_getFile($path)) {
[1678] Fix | Delete
if ($dlurl = $this->_gd_getDownloadUrl($file)) {
[1679] Fix | Delete
$token = $this->client->getAccessToken();
[1680] Fix | Delete
if (!$token && $this->client->isUsingApplicationDefaultCredentials()) {
[1681] Fix | Delete
$this->client->fetchAccessTokenWithAssertion();
[1682] Fix | Delete
$token = $this->client->getAccessToken();
[1683] Fix | Delete
}
[1684] Fix | Delete
$access_token = '';
[1685] Fix | Delete
if (is_array($token)) {
[1686] Fix | Delete
$access_token = $token['access_token'];
[1687] Fix | Delete
} else {
[1688] Fix | Delete
if ($token = json_decode($this->client->getAccessToken())) {
[1689] Fix | Delete
$access_token = $token->access_token;
[1690] Fix | Delete
}
[1691] Fix | Delete
}
[1692] Fix | Delete
if ($access_token) {
[1693] Fix | Delete
$data = array(
[1694] Fix | Delete
'target' => $dlurl,
[1695] Fix | Delete
'headers' => array('Authorization: Bearer ' . $access_token),
[1696] Fix | Delete
);
[1697] Fix | Delete
[1698] Fix | Delete
// to support range request
[1699] Fix | Delete
if (func_num_args() > 2) {
[1700] Fix | Delete
$opts = func_get_arg(2);
[1701] Fix | Delete
} else {
[1702] Fix | Delete
$opts = array();
[1703] Fix | Delete
}
[1704] Fix | Delete
if (!empty($opts['httpheaders'])) {
[1705] Fix | Delete
$data['headers'] = array_merge($opts['httpheaders'], $data['headers']);
[1706] Fix | Delete
}
[1707] Fix | Delete
[1708] Fix | Delete
return elFinder::getStreamByUrl($data);
[1709] Fix | Delete
}
[1710] Fix | Delete
}
[1711] Fix | Delete
}
[1712] Fix | Delete
}
[1713] Fix | Delete
[1714] Fix | Delete
return false;
[1715] Fix | Delete
}
[1716] Fix | Delete
[1717] Fix | Delete
/**
[1718] Fix | Delete
* Close opened file.
[1719] Fix | Delete
*
[1720] Fix | Delete
* @param resource $fp file pointer
[1721] Fix | Delete
*
[1722] Fix | Delete
* @return bool
[1723] Fix | Delete
* @author Dmitry (dio) Levashov
[1724] Fix | Delete
**/
[1725] Fix | Delete
protected function _fclose($fp, $path = '')
[1726] Fix | Delete
{
[1727] Fix | Delete
is_resource($fp) && fclose($fp);
[1728] Fix | Delete
if ($path) {
[1729] Fix | Delete
unlink($this->getTempFile($path));
[1730] Fix | Delete
}
[1731] Fix | Delete
}
[1732] Fix | Delete
[1733] Fix | Delete
/******************** file/dir manipulations *************************/
[1734] Fix | Delete
[1735] Fix | Delete
/**
[1736] Fix | Delete
* Create dir and return created dir path or false on failed.
[1737] Fix | Delete
*
[1738] Fix | Delete
* @param string $path parent dir path
[1739] Fix | Delete
* @param string $name new directory name
[1740] Fix | Delete
*
[1741] Fix | Delete
* @return string|bool
[1742] Fix | Delete
* @author Dmitry (dio) Levashov
[1743] Fix | Delete
**/
[1744] Fix | Delete
protected function _mkdir($path, $name)
[1745] Fix | Delete
{
[1746] Fix | Delete
$path = $this->_joinPath($path, $name);
[1747] Fix | Delete
list($parentId, , $parent) = $this->_gd_splitPath($path);
[1748] Fix | Delete
[1749] Fix | Delete
try {
[1750] Fix | Delete
$file = new \Google_Service_Drive_DriveFile();
[1751] Fix | Delete
[1752] Fix | Delete
$file->setName($name);
[1753] Fix | Delete
$file->setMimeType(self::DIRMIME);
[1754] Fix | Delete
$file->setParents([$parentId]);
[1755] Fix | Delete
[1756] Fix | Delete
//create the Folder in the Parent
[1757] Fix | Delete
$obj = $this->service->files->create($file);
[1758] Fix | Delete
[1759] Fix | Delete
if ($obj instanceof Google_Service_Drive_DriveFile) {
[1760] Fix | Delete
$path = $this->_joinPath($parent, $obj['id']);
[1761] Fix | Delete
$this->_gd_getDirectoryData(false);
[1762] Fix | Delete
[1763] Fix | Delete
return $path;
[1764] Fix | Delete
} else {
[1765] Fix | Delete
return false;
[1766] Fix | Delete
}
[1767] Fix | Delete
} catch (Exception $e) {
[1768] Fix | Delete
return $this->setError('GoogleDrive error: ' . $e->getMessage());
[1769] Fix | Delete
}
[1770] Fix | Delete
}
[1771] Fix | Delete
[1772] Fix | Delete
/**
[1773] Fix | Delete
* Create file and return it's path or false on failed.
[1774] Fix | Delete
*
[1775] Fix | Delete
* @param string $path parent dir path
[1776] Fix | Delete
* @param string $name new file name
[1777] Fix | Delete
*
[1778] Fix | Delete
* @return string|bool
[1779] Fix | Delete
* @author Dmitry (dio) Levashov
[1780] Fix | Delete
**/
[1781] Fix | Delete
protected function _mkfile($path, $name)
[1782] Fix | Delete
{
[1783] Fix | Delete
return $this->_save($this->tmpfile(), $path, $name, []);
[1784] Fix | Delete
}
[1785] Fix | Delete
[1786] Fix | Delete
/**
[1787] Fix | Delete
* Create symlink. FTP driver does not support symlinks.
[1788] Fix | Delete
*
[1789] Fix | Delete
* @param string $target link target
[1790] Fix | Delete
* @param string $path symlink path
[1791] Fix | Delete
*
[1792] Fix | Delete
* @return bool
[1793] Fix | Delete
* @author Dmitry (dio) Levashov
[1794] Fix | Delete
**/
[1795] Fix | Delete
protected function _symlink($target, $path, $name)
[1796] Fix | Delete
{
[1797] Fix | Delete
return false;
[1798] Fix | Delete
}
[1799] Fix | Delete
[1800] Fix | Delete
/**
[1801] Fix | Delete
* Copy file into another file.
[1802] Fix | Delete
*
[1803] Fix | Delete
* @param string $source source file path
[1804] Fix | Delete
* @param string $targetDir target directory path
[1805] Fix | Delete
* @param string $name new file name
[1806] Fix | Delete
*
[1807] Fix | Delete
* @return bool
[1808] Fix | Delete
* @author Dmitry (dio) Levashov
[1809] Fix | Delete
**/
[1810] Fix | Delete
protected function _copy($source, $targetDir, $name)
[1811] Fix | Delete
{
[1812] Fix | Delete
$source = $this->_normpath($source);
[1813] Fix | Delete
$targetDir = $this->_normpath($targetDir);
[1814] Fix | Delete
[1815] Fix | Delete
try {
[1816] Fix | Delete
$file = new \Google_Service_Drive_DriveFile();
[1817] Fix | Delete
$file->setName($name);
[1818] Fix | Delete
[1819] Fix | Delete
//Set the Parent id
[1820] Fix | Delete
list(, $parentId) = $this->_gd_splitPath($targetDir);
[1821] Fix | Delete
$file->setParents([$parentId]);
[1822] Fix | Delete
[1823] Fix | Delete
list(, $srcId) = $this->_gd_splitPath($source);
[1824] Fix | Delete
$file = $this->service->files->copy($srcId, $file, ['fields' => self::FETCHFIELDS_GET]);
[1825] Fix | Delete
$itemId = $file->id;
[1826] Fix | Delete
[1827] Fix | Delete
return $itemId;
[1828] Fix | Delete
} catch (Exception $e) {
[1829] Fix | Delete
return $this->setError('GoogleDrive error: ' . $e->getMessage());
[1830] Fix | Delete
}
[1831] Fix | Delete
[1832] Fix | Delete
return true;
[1833] Fix | Delete
}
[1834] Fix | Delete
[1835] Fix | Delete
/**
[1836] Fix | Delete
* Move file into another parent dir.
[1837] Fix | Delete
* Return new file path or false.
[1838] Fix | Delete
*
[1839] Fix | Delete
* @param string $source source file path
[1840] Fix | Delete
* @param string $target target dir path
[1841] Fix | Delete
* @param string $name file name
[1842] Fix | Delete
*
[1843] Fix | Delete
* @return string|bool
[1844] Fix | Delete
* @author Dmitry (dio) Levashov
[1845] Fix | Delete
**/
[1846] Fix | Delete
protected function _move($source, $targetDir, $name)
[1847] Fix | Delete
{
[1848] Fix | Delete
list($removeParents, $itemId) = $this->_gd_splitPath($source);
[1849] Fix | Delete
$target = $this->_normpath($targetDir . '/' . $itemId);
[1850] Fix | Delete
try {
[1851] Fix | Delete
//moving and renaming a file or directory
[1852] Fix | Delete
$files = new \Google_Service_Drive_DriveFile();
[1853] Fix | Delete
$files->setName($name);
[1854] Fix | Delete
[1855] Fix | Delete
//Set new Parent and remove old parent
[1856] Fix | Delete
list(, $addParents) = $this->_gd_splitPath($targetDir);
[1857] Fix | Delete
$opts = ['addParents' => $addParents, 'removeParents' => $removeParents];
[1858] Fix | Delete
[1859] Fix | Delete
$file = $this->service->files->update($itemId, $files, $opts);
[1860] Fix | Delete
[1861] Fix | Delete
if ($file->getMimeType() === self::DIRMIME) {
[1862] Fix | Delete
$this->_gd_getDirectoryData(false);
[1863] Fix | Delete
}
[1864] Fix | Delete
} catch (Exception $e) {
[1865] Fix | Delete
return $this->setError('GoogleDrive error: ' . $e->getMessage());
[1866] Fix | Delete
}
[1867] Fix | Delete
[1868] Fix | Delete
return $target;
[1869] Fix | Delete
}
[1870] Fix | Delete
[1871] Fix | Delete
/**
[1872] Fix | Delete
* Remove file.
[1873] Fix | Delete
*
[1874] Fix | Delete
* @param string $path file path
[1875] Fix | Delete
*
[1876] Fix | Delete
* @return bool
[1877] Fix | Delete
* @author Dmitry (dio) Levashov
[1878] Fix | Delete
**/
[1879] Fix | Delete
protected function _unlink($path)
[1880] Fix | Delete
{
[1881] Fix | Delete
try {
[1882] Fix | Delete
$files = new \Google_Service_Drive_DriveFile();
[1883] Fix | Delete
$files->setTrashed(true);
[1884] Fix | Delete
[1885] Fix | Delete
list($pid, $itemId) = $this->_gd_splitPath($path);
[1886] Fix | Delete
$opts = ['removeParents' => $pid];
[1887] Fix | Delete
$this->service->files->update($itemId, $files, $opts);
[1888] Fix | Delete
} catch (Exception $e) {
[1889] Fix | Delete
return $this->setError('GoogleDrive error: ' . $e->getMessage());
[1890] Fix | Delete
}
[1891] Fix | Delete
[1892] Fix | Delete
return true;
[1893] Fix | Delete
}
[1894] Fix | Delete
[1895] Fix | Delete
/**
[1896] Fix | Delete
* Remove dir.
[1897] Fix | Delete
*
[1898] Fix | Delete
* @param string $path dir path
[1899] Fix | Delete
*
[1900] Fix | Delete
* @return bool
[1901] Fix | Delete
* @author Dmitry (dio) Levashov
[1902] Fix | Delete
**/
[1903] Fix | Delete
protected function _rmdir($path)
[1904] Fix | Delete
{
[1905] Fix | Delete
$res = $this->_unlink($path);
[1906] Fix | Delete
$res && $this->_gd_getDirectoryData(false);
[1907] Fix | Delete
[1908] Fix | Delete
return $res;
[1909] Fix | Delete
}
[1910] Fix | Delete
[1911] Fix | Delete
/**
[1912] Fix | Delete
* Create new file and write into it from file pointer.
[1913] Fix | Delete
* Return new file path or false on error.
[1914] Fix | Delete
*
[1915] Fix | Delete
* @param resource $fp file pointer
[1916] Fix | Delete
* @param $path
[1917] Fix | Delete
* @param string $name file name
[1918] Fix | Delete
* @param array $stat file stat (required by some virtual fs)
[1919] Fix | Delete
*
[1920] Fix | Delete
* @return bool|string
[1921] Fix | Delete
* @author Dmitry (dio) Levashov
[1922] Fix | Delete
*/
[1923] Fix | Delete
protected function _save($fp, $path, $name, $stat)
[1924] Fix | Delete
{
[1925] Fix | Delete
if ($name !== '') {
[1926] Fix | Delete
$path .= '/' . str_replace('/', '\\/', $name);
[1927] Fix | Delete
}
[1928] Fix | Delete
list($parentId, $itemId, $parent) = $this->_gd_splitPath($path);
[1929] Fix | Delete
if ($name === '') {
[1930] Fix | Delete
$stat['iid'] = $itemId;
[1931] Fix | Delete
}
[1932] Fix | Delete
[1933] Fix | Delete
if (!$stat || empty($stat['iid'])) {
[1934] Fix | Delete
$opts = [
[1935] Fix | Delete
'q' => sprintf('trashed=false and "%s" in parents and name="%s"', $parentId, $name),
[1936] Fix | Delete
'fields' => self::FETCHFIELDS_LIST,
[1937] Fix | Delete
];
[1938] Fix | Delete
$srcFile = $this->_gd_query($opts);
[1939] Fix | Delete
$srcFile = empty($srcFile) ? null : $srcFile[0];
[1940] Fix | Delete
} else {
[1941] Fix | Delete
$srcFile = $this->_gd_getFile($path);
[1942] Fix | Delete
}
[1943] Fix | Delete
[1944] Fix | Delete
try {
[1945] Fix | Delete
$mode = 'update';
[1946] Fix | Delete
$mime = isset($stat['mime']) ? $stat['mime'] : '';
[1947] Fix | Delete
[1948] Fix | Delete
$file = new Google_Service_Drive_DriveFile();
[1949] Fix | Delete
if ($srcFile) {
[1950] Fix | Delete
$mime = $srcFile->getMimeType();
[1951] Fix | Delete
} else {
[1952] Fix | Delete
$mode = 'insert';
[1953] Fix | Delete
$file->setName($name);
[1954] Fix | Delete
$file->setParents([
[1955] Fix | Delete
$parentId,
[1956] Fix | Delete
]);
[1957] Fix | Delete
}
[1958] Fix | Delete
[1959] Fix | Delete
if (!$mime) {
[1960] Fix | Delete
$mime = self::mimetypeInternalDetect($name);
[1961] Fix | Delete
}
[1962] Fix | Delete
if ($mime === 'unknown') {
[1963] Fix | Delete
$mime = 'application/octet-stream';
[1964] Fix | Delete
}
[1965] Fix | Delete
$file->setMimeType($mime);
[1966] Fix | Delete
[1967] Fix | Delete
$size = 0;
[1968] Fix | Delete
if (isset($stat['size'])) {
[1969] Fix | Delete
$size = $stat['size'];
[1970] Fix | Delete
} else {
[1971] Fix | Delete
$fstat = fstat($fp);
[1972] Fix | Delete
if (!empty($fstat['size'])) {
[1973] Fix | Delete
$size = $fstat['size'];
[1974] Fix | Delete
}
[1975] Fix | Delete
}
[1976] Fix | Delete
[1977] Fix | Delete
// set chunk size (max: 100MB)
[1978] Fix | Delete
$chunkSizeBytes = 100 * 1024 * 1024;
[1979] Fix | Delete
if ($size > 0) {
[1980] Fix | Delete
$memory = elFinder::getIniBytes('memory_limit');
[1981] Fix | Delete
if ($memory > 0) {
[1982] Fix | Delete
$chunkSizeBytes = max(262144, min([$chunkSizeBytes, (intval($memory / 4 / 256) * 256)]));
[1983] Fix | Delete
}
[1984] Fix | Delete
}
[1985] Fix | Delete
[1986] Fix | Delete
if ($size > $chunkSizeBytes) {
[1987] Fix | Delete
$client = $this->client;
[1988] Fix | Delete
// Call the API with the media upload, defer so it doesn't immediately return.
[1989] Fix | Delete
$client->setDefer(true);
[1990] Fix | Delete
if ($mode === 'insert') {
[1991] Fix | Delete
$request = $this->service->files->create($file, [
[1992] Fix | Delete
'fields' => self::FETCHFIELDS_GET,
[1993] Fix | Delete
]);
[1994] Fix | Delete
} else {
[1995] Fix | Delete
$request = $this->service->files->update($srcFile->getId(), $file, [
[1996] Fix | Delete
'fields' => self::FETCHFIELDS_GET,
[1997] Fix | Delete
]);
[1998] Fix | Delete
}
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function