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/classes/dataTabl...
File: Subscribers.php
<?php
[0] Fix | Delete
require_once(SG_POPUP_CLASSES_PATH.'/Ajax.php');
[1] Fix | Delete
require_once(SG_POPUP_HELPERS_PATH.'AdminHelper.php');
[2] Fix | Delete
[3] Fix | Delete
use sgpb\SGPopup;
[4] Fix | Delete
use sgpb\AdminHelper;
[5] Fix | Delete
use sgpbDataTable\SGPBTable;
[6] Fix | Delete
use sgpb\SubscriptionPopup;
[7] Fix | Delete
[8] Fix | Delete
class SGPBSubscribers extends SGPBTable
[9] Fix | Delete
{
[10] Fix | Delete
public function __construct()
[11] Fix | Delete
{
[12] Fix | Delete
global $wpdb;
[13] Fix | Delete
parent::__construct('sgpbAllSubscribers');
[14] Fix | Delete
[15] Fix | Delete
$this->setRowsPerPage(SGPB_APP_POPUP_TABLE_LIMIT);
[16] Fix | Delete
$this->setTablename($wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME);
[17] Fix | Delete
[18] Fix | Delete
$columns = array(
[19] Fix | Delete
'id',
[20] Fix | Delete
'firstName',
[21] Fix | Delete
'lastName',
[22] Fix | Delete
'email',
[23] Fix | Delete
'cDate',
[24] Fix | Delete
'subscriptionType'
[25] Fix | Delete
);
[26] Fix | Delete
[27] Fix | Delete
$selectAllCheckbox = '<div class="sgpb-wrapper checkbox-wrapper">
[28] Fix | Delete
<input class="subs-bulk" type="checkbox" id="checkbox-all">
[29] Fix | Delete
<label class="checkboxLabel" for="checkbox-all"></label>
[30] Fix | Delete
</div>';
[31] Fix | Delete
[32] Fix | Delete
$displayColumns = array(
[33] Fix | Delete
'bulk' => $selectAllCheckbox,
[34] Fix | Delete
'id' => 'ID',
[35] Fix | Delete
'firstName' => __('First name', 'popup-builder'),
[36] Fix | Delete
'lastName' => __('Last name', 'popup-builder'),
[37] Fix | Delete
'email' => __('Email', 'popup-builder'),
[38] Fix | Delete
'cDate' => __('Date', 'popup-builder'),
[39] Fix | Delete
'subscriptionType' => __('Popup', 'popup-builder')
[40] Fix | Delete
//'options' => __('Actions', 'popup-builder')
[41] Fix | Delete
);
[42] Fix | Delete
[43] Fix | Delete
$filterColumnsDisplaySettings = array(
[44] Fix | Delete
'columns' => $columns,
[45] Fix | Delete
'displayColumns' => $displayColumns
[46] Fix | Delete
);
[47] Fix | Delete
[48] Fix | Delete
$filterColumnsDisplaySettings = apply_filters('sgpbAlterColumnIntoSubscribers', $filterColumnsDisplaySettings);
[49] Fix | Delete
[50] Fix | Delete
$this->setColumns((isset($filterColumnsDisplaySettings['columns']) ? $filterColumnsDisplaySettings['columns'] : ''));
[51] Fix | Delete
$this->setDisplayColumns((isset($filterColumnsDisplaySettings['displayColumns']) ? $filterColumnsDisplaySettings['displayColumns'] : ''));
[52] Fix | Delete
$this->setSortableColumns(array(
[53] Fix | Delete
'id' => array('id', false),
[54] Fix | Delete
'firstName' => array('firstName', true),
[55] Fix | Delete
'lastName' => array('lastName', true),
[56] Fix | Delete
'email' => array('email', true),
[57] Fix | Delete
'cDate' => array('cDate', true),
[58] Fix | Delete
'subscriptionType' => array('subscriptionType', true),
[59] Fix | Delete
$this->setInitialSort(array(
[60] Fix | Delete
'id' => 'DESC'
[61] Fix | Delete
))
[62] Fix | Delete
));
[63] Fix | Delete
}
[64] Fix | Delete
[65] Fix | Delete
public function customizeRow(&$row)
[66] Fix | Delete
{
[67] Fix | Delete
$popupId = (int)$row[5];
[68] Fix | Delete
$row = apply_filters('sgpbEditSubscribersTableRowValues', $row, $popupId);
[69] Fix | Delete
$row[6] = get_the_title($popupId);
[70] Fix | Delete
$row[5] = $row[4];
[71] Fix | Delete
$row[4] = $row[3];
[72] Fix | Delete
$row[3] = $row[2];
[73] Fix | Delete
$row[2] = $row[1];
[74] Fix | Delete
$row[1] = $row[0];
[75] Fix | Delete
[76] Fix | Delete
// show date more user friendly
[77] Fix | Delete
$row[5] = gmdate('d F Y', strtotime($row[5]));
[78] Fix | Delete
[79] Fix | Delete
$id = $row[0];
[80] Fix | Delete
$row[0] = '<div class="sgpb-wrapper checkbox-wrapper">
[81] Fix | Delete
<input class="subs-delete-checkbox" type="checkbox" id="checkbox-'.esc_attr($id).'" data-delete-id="'.esc_attr($id).'">
[82] Fix | Delete
<label class="checkboxLabel" for="checkbox-'.esc_attr($id).'"></label>
[83] Fix | Delete
</div>';
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
public function customizeQuery(&$query)
[87] Fix | Delete
{
[88] Fix | Delete
$query = AdminHelper::subscribersRelatedQuery($query);
[89] Fix | Delete
}
[90] Fix | Delete
[91] Fix | Delete
public function getNavPopupsConditions()
[92] Fix | Delete
{
[93] Fix | Delete
$subscriptionPopups = SubscriptionPopup::getAllSubscriptionForms();
[94] Fix | Delete
$list = '';
[95] Fix | Delete
$selectedPopup = '';
[96] Fix | Delete
[97] Fix | Delete
if (isset($_GET['sgpb-subscription-popup-id'])) {
[98] Fix | Delete
$selectedPopup = (int)sanitize_text_field($_GET['sgpb-subscription-popup-id']);
[99] Fix | Delete
}
[100] Fix | Delete
$allowed_html = AdminHelper::allowed_html_tags();
[101] Fix | Delete
ob_start();
[102] Fix | Delete
?>
[103] Fix | Delete
<input type="hidden" class="sgpb-subscription-popup-id" name="sgpb-subscription-popup-id" value="<?php echo esc_attr($selectedPopup);?>">
[104] Fix | Delete
<input type="hidden" name="page" value="<?php echo esc_attr(SG_POPUP_SUBSCRIBERS_PAGE); ?>" >
[105] Fix | Delete
[106] Fix | Delete
<select class="select__select sgpb-margin-right-10" name="sgpb-subscription-popup" id="sgpb-subscription-popup">
[107] Fix | Delete
<?php
[108] Fix | Delete
$list .= '<option value="all">'.__('All', 'popup-builder').'</option>';
[109] Fix | Delete
foreach ($subscriptionPopups as $popupId => $popupTitle) {
[110] Fix | Delete
if ($selectedPopup == $popupId) {
[111] Fix | Delete
$selected = ' selected';
[112] Fix | Delete
}
[113] Fix | Delete
else {
[114] Fix | Delete
$selected = '';
[115] Fix | Delete
}
[116] Fix | Delete
$list .= '<option value="'.esc_attr($popupId).'"'.esc_attr($selected).'>'.esc_html($popupTitle).'</option>';
[117] Fix | Delete
}
[118] Fix | Delete
echo wp_kses($list, $allowed_html);
[119] Fix | Delete
?>
[120] Fix | Delete
</select>
[121] Fix | Delete
<?php
[122] Fix | Delete
$content = ob_get_contents();
[123] Fix | Delete
ob_end_clean();
[124] Fix | Delete
[125] Fix | Delete
return $content;
[126] Fix | Delete
}
[127] Fix | Delete
[128] Fix | Delete
public function getNavDateConditions() {
[129] Fix | Delete
$subscribersDates = SubscriptionPopup::getAllSubscribersDate();
[130] Fix | Delete
$uniqueDates = array();
[131] Fix | Delete
[132] Fix | Delete
foreach ($subscribersDates as $arr) {
[133] Fix | Delete
$uniqueDates[] = $arr;
[134] Fix | Delete
}
[135] Fix | Delete
$uniqueDates = array_unique($uniqueDates, SORT_REGULAR);
[136] Fix | Delete
[137] Fix | Delete
$selectedDate = '';
[138] Fix | Delete
$dateList = '';
[139] Fix | Delete
$selected = '';
[140] Fix | Delete
[141] Fix | Delete
if (isset($_GET['sgpb-subscribers-date'])) {
[142] Fix | Delete
$selectedDate = sanitize_text_field($_GET['sgpb-subscribers-date']);
[143] Fix | Delete
}
[144] Fix | Delete
$allowed_html = AdminHelper::allowed_html_tags();
[145] Fix | Delete
[146] Fix | Delete
ob_start();
[147] Fix | Delete
?>
[148] Fix | Delete
<input type="hidden" class="sgpb-subscribers-date" name="sgpb-subscribers-date" value="<?php echo esc_attr($selectedDate);?>">
[149] Fix | Delete
<select class="select__select sgpb-margin-right-10" name="sgpb-subscribers-dates" id="sgpb-subscribers-dates">
[150] Fix | Delete
<?php
[151] Fix | Delete
$gotDateList = '<option value="all">'.__('All dates', 'popup-builder').'</option>';
[152] Fix | Delete
foreach ($uniqueDates as $date) {
[153] Fix | Delete
if ($selectedDate == $date['date-value']) {
[154] Fix | Delete
$selected = ' selected';
[155] Fix | Delete
}
[156] Fix | Delete
else {
[157] Fix | Delete
$selected = '';
[158] Fix | Delete
}
[159] Fix | Delete
$gotDateList .= '<option value="'.$date['date-value'].'"'.$selected.'>'.$date['date-title'].'</option>';
[160] Fix | Delete
}
[161] Fix | Delete
if (empty($subscribersDates)) {
[162] Fix | Delete
$dateValue = isset($date) && isset($date['date-value']) ? $date['date-value'] : '';
[163] Fix | Delete
$gotDateList = '<option value="'.$dateValue.'"'.$selected.'>'.__('Date', 'popup-builder').'</option>';
[164] Fix | Delete
}
[165] Fix | Delete
echo wp_kses($dateList.$gotDateList, $allowed_html);
[166] Fix | Delete
?>
[167] Fix | Delete
</select>
[168] Fix | Delete
<?php
[169] Fix | Delete
$content = ob_get_contents();
[170] Fix | Delete
ob_end_clean();
[171] Fix | Delete
[172] Fix | Delete
return $content;
[173] Fix | Delete
}
[174] Fix | Delete
[175] Fix | Delete
// parent class method overriding
[176] Fix | Delete
public function extra_tablenav($which)
[177] Fix | Delete
{
[178] Fix | Delete
$isVisibleExtraNav = $this->getIsVisibleExtraNav();
[179] Fix | Delete
[180] Fix | Delete
if (!$isVisibleExtraNav) {
[181] Fix | Delete
return '';
[182] Fix | Delete
}
[183] Fix | Delete
$allowed_html = AdminHelper::allowed_html_tags();
[184] Fix | Delete
[185] Fix | Delete
?>
[186] Fix | Delete
<div class="sgpb-display-flex sgpb-justify-content-between actions">
[187] Fix | Delete
<div>
[188] Fix | Delete
<label class="screen-reader-text" for="sgpb-subscription-popup"><?php esc_html_e('Filter by popup', 'popup-builder')?></label>
[189] Fix | Delete
<?php echo wp_kses($this->getNavPopupsConditions(), $allowed_html); ?>
[190] Fix | Delete
<label class="screen-reader-text" for="sgpb-subscribers-dates"><?php esc_html_e('Filter by date', 'popup-builder')?></label>
[191] Fix | Delete
<?php echo wp_kses($this->getNavDateConditions(), $allowed_html); ?>
[192] Fix | Delete
<input name="filter_action" id="post-query-submit" class="buttonGroup__button buttonGroup__button_blueBg buttonGroup__button_unrounded" value="<?php esc_html_e('Filter', 'popup-builder')?>" type="submit">
[193] Fix | Delete
</div>
[194] Fix | Delete
<div>
[195] Fix | Delete
<?php
[196] Fix | Delete
if ($which == 'top') {
[197] Fix | Delete
?>
[198] Fix | Delete
<button type="button" class="sgpb-btn sgpb-btn-danger sgpb-btn-disabled sgpb-btn--rounded sg-subs-delete-button" data-ajaxNonce="<?php echo esc_attr(SG_AJAX_NONCE);?>">
[199] Fix | Delete
<?php esc_html_e('Delete subscriber(s)', 'popup-builder')?>
[200] Fix | Delete
</button>
[201] Fix | Delete
<?php
[202] Fix | Delete
}
[203] Fix | Delete
?>
[204] Fix | Delete
</div>
[205] Fix | Delete
</div>
[206] Fix | Delete
<?php
[207] Fix | Delete
}
[208] Fix | Delete
}
[209] Fix | Delete
[210] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function