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
/home/sportsfe.../httpdocs/wp-conte.../plugins/popup-bu.../com/helpers
File: AdminHelper.php
<?php
[0] Fix | Delete
namespace sgpb;
[1] Fix | Delete
use \WP_Query;
[2] Fix | Delete
use \DateTime;
[3] Fix | Delete
use \DateTimeZone;
[4] Fix | Delete
use \SgpbDataConfig;
[5] Fix | Delete
use \Elementor;
[6] Fix | Delete
use sgpbsubscriptionplus\SubscriptionPlusAdminHelper;
[7] Fix | Delete
[8] Fix | Delete
class AdminHelper
[9] Fix | Delete
{
[10] Fix | Delete
/**
[11] Fix | Delete
* Get extension options data which are included inside the free version
[12] Fix | Delete
*
[13] Fix | Delete
* @since 3.0.8
[14] Fix | Delete
*
[15] Fix | Delete
* @return assoc array $extensionOptions
[16] Fix | Delete
*/
[17] Fix | Delete
public static function getExtensionAvaliabilityOptions()
[18] Fix | Delete
{
[19] Fix | Delete
$extensionOptions = array();
[20] Fix | Delete
// advanced closing option
[21] Fix | Delete
$extensionOptions[SGPB_POPUP_ADVANCED_CLOSING_PLUGIN_KEY] = array(
[22] Fix | Delete
'sgpb-close-after-page-scroll',
[23] Fix | Delete
'sgpb-auto-close',
[24] Fix | Delete
'sgpb-enable-popup-overlay',
[25] Fix | Delete
'sgpb-disable-popup-closing'
[26] Fix | Delete
);
[27] Fix | Delete
// schedule extension
[28] Fix | Delete
$extensionOptions[SGPB_POPUP_SCHEDULING_EXTENSION_KEY] = array(
[29] Fix | Delete
'otherConditionsMetaBoxView'
[30] Fix | Delete
);
[31] Fix | Delete
// geo targeting extension
[32] Fix | Delete
$extensionOptions[SGPB_POPUP_GEO_TARGETING_EXTENSION_KEY] = array(
[33] Fix | Delete
'popupConditionsSection'
[34] Fix | Delete
);
[35] Fix | Delete
// advanced targeting extension
[36] Fix | Delete
$extensionOptions[SGPB_POPUP_ADVANCED_TARGETING_EXTENSION_KEY] = array(
[37] Fix | Delete
'popupConditionsSection'
[38] Fix | Delete
);
[39] Fix | Delete
[40] Fix | Delete
return $extensionOptions;
[41] Fix | Delete
}
[42] Fix | Delete
[43] Fix | Delete
public static function getPopupTypesPageURL()
[44] Fix | Delete
{
[45] Fix | Delete
return admin_url('edit.php?post_type='.SG_POPUP_POST_TYPE.'&page='.SG_POPUP_POST_TYPE);
[46] Fix | Delete
}
[47] Fix | Delete
[48] Fix | Delete
public static function getSettingsURL($args = array())
[49] Fix | Delete
{
[50] Fix | Delete
$url = admin_url('/edit.php?post_type='.SG_POPUP_POST_TYPE.'&page='.SG_POPUP_SETTINGS_PAGE);
[51] Fix | Delete
[52] Fix | Delete
return self::addArgsToURl($url, $args);
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
public static function getPopupExportURL()
[56] Fix | Delete
{
[57] Fix | Delete
$exportURL = admin_url('export.php');
[58] Fix | Delete
$url = add_query_arg(array(
[59] Fix | Delete
'download' => true,
[60] Fix | Delete
'content' => SG_POPUP_POST_TYPE,
[61] Fix | Delete
'sgpbExportAction' => 1
[62] Fix | Delete
), $exportURL);
[63] Fix | Delete
[64] Fix | Delete
return $url;
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
public static function addArgsToURl($url, $args = array())
[68] Fix | Delete
{
[69] Fix | Delete
$resultURl = add_query_arg($args, $url);
[70] Fix | Delete
[71] Fix | Delete
return $resultURl;
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
public static function buildCreatePopupUrl($popupType)
[75] Fix | Delete
{
[76] Fix | Delete
$isAvailable = $popupType->isAvailable();
[77] Fix | Delete
$name = $popupType->getName();
[78] Fix | Delete
[79] Fix | Delete
$popupUrl = SG_POPUP_ADMIN_URL.'post-new.php?post_type='.SG_POPUP_POST_TYPE.'&sgpb_type='.$name;
[80] Fix | Delete
[81] Fix | Delete
if (!$isAvailable) {
[82] Fix | Delete
$popupUrl = SG_POPUP_PRO_URL;
[83] Fix | Delete
}
[84] Fix | Delete
[85] Fix | Delete
return $popupUrl;
[86] Fix | Delete
}
[87] Fix | Delete
[88] Fix | Delete
public static function getPopupThumbClass($popupType)
[89] Fix | Delete
{
[90] Fix | Delete
$isAvailable = $popupType->isAvailable();
[91] Fix | Delete
$name = $popupType->getName();
[92] Fix | Delete
[93] Fix | Delete
$popupTypeClassName = $name.'-popup';
[94] Fix | Delete
[95] Fix | Delete
if (!$isAvailable) {
[96] Fix | Delete
$popupTypeClassName .= '-pro';
[97] Fix | Delete
}
[98] Fix | Delete
[99] Fix | Delete
return $popupTypeClassName;
[100] Fix | Delete
}
[101] Fix | Delete
[102] Fix | Delete
public static function createSelectBox($data, $selectedValue, $attrs)
[103] Fix | Delete
{
[104] Fix | Delete
$attrString = '';
[105] Fix | Delete
$selected = '';
[106] Fix | Delete
$selectBoxCloseTag = '</select>';
[107] Fix | Delete
[108] Fix | Delete
if (!empty($attrs) && isset($attrs)) {
[109] Fix | Delete
[110] Fix | Delete
foreach ($attrs as $attrName => $attrValue) {
[111] Fix | Delete
$attrString .= ''.$attrName.'="'.$attrValue.'" ';
[112] Fix | Delete
}
[113] Fix | Delete
}
[114] Fix | Delete
[115] Fix | Delete
$selectBox = '<select '.$attrString.'>';
[116] Fix | Delete
if (empty($data) || !is_array($data)) {
[117] Fix | Delete
$selectBox .= $selectBoxCloseTag;
[118] Fix | Delete
return $selectBox;
[119] Fix | Delete
}
[120] Fix | Delete
[121] Fix | Delete
foreach ($data as $value => $label) {
[122] Fix | Delete
// When is multiSelect
[123] Fix | Delete
if (is_array($selectedValue)) {
[124] Fix | Delete
$isSelected = in_array($value, $selectedValue);
[125] Fix | Delete
if ($isSelected) {
[126] Fix | Delete
$selected = 'selected';
[127] Fix | Delete
}
[128] Fix | Delete
}
[129] Fix | Delete
else if ($selectedValue == $value) {
[130] Fix | Delete
$selected = 'selected';
[131] Fix | Delete
}
[132] Fix | Delete
else if (is_array($value) && in_array($selectedValue, $value)) {
[133] Fix | Delete
$selected = 'selected';
[134] Fix | Delete
}
[135] Fix | Delete
[136] Fix | Delete
if (is_array($label)) {
[137] Fix | Delete
$selectBox .= '<optgroup label="'.$value.'">';
[138] Fix | Delete
foreach ($label as $key => $optionLabel) {
[139] Fix | Delete
$selected = '';
[140] Fix | Delete
if (is_array($selectedValue)) {
[141] Fix | Delete
$isSelected = in_array($key, $selectedValue);
[142] Fix | Delete
if ($isSelected) {
[143] Fix | Delete
$selected = 'selected';
[144] Fix | Delete
}
[145] Fix | Delete
}
[146] Fix | Delete
else if ($selectedValue == $key) {
[147] Fix | Delete
$selected = 'selected';
[148] Fix | Delete
}
[149] Fix | Delete
else if (is_array($key) && in_array($selectedValue, $key)) {
[150] Fix | Delete
$selected = 'selected';
[151] Fix | Delete
}
[152] Fix | Delete
[153] Fix | Delete
$selectBox .= '<option value="'.$key.'" '.$selected.'>'.$optionLabel.'</option>';
[154] Fix | Delete
}
[155] Fix | Delete
$selectBox .= '</optgroup>';
[156] Fix | Delete
}
[157] Fix | Delete
else {
[158] Fix | Delete
$selectBox .= '<option value="'.$value.'" '.$selected.'>'.$label.'</option>';
[159] Fix | Delete
}
[160] Fix | Delete
[161] Fix | Delete
$selected = '';
[162] Fix | Delete
}
[163] Fix | Delete
[164] Fix | Delete
$selectBox .= $selectBoxCloseTag;
[165] Fix | Delete
[166] Fix | Delete
return $selectBox;
[167] Fix | Delete
}
[168] Fix | Delete
[169] Fix | Delete
public static function createInput($data, $selectedValue, $attrs)
[170] Fix | Delete
{
[171] Fix | Delete
$attrString = '';
[172] Fix | Delete
$savedData = $data;
[173] Fix | Delete
if (isset($selectedValue) && $selectedValue !== '') {
[174] Fix | Delete
$savedData = $selectedValue;
[175] Fix | Delete
}
[176] Fix | Delete
if (empty($savedData)) {
[177] Fix | Delete
$savedData = '';
[178] Fix | Delete
}
[179] Fix | Delete
[180] Fix | Delete
if (!empty($attrs) && isset($attrs)) {
[181] Fix | Delete
[182] Fix | Delete
foreach ($attrs as $attrName => $attrValue) {
[183] Fix | Delete
if ($attrName == 'class') {
[184] Fix | Delete
$attrValue .= '';
[185] Fix | Delete
}
[186] Fix | Delete
$attrString .= ''.$attrName.'="'.$attrValue.'" ';
[187] Fix | Delete
}
[188] Fix | Delete
}
[189] Fix | Delete
[190] Fix | Delete
$input = "<input $attrString value=\"".esc_attr($savedData)."\">";
[191] Fix | Delete
[192] Fix | Delete
return $input;
[193] Fix | Delete
}
[194] Fix | Delete
[195] Fix | Delete
public static function createCheckBox($data, $selectedValue, $attrs)
[196] Fix | Delete
{
[197] Fix | Delete
$attrString = '';
[198] Fix | Delete
$checked = '';
[199] Fix | Delete
[200] Fix | Delete
if (!empty($selectedValue)) {
[201] Fix | Delete
$checked = 'checked';
[202] Fix | Delete
}
[203] Fix | Delete
if (!empty($attrs) && isset($attrs)) {
[204] Fix | Delete
[205] Fix | Delete
foreach ($attrs as $attrName => $attrValue) {
[206] Fix | Delete
$attrString .= ''.$attrName.'="'.$attrValue.'" ';
[207] Fix | Delete
}
[208] Fix | Delete
}
[209] Fix | Delete
[210] Fix | Delete
$input = "<input $attrString $checked>";
[211] Fix | Delete
[212] Fix | Delete
return $input;
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
public static function createRadioButtons($elements, $name, $selectedInput, $lineMode = false, $extraHtmlAfterInput = '')
[216] Fix | Delete
{
[217] Fix | Delete
$str = '';
[218] Fix | Delete
$allowed_html = self::allowed_html_tags();
[219] Fix | Delete
[220] Fix | Delete
foreach ($elements as $key => $element) {
[221] Fix | Delete
$value = '';
[222] Fix | Delete
$checked = '';
[223] Fix | Delete
$stringWithlabel = '';
[224] Fix | Delete
$labelClasses = '';
[225] Fix | Delete
$stringLabel = '';
[226] Fix | Delete
[227] Fix | Delete
if (isset($element['value'])) {
[228] Fix | Delete
$value = $element['value'];
[229] Fix | Delete
}
[230] Fix | Delete
if (isset($element['label_class'])) {
[231] Fix | Delete
$labelClasses = 'class="'.$element['label_class'].'"';
[232] Fix | Delete
$stringLabel = '<span class="sgpb-margin-bottom-10">'.esc_attr($value).'</span>';
[233] Fix | Delete
}
[234] Fix | Delete
[235] Fix | Delete
if (is_array($element) && $element['value'] == $selectedInput) {
[236] Fix | Delete
$checked = 'checked';
[237] Fix | Delete
}
[238] Fix | Delete
else if (!is_array($element) && $element == $selectedInput) {
[239] Fix | Delete
$checked = 'checked';
[240] Fix | Delete
}
[241] Fix | Delete
$attrStr = '';
[242] Fix | Delete
if (isset($element['data-attributes'])) {
[243] Fix | Delete
foreach ($element['data-attributes'] as $attrKey => $dataValue) {
[244] Fix | Delete
$attrStr .= $attrKey.'="'.esc_attr($dataValue).'" ';
[245] Fix | Delete
}
[246] Fix | Delete
}
[247] Fix | Delete
if (!empty($extraHtmlAfterInput)) {
[248] Fix | Delete
if ($extraHtmlAfterInput == 'img') {
[249] Fix | Delete
$extraHtmlAfterInput = '<img src="">';
[250] Fix | Delete
}
[251] Fix | Delete
else if ($extraHtmlAfterInput == 'bg_img') {
[252] Fix | Delete
$extraHtmlAfterInput = '<span class="sgpb-popup-theme-img sgpb-margin-x-7"></span>';
[253] Fix | Delete
}
[254] Fix | Delete
}
[255] Fix | Delete
[256] Fix | Delete
if ($lineMode) {
[257] Fix | Delete
if (!empty($extraHtmlAfterInput)) {
[258] Fix | Delete
$str .= '<label '.$labelClasses.'><input type="radio" name="'.esc_attr($name).'" value="'.esc_attr($value).'" '.$checked.' '.$attrStr.'>'.$extraHtmlAfterInput.$stringLabel.'</label>';
[259] Fix | Delete
}
[260] Fix | Delete
else {
[261] Fix | Delete
$str .= '<input type="radio" name="'.esc_attr($name).'" value="'.esc_attr($value).'" '.$checked.' '.$attrStr.'>';
[262] Fix | Delete
}
[263] Fix | Delete
}
[264] Fix | Delete
else {
[265] Fix | Delete
$str .= '<div class="row form-group">';
[266] Fix | Delete
$str .= '<label class="col-md-5 control-label">'.sprintf( '%s', esc_html( $element['title'] )).'</label>';
[267] Fix | Delete
$str .= '<div class="col-sm-7"><input type="radio" name="'.esc_attr($name).'" value="'.esc_attr($value).'" '.$checked.' autocomplete="off">'.$extraHtmlAfterInput.'</div>';
[268] Fix | Delete
$str .= '</div>';
[269] Fix | Delete
}
[270] Fix | Delete
}
[271] Fix | Delete
[272] Fix | Delete
echo wp_kses($str, $allowed_html);
[273] Fix | Delete
}
[274] Fix | Delete
[275] Fix | Delete
public static function getDateObjFromDate($dueDate, $timezone = 'America/Los_Angeles', $format = 'Y-m-d H:i:s')
[276] Fix | Delete
{
[277] Fix | Delete
$dateObj = new DateTime($dueDate, new DateTimeZone($timezone));
[278] Fix | Delete
$dateObj->format($format);
[279] Fix | Delete
[280] Fix | Delete
return $dateObj;
[281] Fix | Delete
}
[282] Fix | Delete
[283] Fix | Delete
/**
[284] Fix | Delete
* Serialize data
[285] Fix | Delete
*
[286] Fix | Delete
* @since 1.0.0
[287] Fix | Delete
*
[288] Fix | Delete
* @param array $data
[289] Fix | Delete
*
[290] Fix | Delete
* @return string $serializedData
[291] Fix | Delete
*/
[292] Fix | Delete
public static function serializeData($data = array())
[293] Fix | Delete
{
[294] Fix | Delete
$serializedData = serialize($data);
[295] Fix | Delete
[296] Fix | Delete
return $serializedData;
[297] Fix | Delete
}
[298] Fix | Delete
[299] Fix | Delete
/**
[300] Fix | Delete
* Get correct size to use it safely inside CSS rules
[301] Fix | Delete
*
[302] Fix | Delete
* @since 1.0.0
[303] Fix | Delete
*
[304] Fix | Delete
* @param string $dimension
[305] Fix | Delete
*
[306] Fix | Delete
* @return string $size
[307] Fix | Delete
*/
[308] Fix | Delete
public static function getCSSSafeSize($dimension)
[309] Fix | Delete
{
[310] Fix | Delete
if (empty($dimension)) {
[311] Fix | Delete
return 'inherit';
[312] Fix | Delete
}
[313] Fix | Delete
[314] Fix | Delete
$size = (int)$dimension.'px';
[315] Fix | Delete
// If user write dimension in px or % we give that dimension to target otherwise the default value will be px
[316] Fix | Delete
if (strpos($dimension, '%') || strpos($dimension, 'px')) {
[317] Fix | Delete
$size = $dimension;
[318] Fix | Delete
}
[319] Fix | Delete
[320] Fix | Delete
return $size;
[321] Fix | Delete
}
[322] Fix | Delete
[323] Fix | Delete
public static function deleteSubscriptionPopupSubscribers($popupId)
[324] Fix | Delete
{
[325] Fix | Delete
global $wpdb;
[326] Fix | Delete
$subscribersTableName = $wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME;
[327] Fix | Delete
$wpdb->query( $wpdb->prepare("DELETE FROM $subscribersTableName WHERE subscriptionType = %s", $popupId) );
[328] Fix | Delete
}
[329] Fix | Delete
[330] Fix | Delete
public static function subscribersRelatedQuery($query = '', $additionalColumn = '')
[331] Fix | Delete
{
[332] Fix | Delete
global $wpdb;
[333] Fix | Delete
$subscribersTablename = $wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME;
[334] Fix | Delete
$postsTablename = $wpdb->prefix.SGPB_POSTS_TABLE_NAME;
[335] Fix | Delete
[336] Fix | Delete
if ($query == '') {
[337] Fix | Delete
$query = 'SELECT firstName, lastName, email, cDate, '.$additionalColumn.' '.$postsTablename.'.post_title AS subscriptionTitle FROM '.$subscribersTablename.' ';
[338] Fix | Delete
}
[339] Fix | Delete
$array_mapping_search = [];
[340] Fix | Delete
$searchQuery = ' unsubscribed <> %d';
[341] Fix | Delete
$array_mapping_search[] = 1;
[342] Fix | Delete
$filterCriteria = '';
[343] Fix | Delete
[344] Fix | Delete
$query .= ' LEFT JOIN '.$postsTablename.' ON '.$postsTablename.'.ID='.$subscribersTablename.'.subscriptionType';
[345] Fix | Delete
[346] Fix | Delete
if (isset($_GET['sgpb-subscription-popup-id']) && !empty($_GET['sgpb-subscription-popup-id'])) {
[347] Fix | Delete
$filterCriteria = sanitize_text_field($_GET['sgpb-subscription-popup-id']);
[348] Fix | Delete
if ($filterCriteria != 'all') {
[349] Fix | Delete
$searchQuery .= " AND (subscriptionType = %s)";
[350] Fix | Delete
$array_mapping_search[] = esc_sql((int)$filterCriteria);
[351] Fix | Delete
}
[352] Fix | Delete
}
[353] Fix | Delete
if ($filterCriteria != '' && $filterCriteria != 'all' && isset($_GET['s']) && !empty($_GET['s'])) {
[354] Fix | Delete
$searchQuery .= ' AND ';
[355] Fix | Delete
}
[356] Fix | Delete
if (isset($_GET['s']) && !empty($_GET['s'])) {
[357] Fix | Delete
$searchCriteria = sanitize_text_field($_GET['s']);
[358] Fix | Delete
$lastPartOfTheQuery = substr($searchQuery, -5);
[359] Fix | Delete
if (strpos($lastPartOfTheQuery, 'AND') <= 0) {
[360] Fix | Delete
$searchQuery .= ' AND ';
[361] Fix | Delete
}
[362] Fix | Delete
$searchCriteria = "%" . esc_sql($wpdb->esc_like( $searchCriteria )) . "%";
[363] Fix | Delete
$searchQuery .= "(firstName LIKE %s or lastName LIKE %s or email LIKE %s or $postsTablename.post_title LIKE %s)";
[364] Fix | Delete
$array_mapping_search[] = $searchCriteria;
[365] Fix | Delete
$array_mapping_search[] = $searchCriteria;
[366] Fix | Delete
$array_mapping_search[] = $searchCriteria;
[367] Fix | Delete
$array_mapping_search[] = $searchCriteria;
[368] Fix | Delete
}
[369] Fix | Delete
if (isset($_GET['sgpb-subscribers-date']) && !empty($_GET['sgpb-subscribers-date'])) {
[370] Fix | Delete
$filterCriteriaDate = sanitize_text_field($_GET['sgpb-subscribers-date']);
[371] Fix | Delete
if ($filterCriteriaDate != 'all') {
[372] Fix | Delete
if ($searchQuery != '') {
[373] Fix | Delete
$searchQuery .= ' AND ';
[374] Fix | Delete
}
[375] Fix | Delete
$searchQuery .= " cDate LIKE %s ";
[376] Fix | Delete
$array_mapping_search[] = esc_sql( $wpdb->esc_like($filterCriteriaDate)).'%';
[377] Fix | Delete
}
[378] Fix | Delete
}
[379] Fix | Delete
if ($searchQuery != '') {
[380] Fix | Delete
$query .= " WHERE $searchQuery";
[381] Fix | Delete
}
[382] Fix | Delete
// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- No applicable variables for this query.
[383] Fix | Delete
return $wpdb->prepare( $query, $array_mapping_search );
[384] Fix | Delete
}
[385] Fix | Delete
[386] Fix | Delete
public static function themeRelatedSettings($popupId, $buttonPosition, $theme)
[387] Fix | Delete
{
[388] Fix | Delete
if ($popupId) {
[389] Fix | Delete
if ($theme == 'sgpb-theme-1' || $theme == 'sgpb-theme-4' || $theme == 'sgpb-theme-5') {
[390] Fix | Delete
if (!isset($buttonPosition)) {
[391] Fix | Delete
$buttonPosition = 'bottomRight';
[392] Fix | Delete
}
[393] Fix | Delete
}
[394] Fix | Delete
else if ($theme == 'sgpb-theme-2' || $theme == 'sgpb-theme-3' || $theme == 'sgpb-theme-6') {
[395] Fix | Delete
if (!isset($buttonPosition)) {
[396] Fix | Delete
$buttonPosition = 'topRight';
[397] Fix | Delete
}
[398] Fix | Delete
}
[399] Fix | Delete
}
[400] Fix | Delete
else {
[401] Fix | Delete
if (isset($theme)) {
[402] Fix | Delete
if ($theme == 'sgpb-theme-1' || $theme == 'sgpb-theme-4' || $theme == 'sgpb-theme-5') {
[403] Fix | Delete
$buttonPosition = 'bottomRight';
[404] Fix | Delete
}
[405] Fix | Delete
else if ($theme == 'sgpb-theme-2' || $theme == 'sgpb-theme-3' || $theme == 'sgpb-theme-6') {
[406] Fix | Delete
$buttonPosition = 'topRight';
[407] Fix | Delete
}
[408] Fix | Delete
}
[409] Fix | Delete
else {
[410] Fix | Delete
/* by default set position for the first theme */
[411] Fix | Delete
$buttonPosition = 'bottomRight';
[412] Fix | Delete
}
[413] Fix | Delete
}
[414] Fix | Delete
[415] Fix | Delete
return $buttonPosition;
[416] Fix | Delete
}
[417] Fix | Delete
[418] Fix | Delete
/**
[419] Fix | Delete
* Create html attrs
[420] Fix | Delete
*
[421] Fix | Delete
* @since 1.0.0
[422] Fix | Delete
*
[423] Fix | Delete
* @param array $attrs
[424] Fix | Delete
*
[425] Fix | Delete
* @return string $attrStr
[426] Fix | Delete
*/
[427] Fix | Delete
public static function createAttrs($attrs)
[428] Fix | Delete
{
[429] Fix | Delete
$attrStr = '';
[430] Fix | Delete
[431] Fix | Delete
if (empty($attrs)) {
[432] Fix | Delete
return $attrStr;
[433] Fix | Delete
}
[434] Fix | Delete
[435] Fix | Delete
foreach ($attrs as $attrKey => $attrValue) {
[436] Fix | Delete
$attrStr .= $attrKey.'="'.$attrValue.'" ';
[437] Fix | Delete
}
[438] Fix | Delete
[439] Fix | Delete
return $attrStr;
[440] Fix | Delete
}
[441] Fix | Delete
[442] Fix | Delete
public static function getFormattedDate($date)
[443] Fix | Delete
{
[444] Fix | Delete
$date = strtotime($date);
[445] Fix | Delete
$month = gmdate('F', $date);
[446] Fix | Delete
$year = gmdate('Y', $date);
[447] Fix | Delete
[448] Fix | Delete
return $month.' '.$year;
[449] Fix | Delete
}
[450] Fix | Delete
[451] Fix | Delete
public static function defaultButtonImage($theme, $closeImage = '')
[452] Fix | Delete
{
[453] Fix | Delete
$currentPostType = self::getCurrentPopupType();
[454] Fix | Delete
if (defined('SGPB_POPUP_TYPE_RECENT_SALES') && $currentPostType == SGPB_POPUP_TYPE_RECENT_SALES) {
[455] Fix | Delete
$theme = 'sgpb-theme-6';
[456] Fix | Delete
}
[457] Fix | Delete
// if no image, set default by theme
[458] Fix | Delete
if ($closeImage == '') {
[459] Fix | Delete
if ($theme == 'sgpb-theme-1' || !$theme) {
[460] Fix | Delete
$closeImage = SG_POPUP_IMG_URL.'theme_1/close.png';
[461] Fix | Delete
}
[462] Fix | Delete
else if ($theme == 'sgpb-theme-2') {
[463] Fix | Delete
$closeImage = SG_POPUP_IMG_URL.'theme_2/close.png';
[464] Fix | Delete
}
[465] Fix | Delete
else if ($theme == 'sgpb-theme-3') {
[466] Fix | Delete
$closeImage = SG_POPUP_IMG_URL.'theme_3/close.png';
[467] Fix | Delete
}
[468] Fix | Delete
else if ($theme == 'sgpb-theme-5') {
[469] Fix | Delete
$closeImage = SG_POPUP_IMG_URL.'theme_5/close.png';
[470] Fix | Delete
}
[471] Fix | Delete
else if ($theme == 'sgpb-theme-6') {
[472] Fix | Delete
$closeImage = SG_POPUP_IMG_URL.'theme_6/close.png';
[473] Fix | Delete
}
[474] Fix | Delete
}
[475] Fix | Delete
else {
[476] Fix | Delete
$closeImage = self::getImageDataFromUrl($closeImage);
[477] Fix | Delete
}
[478] Fix | Delete
[479] Fix | Delete
return $closeImage;
[480] Fix | Delete
}
[481] Fix | Delete
[482] Fix | Delete
public static function getPopupPostAllowedUserRoles()
[483] Fix | Delete
{
[484] Fix | Delete
$userSavedRoles = get_option('sgpb-user-roles');
[485] Fix | Delete
[486] Fix | Delete
if (empty($userSavedRoles) || !is_array($userSavedRoles)) {
[487] Fix | Delete
$userSavedRoles = array('administrator');
[488] Fix | Delete
}
[489] Fix | Delete
else {
[490] Fix | Delete
array_push($userSavedRoles, 'administrator');
[491] Fix | Delete
}
[492] Fix | Delete
[493] Fix | Delete
return $userSavedRoles;
[494] Fix | Delete
}
[495] Fix | Delete
[496] Fix | Delete
public static function showMenuForCurrentUser()
[497] Fix | Delete
{
[498] Fix | Delete
return self::userCanAccessTo();
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function