Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/revslide.../includes
File: slide.class.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* @author ThemePunch <info@themepunch.com>
[2] Fix | Delete
* @link https://www.themepunch.com/
[3] Fix | Delete
* @copyright 2024 ThemePunch
[4] Fix | Delete
*/
[5] Fix | Delete
[6] Fix | Delete
if(!defined('ABSPATH')) exit();
[7] Fix | Delete
[8] Fix | Delete
class RevSliderSlide extends RevSliderFunctions {
[9] Fix | Delete
[10] Fix | Delete
private $id;
[11] Fix | Delete
private $slider_id;
[12] Fix | Delete
private $slider;
[13] Fix | Delete
private $order;
[14] Fix | Delete
private $layers = array();
[15] Fix | Delete
private $bglayer = array();
[16] Fix | Delete
public $params;
[17] Fix | Delete
public $children = array();
[18] Fix | Delete
public $image_id;
[19] Fix | Delete
public $image_url;
[20] Fix | Delete
public $image_path;
[21] Fix | Delete
public $image_filename;
[22] Fix | Delete
private $image_thumb;
[23] Fix | Delete
public $image_filepath;
[24] Fix | Delete
public $settings;
[25] Fix | Delete
public $post_data;
[26] Fix | Delete
private $template_id;
[27] Fix | Delete
public $ignore_alt = false;
[28] Fix | Delete
public $img_sizes = [];
[29] Fix | Delete
public $v7 = false;
[30] Fix | Delete
[31] Fix | Delete
private $static_slide = false;
[32] Fix | Delete
[33] Fix | Delete
/**
[34] Fix | Delete
* used to determinate if we need to init the layers of the Slides
[35] Fix | Delete
* can cause heavy ram usage on slider overview page if we have 100+ Sliders
[36] Fix | Delete
**/
[37] Fix | Delete
public $init_layer = true;
[38] Fix | Delete
[39] Fix | Delete
[40] Fix | Delete
/**
[41] Fix | Delete
* START: DEPRECATED FUNCTIONS THAT ARE IN HERE FOR OLD ADDONS TO WORK PROPERLY
[42] Fix | Delete
**/
[43] Fix | Delete
[44] Fix | Delete
/**
[45] Fix | Delete
* old version of get_id();
[46] Fix | Delete
* added for compatibility with old AddOns
[47] Fix | Delete
**/
[48] Fix | Delete
public function getID(){
[49] Fix | Delete
$this->add_deprecation_message('getID', 'get_id');
[50] Fix | Delete
return $this->get_id();
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
/**
[54] Fix | Delete
* old version of get_slider_id();
[55] Fix | Delete
* added for compatibility with old AddOns
[56] Fix | Delete
**/
[57] Fix | Delete
public function getSliderID(){
[58] Fix | Delete
$this->add_deprecation_message('getSliderID', 'get_slider_id');
[59] Fix | Delete
return $this->get_slider_id();
[60] Fix | Delete
}
[61] Fix | Delete
[62] Fix | Delete
/**
[63] Fix | Delete
* old version of $this->image_url;
[64] Fix | Delete
* added for compatibility with old AddOns
[65] Fix | Delete
**/
[66] Fix | Delete
public function getImageUrl(){
[67] Fix | Delete
$this->add_deprecation_message('getImageUrl', '$this->image_url');
[68] Fix | Delete
return $this->image_url;
[69] Fix | Delete
}
[70] Fix | Delete
[71] Fix | Delete
/**
[72] Fix | Delete
* old version of RevSliderSlide->getLayers()
[73] Fix | Delete
**/
[74] Fix | Delete
public function getLayers(){
[75] Fix | Delete
$this->add_deprecation_message('getLayers', 'get_layers');
[76] Fix | Delete
return $this->get_layers();
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
/**
[80] Fix | Delete
* old version of RevSliderSlide->set_layers_raw()
[81] Fix | Delete
**/
[82] Fix | Delete
public function setLayersRaw($layers){
[83] Fix | Delete
$this->add_deprecation_message('setLayersRaw', 'set_layers_raw');
[84] Fix | Delete
$this->set_layers_raw($layers);
[85] Fix | Delete
}
[86] Fix | Delete
[87] Fix | Delete
/**
[88] Fix | Delete
* old version of RevSliderSlide->save_layers()
[89] Fix | Delete
*/
[90] Fix | Delete
public function saveLayers(){
[91] Fix | Delete
$this->add_deprecation_message('saveLayers', 'save_layers');
[92] Fix | Delete
$this->save_layers();
[93] Fix | Delete
}
[94] Fix | Delete
[95] Fix | Delete
/**
[96] Fix | Delete
* old version of RevSliderSlide->get_val()
[97] Fix | Delete
* @param string $name
[98] Fix | Delete
* @param string $default
[99] Fix | Delete
* @return string
[100] Fix | Delete
*/
[101] Fix | Delete
public function getParam($name, $default = null){
[102] Fix | Delete
$this->add_deprecation_message('getParam', 'get_val');
[103] Fix | Delete
if($default === null){
[104] Fix | Delete
$default = '';
[105] Fix | Delete
}
[106] Fix | Delete
[107] Fix | Delete
return $this->get_val($this->params, $name, $default);
[108] Fix | Delete
}
[109] Fix | Delete
[110] Fix | Delete
/**
[111] Fix | Delete
* END: DEPRECATED FUNCTIONS THAT ARE IN HERE FOR OLD ADDONS TO WORK PROPERLY
[112] Fix | Delete
**/
[113] Fix | Delete
[114] Fix | Delete
/**
[115] Fix | Delete
* get the current slide id
[116] Fix | Delete
* before: RevSliderSlide::getID();
[117] Fix | Delete
*/
[118] Fix | Delete
public function get_id(){
[119] Fix | Delete
return $this->id;
[120] Fix | Delete
}
[121] Fix | Delete
[122] Fix | Delete
/**
[123] Fix | Delete
* set slide ID
[124] Fix | Delete
* before: RevSliderSlide::setID();
[125] Fix | Delete
* @param int $id
[126] Fix | Delete
*/
[127] Fix | Delete
public function set_id($id){
[128] Fix | Delete
$this->id = $id;
[129] Fix | Delete
}
[130] Fix | Delete
[131] Fix | Delete
/**
[132] Fix | Delete
* get slide title
[133] Fix | Delete
* @before: RevSliderSlide::getTitle();
[134] Fix | Delete
*/
[135] Fix | Delete
public function get_title(){
[136] Fix | Delete
return $this->get_param('title', 'Slide');
[137] Fix | Delete
}
[138] Fix | Delete
[139] Fix | Delete
/**
[140] Fix | Delete
* get the slider id of the current slide
[141] Fix | Delete
* before: RevSliderSlide::getSliderID()
[142] Fix | Delete
*/
[143] Fix | Delete
public function get_slider_id(){
[144] Fix | Delete
return $this->slider_id;
[145] Fix | Delete
}
[146] Fix | Delete
[147] Fix | Delete
/**
[148] Fix | Delete
* returns if the Slide is a static slide or not
[149] Fix | Delete
*/
[150] Fix | Delete
public function is_static_slide(){
[151] Fix | Delete
return $this->static_slide;
[152] Fix | Delete
}
[153] Fix | Delete
[154] Fix | Delete
/**
[155] Fix | Delete
* get array of children id's
[156] Fix | Delete
* @before: RevSliderSlide::getArrChildrenIDs();
[157] Fix | Delete
*/
[158] Fix | Delete
public function get_child_ids(){
[159] Fix | Delete
$ids = array();
[160] Fix | Delete
$children = $this->get_children();
[161] Fix | Delete
if(!empty($children)){
[162] Fix | Delete
foreach($children as $child){
[163] Fix | Delete
$ids[] = $child->get_id();
[164] Fix | Delete
}
[165] Fix | Delete
}
[166] Fix | Delete
[167] Fix | Delete
return $ids;
[168] Fix | Delete
}
[169] Fix | Delete
[170] Fix | Delete
/**
[171] Fix | Delete
* get slide order
[172] Fix | Delete
* before: RevSliderSlide::getOrder()
[173] Fix | Delete
*/
[174] Fix | Delete
public function get_order(){
[175] Fix | Delete
return $this->order;
[176] Fix | Delete
}
[177] Fix | Delete
[178] Fix | Delete
/**
[179] Fix | Delete
* get slide settings
[180] Fix | Delete
* @since: 5.0
[181] Fix | Delete
* before: RevSliderSlide::getSettings()
[182] Fix | Delete
*/
[183] Fix | Delete
public function get_settings(){
[184] Fix | Delete
return apply_filters('revslider_slide_get_settings', apply_filters('revslider_slide_getSettings', $this->settings, $this), $this);
[185] Fix | Delete
}
[186] Fix | Delete
[187] Fix | Delete
/**
[188] Fix | Delete
* set slide params
[189] Fix | Delete
* before: RevSliderSlide::setParams()
[190] Fix | Delete
*/
[191] Fix | Delete
public function set_params($params){
[192] Fix | Delete
$this->params = $params;
[193] Fix | Delete
}
[194] Fix | Delete
[195] Fix | Delete
/**
[196] Fix | Delete
* get slide params
[197] Fix | Delete
* before: RevSliderSlide::getParams()
[198] Fix | Delete
*/
[199] Fix | Delete
public function get_params(){
[200] Fix | Delete
return apply_filters('revslider_slide_get_params', apply_filters('revslider_slide_getParams', $this->params, $this), $this);
[201] Fix | Delete
}
[202] Fix | Delete
[203] Fix | Delete
/**
[204] Fix | Delete
* get slide layers
[205] Fix | Delete
* before: RevSliderSlide::getLayers()
[206] Fix | Delete
*/
[207] Fix | Delete
public function get_layers($modified = false){
[208] Fix | Delete
$layers = apply_filters('revslider_get_layers', apply_filters('revslider_getLayers', $this->layers, $this), $this);
[209] Fix | Delete
if($modified !== false) $layers = $this->modify_layers($layers);
[210] Fix | Delete
[211] Fix | Delete
return $layers;
[212] Fix | Delete
}
[213] Fix | Delete
[214] Fix | Delete
/**
[215] Fix | Delete
* used to modify layers only for frontend output
[216] Fix | Delete
* as of now it is unused as qTranslate is gone but may be needed later on
[217] Fix | Delete
*/
[218] Fix | Delete
public function modify_layers($layers = array()){
[219] Fix | Delete
return $layers; //currently only returning layers, if changes need to be done remove this part and change layers before returning them
[220] Fix | Delete
[221] Fix | Delete
$layers = (empty($layers)) ? $this->layers : $layers;
[222] Fix | Delete
[223] Fix | Delete
foreach($layers ?? [] as $k => $layer){
[224] Fix | Delete
$layers[$k] = $layer;
[225] Fix | Delete
}
[226] Fix | Delete
[227] Fix | Delete
return $layers;
[228] Fix | Delete
}
[229] Fix | Delete
[230] Fix | Delete
/**
[231] Fix | Delete
* set layers from client, do not normalize as this results in loosing the order
[232] Fix | Delete
* @since: 5.0
[233] Fix | Delete
* @before: RevSliderSlide::setLayersRaw()
[234] Fix | Delete
*/
[235] Fix | Delete
public function set_layers_raw($layers){
[236] Fix | Delete
$this->layers = $layers;
[237] Fix | Delete
}
[238] Fix | Delete
[239] Fix | Delete
/**
[240] Fix | Delete
* get thumb url
[241] Fix | Delete
* @before: RevSliderSlide::getThumbUrl();
[242] Fix | Delete
*/
[243] Fix | Delete
public function get_thumb_url(){
[244] Fix | Delete
return (!empty($this->image_thumb)) ? $this->image_thumb : $this->image_url;
[245] Fix | Delete
}
[246] Fix | Delete
[247] Fix | Delete
/**
[248] Fix | Delete
* get layers in json format
[249] Fix | Delete
* since: 5.0
[250] Fix | Delete
* @before: RevSliderSlide::getLayerID_by_unique_id()
[251] Fix | Delete
*/
[252] Fix | Delete
public function get_layer_id_by_uid($uid, $static_slide){
[253] Fix | Delete
if(strpos($uid, 'static-') !== false){
[254] Fix | Delete
$uid = str_replace('static-', '', $uid);
[255] Fix | Delete
$layers = $static_slide->get_layers();
[256] Fix | Delete
if(!empty($layers)){
[257] Fix | Delete
foreach($layers as $l){
[258] Fix | Delete
$nuid = $this->get_val($l, 'uid');
[259] Fix | Delete
if($nuid == $uid){
[260] Fix | Delete
return $this->get_val($l, array('attributes', 'id'));
[261] Fix | Delete
}
[262] Fix | Delete
}
[263] Fix | Delete
}
[264] Fix | Delete
}else{
[265] Fix | Delete
if(!empty($this->layers)){
[266] Fix | Delete
foreach($this->layers as $l){
[267] Fix | Delete
$nuid = $this->get_val($l, 'uid');
[268] Fix | Delete
if($uid == $nuid){
[269] Fix | Delete
return $this->get_val($l, array('attributes', 'id'));
[270] Fix | Delete
}
[271] Fix | Delete
}
[272] Fix | Delete
}
[273] Fix | Delete
}
[274] Fix | Delete
[275] Fix | Delete
return '';
[276] Fix | Delete
}
[277] Fix | Delete
[278] Fix | Delete
[279] Fix | Delete
/**
[280] Fix | Delete
* get slider param
[281] Fix | Delete
* @before: RevSliderSlide::getSliderParam();
[282] Fix | Delete
*/
[283] Fix | Delete
private function get_slider_param($slider_id, $name, $default, $validate = null){
[284] Fix | Delete
[285] Fix | Delete
if(empty($this->slider)){
[286] Fix | Delete
$this->slider = new RevSliderSlider();
[287] Fix | Delete
$this->slider->init_by_id($slider_id);
[288] Fix | Delete
}
[289] Fix | Delete
[290] Fix | Delete
return $this->slider->get_param($name, $default);
[291] Fix | Delete
}
[292] Fix | Delete
[293] Fix | Delete
/**
[294] Fix | Delete
* get the overview data of a slide
[295] Fix | Delete
* @since: 6.1.2
[296] Fix | Delete
* @return array
[297] Fix | Delete
*/
[298] Fix | Delete
public function get_overview_data(){
[299] Fix | Delete
return array(
[300] Fix | Delete
'id' => $this->get_id(),
[301] Fix | Delete
'order' => $this->get_order(),
[302] Fix | Delete
'title' => $this->get_title(),
[303] Fix | Delete
'state' => $this->get_param(array('publish', 'state'), 'published'),
[304] Fix | Delete
'customAdminThumbSrc' => $this->get_overview_image_attributes('gallery')
[305] Fix | Delete
);
[306] Fix | Delete
}
[307] Fix | Delete
[308] Fix | Delete
/**
[309] Fix | Delete
* get the id of the static slide
[310] Fix | Delete
* before: RevSliderSlide::getStaticSlideID()
[311] Fix | Delete
* @param int $slider_id
[312] Fix | Delete
* @return mixed
[313] Fix | Delete
*/
[314] Fix | Delete
public function get_static_slide_id($slider_id){
[315] Fix | Delete
global $wpdb, $SR_GLOBALS;
[316] Fix | Delete
[317] Fix | Delete
$slide = array();
[318] Fix | Delete
if(!empty($slider_id)){
[319] Fix | Delete
if($SR_GLOBALS['use_table_version'] === 7){
[320] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_SLIDES . "7 WHERE slider_id = %d AND static = 1", $slider_id), ARRAY_A);
[321] Fix | Delete
}else{
[322] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_STATIC_SLIDES . " WHERE slider_id = %d", $slider_id), ARRAY_A);
[323] Fix | Delete
}
[324] Fix | Delete
}
[325] Fix | Delete
[326] Fix | Delete
return (empty($slide)) ? false : $this->get_val($slide, 'id', false);
[327] Fix | Delete
}
[328] Fix | Delete
[329] Fix | Delete
/**
[330] Fix | Delete
* combine get_static_slide_id & init_by_id into one function to avoid duplicated queries
[331] Fix | Delete
* @since: 6.4.6
[332] Fix | Delete
* @param int $slider_id
[333] Fix | Delete
* @return bool
[334] Fix | Delete
*/
[335] Fix | Delete
public function init_static_slide_by_slider_id($slider_id){
[336] Fix | Delete
global $wpdb, $SR_GLOBALS;
[337] Fix | Delete
[338] Fix | Delete
if(empty($slider_id)) return false;
[339] Fix | Delete
[340] Fix | Delete
if($SR_GLOBALS['use_table_version'] === 7){
[341] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_SLIDES . "7 WHERE slider_id = %d AND static = 1", $slider_id), ARRAY_A);
[342] Fix | Delete
}else{
[343] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_STATIC_SLIDES . " WHERE slider_id = %d", $slider_id), ARRAY_A);
[344] Fix | Delete
}
[345] Fix | Delete
if(empty($slide)) return false;
[346] Fix | Delete
[347] Fix | Delete
$this->init_by_data($slide);
[348] Fix | Delete
$this->set_val($this->params, array('static', 'isstatic'), true);
[349] Fix | Delete
$this->static_slide = true;
[350] Fix | Delete
[351] Fix | Delete
return true;
[352] Fix | Delete
}
[353] Fix | Delete
[354] Fix | Delete
/**
[355] Fix | Delete
* Check if Slide Exists with given ID
[356] Fix | Delete
* @since: 5.0
[357] Fix | Delete
* @before: RevSliderSlide::isSlideByID();
[358] Fix | Delete
* @param int $slideid
[359] Fix | Delete
* @return bool
[360] Fix | Delete
*/
[361] Fix | Delete
public function exist_by_id($slideid){
[362] Fix | Delete
global $wpdb, $SR_GLOBALS;
[363] Fix | Delete
[364] Fix | Delete
try{
[365] Fix | Delete
if(strpos($slideid, 'static_') !== false){
[366] Fix | Delete
$slide_id = str_replace('static_', '', $slideid);
[367] Fix | Delete
$this->validate_numeric($slide_id, __('Slide ID', 'revslider'));
[368] Fix | Delete
if($SR_GLOBALS['use_table_version'] === 7){
[369] Fix | Delete
$record = $wpdb->get_row($wpdb->prepare("SELECT id FROM ". $wpdb->prefix . RevSliderFront::TABLE_SLIDES . "7 WHERE id = %d AND static = 1", $slide_id), ARRAY_A);
[370] Fix | Delete
}else{
[371] Fix | Delete
$record = $wpdb->get_row($wpdb->prepare("SELECT id FROM ". $wpdb->prefix . RevSliderFront::TABLE_STATIC_SLIDES . " WHERE id = %d", $slide_id), ARRAY_A);
[372] Fix | Delete
}
[373] Fix | Delete
}else{
[374] Fix | Delete
$v = ($SR_GLOBALS['use_table_version'] === 7) ? '7' : '';
[375] Fix | Delete
$record = $wpdb->get_row($wpdb->prepare("SELECT id FROM ". $wpdb->prefix . RevSliderFront::TABLE_SLIDES . $v ." WHERE id = %d", $slideid), ARRAY_A);
[376] Fix | Delete
}
[377] Fix | Delete
}catch(Exception $e){
[378] Fix | Delete
return false;
[379] Fix | Delete
}
[380] Fix | Delete
[381] Fix | Delete
return (empty($record)) ? false : true;
[382] Fix | Delete
}
[383] Fix | Delete
[384] Fix | Delete
/**
[385] Fix | Delete
* initialize a slide by id
[386] Fix | Delete
* before: RevSliderSlide::initByID();
[387] Fix | Delete
* @param int $slide_id
[388] Fix | Delete
*/
[389] Fix | Delete
public function init_by_id($slide_id){
[390] Fix | Delete
global $wpdb, $SR_GLOBALS;
[391] Fix | Delete
[392] Fix | Delete
$v = ($SR_GLOBALS['use_table_version'] === 7) ? '7' : '';
[393] Fix | Delete
[394] Fix | Delete
try{
[395] Fix | Delete
if(strpos($slide_id, 'static_') !== false){
[396] Fix | Delete
$this->static_slide = true;
[397] Fix | Delete
$static_id = str_replace('static_', '', $slide_id);
[398] Fix | Delete
[399] Fix | Delete
$this->validate_numeric($static_id, 'Static Slide ID');
[400] Fix | Delete
if($SR_GLOBALS['use_table_version'] === 7){
[401] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ". $wpdb->prefix . RevSliderFront::TABLE_SLIDES . "7 WHERE id = %d AND static = 1", $static_id), ARRAY_A);
[402] Fix | Delete
}else{
[403] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ". $wpdb->prefix . RevSliderFront::TABLE_STATIC_SLIDES . " WHERE id = %d", $static_id), ARRAY_A);
[404] Fix | Delete
}
[405] Fix | Delete
}else{
[406] Fix | Delete
$this->static_slide = false;
[407] Fix | Delete
$this->validate_numeric($slide_id, 'Slide ID');
[408] Fix | Delete
$slide = $wpdb->get_row($wpdb->prepare("SELECT * FROM ". $wpdb->prefix . RevSliderFront::TABLE_SLIDES . $v ." WHERE id = %d", $slide_id), ARRAY_A);
[409] Fix | Delete
}
[410] Fix | Delete
$this->init_by_data($slide);
[411] Fix | Delete
[412] Fix | Delete
}catch(Exception $e){
[413] Fix | Delete
echo $e->getMessage();
[414] Fix | Delete
exit;
[415] Fix | Delete
}
[416] Fix | Delete
}
[417] Fix | Delete
[418] Fix | Delete
/**
[419] Fix | Delete
* init by another slide
[420] Fix | Delete
* @before: RevSliderSlide::initBySlide();
[421] Fix | Delete
* @param RevSliderSlide $slide
[422] Fix | Delete
*/
[423] Fix | Delete
public function init_by_slide(RevSliderSlide $slide){
[424] Fix | Delete
$slide = apply_filters('revslider_slide_initBySlide', $slide, $this);
[425] Fix | Delete
[426] Fix | Delete
$this->id = 'template';
[427] Fix | Delete
$this->template_id = $slide->get_id();
[428] Fix | Delete
$this->slider_id = $slide->get_slider_id();
[429] Fix | Delete
$this->order = $slide->get_order();
[430] Fix | Delete
$this->image_url = $slide->image_url;
[431] Fix | Delete
$this->image_id = $slide->image_id;
[432] Fix | Delete
$this->image_thumb = $slide->get_thumb_url();
[433] Fix | Delete
$this->image_path = $slide->image_path;
[434] Fix | Delete
$this->image_filename = $slide->image_filename;
[435] Fix | Delete
$this->params = $slide->get_params();
[436] Fix | Delete
$this->layers = $slide->get_layers();
[437] Fix | Delete
$this->settings = $slide->get_settings();
[438] Fix | Delete
$this->children = $slide->children;
[439] Fix | Delete
}
[440] Fix | Delete
[441] Fix | Delete
public function check_create_slide($slide_id, $slider_id){
[442] Fix | Delete
if($this->exist_by_id($slide_id)) return $slide_id;
[443] Fix | Delete
[444] Fix | Delete
$static = (strpos($slide_id, 'static_') !== false) ? true : false;
[445] Fix | Delete
$slide_id = $this->create_slide($slider_id, '', $static, $slide_id);
[446] Fix | Delete
if($static === true) $slide_id = 'static_'.$slide_id;
[447] Fix | Delete
[448] Fix | Delete
return ($this->exist_by_id($slide_id)) ? $slide_id : false;
[449] Fix | Delete
}
[450] Fix | Delete
[451] Fix | Delete
/**
[452] Fix | Delete
* @param string $tag_key
[453] Fix | Delete
* @param string $default
[454] Fix | Delete
* @return void
[455] Fix | Delete
*/
[456] Fix | Delete
public function filter_layer_tags($tag_key, $default){
[457] Fix | Delete
$allowed_tags = $this->get_allowed_layer_tags();
[458] Fix | Delete
foreach($this->layers as $key => $layer){
[459] Fix | Delete
if(empty($layer[$tag_key]) || in_array($layer[$tag_key], $allowed_tags)) continue;
[460] Fix | Delete
$this->layers[$key][$tag_key] = $default;
[461] Fix | Delete
}
[462] Fix | Delete
}
[463] Fix | Delete
[464] Fix | Delete
public function filter_layer_attributes_v6(){
[465] Fix | Delete
foreach($this->layers ?? [] as $key => $layer){
[466] Fix | Delete
if(!isset($layer['attributes']) || empty($layer['attributes'])) continue;
[467] Fix | Delete
foreach($layer['attributes'] ?? [] as $aKey => $aVal){
[468] Fix | Delete
if(empty($aVal)) continue;
[469] Fix | Delete
switch($aKey){
[470] Fix | Delete
case 'title':
[471] Fix | Delete
$this->layers[$key]['attributes'][$aKey] = sanitize_text_field($aVal);
[472] Fix | Delete
break;
[473] Fix | Delete
case 'classes':
[474] Fix | Delete
case 'wrapperClasses':
[475] Fix | Delete
$this->layers[$key]['attributes'][$aKey] = (is_array($aVal)) ? implode(' ', $this->filter_class_name(explode(' ', $aVal))) : $aVal;
[476] Fix | Delete
break;
[477] Fix | Delete
case 'id':
[478] Fix | Delete
case 'wrapperId':
[479] Fix | Delete
case 'rel':
[480] Fix | Delete
$this->layers[$key]['attributes'][$aKey] = $this->filter_class_name($aVal);
[481] Fix | Delete
break;
[482] Fix | Delete
}
[483] Fix | Delete
}
[484] Fix | Delete
}
[485] Fix | Delete
}
[486] Fix | Delete
[487] Fix | Delete
public function filter_layer_attributes_v7(){
[488] Fix | Delete
foreach($this->layers ?? [] as $key => $layer){
[489] Fix | Delete
if(!isset($layer['attr']) || empty($layer['attr'])) continue;
[490] Fix | Delete
foreach($layer['attr'] ?? [] as $aKey => $aVal){
[491] Fix | Delete
if(empty($aVal)) continue;
[492] Fix | Delete
switch($aKey){
[493] Fix | Delete
case 'aO':
[494] Fix | Delete
case 't':
[495] Fix | Delete
case 'tO':
[496] Fix | Delete
$this->layers[$key]['attr'][$aKey] = sanitize_text_field($aVal);
[497] Fix | Delete
break;
[498] Fix | Delete
case 'class':
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function