: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
private function getSubscriptionForm($subsFields)
$popupId = $this->getId();
$form = '<div class="sgpb-subs-form-'.$popupId.' sgpb-subscription-form">';
$form .= $this->getFormMessages();
$form .= Functions::renderForm($subsFields);
private function getFormMessages()
$successMessage = $this->getOptionValue('sgpb-subs-success-message');
$errorMessage = $this->getOptionValue('sgpb-subs-error-message');
if (empty($errorMessage)) {
$errorMessage = SGPB_SUBSCRIPTION_ERROR_MESSAGE;
<div class="subs-form-messages sgpb-alert sgpb-alert-success sg-hide-element">
<p><?php echo wp_kses_post( $successMessage ); ?></p>
<div class="subs-form-messages sgpb-alert sgpb-alert-danger sg-hide-element">
<p><?php echo wp_kses_post( $errorMessage ); ?></p>
$messages = ob_get_contents();
public function renderOptions($options)
if (isset($options['sgpb-subs-success-popup']) && function_exists('sgpb\sgpGetCorrectPopupId')) {
$options['sgpb-subs-success-popup'] = sgpGetCorrectPopupId($options['sgpb-subs-success-popup']);
public function getPopupTypeContent()
$this->frontendFilters();
apply_filters('sgpbSubscriptionForm', $this);
$popupContent = $this->getContent();
$formContent = $this->getFormContent();
$showToTop = $this->getOptionValue('sgpb-subs-show-form-to-top');
$content = $popupContent.$formContent;
$content = $formContent.$popupContent;
public function subscriptionForm($popupObj)
if (!is_object($popupObj)) {
$popupOptions = $popupObj->getOptions();
$subsFields = $popupObj->getOptionValue('sgpb-subs-fields');
$isSubscriptionPlusActive = is_plugin_active(SGPB_POPUP_SUBSCRIPTION_PLUS_EXTENSION_KEY);
if (empty($subsFields) || !$isSubscriptionPlusActive) {
$subsFields = $popupObj->createFormFieldsData();
$subsRequiredMessages = '';
if (!empty($popupOptions['sgpb-subs-validation-message'])) {
$subsRequiredMessages = $popupOptions['sgpb-subs-validation-message'];
$validationMessages = array(
'requiredMessage' => $subsRequiredMessages
'placeholderColor' => $popupOptions['sgpb-subs-text-placeholder-color'],
'formColor' => $popupOptions['sgpb-subs-form-bg-color'],
'formPadding' => isset($popupOptions['sgpb-subs-form-padding'])?$popupOptions['sgpb-subs-form-padding']:'',
'formBackgroundOpacity' => isset($popupOptions['sgpb-subs-form-bg-opacity'])?$popupOptions['sgpb-subs-form-bg-opacity']:''
$validateScript = $popupObj->createValidateObj($subsFields, $validationMessages);
$popupContent .= $popupObj->getSubscriptionForm($subsFields);
$popupContent .= $popupObj->getSubscriptionValidationScripts($validateScript);
$popupContent .= $popupObj->getFormCustomStyles($styleData);
$popupObj->setFormContent($popupContent);
public function getSubPopupObj()
$options = $this->getOptions();
$subPopups = parent::getSubPopupObj();
if ($options['sgpb-subs-success-behavior'] == 'openPopup') {
$subPopupId = (!empty($options['sgpb-subs-success-popup'])) ? (int)$options['sgpb-subs-success-popup']: null;
if (empty($subPopupId)) {
if (function_exists('sgpb\sgpGetCorrectPopupId')) {
$subPopupId = sgpGetCorrectPopupId($subPopupId);
$subPopupObj = SGPopup::find($subPopupId);
if (!empty($subPopupObj) && ($subPopupObj instanceof SGPopup)) {
// We remove all events because this popup will be open after successful subscription
$subPopupObj->setEvents(array('param' => 'click', 'value' => ''));
$subPopups[] = $subPopupObj;
public function getExtraRenderOptions()
public static function getSubscribersCount()
$subscribersTableName = $wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME;
$count = $wpdb->get_var("SELECT COUNT(*) FROM $subscribersTableName");
public static function getAllSubscriptions()
$popupArgs['type'][] = 'subscription';
$popupArgs = apply_filters('sgpbGetAllSubscriptionArgs', $popupArgs);
$allPopups = SGPopup::getAllPopups($popupArgs);
public static function getAllSubscriptionForms()
$subscriptionForms = self::getAllSubscriptions();
foreach ($subscriptionForms as $subscriptionForm) {
$title = $subscriptionForm->getTitle();
$id = $subscriptionForm->getId();
$title = '('.__('no title', 'popup-builder').')';
$subsFormList[$id] = $title;
public static function getAllSubscribersDate()
$subscribersTableName = $wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME;
$subscriptionPopups = $wpdb->get_results( "SELECT id, cDate FROM $subscribersTableName", ARRAY_A);
foreach ($subscriptionPopups as $subscriptionForm) {
$id = $subscriptionForm['id'];
$date = substr($subscriptionForm['cDate'], 0, 7);
$subsDateList[$id]['date-value'] = $date;
$subsDateList[$id]['date-title'] = AdminHelper::getFormattedDate($date);