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/themify-.../themify
File: themify-utils.php
$s .= ' loading="lazy"';
[1500] Fix | Delete
}
[1501] Fix | Delete
if ($useJs === true) {
[1502] Fix | Delete
$s .= ' data-lazy="1"';
[1503] Fix | Delete
if($isJsLazy===true){
[1504] Fix | Delete
$s .= ' data-tf-not-load="1"';
[1505] Fix | Delete
}
[1506] Fix | Delete
$class = 'tf_svg_lazy';
[1507] Fix | Delete
if (strpos($item, ' class=', 4) === false) {
[1508] Fix | Delete
$s .= ' class="' . $class . '"';
[1509] Fix | Delete
} else {
[1510] Fix | Delete
$item = str_replace(' class="', ' class="' . $class . ' ', $item);
[1511] Fix | Delete
}
[1512] Fix | Delete
$width=$height=0;
[1513] Fix | Delete
if(!empty($sizes)){
[1514] Fix | Delete
$width=$sizes['w'];
[1515] Fix | Delete
$height=$sizes['h'];
[1516] Fix | Delete
if(!empty($sizes['c'])){
[1517] Fix | Delete
$color='';
[1518] Fix | Delete
foreach($sizes['c'] as $i=>$c){
[1519] Fix | Delete
if($i%$svgRows===0){
[1520] Fix | Delete
$j=1;
[1521] Fix | Delete
if($color!==''){
[1522] Fix | Delete
$color.='),';
[1523] Fix | Delete
}
[1524] Fix | Delete
$color.='linear-gradient(to right';
[1525] Fix | Delete
}
[1526] Fix | Delete
$color.=',#'.$c;
[1527] Fix | Delete
if($j!==1 ){
[1528] Fix | Delete
$color.=' '.($j-1)*$svgStep.'%';
[1529] Fix | Delete
}
[1530] Fix | Delete
if($j!==$svgRows){
[1531] Fix | Delete
$color.=' '.$j*$svgStep.'%';
[1532] Fix | Delete
}
[1533] Fix | Delete
++$j;
[1534] Fix | Delete
}
[1535] Fix | Delete
$color='background:'.$color.')';
[1536] Fix | Delete
if (strpos($item, ' style=', 4) === false) {
[1537] Fix | Delete
$s .= ' style="'.$color.'"';
[1538] Fix | Delete
} else {
[1539] Fix | Delete
$item = str_replace(' style="', ' style="' . $color . ';', $item);
[1540] Fix | Delete
}
[1541] Fix | Delete
}
[1542] Fix | Delete
}else{
[1543] Fix | Delete
if(strpos($item, ' width=', 4)!==false){
[1544] Fix | Delete
preg_match('/ width=["\']([^"]+?)["\']/', $item, $w,0,4);
[1545] Fix | Delete
if(!empty($w[1])){
[1546] Fix | Delete
$width=$w[1];
[1547] Fix | Delete
unset($w);
[1548] Fix | Delete
}
[1549] Fix | Delete
}
[1550] Fix | Delete
if (strpos($item, ' height=', 4) === false) {
[1551] Fix | Delete
preg_match('/ height=["\']([^"]+?)["\']/', $item, $h,0,4);
[1552] Fix | Delete
$height=!empty($h[1])?$h[1]:$width;
[1553] Fix | Delete
unset($h);
[1554] Fix | Delete
}
[1555] Fix | Delete
elseif(!empty($width)){
[1556] Fix | Delete
$height=$width;
[1557] Fix | Delete
}
[1558] Fix | Delete
}
[1559] Fix | Delete
$item = strtr($item, array(' srcset=' => ' data-tf-srcset=', ' sizes=' => ' data-tf-sizes=', ' src=' => ' data-tf-src=')); //sizes need to be replaced to pass html validation
[1560] Fix | Delete
$s = ' src="' . strtr($placeHolder, array('{w}'=>$width,'{h}'=>$height)) . '"' . $s;
[1561] Fix | Delete
}
[1562] Fix | Delete
}
[1563] Fix | Delete
else {
[1564] Fix | Delete
$s = ' data-tf-not-load="1"';
[1565] Fix | Delete
if ($count === 1) {
[1566] Fix | Delete
if (strpos($s, 'fetchpriority=') === false) {
[1567] Fix | Delete
$s .= ' fetchpriority="high"';
[1568] Fix | Delete
}
[1569] Fix | Delete
$s .= ' loading="auto" decoding="auto"';
[1570] Fix | Delete
}
[1571] Fix | Delete
}
[1572] Fix | Delete
if (strpos($item, ' decoding=', 4) === false) {
[1573] Fix | Delete
$s .= ' decoding="async"';
[1574] Fix | Delete
}
[1575] Fix | Delete
if(!empty($sizes)){
[1576] Fix | Delete
if (strpos($item, ' width=', 4) === false) {
[1577] Fix | Delete
$s .= ' width="' . $sizes['w'] . '"';
[1578] Fix | Delete
}
[1579] Fix | Delete
if (strpos($item, ' height=', 4) === false) {
[1580] Fix | Delete
$s .= ' height="' . $sizes['h'] . '"';
[1581] Fix | Delete
}
[1582] Fix | Delete
}
[1583] Fix | Delete
unset($sizes);
[1584] Fix | Delete
}
[1585] Fix | Delete
}
[1586] Fix | Delete
$item = str_replace('<' . $ext, '<' . $ext . $s, $item);
[1587] Fix | Delete
if ($ext === 'audio' || $ext === 'video') {
[1588] Fix | Delete
$c = 'tf_lazy tf_' . ($ext === 'video' ? 'vd' : $ext) . '_lazy tf_w tf_rel tf_box';
[1589] Fix | Delete
$r = array();
[1590] Fix | Delete
if (strpos($item, ' data-lazy') !== false) {
[1591] Fix | Delete
$r['<' . $ext] = '<' . $ext . ' data-lazy="1"';
[1592] Fix | Delete
}
[1593] Fix | Delete
if ($ext === 'video') {
[1594] Fix | Delete
$c .= ' tf_rel tf_overflow';
[1595] Fix | Delete
themify_get_icon('fas volume-mute', 'fa');
[1596] Fix | Delete
themify_get_icon('fas volume-up', 'fa');
[1597] Fix | Delete
//themify_get_icon('fas undo', 'fa');
[1598] Fix | Delete
//themify_get_icon('fas redo', 'fa');
[1599] Fix | Delete
//themify_get_icon('far closed-captioning', 'fa');
[1600] Fix | Delete
themify_get_icon('fas external-link-alt', 'fa');
[1601] Fix | Delete
themify_get_icon('fas airplay', 'fa');
[1602] Fix | Delete
themify_get_icon('fas expand', 'fa');
[1603] Fix | Delete
themify_get_icon('fas download', 'fa');
[1604] Fix | Delete
if (strpos($item, ' poster') !== false) {
[1605] Fix | Delete
$r[' poster'] = ' data-poster';
[1606] Fix | Delete
}
[1607] Fix | Delete
if ($url && $url !== true && strpos($item, ' width') === false || strpos($item, ' height') === false) {
[1608] Fix | Delete
$size = themify_get_video_size($url);
[1609] Fix | Delete
if ($size !== null) {
[1610] Fix | Delete
$sv = '';
[1611] Fix | Delete
if ($size['w'] !== '' && strpos($item, ' width') === false) {
[1612] Fix | Delete
$sv = ' width="' . $size['w'] . '"';
[1613] Fix | Delete
}
[1614] Fix | Delete
if ($size['h'] !== '' && strpos($item, ' height') === false) {
[1615] Fix | Delete
$sv .= ' height="' . $size['h'] . '"';
[1616] Fix | Delete
}
[1617] Fix | Delete
if ($sv !== '') {
[1618] Fix | Delete
$r[' preload'] = $sv . ' preload';
[1619] Fix | Delete
}
[1620] Fix | Delete
$sv = null;
[1621] Fix | Delete
}
[1622] Fix | Delete
}
[1623] Fix | Delete
}
[1624] Fix | Delete
if (strpos($item, ' autoplay') !== false) {
[1625] Fix | Delete
$r[' autoplay'] = ' data-autoplay';
[1626] Fix | Delete
}
[1627] Fix | Delete
if (!empty($r)) {
[1628] Fix | Delete
$item = strtr($item, $r);
[1629] Fix | Delete
}
[1630] Fix | Delete
unset($r);
[1631] Fix | Delete
$item = '<div class="' . $c . '">' . $item . '</div>';
[1632] Fix | Delete
$c = null;
[1633] Fix | Delete
}
[1634] Fix | Delete
$part = $item;
[1635] Fix | Delete
if ($ext === 'img' && $stopLazy === false && $useJs === true) {
[1636] Fix | Delete
$part .= '<noscript>' . strtr($orig, array(' src=' => ' data-tf-not-load src=')) . '</noscript>';
[1637] Fix | Delete
}
[1638] Fix | Delete
$search[] = $orig;
[1639] Fix | Delete
$replace[] = $part;
[1640] Fix | Delete
}
[1641] Fix | Delete
}
[1642] Fix | Delete
} else {
[1643] Fix | Delete
++$count;
[1644] Fix | Delete
}
[1645] Fix | Delete
}
[1646] Fix | Delete
}
[1647] Fix | Delete
unset($matches, $tags, $extCount);
[1648] Fix | Delete
$html = str_replace($search, $replace, $html);
[1649] Fix | Delete
}
[1650] Fix | Delete
}
[1651] Fix | Delete
return $html;
[1652] Fix | Delete
}
[1653] Fix | Delete
[1654] Fix | Delete
function themify_upload_dir(string $mode = 'all', bool $reinit = false) {
[1655] Fix | Delete
static $dir = null;
[1656] Fix | Delete
if ($dir === null || $reinit === true) {
[1657] Fix | Delete
/* foolproof the paths, in case they mistakenly have trailing slash */
[1658] Fix | Delete
$dir = array_map('untrailingslashit', wp_get_upload_dir());
[1659] Fix | Delete
$dir['baseurl'] = themify_https_esc($dir['baseurl']);
[1660] Fix | Delete
}
[1661] Fix | Delete
[1662] Fix | Delete
return $mode === 'all' ? $dir : $dir[$mode];
[1663] Fix | Delete
}
[1664] Fix | Delete
[1665] Fix | Delete
function themify_generateWebp(string $url):string {
[1666] Fix | Delete
if (empty($url)) {
[1667] Fix | Delete
return $url;
[1668] Fix | Delete
}
[1669] Fix | Delete
static $is = null;
[1670] Fix | Delete
if ($is === null) {
[1671] Fix | Delete
$is = !themify_builder_check('setting-webp', 'performance-webp', true) ? true : (is_admin() && !themify_is_ajax());
[1672] Fix | Delete
}
[1673] Fix | Delete
if ($is === true) {
[1674] Fix | Delete
return $url;
[1675] Fix | Delete
}
[1676] Fix | Delete
return themify_create_webp($url);
[1677] Fix | Delete
}
[1678] Fix | Delete
[1679] Fix | Delete
function themify_is_prefetch_request():bool {
[1680] Fix | Delete
static $is = null;
[1681] Fix | Delete
if ($is === null) {
[1682] Fix | Delete
if (isset($_SERVER['HTTP_PURPOSE'])) {
[1683] Fix | Delete
$prev = 'HTTP_PURPOSE';
[1684] Fix | Delete
} elseif (isset($_SERVER["HTTP_X_PURPOSE"])) {
[1685] Fix | Delete
$prev = 'HTTP_X_PURPOSE';
[1686] Fix | Delete
} elseif (isset($_SERVER['HTTP_X_MOZ'])) {
[1687] Fix | Delete
$prev = 'HTTP_X_MOZ';
[1688] Fix | Delete
} else {
[1689] Fix | Delete
$prev = false;
[1690] Fix | Delete
}
[1691] Fix | Delete
if ($prev !== false) {
[1692] Fix | Delete
$prev = strtolower($_SERVER[$prev]);
[1693] Fix | Delete
$is = $prev === 'prefetch' || $prev === 'preview';
[1694] Fix | Delete
} else {
[1695] Fix | Delete
$is = false;
[1696] Fix | Delete
}
[1697] Fix | Delete
}
[1698] Fix | Delete
return $is;
[1699] Fix | Delete
}
[1700] Fix | Delete
[1701] Fix | Delete
function themify_is_dev_mode():bool {
[1702] Fix | Delete
static $is = null;
[1703] Fix | Delete
if ($is === null) {
[1704] Fix | Delete
$is = themify_check('setting-dev-mode', true) || (defined('THEMIFY_DEV') && THEMIFY_DEV);
[1705] Fix | Delete
$is = apply_filters('themify_dev_mode', $is);
[1706] Fix | Delete
}
[1707] Fix | Delete
return $is;
[1708] Fix | Delete
}
[1709] Fix | Delete
[1710] Fix | Delete
function themify_is_concate_disabled():bool {
[1711] Fix | Delete
return themify_is_dev_mode() && (themify_check('setting-dev-mode-concate', true) || (defined('THEMIFY_DEV') && THEMIFY_DEV));
[1712] Fix | Delete
}
[1713] Fix | Delete
[1714] Fix | Delete
function themify_disable_other_lazy() {
[1715] Fix | Delete
add_filter('wp_lazy_loading_enabled', '__return_false', 100);
[1716] Fix | Delete
add_filter('lazyload_is_enabled', '__return_false', 1, 100); //disable jetpack lazy load
[1717] Fix | Delete
add_filter('rocket_use_native_lazyload', '__return_false', 1, 100);
[1718] Fix | Delete
}
[1719] Fix | Delete
[1720] Fix | Delete
function themify_get_server():string {
[1721] Fix | Delete
static $is = null;
[1722] Fix | Delete
if ($is === null) {
[1723] Fix | Delete
$is = 'apache';
[1724] Fix | Delete
if (!empty($_SERVER['SERVER_SOFTWARE'])) {
[1725] Fix | Delete
$is = explode('/', $_SERVER['SERVER_SOFTWARE']);
[1726] Fix | Delete
$is = str_replace('microsoft-', '', strtolower($is[0]));
[1727] Fix | Delete
} elseif (is_file(get_home_path() . 'web.config')) {
[1728] Fix | Delete
$is = 'iis';
[1729] Fix | Delete
} elseif (!is_file(Themify_Enqueue_Assets::getHtaccessFile()) || is_file('/etc/nginx/nginx.conf')) {
[1730] Fix | Delete
$is = 'nginx';
[1731] Fix | Delete
}
[1732] Fix | Delete
}
[1733] Fix | Delete
return $is;
[1734] Fix | Delete
}
[1735] Fix | Delete
[1736] Fix | Delete
/**
[1737] Fix | Delete
* Help tooltip Module
[1738] Fix | Delete
*/
[1739] Fix | Delete
function themify_help(string $content):string {
[1740] Fix | Delete
return sprintf('<span class="tf_help"><i tabindex="-1" class="icon" onclick="return false;">%s</i><span class="tf_help_content">%s</span></span>',
[1741] Fix | Delete
themify_get_icon('ti-help', 'ti'),
[1742] Fix | Delete
$content
[1743] Fix | Delete
);
[1744] Fix | Delete
}
[1745] Fix | Delete
[1746] Fix | Delete
/**
[1747] Fix | Delete
* Search $subject for $search and replace the first occurrence of it.
[1748] Fix | Delete
*
[1749] Fix | Delete
* @return string
[1750] Fix | Delete
*/
[1751] Fix | Delete
function themify_str_replace_first(string $search, string $replace,string $subject):string {
[1752] Fix | Delete
return implode($replace, explode($search, $subject, 2));
[1753] Fix | Delete
}
[1754] Fix | Delete
[1755] Fix | Delete
/**
[1756] Fix | Delete
* Search $subject for $search and replace the last occurrence of it.
[1757] Fix | Delete
*
[1758] Fix | Delete
* @return string
[1759] Fix | Delete
*/
[1760] Fix | Delete
function themify_str_replace_last(string $search, string $replace, string $subject):string {
[1761] Fix | Delete
if (( $pos = strrpos($subject, $search) ) !== false) {
[1762] Fix | Delete
$subject = substr_replace($subject, $replace, $pos, strlen($search));
[1763] Fix | Delete
}
[1764] Fix | Delete
[1765] Fix | Delete
return $subject;
[1766] Fix | Delete
}
[1767] Fix | Delete
[1768] Fix | Delete
/**
[1769] Fix | Delete
* Gets the ID of an object (post or term) and returns that object ID in current language.
[1770] Fix | Delete
*
[1771] Fix | Delete
* @return int|mixed
[1772] Fix | Delete
*/
[1773] Fix | Delete
function themify_maybe_translate_object_id(?int $id, string $type = 'page'):?int {
[1774] Fix | Delete
if (!empty($id)) {
[1775] Fix | Delete
if (defined('ICL_SITEPRESS_VERSION')) {
[1776] Fix | Delete
$id = apply_filters('wpml_object_id', $id, $type, true);
[1777] Fix | Delete
} elseif (defined('POLYLANG_VERSION') && function_exists('pll_get_post')) {
[1778] Fix | Delete
$translatedpageid = pll_get_post($id);
[1779] Fix | Delete
if (!empty($translatedpageid) && 'publish' === get_post_status($translatedpageid)) {
[1780] Fix | Delete
$id = $translatedpageid;
[1781] Fix | Delete
}
[1782] Fix | Delete
}
[1783] Fix | Delete
}
[1784] Fix | Delete
[1785] Fix | Delete
return $id;
[1786] Fix | Delete
}
[1787] Fix | Delete
[1788] Fix | Delete
/**
[1789] Fix | Delete
* Returns and caches URL to the homepage, properly filtered for multilingual setups
[1790] Fix | Delete
*
[1791] Fix | Delete
* @return string
[1792] Fix | Delete
*/
[1793] Fix | Delete
function themify_home_url():string {
[1794] Fix | Delete
static $url = null;
[1795] Fix | Delete
if ($url === null) {
[1796] Fix | Delete
$url = function_exists('pll_home_url') ? pll_home_url() : home_url();
[1797] Fix | Delete
}
[1798] Fix | Delete
return $url;
[1799] Fix | Delete
}
[1800] Fix | Delete
[1801] Fix | Delete
/**
[1802] Fix | Delete
* Download file from external URL and returns the file
[1803] Fix | Delete
*
[1804] Fix | Delete
* @param $post_id Attachments may be associated with a parent post or page.
[1805] Fix | Delete
*
[1806] Fix | Delete
* @return WP_Error|int ID of created attachment, or WP_Error
[1807] Fix | Delete
*/
[1808] Fix | Delete
function tf_fetch_remote_file($url, $post_id = null, $title = '') {
[1809] Fix | Delete
[1810] Fix | Delete
// extract the file name and extension from the url
[1811] Fix | Delete
$file_name = basename($url);
[1812] Fix | Delete
[1813] Fix | Delete
// get placeholder file in the upload dir with a unique, sanitized filename
[1814] Fix | Delete
$upload = wp_upload_bits($file_name, 0, '');
[1815] Fix | Delete
if ($upload['error'])
[1816] Fix | Delete
return new WP_Error('upload_dir_error', $upload['error']);
[1817] Fix | Delete
[1818] Fix | Delete
// fetch the remote url and write it to the placeholder file
[1819] Fix | Delete
$remote_response = wp_safe_remote_get($url, array(
[1820] Fix | Delete
'timeout' => 300,
[1821] Fix | Delete
'stream' => true,
[1822] Fix | Delete
'filename' => $upload['file'],
[1823] Fix | Delete
));
[1824] Fix | Delete
[1825] Fix | Delete
$headers = wp_remote_retrieve_headers($remote_response);
[1826] Fix | Delete
[1827] Fix | Delete
// request failed
[1828] Fix | Delete
if (!$headers) {
[1829] Fix | Delete
@unlink($upload['file']);
[1830] Fix | Delete
return new WP_Error('import_file_error', __('Remote server did not respond', 'themify'));
[1831] Fix | Delete
}
[1832] Fix | Delete
[1833] Fix | Delete
$remote_response_code = wp_remote_retrieve_response_code($remote_response);
[1834] Fix | Delete
[1835] Fix | Delete
// make sure the fetch was successful
[1836] Fix | Delete
if ($remote_response_code != '200') {
[1837] Fix | Delete
@unlink($upload['file']);
[1838] Fix | Delete
return new WP_Error('import_file_error', sprintf(__('Remote server returned error response %1$d %2$s', 'themify'), esc_html($remote_response_code), get_status_header_desc($remote_response_code)));
[1839] Fix | Delete
}
[1840] Fix | Delete
[1841] Fix | Delete
$filesize = filesize($upload['file']);
[1842] Fix | Delete
[1843] Fix | Delete
if (0 == $filesize) {
[1844] Fix | Delete
@unlink($upload['file']);
[1845] Fix | Delete
return new WP_Error('import_file_error', __('Zero size file downloaded', 'themify'));
[1846] Fix | Delete
}
[1847] Fix | Delete
[1848] Fix | Delete
$post = array(
[1849] Fix | Delete
'post_title' => $title,
[1850] Fix | Delete
'post_content' => '',
[1851] Fix | Delete
'post_status' => 'inherit',
[1852] Fix | Delete
);
[1853] Fix | Delete
if ($info = wp_check_filetype($upload['file']))
[1854] Fix | Delete
$post['post_mime_type'] = $info['type'];
[1855] Fix | Delete
else
[1856] Fix | Delete
return new WP_Error('mime_type_error', __('Invalid file type', 'themify'));
[1857] Fix | Delete
[1858] Fix | Delete
$attach_id = wp_insert_attachment($post, $upload['file'], $post_id);
[1859] Fix | Delete
wp_update_attachment_metadata($attach_id, wp_generate_attachment_metadata($attach_id, $upload['file']));
[1860] Fix | Delete
[1861] Fix | Delete
return $attach_id;
[1862] Fix | Delete
}
[1863] Fix | Delete
[1864] Fix | Delete
/**
[1865] Fix | Delete
* Mimics get_template_part but loads a template from THEMIFY_DIR
[1866] Fix | Delete
*
[1867] Fix | Delete
* @since 5.5.3
[1868] Fix | Delete
*/
[1869] Fix | Delete
function themify_get_template(string $slug, string $name = '', array $args = array()) {
[1870] Fix | Delete
$base_dir = THEMIFY_DIR;
[1871] Fix | Delete
$templates = array();
[1872] Fix | Delete
$located = '';
[1873] Fix | Delete
if ($name !== null && '' !== $name) {
[1874] Fix | Delete
$templates[] = "{$base_dir}/{$slug}-{$name}.php";
[1875] Fix | Delete
}
[1876] Fix | Delete
[1877] Fix | Delete
$templates[] = "{$base_dir}/{$slug}.php";
[1878] Fix | Delete
[1879] Fix | Delete
foreach ($templates as $template) {
[1880] Fix | Delete
if (is_file($template)) {
[1881] Fix | Delete
$located = $template;
[1882] Fix | Delete
break;
[1883] Fix | Delete
}
[1884] Fix | Delete
}
[1885] Fix | Delete
[1886] Fix | Delete
if ($located !== '') {
[1887] Fix | Delete
load_template($located, false, $args);
[1888] Fix | Delete
}
[1889] Fix | Delete
}
[1890] Fix | Delete
[1891] Fix | Delete
/* Add category id class in post loop for Masonry filter */
[1892] Fix | Delete
if (!function_exists('themify_post_filter_class')) {
[1893] Fix | Delete
[1894] Fix | Delete
function themify_post_filter_class(array $classes, $class, $post_id):array {
[1895] Fix | Delete
$categories = wp_get_object_terms($post_id, get_query_var('tf_query_tax', 'category'));
[1896] Fix | Delete
foreach ($categories as $category) {
[1897] Fix | Delete
$classes[] = ' cat-' . $category->term_id;
[1898] Fix | Delete
}
[1899] Fix | Delete
$is_ajax = get_query_var('tf_ajax_filter', false);
[1900] Fix | Delete
if (true === $is_ajax) {
[1901] Fix | Delete
if (isset($_POST['action'], $_POST['tax']) && $_POST['action'] === 'themify_ajax_load_more') {
[1902] Fix | Delete
$classes[] = 'ajax-cat-' . (int) $_POST['tax'];
[1903] Fix | Delete
} else {
[1904] Fix | Delete
$classes[] = 'initial-cat';
[1905] Fix | Delete
}
[1906] Fix | Delete
}
[1907] Fix | Delete
return $classes;
[1908] Fix | Delete
}
[1909] Fix | Delete
[1910] Fix | Delete
}
[1911] Fix | Delete
[1912] Fix | Delete
function themify_custom_except($excerpt) {
[1913] Fix | Delete
if (has_excerpt()) {
[1914] Fix | Delete
$excerpt = wp_trim_words(get_the_excerpt(), apply_filters('excerpt_length', 55));
[1915] Fix | Delete
}
[1916] Fix | Delete
return $excerpt;
[1917] Fix | Delete
}
[1918] Fix | Delete
[1919] Fix | Delete
function themify_set_headers(array $headers) {
[1920] Fix | Delete
if (!headers_sent()) {
[1921] Fix | Delete
$list = headers_list();
[1922] Fix | Delete
foreach ($list as $h) {
[1923] Fix | Delete
$head = strtoupper(trim(explode(':', $h)[0]));
[1924] Fix | Delete
if (isset($headers[$head])) {
[1925] Fix | Delete
$vals = trim(trim(str_ireplace($head, '', $h)), ':');
[1926] Fix | Delete
if ($head === 'CONTENT-SECURITY-POLICY' || is_array($headers[$head])) {
[1927] Fix | Delete
$vals = explode(';', $vals);
[1928] Fix | Delete
$policy = $headers[$head];
[1929] Fix | Delete
$hasChange = false;
[1930] Fix | Delete
foreach ($vals as $i => $c) {
[1931] Fix | Delete
$c = trim($c);
[1932] Fix | Delete
if ($c !== '') {
[1933] Fix | Delete
$c = preg_replace('!\s+!', ' ', $c);
[1934] Fix | Delete
$values = explode(' ', $c);
[1935] Fix | Delete
if (isset($policy[$values[0]])) {
[1936] Fix | Delete
$none = array_search('none', $values, true);
[1937] Fix | Delete
if ($none !== false) {
[1938] Fix | Delete
unset($values[$none]);
[1939] Fix | Delete
}
[1940] Fix | Delete
$values = array_merge($values, explode(' ', $policy[$values[0]]));
[1941] Fix | Delete
$vals[$i] = implode(' ', array_keys(array_flip($values)));
[1942] Fix | Delete
$hasChange = true;
[1943] Fix | Delete
}
[1944] Fix | Delete
} else {
[1945] Fix | Delete
unset($vals[$i]);
[1946] Fix | Delete
}
[1947] Fix | Delete
}
[1948] Fix | Delete
if ($hasChange === true) {
[1949] Fix | Delete
header($head . ':' . implode(';', $vals));
[1950] Fix | Delete
}
[1951] Fix | Delete
} elseif ($vals !== $headers[$head]) {
[1952] Fix | Delete
header($head . ':' . $headers[$head]);
[1953] Fix | Delete
}
[1954] Fix | Delete
unset($headers[$head]);
[1955] Fix | Delete
if (empty($headers)) {
[1956] Fix | Delete
break;
[1957] Fix | Delete
}
[1958] Fix | Delete
}
[1959] Fix | Delete
}
[1960] Fix | Delete
}
[1961] Fix | Delete
}
[1962] Fix | Delete
[1963] Fix | Delete
function themify_get_lottie(array $arr, string $sel = '') {
[1964] Fix | Delete
[1965] Fix | Delete
if (!empty($arr['path']) && !empty($arr['seg'])) {
[1966] Fix | Delete
$lottie = array(
[1967] Fix | Delete
'path' => $arr['path'],
[1968] Fix | Delete
'seg' => $arr['seg']
[1969] Fix | Delete
);
[1970] Fix | Delete
if (!empty($arr['st'])) {
[1971] Fix | Delete
$lottie['st'] = $arr['st'];
[1972] Fix | Delete
}
[1973] Fix | Delete
if (isset($arr['sp']) && $arr['sp'] != 1) {
[1974] Fix | Delete
$lottie['sp'] = $arr['sp'];
[1975] Fix | Delete
}
[1976] Fix | Delete
if (!empty($arr['dir'])) {
[1977] Fix | Delete
$lottie['dir'] = $arr['dir'];
[1978] Fix | Delete
}
[1979] Fix | Delete
if (!empty($arr['fid'])) {
[1980] Fix | Delete
$lottie['fid'] = $arr['fid'];
[1981] Fix | Delete
}
[1982] Fix | Delete
if (isset($arr['r']) && $arr['r'] !== 'svg') {
[1983] Fix | Delete
$lottie['r'] = $arr['r'];
[1984] Fix | Delete
}
[1985] Fix | Delete
if (isset($arr['count']) && ($arr['count'] > 1 || $arr['count'] == -1)) {
[1986] Fix | Delete
$lottie['count'] = $arr['count'];
[1987] Fix | Delete
}
[1988] Fix | Delete
if ($sel !== '') {
[1989] Fix | Delete
$lottie['sel'] = $sel;
[1990] Fix | Delete
}
[1991] Fix | Delete
if (!isset($arr['lp'])) {
[1992] Fix | Delete
$lottie = array('actions' => $lottie, 'loop' => 1);
[1993] Fix | Delete
}
[1994] Fix | Delete
return sprintf('<tf-lottie data-lazy="1" class="tf_lazy"><template>%s</template></tf-lottie>', json_encode($lottie));
[1995] Fix | Delete
}
[1996] Fix | Delete
return '';
[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