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-.../includes/componen...
File: module.php
if ($has_lax === true) {
[500] Fix | Delete
$props['data-lax'] = 'true';
[501] Fix | Delete
}
[502] Fix | Delete
if ($is_lax !== 'done') {
[503] Fix | Delete
$is_lax = 'done';
[504] Fix | Delete
\Themify_Enqueue_Assets::addPrefetchJs(THEMIFY_URI . '/js/modules/lax.js', THEMIFY_VERSION);
[505] Fix | Delete
}
[506] Fix | Delete
}
[507] Fix | Delete
}
[508] Fix | Delete
if (isset($fields_args['custom_css_id'])) {
[509] Fix | Delete
$props['id'] = $fields_args['custom_css_id'];
[510] Fix | Delete
}
[511] Fix | Delete
return $props;
[512] Fix | Delete
}
[513] Fix | Delete
[514] Fix | Delete
/**
[515] Fix | Delete
* Map animation speed parameter and returns new speed
[516] Fix | Delete
*
[517] Fix | Delete
* @param string $val Initial speed value
[518] Fix | Delete
* @param string $attr attribute name
[519] Fix | Delete
*
[520] Fix | Delete
* @return float|int Returns speed of element based on initial value
[521] Fix | Delete
*/
[522] Fix | Delete
private static function map_animation_speed(float $val,string $attr = ''):float {
[523] Fix | Delete
if($val<0 || $val>10){
[524] Fix | Delete
$val=5;
[525] Fix | Delete
}
[526] Fix | Delete
if($attr === 'blur'){
[527] Fix | Delete
$speed = 2*$val;
[528] Fix | Delete
}
[529] Fix | Delete
else{
[530] Fix | Delete
$speed = $val===3?200:($val<3?(70*$val):(670-(10-$val)*70));
[531] Fix | Delete
}
[532] Fix | Delete
return $speed;
[533] Fix | Delete
}
[534] Fix | Delete
[535] Fix | Delete
/**
[536] Fix | Delete
* Map initial origin value and returns transform origin property
[537] Fix | Delete
*
[538] Fix | Delete
* @param string $props Initial origin value
[539] Fix | Delete
*
[540] Fix | Delete
* @return string Returns transform origin value of element based on initial value
[541] Fix | Delete
*/
[542] Fix | Delete
private static function map_transform_origin(string $props):string {
[543] Fix | Delete
switch ($props) {
[544] Fix | Delete
case '0,0':
[545] Fix | Delete
$output = 'top left';
[546] Fix | Delete
break;
[547] Fix | Delete
[548] Fix | Delete
case '50,0':
[549] Fix | Delete
$output = 'top center';
[550] Fix | Delete
break;
[551] Fix | Delete
[552] Fix | Delete
case '100,0':
[553] Fix | Delete
$output = 'top right';
[554] Fix | Delete
break;
[555] Fix | Delete
[556] Fix | Delete
case '0,50':
[557] Fix | Delete
$output = 'left center';
[558] Fix | Delete
break;
[559] Fix | Delete
[560] Fix | Delete
case '50,50':
[561] Fix | Delete
$output = 'center center';
[562] Fix | Delete
break;
[563] Fix | Delete
[564] Fix | Delete
case '100,50':
[565] Fix | Delete
$output = 'right center';
[566] Fix | Delete
break;
[567] Fix | Delete
[568] Fix | Delete
case '0,100':
[569] Fix | Delete
$output = 'bottom left';
[570] Fix | Delete
break;
[571] Fix | Delete
[572] Fix | Delete
case '50,100':
[573] Fix | Delete
$output = 'bottom center';
[574] Fix | Delete
break;
[575] Fix | Delete
[576] Fix | Delete
case '100,100':
[577] Fix | Delete
$output = 'bottom right';
[578] Fix | Delete
break;
[579] Fix | Delete
[580] Fix | Delete
default:
[581] Fix | Delete
$perc = \explode(',', $props);
[582] Fix | Delete
$output = $perc[0] . '% ' . $perc[1] . '%';
[583] Fix | Delete
}
[584] Fix | Delete
[585] Fix | Delete
return $output;
[586] Fix | Delete
}
[587] Fix | Delete
[588] Fix | Delete
/**
[589] Fix | Delete
* Return the correct animation css class name
[590] Fix | Delete
* @param string $effect
[591] Fix | Delete
* @return string
[592] Fix | Delete
*/
[593] Fix | Delete
public static function parse_animation_effect($settings, array $attr = array()) {
[594] Fix | Delete
/* backward compatibility for addons */
[595] Fix | Delete
if (!is_array($settings)) {
[596] Fix | Delete
return '';
[597] Fix | Delete
}
[598] Fix | Delete
static $has = null;
[599] Fix | Delete
if ($has === null) {
[600] Fix | Delete
$has = \Themify_Builder_Model::is_animation_active();
[601] Fix | Delete
}
[602] Fix | Delete
if ($has !== false) {
[603] Fix | Delete
if (!empty($settings['hover_animation_effect'])) {
[604] Fix | Delete
$attr['data-tf-animation_hover'] = $settings['hover_animation_effect'];
[605] Fix | Delete
if (isset($attr['class'])) {
[606] Fix | Delete
$attr['class'] .= ' hover-wow';
[607] Fix | Delete
} else {
[608] Fix | Delete
$attr['class'] = 'hover-wow';
[609] Fix | Delete
}
[610] Fix | Delete
if ($has !== 'done') {
[611] Fix | Delete
$has = 'load';
[612] Fix | Delete
}
[613] Fix | Delete
}
[614] Fix | Delete
if (!empty($settings['animation_effect'])) {
[615] Fix | Delete
$attr['data-tf-animation'] = $settings['animation_effect'];
[616] Fix | Delete
if (!in_array($settings['animation_effect'], array('fade-in', 'fly-in', 'slide-up'), true)) {
[617] Fix | Delete
if (isset($attr['class'])) {
[618] Fix | Delete
$attr['class'] .= ' wow';
[619] Fix | Delete
} else {
[620] Fix | Delete
$attr['class'] = 'wow';
[621] Fix | Delete
}
[622] Fix | Delete
}
[623] Fix | Delete
if (!empty($settings['animation_effect_delay'])) {
[624] Fix | Delete
$attr['data-tf-animation_delay'] = $settings['animation_effect_delay'];
[625] Fix | Delete
}
[626] Fix | Delete
if (!empty($settings['animation_effect_repeat'])) {
[627] Fix | Delete
$attr['data-tf-animation_repeat'] = $settings['animation_effect_repeat'];
[628] Fix | Delete
}
[629] Fix | Delete
if ($has !== 'done') {
[630] Fix | Delete
$has = 'load';
[631] Fix | Delete
}
[632] Fix | Delete
}
[633] Fix | Delete
if ($has === 'load') {
[634] Fix | Delete
$has = 'done';
[635] Fix | Delete
\Themify_Enqueue_Assets::preFetchAnimtion();
[636] Fix | Delete
}
[637] Fix | Delete
}
[638] Fix | Delete
return $attr;
[639] Fix | Delete
}
[640] Fix | Delete
[641] Fix | Delete
/**
[642] Fix | Delete
* Load builder modules
[643] Fix | Delete
*/
[644] Fix | Delete
public static function load_modules(string $mod_name = 'active', bool $ignore = false) {
[645] Fix | Delete
// load modules
[646] Fix | Delete
[647] Fix | Delete
if ($mod_name !== 'active' && $mod_name !== 'all') {
[648] Fix | Delete
if(isset(Themify_Builder_Model::$modules[$mod_name])){//backward will be removed in the future
[649] Fix | Delete
return Themify_Builder_Model::$modules[$mod_name];
[650] Fix | Delete
}
[651] Fix | Delete
$className=self::get_module_class($mod_name);
[652] Fix | Delete
if(class_exists($className,false)){
[653] Fix | Delete
return $className::is_available()?$className:'';
[654] Fix | Delete
}
[655] Fix | Delete
$dir = \Themify_Builder_Model::get_modules($mod_name,$ignore);
[656] Fix | Delete
[657] Fix | Delete
if($dir!==''){
[658] Fix | Delete
if($dir === true ){
[659] Fix | Delete
$dir=THEMIFY_BUILDER_MODULES_DIR;
[660] Fix | Delete
}
[661] Fix | Delete
require $dir . '/module-' . $mod_name . '.php';
[662] Fix | Delete
$className=self::get_module_class($mod_name);//the second call need for backward
[663] Fix | Delete
return isset(Themify_Builder_Model::$modules[$mod_name])?Themify_Builder_Model::$modules[$mod_name]:($className::is_available()?$className:'');
[664] Fix | Delete
}
[665] Fix | Delete
return '';
[666] Fix | Delete
}
[667] Fix | Delete
$modules=[];
[668] Fix | Delete
$items = \Themify_Builder_Model::get_modules($mod_name);
[669] Fix | Delete
foreach ($items as $m => $dir) {
[670] Fix | Delete
if ($dir === true) {
[671] Fix | Delete
$dir = THEMIFY_BUILDER_MODULES_DIR;
[672] Fix | Delete
}
[673] Fix | Delete
require_once $dir . '/module-' . $m . '.php';
[674] Fix | Delete
if(isset(Themify_Builder_Model::$modules[$m])){
[675] Fix | Delete
$item=Themify_Builder_Model::$modules[$m];
[676] Fix | Delete
}else{
[677] Fix | Delete
$className=self::get_module_class($m);
[678] Fix | Delete
if(!$className::is_available()){
[679] Fix | Delete
continue;
[680] Fix | Delete
}
[681] Fix | Delete
$item=$className;
[682] Fix | Delete
}
[683] Fix | Delete
$modules[$m]=$item;
[684] Fix | Delete
}
[685] Fix | Delete
return $modules;
[686] Fix | Delete
}
[687] Fix | Delete
[688] Fix | Delete
public static function get_modules_assets():array {
[689] Fix | Delete
return self::$assets;
[690] Fix | Delete
}
[691] Fix | Delete
[692] Fix | Delete
public static function add_modules_assets($k, $item):void {
[693] Fix | Delete
self::$assets[$k] = $item;
[694] Fix | Delete
}
[695] Fix | Delete
[696] Fix | Delete
public static function render(string $slug, string $mod_id, $builder_id, array &$settings = array(), bool $echo = false) {
[697] Fix | Delete
$template = $slug === 'highlight' || $slug === 'testimonial' || $slug === 'post' || $slug === 'portfolio' ? 'blog' : $slug;
[698] Fix | Delete
[699] Fix | Delete
$vars = array(
[700] Fix | Delete
'module_ID' => $mod_id,
[701] Fix | Delete
'mod_name' => $slug,
[702] Fix | Delete
'builder_id' => $builder_id,
[703] Fix | Delete
'mod_settings' => $settings
[704] Fix | Delete
);
[705] Fix | Delete
$vars = apply_filters('themify_builder_module_render_vars', $vars, $slug);
[706] Fix | Delete
[707] Fix | Delete
return self::retrieve_template('template-' . $template . '.php', $vars, '', '', $echo);
[708] Fix | Delete
}
[709] Fix | Delete
[710] Fix | Delete
/**
[711] Fix | Delete
* If there's not an options tab in Themify Custom Panel meta box already defined for this post type, like "Portfolio Options", add one.
[712] Fix | Delete
*
[713] Fix | Delete
* @since 2.3.8
[714] Fix | Delete
*
[715] Fix | Delete
* @param array $meta_boxes
[716] Fix | Delete
*
[717] Fix | Delete
* @return array
[718] Fix | Delete
*/
[719] Fix | Delete
public static function cpt_meta_boxes(array $meta_boxes = array()):array {
[720] Fix | Delete
Themify_Builder_Model::load_general_metabox(); // setup common fields
[721] Fix | Delete
[722] Fix | Delete
$meta_box_id = static::SLUG . '-options';
[723] Fix | Delete
if (!in_array($meta_box_id, wp_list_pluck($meta_boxes, 'id'), true)) {
[724] Fix | Delete
$options = static::get_metabox();
[725] Fix | Delete
if (!empty($options)) {
[726] Fix | Delete
$meta_boxes = array_merge($meta_boxes, array(
[727] Fix | Delete
array(
[728] Fix | Delete
'name' => sprintf(__('%s Options', 'themify'), self::get_module_name()),
[729] Fix | Delete
'id' => $meta_box_id,
[730] Fix | Delete
'options' => $options,
[731] Fix | Delete
'pages' => static::SLUG
[732] Fix | Delete
)
[733] Fix | Delete
));
[734] Fix | Delete
}
[735] Fix | Delete
}
[736] Fix | Delete
[737] Fix | Delete
return $meta_boxes;
[738] Fix | Delete
}
[739] Fix | Delete
[740] Fix | Delete
public static function get_module_title(array $fields_args,string $key = 'mod_title'):string {
[741] Fix | Delete
if (isset($fields_args[$key]) && $fields_args[$key] !== '') {
[742] Fix | Delete
$titleTag=apply_filters('themify_builder_module_title_tag', 'h3');
[743] Fix | Delete
$startTag='<'.$titleTag.' class="module-title"';
[744] Fix | Delete
if($key!=='' && (Themify_Builder::$frontedit_active === true || Themify_Builder_Model::is_front_builder_activate())){
[745] Fix | Delete
$startTag.=' data-name="'.$key.'" contenteditable="false"';
[746] Fix | Delete
}
[747] Fix | Delete
return $startTag .'>'. $fields_args[$key] . '</'.$titleTag.'>';
[748] Fix | Delete
}
[749] Fix | Delete
return '';
[750] Fix | Delete
}
[751] Fix | Delete
[752] Fix | Delete
[753] Fix | Delete
[754] Fix | Delete
/**
[755] Fix | Delete
* Get query page
[756] Fix | Delete
*/
[757] Fix | Delete
public static function get_paged_query():int {
[758] Fix | Delete
global $wp;
[759] Fix | Delete
if (isset($_GET['tf-page']) && is_numeric($_GET['tf-page'])) {
[760] Fix | Delete
$page = (int) $_GET['tf-page'];
[761] Fix | Delete
}
[762] Fix | Delete
else {
[763] Fix | Delete
$qpaged = get_query_var('paged');
[764] Fix | Delete
if (!empty($qpaged)) {
[765] Fix | Delete
$page = (int)$qpaged;
[766] Fix | Delete
}
[767] Fix | Delete
else {
[768] Fix | Delete
$qpaged = wp_parse_args($wp->matched_query);
[769] Fix | Delete
$page = isset($qpaged['paged']) && $qpaged['paged'] > 0?(int)$qpaged['paged']:1;
[770] Fix | Delete
}
[771] Fix | Delete
}
[772] Fix | Delete
return $page;
[773] Fix | Delete
}
[774] Fix | Delete
[775] Fix | Delete
public static function query(array $args):WP_Query {
[776] Fix | Delete
$isPaged = isset($args['paged']) && $args['paged'] > 1;
[777] Fix | Delete
$hasSticky = isset($args['ignore_sticky_posts']) && $args['ignore_sticky_posts'] === false;
[778] Fix | Delete
$maxPage = (int) $args['posts_per_page'];
[779] Fix | Delete
if ($hasSticky === true) {
[780] Fix | Delete
$sticky_posts = get_option('sticky_posts');
[781] Fix | Delete
if (empty($sticky_posts)) {
[782] Fix | Delete
$hasSticky = false;
[783] Fix | Delete
} else {
[784] Fix | Delete
$sticky_posts = array_slice($sticky_posts, 0, $maxPage);
[785] Fix | Delete
}
[786] Fix | Delete
}
[787] Fix | Delete
if ($hasSticky === true && $isPaged === false) {
[788] Fix | Delete
$params = array(
[789] Fix | Delete
'post_status' => 'publish',
[790] Fix | Delete
'post_type' => $args['post_type'],
[791] Fix | Delete
'post__in' => $sticky_posts,
[792] Fix | Delete
'orderby' => 'post__in',
[793] Fix | Delete
'posts_per_page' => $maxPage,
[794] Fix | Delete
'ignore_sticky_posts' => true
[795] Fix | Delete
);
[796] Fix | Delete
if (isset($args['tax_query'])) {
[797] Fix | Delete
$params['tax_query'] = $args['tax_query'];
[798] Fix | Delete
}
[799] Fix | Delete
if (isset($args['meta_key'])) {
[800] Fix | Delete
$params['meta_key'] = $args['meta_key'];
[801] Fix | Delete
}
[802] Fix | Delete
if (isset($args['post__not_in'])) {
[803] Fix | Delete
$params['post__not_in'] = $args['post__not_in'];
[804] Fix | Delete
}
[805] Fix | Delete
$the_query = new WP_Query($params);
[806] Fix | Delete
if ($the_query->post_count < $maxPage) {
[807] Fix | Delete
if (isset($args['post__not_in'])) {
[808] Fix | Delete
$args['post__not_in'] = array_merge($args['post__not_in'],$sticky_posts);;
[809] Fix | Delete
} else {
[810] Fix | Delete
$args['post__not_in'] = $sticky_posts;
[811] Fix | Delete
}
[812] Fix | Delete
$args['ignore_sticky_posts'] = true;
[813] Fix | Delete
$args['posts_per_page'] = $maxPage - $the_query->post_count;
[814] Fix | Delete
$q = new WP_Query($args);
[815] Fix | Delete
$the_query->found_posts = $q->found_posts;
[816] Fix | Delete
$the_query->posts = array_merge($the_query->posts, $q->posts);
[817] Fix | Delete
$the_query->post_count = count($the_query->posts);
[818] Fix | Delete
$the_query->max_num_pages = ceil($the_query->found_posts / $maxPage);
[819] Fix | Delete
unset($q, $args);
[820] Fix | Delete
}
[821] Fix | Delete
} else {
[822] Fix | Delete
if ($isPaged === true && $hasSticky === true) {
[823] Fix | Delete
if (isset($args['post__not_in'])) {
[824] Fix | Delete
$args['post__not_in']= array_merge($args['post__not_in'],$sticky_posts);
[825] Fix | Delete
} else {
[826] Fix | Delete
$args['post__not_in'] = $sticky_posts;
[827] Fix | Delete
}
[828] Fix | Delete
}
[829] Fix | Delete
$the_query = new WP_Query($args);
[830] Fix | Delete
}
[831] Fix | Delete
[832] Fix | Delete
return $the_query;
[833] Fix | Delete
}
[834] Fix | Delete
[835] Fix | Delete
/**
[836] Fix | Delete
* Returns Pagination
[837] Fix | Delete
* @param string Markup to show before pagination links
[838] Fix | Delete
* @param string Markup to show after pagination links
[839] Fix | Delete
* @param object WordPress query object to use
[840] Fix | Delete
* @param original_offset number of posts configured to skip over
[841] Fix | Delete
* @return string
[842] Fix | Delete
*/
[843] Fix | Delete
public static function get_pagination($before = '', $after = '', $query = false, $original_offset = 0, $max_page = 0, $paged = 0):string {
[844] Fix | Delete
if (false == $query) {
[845] Fix | Delete
global $wp_query;
[846] Fix | Delete
$query = $wp_query;
[847] Fix | Delete
}
[848] Fix | Delete
if ($paged === 0) {
[849] Fix | Delete
$paged = (int) self::get_paged_query();
[850] Fix | Delete
}
[851] Fix | Delete
if ($max_page === 0) {
[852] Fix | Delete
$numposts = $query->found_posts;
[853] Fix | Delete
$original_offset = (int) $original_offset;
[854] Fix | Delete
// $query->found_posts does not take offset into account, we need to manually adjust that
[855] Fix | Delete
if ($original_offset > 0) {
[856] Fix | Delete
$numposts -= $original_offset;
[857] Fix | Delete
}
[858] Fix | Delete
$max_page = ceil($numposts / $query->query_vars['posts_per_page']);
[859] Fix | Delete
}
[860] Fix | Delete
if ($max_page > 1) {
[861] Fix | Delete
Themify_Builder_Model::loadCssModules('pagenav', THEMIFY_BUILDER_CSS_MODULES . 'pagenav.css', THEMIFY_VERSION);
[862] Fix | Delete
if (!is_string($query) && is_single()) {
[863] Fix | Delete
$query = 'tf-page';
[864] Fix | Delete
}
[865] Fix | Delete
}
[866] Fix | Delete
return themify_get_pagenav($before, $after, $query, $max_page, $paged);
[867] Fix | Delete
}
[868] Fix | Delete
[869] Fix | Delete
[870] Fix | Delete
[871] Fix | Delete
[872] Fix | Delete
/**
[873] Fix | Delete
* Get template for module
[874] Fix | Delete
* @param $mod
[875] Fix | Delete
* @param int $builder_id
[876] Fix | Delete
* @param bool $echo
[877] Fix | Delete
* @return string
[878] Fix | Delete
*/
[879] Fix | Delete
public static function template(array &$mod, $builder_id = 0,bool $echo = true) {
[880] Fix | Delete
if (Themify_Builder::$frontedit_active === false) {
[881] Fix | Delete
/* allow addons to control the display of the modules */
[882] Fix | Delete
$display = apply_filters('themify_builder_module_display', true, $mod, $builder_id);
[883] Fix | Delete
if (false === $display || ( isset($mod['mod_settings']['visibility_all']) && $mod['mod_settings']['visibility_all'] === 'hide_all' )) {
[884] Fix | Delete
return '';
[885] Fix | Delete
}
[886] Fix | Delete
}
[887] Fix | Delete
if (!isset($mod['mod_name'])) {
[888] Fix | Delete
return '';
[889] Fix | Delete
}
[890] Fix | Delete
$output = '';
[891] Fix | Delete
$slug = $mod['mod_name'];
[892] Fix | Delete
static $isLoaded = array();
[893] Fix | Delete
self::$isFirstModule = false;
[894] Fix | Delete
if (!isset($isLoaded[$slug])) {//load only the modules in the page
[895] Fix | Delete
$module = self::load_modules($slug);
[896] Fix | Delete
if($module===''){// check whether module active or not
[897] Fix | Delete
return '';
[898] Fix | Delete
}
[899] Fix | Delete
$isLoaded[$slug] = true;
[900] Fix | Delete
if (Themify_Builder::$frontedit_active === false && empty($mod['mod_settings']['_render_plain_content'])) {
[901] Fix | Delete
$assets = \is_string($module) ? $module::get_js_css() : $module->get_assets();
[902] Fix | Delete
static $count = 0; //only need to load the modules styles in concate for the first 2 modules to show LCP asap,even if they should load as async
[903] Fix | Delete
if (!empty($assets)) {
[904] Fix | Delete
$ver = isset($assets['ver']) ? $assets['ver'] : THEMIFY_VERSION;
[905] Fix | Delete
self::$isFirstModule = $count < 2;
[906] Fix | Delete
if (isset($assets['css']) && ($count < 2 || !isset($assets['async']))) {
[907] Fix | Delete
if ($echo === true) {
[908] Fix | Delete
$assets['css'] = (array) $assets['css'];
[909] Fix | Delete
$content_url=content_url();
[910] Fix | Delete
foreach ($assets['css'] as $k => $s) {
[911] Fix | Delete
$key = is_int($k) ? $slug : $k;
[912] Fix | Delete
if ($s === 1) {
[913] Fix | Delete
$s = THEMIFY_BUILDER_CSS_MODULES . $slug . '.css';
[914] Fix | Delete
} else {
[915] Fix | Delete
if (\strpos($s, 'http') === false && \strpos($s,$content_url)===false) {
[916] Fix | Delete
$s = THEMIFY_BUILDER_CSS_MODULES . $s;
[917] Fix | Delete
}
[918] Fix | Delete
if (\strpos($s, '.css') === false) {
[919] Fix | Delete
$s .= '.css';
[920] Fix | Delete
}
[921] Fix | Delete
}
[922] Fix | Delete
\Themify_Builder_Model::loadCssModules($key, $s, $ver);
[923] Fix | Delete
}
[924] Fix | Delete
}
[925] Fix | Delete
unset($assets['css']);
[926] Fix | Delete
}
[927] Fix | Delete
if (isset($assets['js']) || isset($assets['css'])) {
[928] Fix | Delete
if (self::$isFirstModule === true && isset($assets['js'])) {
[929] Fix | Delete
$u = $assets['js'];
[930] Fix | Delete
if ($u === 1) {
[931] Fix | Delete
$u = THEMIFY_BUILDER_JS_MODULES . $slug . '.js';
[932] Fix | Delete
} else {
[933] Fix | Delete
if (\strpos($u, 'http') === false && \strpos($s, content_url())===false) {
[934] Fix | Delete
$u = THEMIFY_BUILDER_JS_MODULES . $u;
[935] Fix | Delete
}
[936] Fix | Delete
if (\strpos($u, '.js') === false) {
[937] Fix | Delete
$u .= '.js';
[938] Fix | Delete
}
[939] Fix | Delete
}
[940] Fix | Delete
\Themify_Enqueue_Assets::addPrefetchJs($u, $ver);
[941] Fix | Delete
}
[942] Fix | Delete
unset($assets['async']);
[943] Fix | Delete
self::$assets[$slug] = $assets;
[944] Fix | Delete
}
[945] Fix | Delete
if ($slug === 'feature' || $slug === 'menu' || $slug === 'tab' || $slug === 'accordion') {
[946] Fix | Delete
\Themify_Enqueue_Assets::addPrefetchJs(THEMIFY_BUILDER_JS_MODULES . $slug . '.js', $ver);
[947] Fix | Delete
}
[948] Fix | Delete
unset($assets, $ver);
[949] Fix | Delete
}
[950] Fix | Delete
++$count;
[951] Fix | Delete
}
[952] Fix | Delete
}
[953] Fix | Delete
$mod['mod_settings'] = isset($mod['mod_settings']) ? $mod['mod_settings'] : array();
[954] Fix | Delete
if ($echo !== true) {
[955] Fix | Delete
$output .= PHP_EOL; // add line break
[956] Fix | Delete
ob_start();
[957] Fix | Delete
}
[958] Fix | Delete
do_action('themify_builder_background_styling', $builder_id, array('styling' => $mod['mod_settings'], 'mod_name' => $slug, 'element_id' => $mod['element_id']), 'module', '');
[959] Fix | Delete
if ($echo !== true) {
[960] Fix | Delete
$output .= ob_get_clean() . PHP_EOL;
[961] Fix | Delete
}
[962] Fix | Delete
elseif ($slug === 'slider' && Themify_Builder::$frontedit_active === false) {
[963] Fix | Delete
$isEcho = true;
[964] Fix | Delete
$echo = false;
[965] Fix | Delete
}
[966] Fix | Delete
// render the module
[967] Fix | Delete
$res = self::render($slug, 'tb_' . $mod['element_id'], $builder_id, $mod['mod_settings'], $echo);
[968] Fix | Delete
if (!empty($res)) {
[969] Fix | Delete
$output .= $res;
[970] Fix | Delete
}
[971] Fix | Delete
if ($echo === true) {
[972] Fix | Delete
echo $output;
[973] Fix | Delete
}
[974] Fix | Delete
else {
[975] Fix | Delete
if ($slug === 'slider' && Themify_Builder::$frontedit_active === false) {
[976] Fix | Delete
$output = \themify_make_lazy($output, false);
[977] Fix | Delete
if (isset($isEcho) && $isEcho === true) {
[978] Fix | Delete
echo $output;
[979] Fix | Delete
return;
[980] Fix | Delete
}
[981] Fix | Delete
}
[982] Fix | Delete
return $output . PHP_EOL;
[983] Fix | Delete
}
[984] Fix | Delete
}
[985] Fix | Delete
[986] Fix | Delete
[987] Fix | Delete
/**
[988] Fix | Delete
* Retrieve saved settings for a module
[989] Fix | Delete
*
[990] Fix | Delete
* @return array
[991] Fix | Delete
*/
[992] Fix | Delete
public static function get_element_settings( $post_id, $element_id ):array {
[993] Fix | Delete
$data = Themify_Builder::get_builder_modules_list( $post_id );
[994] Fix | Delete
if ( ! empty( $data ) ) {
[995] Fix | Delete
foreach ( $data as $module ) {
[996] Fix | Delete
if ( isset( $module['element_id'], $module['mod_settings'] ) && $module['element_id'] === $element_id ) {
[997] Fix | Delete
return $module['mod_settings'];
[998] Fix | Delete
}
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function