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/clone/wp-conte.../themes/Divi/core/componen...
File: Portability.php
[1500] Fix | Delete
// Scenario: Trying to find the attachment for a file called x-150x150.jpg.
[1501] Fix | Delete
// 1. Since WordPress adds the -150x150 suffix for thumbnail sizes we cannot be
[1502] Fix | Delete
// sure if this is an attachment or an attachment's generated thumbnail.
[1503] Fix | Delete
// 2. Since both x.jpg and x-150x150.jpg can be uploaded as separate attachments
[1504] Fix | Delete
// we must decide which is a better match.
[1505] Fix | Delete
// 3. The above is why we order by guid length and use the first result.
[1506] Fix | Delete
$attachments_query = $wpdb->prepare( "
[1507] Fix | Delete
SELECT id
[1508] Fix | Delete
FROM $wpdb->posts
[1509] Fix | Delete
WHERE `post_type` = %s
[1510] Fix | Delete
AND `guid` IN ( %s, %s )
[1511] Fix | Delete
ORDER BY CHAR_LENGTH( `guid` ) DESC
[1512] Fix | Delete
", 'attachment', esc_url_raw( $url ), esc_url_raw( $fallback_url ) );
[1513] Fix | Delete
[1514] Fix | Delete
$attachment_id = (int) $wpdb->get_var( $attachments_query );
[1515] Fix | Delete
[1516] Fix | Delete
return $attachment_id;
[1517] Fix | Delete
}
[1518] Fix | Delete
[1519] Fix | Delete
/**
[1520] Fix | Delete
* Encode image in a base64 format.
[1521] Fix | Delete
*
[1522] Fix | Delete
* @since 2.7.0
[1523] Fix | Delete
*
[1524] Fix | Delete
* @param array $images Array of data for which images need to be encoded if any.
[1525] Fix | Delete
*
[1526] Fix | Delete
* @return array
[1527] Fix | Delete
*/
[1528] Fix | Delete
protected function encode_images( $images ) {
[1529] Fix | Delete
$encoded = array();
[1530] Fix | Delete
[1531] Fix | Delete
foreach ( $images as $url ) {
[1532] Fix | Delete
$id = 0;
[1533] Fix | Delete
$image = '';
[1534] Fix | Delete
[1535] Fix | Delete
if ( is_int( $url ) ) {
[1536] Fix | Delete
$id = $url;
[1537] Fix | Delete
$url = wp_get_attachment_url( $id );
[1538] Fix | Delete
} else {
[1539] Fix | Delete
$id = $this->_get_attachment_id_by_url( $url );
[1540] Fix | Delete
}
[1541] Fix | Delete
[1542] Fix | Delete
if ( $id > 0 ) {
[1543] Fix | Delete
$image = $this->_encode_attachment_image( $id );
[1544] Fix | Delete
}
[1545] Fix | Delete
[1546] Fix | Delete
if ( empty( $image ) ) {
[1547] Fix | Delete
// Case 1: No attachment found.
[1548] Fix | Delete
// Case 2: Attachment found, but file does not exist (may be stored on a CDN, for example).
[1549] Fix | Delete
$image = $this->_encode_remote_image( $url );
[1550] Fix | Delete
}
[1551] Fix | Delete
[1552] Fix | Delete
if ( empty( $image ) ) {
[1553] Fix | Delete
// All fetching methods have failed - bail on encoding.
[1554] Fix | Delete
continue;
[1555] Fix | Delete
}
[1556] Fix | Delete
[1557] Fix | Delete
$encoded[ $url ] = array(
[1558] Fix | Delete
'encoded' => $image,
[1559] Fix | Delete
'url' => $url,
[1560] Fix | Delete
);
[1561] Fix | Delete
[1562] Fix | Delete
// Add image id for replacement purposes.
[1563] Fix | Delete
if ( $id > 0 ) {
[1564] Fix | Delete
$encoded[ $url ]['id'] = $id;
[1565] Fix | Delete
}
[1566] Fix | Delete
}
[1567] Fix | Delete
[1568] Fix | Delete
return $encoded;
[1569] Fix | Delete
}
[1570] Fix | Delete
[1571] Fix | Delete
/**
[1572] Fix | Delete
* Encode an image attachment.
[1573] Fix | Delete
*
[1574] Fix | Delete
* @since 3.22.3
[1575] Fix | Delete
*
[1576] Fix | Delete
* @param int $id
[1577] Fix | Delete
*
[1578] Fix | Delete
* @return string
[1579] Fix | Delete
*/
[1580] Fix | Delete
protected function _encode_attachment_image( $id ) {
[1581] Fix | Delete
/**
[1582] Fix | Delete
* @var WP_Filesystem_Base $wp_filesystem
[1583] Fix | Delete
*/
[1584] Fix | Delete
global $wp_filesystem;
[1585] Fix | Delete
[1586] Fix | Delete
if ( ! current_user_can( 'read_post', $id ) ) {
[1587] Fix | Delete
return '';
[1588] Fix | Delete
}
[1589] Fix | Delete
[1590] Fix | Delete
$file = get_attached_file( $id );
[1591] Fix | Delete
[1592] Fix | Delete
if ( ! $wp_filesystem->exists( $file ) ) {
[1593] Fix | Delete
return '';
[1594] Fix | Delete
}
[1595] Fix | Delete
[1596] Fix | Delete
$image = $wp_filesystem->get_contents( $file );
[1597] Fix | Delete
[1598] Fix | Delete
if ( empty( $image ) ) {
[1599] Fix | Delete
return '';
[1600] Fix | Delete
}
[1601] Fix | Delete
[1602] Fix | Delete
return base64_encode( $image );
[1603] Fix | Delete
}
[1604] Fix | Delete
[1605] Fix | Delete
/**
[1606] Fix | Delete
* Encode a remote image.
[1607] Fix | Delete
*
[1608] Fix | Delete
* @since 3.22.3
[1609] Fix | Delete
*
[1610] Fix | Delete
* @param string $url
[1611] Fix | Delete
*
[1612] Fix | Delete
* @return string
[1613] Fix | Delete
*/
[1614] Fix | Delete
protected function _encode_remote_image( $url ) {
[1615] Fix | Delete
$request = wp_remote_get( esc_url_raw( $url ), array(
[1616] Fix | Delete
'timeout' => 2,
[1617] Fix | Delete
'redirection' => 2,
[1618] Fix | Delete
) );
[1619] Fix | Delete
[1620] Fix | Delete
if ( ! is_array( $request ) || is_wp_error( $request ) ) {
[1621] Fix | Delete
return '';
[1622] Fix | Delete
}
[1623] Fix | Delete
[1624] Fix | Delete
if ( ! self::$_->includes( $request['headers']['content-type'], 'image' ) ) {
[1625] Fix | Delete
return '';
[1626] Fix | Delete
}
[1627] Fix | Delete
[1628] Fix | Delete
$image = wp_remote_retrieve_body( $request );
[1629] Fix | Delete
[1630] Fix | Delete
if ( ! $image ) {
[1631] Fix | Delete
return '';
[1632] Fix | Delete
}
[1633] Fix | Delete
[1634] Fix | Delete
return base64_encode( $image );
[1635] Fix | Delete
}
[1636] Fix | Delete
[1637] Fix | Delete
/**
[1638] Fix | Delete
* Decode base64 formatted image and upload it to WP media.
[1639] Fix | Delete
*
[1640] Fix | Delete
* @since 2.7.0
[1641] Fix | Delete
*
[1642] Fix | Delete
* @param array $images Array of encoded images which needs to be uploaded.
[1643] Fix | Delete
*
[1644] Fix | Delete
* @return array
[1645] Fix | Delete
*/
[1646] Fix | Delete
protected function upload_images( $images ) {
[1647] Fix | Delete
$filesystem = $this->set_filesystem();
[1648] Fix | Delete
[1649] Fix | Delete
foreach ( $images as $key => $image ) {
[1650] Fix | Delete
$basename = sanitize_file_name( wp_basename( $image['url'] ) );
[1651] Fix | Delete
$attachments = get_posts( array(
[1652] Fix | Delete
'posts_per_page' => -1,
[1653] Fix | Delete
'post_type' => 'attachment',
[1654] Fix | Delete
'meta_key' => '_wp_attached_file',
[1655] Fix | Delete
'meta_value' => pathinfo( $basename, PATHINFO_FILENAME ),
[1656] Fix | Delete
'meta_compare' => 'LIKE',
[1657] Fix | Delete
) );
[1658] Fix | Delete
$id = 0;
[1659] Fix | Delete
$url = '';
[1660] Fix | Delete
[1661] Fix | Delete
// Avoid duplicates.
[1662] Fix | Delete
if ( ! is_wp_error( $attachments ) && ! empty( $attachments ) ) {
[1663] Fix | Delete
foreach ( $attachments as $attachment ) {
[1664] Fix | Delete
$attachment_url = wp_get_attachment_url( $attachment->ID );
[1665] Fix | Delete
$file = get_attached_file( $attachment->ID );
[1666] Fix | Delete
$filename = sanitize_file_name( wp_basename( $file ) );
[1667] Fix | Delete
[1668] Fix | Delete
// Use existing image only if the content matches.
[1669] Fix | Delete
if ( $filesystem->get_contents( $file ) === base64_decode( $image['encoded'] ) ) {
[1670] Fix | Delete
$id = isset( $image['id'] ) ? $attachment->ID : 0;
[1671] Fix | Delete
$url = $attachment_url;
[1672] Fix | Delete
[1673] Fix | Delete
break;
[1674] Fix | Delete
}
[1675] Fix | Delete
}
[1676] Fix | Delete
}
[1677] Fix | Delete
[1678] Fix | Delete
// Create new image.
[1679] Fix | Delete
if ( empty( $url ) ) {
[1680] Fix | Delete
$temp_file = wp_tempnam();
[1681] Fix | Delete
$filesystem->put_contents( $temp_file, base64_decode( $image['encoded'] ) );
[1682] Fix | Delete
$filetype = wp_check_filetype_and_ext( $temp_file, $basename );
[1683] Fix | Delete
[1684] Fix | Delete
// Avoid further duplicates if the proper_file name match an existing image.
[1685] Fix | Delete
if ( isset( $filetype['proper_filename'] ) && $filetype['proper_filename'] !== $basename ) {
[1686] Fix | Delete
if ( isset( $filename ) && $filename === $filetype['proper_filename'] ) {
[1687] Fix | Delete
// Use existing image only if the basenames and content match.
[1688] Fix | Delete
if ( $filesystem->get_contents( $file ) === $filesystem->get_contents( $temp_file ) ) {
[1689] Fix | Delete
$filesystem->delete( $temp_file );
[1690] Fix | Delete
continue;
[1691] Fix | Delete
}
[1692] Fix | Delete
}
[1693] Fix | Delete
}
[1694] Fix | Delete
[1695] Fix | Delete
$file = array(
[1696] Fix | Delete
'name' => $basename,
[1697] Fix | Delete
'tmp_name' => $temp_file,
[1698] Fix | Delete
);
[1699] Fix | Delete
$upload = media_handle_sideload( $file, 0 );
[1700] Fix | Delete
[1701] Fix | Delete
if ( ! is_wp_error( $upload ) ) {
[1702] Fix | Delete
// Set the replacement as an id if the original image was set as an id (for gallery).
[1703] Fix | Delete
$id = isset( $image['id'] ) ? $upload : 0;
[1704] Fix | Delete
$url = wp_get_attachment_url( $upload );
[1705] Fix | Delete
} else {
[1706] Fix | Delete
// Make sure the temporary file is removed if media_handle_sideload didn't take care of it.
[1707] Fix | Delete
$filesystem->delete( $temp_file );
[1708] Fix | Delete
}
[1709] Fix | Delete
}
[1710] Fix | Delete
[1711] Fix | Delete
// Only declare the replace if a url is set.
[1712] Fix | Delete
if ( $id > 0 ) {
[1713] Fix | Delete
$images[$key]['replacement_id'] = $id;
[1714] Fix | Delete
}
[1715] Fix | Delete
[1716] Fix | Delete
if ( ! empty( $url ) ) {
[1717] Fix | Delete
$images[$key]['replacement_url'] = $url;
[1718] Fix | Delete
}
[1719] Fix | Delete
[1720] Fix | Delete
unset( $url );
[1721] Fix | Delete
}
[1722] Fix | Delete
[1723] Fix | Delete
return $images;
[1724] Fix | Delete
}
[1725] Fix | Delete
[1726] Fix | Delete
/**
[1727] Fix | Delete
* Replace encoded image url with a real url
[1728] Fix | Delete
*
[1729] Fix | Delete
* @param $subject - The string to perform replacing for
[1730] Fix | Delete
* @param array $image - The image settings
[1731] Fix | Delete
*
[1732] Fix | Delete
* @return string|string[]|null
[1733] Fix | Delete
*/
[1734] Fix | Delete
protected function replace_image_url( $subject, $image ) {
[1735] Fix | Delete
if ( isset( $image['replacement_id'] ) && isset( $image['id'] ) ) {
[1736] Fix | Delete
$search = $image['id'];
[1737] Fix | Delete
$replacement = $image['replacement_id'];
[1738] Fix | Delete
$subject = preg_replace( "/(gallery_ids=.*){$search}(.*\")/", "\${1}{$replacement}\${2}", $subject );
[1739] Fix | Delete
}
[1740] Fix | Delete
[1741] Fix | Delete
if ( isset( $image['url'] ) && isset( $image['replacement_url'] ) && $image['url'] !== $image['replacement_url'] ) {
[1742] Fix | Delete
$search = $image['url'];
[1743] Fix | Delete
$replacement = $image['replacement_url'];
[1744] Fix | Delete
$subject = str_replace( $search, $replacement, $subject );
[1745] Fix | Delete
}
[1746] Fix | Delete
[1747] Fix | Delete
return $subject;
[1748] Fix | Delete
}
[1749] Fix | Delete
[1750] Fix | Delete
/**
[1751] Fix | Delete
* Replace image urls with newly uploaded images.
[1752] Fix | Delete
*
[1753] Fix | Delete
* @since 2.7.0
[1754] Fix | Delete
*
[1755] Fix | Delete
* @param array $images Array of new images uploaded.
[1756] Fix | Delete
* @param array $data Array of for which images url needs to be replaced.
[1757] Fix | Delete
*
[1758] Fix | Delete
* @return array|mixed|object
[1759] Fix | Delete
*/
[1760] Fix | Delete
protected function replace_images_urls( $images, $data ) {
[1761] Fix | Delete
foreach ( $data as $post_id => &$post_data ) {
[1762] Fix | Delete
foreach ( $images as $image ) {
[1763] Fix | Delete
if ( is_array( $post_data ) ) {
[1764] Fix | Delete
foreach ( $post_data as $post_param => &$param_value ) {
[1765] Fix | Delete
if ( ! is_array( $param_value ) ) {
[1766] Fix | Delete
$data[ $post_id ][ $post_param ] = $this->replace_image_url( $param_value, $image );
[1767] Fix | Delete
}
[1768] Fix | Delete
}
[1769] Fix | Delete
unset($param_value);
[1770] Fix | Delete
} else {
[1771] Fix | Delete
$data[ $post_id ] = $this->replace_image_url( $post_data, $image );
[1772] Fix | Delete
}
[1773] Fix | Delete
}
[1774] Fix | Delete
}
[1775] Fix | Delete
unset($post_data);
[1776] Fix | Delete
[1777] Fix | Delete
return $data;
[1778] Fix | Delete
}
[1779] Fix | Delete
[1780] Fix | Delete
/**
[1781] Fix | Delete
* Validate data and remove any malicious code.
[1782] Fix | Delete
*
[1783] Fix | Delete
* @since 2.7.0
[1784] Fix | Delete
*
[1785] Fix | Delete
* @param array $data Array of data which needs to be validated.
[1786] Fix | Delete
* @param array $fields_validation Array of field and validation callback.
[1787] Fix | Delete
*
[1788] Fix | Delete
* @return array|bool
[1789] Fix | Delete
*/
[1790] Fix | Delete
protected function validate( $data, $fields_validation = array() ) {
[1791] Fix | Delete
if ( ! is_array( $data ) ) {
[1792] Fix | Delete
return false;
[1793] Fix | Delete
}
[1794] Fix | Delete
[1795] Fix | Delete
foreach ( $data as $key => $value ) {
[1796] Fix | Delete
if ( is_array( $value ) ) {
[1797] Fix | Delete
$data[$key] = $this->validate( $value, $fields_validation );
[1798] Fix | Delete
} else {
[1799] Fix | Delete
if ( isset( $fields_validation[$key] ) ) {
[1800] Fix | Delete
// @phpcs:ignore Generic.PHP.ForbiddenFunctions.Found
[1801] Fix | Delete
$data[$key] = call_user_func( $fields_validation[$key], $value );
[1802] Fix | Delete
} else {
[1803] Fix | Delete
if ( current_user_can( 'unfiltered_html' ) ) {
[1804] Fix | Delete
$data[ $key ] = $value;
[1805] Fix | Delete
} else {
[1806] Fix | Delete
$data[ $key ] = wp_kses_post( $value );
[1807] Fix | Delete
}
[1808] Fix | Delete
}
[1809] Fix | Delete
}
[1810] Fix | Delete
}
[1811] Fix | Delete
[1812] Fix | Delete
return $data;
[1813] Fix | Delete
}
[1814] Fix | Delete
[1815] Fix | Delete
/**
[1816] Fix | Delete
* Prevent import and export timeout or memory failure.
[1817] Fix | Delete
*
[1818] Fix | Delete
* @since 2.7.0
[1819] Fix | Delete
*
[1820] Fix | Delete
* It doesn't need to be reset as in both case the request exit.
[1821] Fix | Delete
*/
[1822] Fix | Delete
protected function prevent_failure() {
[1823] Fix | Delete
@set_time_limit( 0 );
[1824] Fix | Delete
[1825] Fix | Delete
// Increase memory which is safe at this stage of the request.
[1826] Fix | Delete
if ( et_core_get_memory_limit() < 256 ) {
[1827] Fix | Delete
@ini_set( 'memory_limit', '256M' );
[1828] Fix | Delete
}
[1829] Fix | Delete
}
[1830] Fix | Delete
[1831] Fix | Delete
/**
[1832] Fix | Delete
* Set WP filesystem to direct. This should only be use to create a temporary file.
[1833] Fix | Delete
*
[1834] Fix | Delete
* @since 2.7.0
[1835] Fix | Delete
*
[1836] Fix | Delete
* It is safe to do so since the created file is removed immediately after import. The method does'nt have
[1837] Fix | Delete
* to be reset since the ajax query is exited.
[1838] Fix | Delete
*/
[1839] Fix | Delete
protected function set_filesystem() {
[1840] Fix | Delete
global $wp_filesystem;
[1841] Fix | Delete
[1842] Fix | Delete
add_filter( 'filesystem_method', array( $this, 'replace_filesystem_method' ) );
[1843] Fix | Delete
WP_Filesystem();
[1844] Fix | Delete
[1845] Fix | Delete
return $wp_filesystem;
[1846] Fix | Delete
}
[1847] Fix | Delete
[1848] Fix | Delete
/**
[1849] Fix | Delete
* Proxy method for set_filesystem() to avoid calling it multiple times.
[1850] Fix | Delete
*
[1851] Fix | Delete
* @since 4.0
[1852] Fix | Delete
*
[1853] Fix | Delete
* @return WP_Filesystem_Direct
[1854] Fix | Delete
*/
[1855] Fix | Delete
protected function get_filesystem() {
[1856] Fix | Delete
static $filesystem = null;
[1857] Fix | Delete
[1858] Fix | Delete
if ( null === $filesystem ) {
[1859] Fix | Delete
$filesystem = $this->set_filesystem();
[1860] Fix | Delete
}
[1861] Fix | Delete
[1862] Fix | Delete
return $filesystem;
[1863] Fix | Delete
}
[1864] Fix | Delete
[1865] Fix | Delete
/**
[1866] Fix | Delete
* Check if a temporary file is register. Returns temporary file if it exists.
[1867] Fix | Delete
*
[1868] Fix | Delete
* @since 4.0 Made method public.
[1869] Fix | Delete
*
[1870] Fix | Delete
* @param string $id Unique id used when the temporary file was created.
[1871] Fix | Delete
* @param string $group Group name in which files are grouped.
[1872] Fix | Delete
*
[1873] Fix | Delete
* @return bool|string
[1874] Fix | Delete
*/
[1875] Fix | Delete
public function has_temp_file( $id, $group ) {
[1876] Fix | Delete
$temp_files = get_option( '_et_core_portability_temp_files', array() );
[1877] Fix | Delete
[1878] Fix | Delete
if ( isset( $temp_files[$group][$id] ) && file_exists( $temp_files[$group][$id] ) ) {
[1879] Fix | Delete
return $temp_files[$group][$id];
[1880] Fix | Delete
}
[1881] Fix | Delete
[1882] Fix | Delete
return false;
[1883] Fix | Delete
}
[1884] Fix | Delete
[1885] Fix | Delete
/**
[1886] Fix | Delete
* Create a temp file and register it.
[1887] Fix | Delete
*
[1888] Fix | Delete
* @since 2.7.0
[1889] Fix | Delete
* @since 4.0 Made method public. Added $content parameter.
[1890] Fix | Delete
*
[1891] Fix | Delete
* @param string $id Unique id reference for the temporary file.
[1892] Fix | Delete
* @param string $group Group name in which files are grouped.
[1893] Fix | Delete
* @param string|bool $temp_file Path to the temporary file. False create a new temporary file.
[1894] Fix | Delete
*
[1895] Fix | Delete
* @return bool|string
[1896] Fix | Delete
*/
[1897] Fix | Delete
public function temp_file( $id, $group, $temp_file = false, $content = '' ) {
[1898] Fix | Delete
$temp_files = get_option( '_et_core_portability_temp_files', array() );
[1899] Fix | Delete
[1900] Fix | Delete
if ( ! isset( $temp_files[$group] ) ) {
[1901] Fix | Delete
$temp_files[$group] = array();
[1902] Fix | Delete
}
[1903] Fix | Delete
[1904] Fix | Delete
if ( isset( $temp_files[$group][$id] ) && file_exists( $temp_files[$group][$id] ) ) {
[1905] Fix | Delete
return $temp_files[$group][$id];
[1906] Fix | Delete
}
[1907] Fix | Delete
[1908] Fix | Delete
$temp_file = $temp_file ? $temp_file : wp_tempnam();
[1909] Fix | Delete
$temp_files[$group][$id] = $temp_file;
[1910] Fix | Delete
[1911] Fix | Delete
update_option( '_et_core_portability_temp_files', $temp_files, false );
[1912] Fix | Delete
[1913] Fix | Delete
if ( ! empty( $content ) ) {
[1914] Fix | Delete
$this->get_filesystem()->put_contents( $temp_file, $content );
[1915] Fix | Delete
}
[1916] Fix | Delete
[1917] Fix | Delete
return $temp_file;
[1918] Fix | Delete
}
[1919] Fix | Delete
[1920] Fix | Delete
/**
[1921] Fix | Delete
* Get temp file contents or an empty string if it does not exist.
[1922] Fix | Delete
*
[1923] Fix | Delete
* @since 4.0
[1924] Fix | Delete
*
[1925] Fix | Delete
* @param string $id Unique id used when the temporary file was created.
[1926] Fix | Delete
* @param string $group Group name in which files are grouped.
[1927] Fix | Delete
*
[1928] Fix | Delete
* @return string
[1929] Fix | Delete
*/
[1930] Fix | Delete
public function get_temp_file_contents( $id, $group ) {
[1931] Fix | Delete
$file = $this->has_temp_file( $id, $group );
[1932] Fix | Delete
[1933] Fix | Delete
if ( ! $file ) {
[1934] Fix | Delete
return '';
[1935] Fix | Delete
}
[1936] Fix | Delete
[1937] Fix | Delete
$content = $this->get_filesystem()->get_contents( $file );
[1938] Fix | Delete
[1939] Fix | Delete
return $content ? $content : '';
[1940] Fix | Delete
}
[1941] Fix | Delete
[1942] Fix | Delete
/**
[1943] Fix | Delete
* Delete all the temp files.
[1944] Fix | Delete
*
[1945] Fix | Delete
* @since 2.7.0
[1946] Fix | Delete
*
[1947] Fix | Delete
* @param bool|string $group Group name in which files are grouped. Set to true to remove all groups and files.
[1948] Fix | Delete
* @param array $defined_files Array or temoporary files to delete. No argument deletes all temp files.
[1949] Fix | Delete
*/
[1950] Fix | Delete
public function delete_temp_files( $group = false, $defined_files = false ) {
[1951] Fix | Delete
$filesystem = $this->set_filesystem();
[1952] Fix | Delete
$temp_files = get_option( '_et_core_portability_temp_files', array() );
[1953] Fix | Delete
[1954] Fix | Delete
// Remove all temp files accross all groups if group is true.
[1955] Fix | Delete
if ( $group === true ) {
[1956] Fix | Delete
foreach( $temp_files as $group_id => $_group ) {
[1957] Fix | Delete
$this->delete_temp_files( $group_id );
[1958] Fix | Delete
}
[1959] Fix | Delete
}
[1960] Fix | Delete
[1961] Fix | Delete
if ( ! isset( $temp_files[$group] ) ) {
[1962] Fix | Delete
return;
[1963] Fix | Delete
}
[1964] Fix | Delete
[1965] Fix | Delete
$delete_files = ( is_array( $defined_files ) && ! empty( $defined_files ) ) ? $defined_files : $temp_files[$group];
[1966] Fix | Delete
[1967] Fix | Delete
foreach ( $delete_files as $id => $temp_file ) {
[1968] Fix | Delete
if ( isset( $temp_files[$group][$id] ) && $filesystem->delete( $temp_files[$group][$id] ) ) {
[1969] Fix | Delete
unset( $temp_files[$group][$id] );
[1970] Fix | Delete
}
[1971] Fix | Delete
}
[1972] Fix | Delete
[1973] Fix | Delete
if ( empty( $temp_files[$group] ) ) {
[1974] Fix | Delete
unset( $temp_files[$group] );
[1975] Fix | Delete
}
[1976] Fix | Delete
[1977] Fix | Delete
if ( empty( $temp_files ) ) {
[1978] Fix | Delete
delete_option( '_et_core_portability_temp_files' );
[1979] Fix | Delete
} else {
[1980] Fix | Delete
update_option( '_et_core_portability_temp_files', $temp_files, false );
[1981] Fix | Delete
}
[1982] Fix | Delete
}
[1983] Fix | Delete
[1984] Fix | Delete
/**
[1985] Fix | Delete
* Set WP filesystem method to direct.
[1986] Fix | Delete
*
[1987] Fix | Delete
* @since 2.7.0
[1988] Fix | Delete
*/
[1989] Fix | Delete
public function replace_filesystem_method() {
[1990] Fix | Delete
return 'direct';
[1991] Fix | Delete
}
[1992] Fix | Delete
[1993] Fix | Delete
/**
[1994] Fix | Delete
* Get timestamp or create one if it isn't set.
[1995] Fix | Delete
*
[1996] Fix | Delete
* @since 2.7.0
[1997] Fix | Delete
*/
[1998] Fix | Delete
public function get_timestamp() {
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function