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.../plugins/popup-bu.../com/classes/popups
File: SGPopup.php
[500] Fix | Delete
if (is_array($value) && isset($value['name']) && strpos($value['name'], 'sgpb') === 0) {
[501] Fix | Delete
$popupData[$value['name']] = sanitize_text_field( $value['value'] );
[502] Fix | Delete
}
[503] Fix | Delete
else if (is_array($value) && isset($value['name']) && strpos($value['name'], 'post_ID') === 0) {
[504] Fix | Delete
$popupData['sgpb-post-id'] = (int) sanitize_text_field( $value['value'] );
[505] Fix | Delete
}
[506] Fix | Delete
}
[507] Fix | Delete
[508] Fix | Delete
return $popupData;
[509] Fix | Delete
}
[510] Fix | Delete
[511] Fix | Delete
public static function create($data = array(), $saveMode = '', $firstTime = 0)
[512] Fix | Delete
{
[513] Fix | Delete
$obj = new static();
[514] Fix | Delete
$obj->setSaveMode($saveMode);
[515] Fix | Delete
$additionalData = $obj->addAdditionalSettings($data, $obj);
[516] Fix | Delete
$data = array_merge($data, $additionalData);
[517] Fix | Delete
$data = apply_filters('sgpbAdvancedOptionsDefaultValues', $data);
[518] Fix | Delete
foreach ($data as $name => $value) {
[519] Fix | Delete
if (strpos($name, 'sgpb') === 0) {
[520] Fix | Delete
$defaultData = $obj->getDefaultDataByName($name);
[521] Fix | Delete
if (empty($defaultData['type'])) {
[522] Fix | Delete
$defaultData['type'] = 'string';
[523] Fix | Delete
}
[524] Fix | Delete
$sanitizedValue = $obj->sanitizeValueByType($value, $defaultData['type']);
[525] Fix | Delete
$obj->insertIntoSanitizedData(array('name' => $name,'value' => $sanitizedValue));
[526] Fix | Delete
}
[527] Fix | Delete
}
[528] Fix | Delete
[529] Fix | Delete
$obj->setSavedPopupById($data['sgpb-post-id']);
[530] Fix | Delete
$result = $obj->save();
[531] Fix | Delete
[532] Fix | Delete
$result = apply_filters('sgpbPopupCreateResult', $result);
[533] Fix | Delete
[534] Fix | Delete
if ($result) {
[535] Fix | Delete
return $obj;
[536] Fix | Delete
}
[537] Fix | Delete
[538] Fix | Delete
return $result;
[539] Fix | Delete
}
[540] Fix | Delete
[541] Fix | Delete
public function save()
[542] Fix | Delete
{
[543] Fix | Delete
$this->convertImagesToData();
[544] Fix | Delete
$data = $this->getSanitizedData();
[545] Fix | Delete
$popupId = $data['sgpb-post-id'];
[546] Fix | Delete
[547] Fix | Delete
$this->setId($popupId);
[548] Fix | Delete
[549] Fix | Delete
if (!empty($data['sgpb-target'])) {
[550] Fix | Delete
$this->setTarget($data['sgpb-target']);
[551] Fix | Delete
/*remove from popup options because it's useless to save it twice*/
[552] Fix | Delete
unset($data['sgpb-target']);
[553] Fix | Delete
}
[554] Fix | Delete
if (!empty($data['sgpb-conditions'])) {
[555] Fix | Delete
$this->setConditions($data['sgpb-conditions']);
[556] Fix | Delete
unset($data['sgpb-conditions']);
[557] Fix | Delete
}
[558] Fix | Delete
if (!empty($data['sgpb-events'])) {
[559] Fix | Delete
$this->setEvents($data['sgpb-events']);
[560] Fix | Delete
unset($data['sgpb-events']);
[561] Fix | Delete
}
[562] Fix | Delete
[563] Fix | Delete
$data = $this->customScriptsSave($data);
[564] Fix | Delete
$this->setOptions($data);
[565] Fix | Delete
[566] Fix | Delete
$targets = $this->targetSave();
[567] Fix | Delete
$events = $this->eventsSave();
[568] Fix | Delete
$options = $this->popupOptionsSave();
[569] Fix | Delete
[570] Fix | Delete
return ($targets && $events && $options);
[571] Fix | Delete
}
[572] Fix | Delete
[573] Fix | Delete
public function convertImagesToData()
[574] Fix | Delete
{
[575] Fix | Delete
$buttonImageData = '';
[576] Fix | Delete
$savedImageUrl = '';
[577] Fix | Delete
$savedContentBackgroundImageUrl = '';
[578] Fix | Delete
$contentBackgroundImageData = '';
[579] Fix | Delete
[580] Fix | Delete
$data = $this->getSanitizedData();
[581] Fix | Delete
$buttonImageUrl = isset($data['sgpb-button-image']) ? $data['sgpb-button-image'] : '';
[582] Fix | Delete
$contentBackgroundImageUrl = isset($data['sgpb-background-image']) ? $data['sgpb-background-image'] : '';
[583] Fix | Delete
[584] Fix | Delete
$savedPopup = $this->getSavedPopup();
[585] Fix | Delete
[586] Fix | Delete
if (is_object($savedPopup)) {
[587] Fix | Delete
$buttonImageData = $savedPopup->getOptionvalue('sgpb-button-image-data');
[588] Fix | Delete
$savedImageUrl = $savedPopup->getOptionValue('sgpb-button-image');
[589] Fix | Delete
$contentBackgroundImageData = $savedPopup->getOptionValue('sgpb-background-image-data');
[590] Fix | Delete
$savedContentBackgroundImageUrl = $savedPopup->getOptionValue('sgpb-background-image');
[591] Fix | Delete
}
[592] Fix | Delete
[593] Fix | Delete
if ($buttonImageUrl != $savedImageUrl) {
[594] Fix | Delete
$buttonImageData = AdminHelper::getImageDataFromUrl($buttonImageUrl, true);
[595] Fix | Delete
}
[596] Fix | Delete
if ($contentBackgroundImageUrl != $savedContentBackgroundImageUrl) {
[597] Fix | Delete
$contentBackgroundImageData = AdminHelper::getImageDataFromUrl($contentBackgroundImageUrl);
[598] Fix | Delete
}
[599] Fix | Delete
[600] Fix | Delete
$data['sgpb-button-image-data'] = $buttonImageData;
[601] Fix | Delete
$data['sgpb-background-image-data'] = $contentBackgroundImageData;
[602] Fix | Delete
[603] Fix | Delete
$data = apply_filters('sgpbConvertImagesToData', $data);
[604] Fix | Delete
$this->setSanitizedData($data);
[605] Fix | Delete
}
[606] Fix | Delete
[607] Fix | Delete
private function customScriptsSave($data)
[608] Fix | Delete
{
[609] Fix | Delete
$popupId = $this->getId();
[610] Fix | Delete
$popupContent = $this->getContent();
[611] Fix | Delete
[612] Fix | Delete
$defaultData = SGPBConfigDataHelper::defaultData();
[613] Fix | Delete
$defaultDataJs = $defaultData['customEditorContent']['js']['helperText'];
[614] Fix | Delete
$defaultDataCss = $defaultData['customEditorContent']['css']['oldDefaultValue'];
[615] Fix | Delete
[616] Fix | Delete
$finalData = array('js' => array(), 'css' => array());
[617] Fix | Delete
$alreadySavedData = get_post_meta($popupId, 'sg_popup_scripts', true);
[618] Fix | Delete
[619] Fix | Delete
if( !isset( $data['sgpb-css-editor'] ) )
[620] Fix | Delete
{
[621] Fix | Delete
$data['sgpb-css-editor'] = '';
[622] Fix | Delete
}
[623] Fix | Delete
// get styles
[624] Fix | Delete
$finalData['css'] = $data['sgpb-css-editor'];
[625] Fix | Delete
$defaultDataCss = $defaultDataCss[0];
[626] Fix | Delete
[627] Fix | Delete
$defaultDataCss = preg_replace('/\s/', '', $defaultDataCss);
[628] Fix | Delete
$temp = preg_replace('/\s/', '', $finalData['css']);
[629] Fix | Delete
[630] Fix | Delete
unset($data['sgpb-css-editor']);
[631] Fix | Delete
[632] Fix | Delete
if ($temp == $defaultDataCss) {
[633] Fix | Delete
unset($finalData['css']);
[634] Fix | Delete
}
[635] Fix | Delete
[636] Fix | Delete
// get scripts
[637] Fix | Delete
foreach ($defaultDataJs as $key => $value) {
[638] Fix | Delete
if( !isset( $data['sgpb-'.$key] ) )
[639] Fix | Delete
{
[640] Fix | Delete
continue;
[641] Fix | Delete
}
[642] Fix | Delete
if ($data['sgpb-'.$key] == '') {
[643] Fix | Delete
unset($data['sgpb-'.$key]);
[644] Fix | Delete
continue;
[645] Fix | Delete
}
[646] Fix | Delete
if ($key == 'ShouldOpen' || $key == 'ShouldClose') {
[647] Fix | Delete
$finalData['js']['sgpb-'.$key] = $data['sgpb-'.$key];
[648] Fix | Delete
continue;
[649] Fix | Delete
}
[650] Fix | Delete
$finalData['js']['sgpb-'.$key] = $data['sgpb-'.$key];
[651] Fix | Delete
unset($data['sgpb-'.$key]);
[652] Fix | Delete
}
[653] Fix | Delete
[654] Fix | Delete
if ($alreadySavedData == $finalData) {
[655] Fix | Delete
return $data;
[656] Fix | Delete
}
[657] Fix | Delete
[658] Fix | Delete
array_walk_recursive($finalData, function(&$element){
[659] Fix | Delete
$element = str_replace(array("\r\n"), "\n", $element);
[660] Fix | Delete
});
[661] Fix | Delete
[662] Fix | Delete
update_post_meta($popupId, 'sg_popup_scripts', $finalData);
[663] Fix | Delete
[664] Fix | Delete
return $data;
[665] Fix | Delete
}
[666] Fix | Delete
[667] Fix | Delete
private function targetSave()
[668] Fix | Delete
{
[669] Fix | Delete
global $SGPB_DATA_CONFIG_ARRAY;
[670] Fix | Delete
$saveMode = $this->getSaveMode();
[671] Fix | Delete
$popupId = $this->getId();
[672] Fix | Delete
$targetData = $this->getTarget();
[673] Fix | Delete
$conditionsData = $this->getConditions();
[674] Fix | Delete
[675] Fix | Delete
$targetConfig = $SGPB_DATA_CONFIG_ARRAY['target'];
[676] Fix | Delete
$paramsData = $targetConfig['paramsData'];
[677] Fix | Delete
$attrs = $targetConfig['attrs'];
[678] Fix | Delete
$popupTarget = array();
[679] Fix | Delete
if (empty($targetData)) {
[680] Fix | Delete
return array();
[681] Fix | Delete
}
[682] Fix | Delete
[683] Fix | Delete
foreach ($targetData as $groupId => $groupData) {
[684] Fix | Delete
foreach ($groupData as $ruleId => $ruleData) {
[685] Fix | Delete
[686] Fix | Delete
if (empty($ruleData['value']) && !is_null($paramsData[$ruleData['param']])) {
[687] Fix | Delete
$targetData[$groupId][$ruleId]['value'] = '';
[688] Fix | Delete
}
[689] Fix | Delete
if (isset($ruleData['value']) && is_array($ruleData['value'])) {
[690] Fix | Delete
$valueAttrs = $attrs[$ruleData['param']]['htmlAttrs'];
[691] Fix | Delete
$postType = $valueAttrs['data-value-param'];
[692] Fix | Delete
$isNotPostType = '';
[693] Fix | Delete
[694] Fix | Delete
if (isset($valueAttrs['isNotPostType'])) {
[695] Fix | Delete
$isNotPostType = $valueAttrs['isNotPostType'];
[696] Fix | Delete
}
[697] Fix | Delete
[698] Fix | Delete
if (empty($valueAttrs['isNotPostType'])) {
[699] Fix | Delete
$isNotPostType = false;
[700] Fix | Delete
}
[701] Fix | Delete
[702] Fix | Delete
if (isset($valueAttrs['isPostCategory'])){
[703] Fix | Delete
$targetData[$groupId][$ruleId]['value'] = SGPBConfigDataHelper::getTermsByIds($ruleData['value']);
[704] Fix | Delete
} elseif(isset($valueAttrs['isPostTag'])) {
[705] Fix | Delete
$targetData[$groupId][$ruleId]['value'] = SGPBConfigDataHelper::getTagsBySlug($ruleData['value']);
[706] Fix | Delete
}
[707] Fix | Delete
[708] Fix | Delete
/*
[709] Fix | Delete
* $isNotPostType => false must search inside post types post
[710] Fix | Delete
* $isNotPostType => true must save array data
[711] Fix | Delete
* */
[712] Fix | Delete
if (!$isNotPostType) {
[713] Fix | Delete
$args = array(
[714] Fix | Delete
'post__in' => array_values($ruleData['value']),
[715] Fix | Delete
'posts_per_page' => 100,
[716] Fix | Delete
'post_type' => $postType
[717] Fix | Delete
);
[718] Fix | Delete
[719] Fix | Delete
$searchResults = SGPBConfigDataHelper::getPostTypeData($args);
[720] Fix | Delete
[721] Fix | Delete
$targetData[$groupId][$ruleId]['value'] = $searchResults;
[722] Fix | Delete
}
[723] Fix | Delete
}
[724] Fix | Delete
}
[725] Fix | Delete
}
[726] Fix | Delete
[727] Fix | Delete
$popupTarget['sgpb-target'] = $targetData;
[728] Fix | Delete
$popupTarget['sgpb-conditions'] = apply_filters('sgpbSaveConditions', $conditionsData);
[729] Fix | Delete
[730] Fix | Delete
$alreadySavedTargets = get_post_meta($popupId, 'sg_popup_target'.$saveMode, true);
[731] Fix | Delete
if ($alreadySavedTargets === $popupTarget) {
[732] Fix | Delete
return true;
[733] Fix | Delete
}
[734] Fix | Delete
[735] Fix | Delete
$popupTarget = apply_filters('sgpbPopupTargetMetaData', $popupTarget);
[736] Fix | Delete
[737] Fix | Delete
return update_post_meta($popupId, 'sg_popup_target'.$saveMode, $popupTarget);
[738] Fix | Delete
}
[739] Fix | Delete
[740] Fix | Delete
private function eventsSave()
[741] Fix | Delete
{
[742] Fix | Delete
global $SGPB_DATA_CONFIG_ARRAY;
[743] Fix | Delete
[744] Fix | Delete
$eventsData = $this->getEvents();
[745] Fix | Delete
$popupId = $this->getId();
[746] Fix | Delete
$saveMode = $this->getSaveMode();
[747] Fix | Delete
$popupEvents = array();
[748] Fix | Delete
$eventsFromPopup = array();
[749] Fix | Delete
[750] Fix | Delete
foreach ($eventsData as $groupId => $groupData) {
[751] Fix | Delete
$currentRuleData = array();
[752] Fix | Delete
foreach ($groupData as $ruleId => $ruleData) {
[753] Fix | Delete
[754] Fix | Delete
$hiddenOptions = array();
[755] Fix | Delete
$currentData = array();
[756] Fix | Delete
foreach ($ruleData as $name => $value) {
[757] Fix | Delete
if ($name == 'param' || $name == 'value' || $name == 'operator') {
[758] Fix | Delete
$currentData[$name] = $value;
[759] Fix | Delete
}
[760] Fix | Delete
else {
[761] Fix | Delete
$hiddenOptions[$name] = $value;
[762] Fix | Delete
}
[763] Fix | Delete
}
[764] Fix | Delete
$currentData['hiddenOption'] = $hiddenOptions;
[765] Fix | Delete
$currentRuleData[$ruleId] = $currentData;
[766] Fix | Delete
}
[767] Fix | Delete
$eventsFromPopup[$groupId] = $currentRuleData;
[768] Fix | Delete
}
[769] Fix | Delete
[770] Fix | Delete
$popupEvents['formPopup'] = $eventsFromPopup;
[771] Fix | Delete
$alreadySavedEvents = get_post_meta($popupId, 'sg_popup_events'.$saveMode, true);
[772] Fix | Delete
if ($alreadySavedEvents === $eventsFromPopup) {
[773] Fix | Delete
return true;
[774] Fix | Delete
}
[775] Fix | Delete
[776] Fix | Delete
$eventsFromPopup = apply_filters('sgpbPopupEventsMetadata', $eventsFromPopup);
[777] Fix | Delete
[778] Fix | Delete
return update_post_meta($popupId, 'sg_popup_events'.$saveMode, $eventsFromPopup);
[779] Fix | Delete
}
[780] Fix | Delete
[781] Fix | Delete
private function popupOptionsSave()
[782] Fix | Delete
{
[783] Fix | Delete
$popupOptions = $this->getOptions();
[784] Fix | Delete
$popupOptions = apply_filters('sgpbSavePopupOptions', $popupOptions);
[785] Fix | Delete
//special code added for "Behavior After Special Events" section
[786] Fix | Delete
//todo: remove in the future if possible
[787] Fix | Delete
$specialBehaviors = array();
[788] Fix | Delete
if (!empty($popupOptions['sgpb-behavior-after-special-events'])) {
[789] Fix | Delete
$specialBehaviors = $popupOptions['sgpb-behavior-after-special-events'];
[790] Fix | Delete
}
[791] Fix | Delete
if (!empty($specialBehaviors) && is_array($specialBehaviors)) {
[792] Fix | Delete
foreach ($specialBehaviors as $groupId => $groupRow) {
[793] Fix | Delete
foreach ($groupRow as $ruleId => $ruleRow) {
[794] Fix | Delete
if (!empty($ruleRow['operator']) && $ruleRow['operator'] == 'open-popup') {
[795] Fix | Delete
$args = array(
[796] Fix | Delete
'post__in' => array($ruleRow['value']),
[797] Fix | Delete
'posts_per_page' => 10,
[798] Fix | Delete
'post_type' => SG_POPUP_POST_TYPE
[799] Fix | Delete
);
[800] Fix | Delete
[801] Fix | Delete
$searchResults = SGPBConfigDataHelper::getPostTypeData($args);
[802] Fix | Delete
$popupOptions['sgpb-behavior-after-special-events'][$groupId][$ruleId]['value'] = $searchResults;
[803] Fix | Delete
}
[804] Fix | Delete
}
[805] Fix | Delete
}
[806] Fix | Delete
}
[807] Fix | Delete
[808] Fix | Delete
$popupId = $this->getId();
[809] Fix | Delete
$saveMode = $this->getSaveMode();
[810] Fix | Delete
[811] Fix | Delete
$alreadySavedOptions = get_post_meta($popupId, 'sg_popup_options'.$saveMode, true);
[812] Fix | Delete
if ($alreadySavedOptions === $popupOptions) {
[813] Fix | Delete
return true;
[814] Fix | Delete
}
[815] Fix | Delete
[816] Fix | Delete
$popupOptions = apply_filters('sgpbPopupSavedOptionsMetaData', $popupOptions);
[817] Fix | Delete
[818] Fix | Delete
return update_post_meta($popupId, 'sg_popup_options'.$saveMode, $popupOptions);
[819] Fix | Delete
}
[820] Fix | Delete
[821] Fix | Delete
public function getOptionValue($optionName, $forceDefaultValue = false)
[822] Fix | Delete
{
[823] Fix | Delete
require_once(dirname(__FILE__).'/PopupData.php');
[824] Fix | Delete
$savedData = PopupData::getPopupDataById($this->getId());
[825] Fix | Delete
$this->setPostData($savedData);
[826] Fix | Delete
[827] Fix | Delete
return $this->getOptionValueFromSavedData($optionName, $forceDefaultValue);
[828] Fix | Delete
}
[829] Fix | Delete
[830] Fix | Delete
public function getOptionValueFromSavedData($optionName, $forceDefaultValue = false)
[831] Fix | Delete
{
[832] Fix | Delete
$defaultData = $this->getDefaultDataByName($optionName);
[833] Fix | Delete
$savedData = $this->getPostData();
[834] Fix | Delete
[835] Fix | Delete
$optionValue = null;
[836] Fix | Delete
[837] Fix | Delete
if (empty($defaultData['type'])) {
[838] Fix | Delete
$defaultData['type'] = 'string';
[839] Fix | Delete
}
[840] Fix | Delete
[841] Fix | Delete
if (!empty($savedData)) { //edit mode
[842] Fix | Delete
if (isset($savedData[$optionName])) { //option exists in the database
[843] Fix | Delete
$optionValue = $savedData[$optionName];
[844] Fix | Delete
}
[845] Fix | Delete
/* if it's a checkbox, it may not exist in the db
[846] Fix | Delete
* if we don't care about it's existance, return empty string
[847] Fix | Delete
* otherwise, go for it's default value
[848] Fix | Delete
*/
[849] Fix | Delete
else if ($defaultData['type'] == 'checkbox' && !$forceDefaultValue) {
[850] Fix | Delete
$optionValue = '';
[851] Fix | Delete
}
[852] Fix | Delete
}
[853] Fix | Delete
[854] Fix | Delete
if ($optionValue === null && !empty($defaultData['defaultValue'])) {
[855] Fix | Delete
$optionValue = $defaultData['defaultValue'];
[856] Fix | Delete
}
[857] Fix | Delete
[858] Fix | Delete
if ($defaultData['type'] == 'checkbox') {
[859] Fix | Delete
$optionValue = $this->boolToChecked($optionValue);
[860] Fix | Delete
}
[861] Fix | Delete
[862] Fix | Delete
if ($defaultData['type'] == 'number' && $optionValue == 0) {
[863] Fix | Delete
$optionValue = 0;
[864] Fix | Delete
}
[865] Fix | Delete
[866] Fix | Delete
return $optionValue;
[867] Fix | Delete
}
[868] Fix | Delete
[869] Fix | Delete
public static function getSavedData($popupId, $saveMode = '')
[870] Fix | Delete
{
[871] Fix | Delete
$popupSavedData = array();
[872] Fix | Delete
$events = self::getEventsDataById($popupId, $saveMode);
[873] Fix | Delete
$targetData = self::getTargetDataById($popupId, $saveMode);
[874] Fix | Delete
[875] Fix | Delete
if (!empty($events)) {
[876] Fix | Delete
$popupSavedData['sgpb-events'] = self::getEventsDataById($popupId, $saveMode);
[877] Fix | Delete
}
[878] Fix | Delete
if (!empty($targetData)) {
[879] Fix | Delete
if (!empty($targetData['sgpb-target'])) {
[880] Fix | Delete
$popupSavedData['sgpb-target'] = $targetData['sgpb-target'];
[881] Fix | Delete
}
[882] Fix | Delete
if (!empty($targetData['sgpb-conditions'])) {
[883] Fix | Delete
// for the after x pages option backward compatibility
[884] Fix | Delete
$targetData['sgpb-conditions'] = apply_filters('sgpbAdvancedTargetingSavedData', $targetData['sgpb-conditions'], $popupId);
[885] Fix | Delete
$popupSavedData['sgpb-conditions'] = $targetData['sgpb-conditions'];
[886] Fix | Delete
}
[887] Fix | Delete
}
[888] Fix | Delete
[889] Fix | Delete
$popupOptions = self::getPopupOptionsById($popupId, $saveMode);//
[890] Fix | Delete
if (is_array($popupOptions) && is_array($popupSavedData)) {
[891] Fix | Delete
$popupSavedData = array_merge($popupSavedData, $popupOptions);
[892] Fix | Delete
}
[893] Fix | Delete
[894] Fix | Delete
return $popupSavedData;
[895] Fix | Delete
}
[896] Fix | Delete
[897] Fix | Delete
public static function getEventsDataById($popupId, $saveMode = '')
[898] Fix | Delete
{
[899] Fix | Delete
$eventsData = array();
[900] Fix | Delete
if (get_post_meta($popupId, 'sg_popup_events'.$saveMode, true)) {
[901] Fix | Delete
$eventsData = get_post_meta($popupId, 'sg_popup_events'.$saveMode, true);
[902] Fix | Delete
}
[903] Fix | Delete
[904] Fix | Delete
return $eventsData;
[905] Fix | Delete
}
[906] Fix | Delete
[907] Fix | Delete
public static function getTargetDataById($popupId, $saveMode = '')
[908] Fix | Delete
{
[909] Fix | Delete
$targetData = array();
[910] Fix | Delete
[911] Fix | Delete
if (get_post_meta($popupId, 'sg_popup_target'.$saveMode, true)) {
[912] Fix | Delete
$targetData = get_post_meta($popupId, 'sg_popup_target'.$saveMode, true);
[913] Fix | Delete
}
[914] Fix | Delete
[915] Fix | Delete
return $targetData;
[916] Fix | Delete
}
[917] Fix | Delete
[918] Fix | Delete
public static function getPopupOptionsById($popupId, $saveMode = '')
[919] Fix | Delete
{
[920] Fix | Delete
$currentPost = get_post($popupId);
[921] Fix | Delete
[922] Fix | Delete
if (!empty($currentPost) && $currentPost->post_status == 'draft') {
[923] Fix | Delete
$saveMode = '_preview';
[924] Fix | Delete
}
[925] Fix | Delete
$optionsData = array();
[926] Fix | Delete
if (get_post_meta($popupId, 'sg_popup_options'.$saveMode, true)) {
[927] Fix | Delete
$optionsData = get_post_meta($popupId, 'sg_popup_options'.$saveMode, true);
[928] Fix | Delete
if (isset($optionsData['sgpb-subs-gdpr-text'])){
[929] Fix | Delete
$optionsData['sgpb-subs-gdpr-text'] = wp_kses($optionsData['sgpb-subs-gdpr-text'], AdminHelper::allowed_html_tags(false));
[930] Fix | Delete
}
[931] Fix | Delete
}
[932] Fix | Delete
[933] Fix | Delete
return $optionsData;
[934] Fix | Delete
}
[935] Fix | Delete
[936] Fix | Delete
public function getDefaultDataByName($optionName)
[937] Fix | Delete
{
[938] Fix | Delete
global $SGPB_OPTIONS;
[939] Fix | Delete
if (empty($SGPB_OPTIONS)) {
[940] Fix | Delete
return array();
[941] Fix | Delete
}
[942] Fix | Delete
[943] Fix | Delete
foreach ($SGPB_OPTIONS as $option) {
[944] Fix | Delete
if ($option['name'] == $optionName) {
[945] Fix | Delete
return $option;
[946] Fix | Delete
}
[947] Fix | Delete
}
[948] Fix | Delete
[949] Fix | Delete
return array();
[950] Fix | Delete
}
[951] Fix | Delete
[952] Fix | Delete
/**
[953] Fix | Delete
* Get option default option value
[954] Fix | Delete
*
[955] Fix | Delete
* @param string $optionName
[956] Fix | Delete
*
[957] Fix | Delete
* @since 1.0.0
[958] Fix | Delete
*
[959] Fix | Delete
* @return string
[960] Fix | Delete
*
[961] Fix | Delete
*/
[962] Fix | Delete
public function getOptionDefaultValue($optionName)
[963] Fix | Delete
{
[964] Fix | Delete
// return config data array by name
[965] Fix | Delete
$optionData = $this->getDefaultDataByName($optionName);
[966] Fix | Delete
[967] Fix | Delete
if (empty($optionData)) {
[968] Fix | Delete
return '';
[969] Fix | Delete
}
[970] Fix | Delete
[971] Fix | Delete
return $optionData['defaultValue'];
[972] Fix | Delete
}
[973] Fix | Delete
[974] Fix | Delete
/**
[975] Fix | Delete
* Changing default options form changing options by name
[976] Fix | Delete
*
[977] Fix | Delete
* @since 1.0.0
[978] Fix | Delete
*
[979] Fix | Delete
* @param array $defaultOptions
[980] Fix | Delete
* @param array $changingOptions
[981] Fix | Delete
*
[982] Fix | Delete
* @return array $defaultOptions
[983] Fix | Delete
*/
[984] Fix | Delete
public function changeDefaultOptionsByNames($defaultOptions, $changingOptions)
[985] Fix | Delete
{
[986] Fix | Delete
if (empty($defaultOptions) || empty($changingOptions)) {
[987] Fix | Delete
return $defaultOptions;
[988] Fix | Delete
}
[989] Fix | Delete
$changingOptionsNames = array_keys($changingOptions);
[990] Fix | Delete
[991] Fix | Delete
foreach ($defaultOptions as $key => $defaultOption) {
[992] Fix | Delete
$defaultOptionName = $defaultOption['name'];
[993] Fix | Delete
if (in_array($defaultOptionName, $changingOptionsNames)) {
[994] Fix | Delete
$defaultOptions[$key] = $changingOptions[$defaultOptionName];
[995] Fix | Delete
}
[996] Fix | Delete
}
[997] Fix | Delete
[998] Fix | Delete
return $defaultOptions;
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function