: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
use \SgpbPopupExtensionRegister;
private static $instance = null;
private function __construct()
private function __clone()
public static function getInstance()
if(!isset(self::$instance)) {
self::$instance = new self();
/*Included required data*/
$this->versionDetection();
private function includeData()
require_once(SG_POPUP_EXTENSION_PATH.'SgpbPopupExtensionRegister.php');
require_once(SG_POPUP_EXTENSION_PATH.'SgpbPopupExtensionActivator.php');
require_once(SG_POPUP_CLASSES_PATH.'Installer.php');
require_once(SG_POPUP_HELPERS_PATH.'AdminHelper.php');
require_once(SG_POPUP_HELPERS_PATH.'Functions.php');
require_once(SG_POPUP_HELPERS_PATH.'ScriptsIncluder.php');
require_once(SG_POPUP_HELPERS_PATH.'PopupBuilderActivePackage.php');
require_once(SG_POPUP_HELPERS_PATH.'License.php');
require_once(SG_POPUP_EXTENSION_PATH.'SgpbPopupExtension.php');
require_once(SG_POPUP_HELPERS_PATH.'MultipleChoiceButton.php');
require_once(SG_POPUP_CLASSES_PATH.'ConditionBuilder.php');
require_once(SG_POPUP_CLASSES_PATH.'ConditionCreator.php');
require_once(SG_POPUP_CLASSES_POPUPS_PATH.'SGPopup.php');
require_once(SG_POPUP_CLASSES_PATH.'ScriptsLoader.php');
require_once(SG_POPUP_CLASSES_PATH.'PopupGroupFilter.php');
require_once(SG_POPUP_CLASSES_PATH.'PopupChecker.php');
require_once(SG_POPUP_CLASSES_PATH.'PopupLoader.php');
require_once(SG_POPUP_CLASSES_PATH.'PopupType.php');
require_once(SG_POPUP_CLASSES_PATH.'MediaButton.php');
require_once(SG_POPUP_CLASSES_PATH.'Style.php');
require_once(SG_POPUP_CLASSES_PATH.'Javascript.php');
require_once(SG_POPUP_CLASSES_PATH.'PopupInstaller.php');
require_once(SG_POPUP_CLASSES_PATH.'RegisterPostType.php');
require_once(SG_POPUP_CLASSES_PATH.'Ajax.php');
require_once(SG_POPUP_CLASSES_PATH.'ConvertToNewVersion.php');
require_once(SG_POPUP_LIBS_PATH.'Reports.php');
require_once(SG_POPUP_CLASSES_PATH.'Filters.php');
require_once(SG_POPUP_CLASSES_PATH.'Actions.php');
require_once(SG_POPUP_LIBS_PATH.'Table.php');
require_once(SG_POPUP_CLASSES_PATH.'Updates.php');
require_once(SG_POPUP_CLASSES_PATH.'NotificationCenter.php');
require_once(SG_POPUP_CLASSES_PATH.'Notification.php');
require_once(SG_POPUP_CLASSES_PATH.'Feedback.php');
require_once(SG_POPUP_COMPONENTS_PATH.'Menu.php');
require_once(SGPB_POPUP_DETECTION_PATH.'SgpbPopupVersionDetection.php');
public function actions()
$this->actions = new Actions();
public function filters()
$this->filters = new Filters();
public function versionDetection()
new SgpbPopupVersionDetection();
private function registerHooks()
register_activation_hook(SGPB_POPUP_FILE_NAME, array($this, 'activate'));
register_deactivation_hook(SGPB_POPUP_FILE_NAME, array($this, 'deactivate'));
public function activate()
Installer::registerPlugin();
AdminHelper::filterUserCapabilitiesForTheUserRoles('activate');
public function deactivate()
Functions::clearAllTransients();
AdminHelper::removeSelectedTypeOptions('cron');
AdminHelper::filterUserCapabilitiesForTheUserRoles('deactivate');
require_once(SG_POPUP_EXTENSION_PATH.'SgpbPopupExtensionRegister.php');
$pluginName = SGPB_POPUP_FILE_NAME;
// remove AWeber extension from registered extensions
SgpbPopupExtensionRegister::remove($pluginName);
//Deactivate all related plugin when POPUP BUILDER is deactivate
remove_action('deactivate_popup-builder/popup-builder.php',array($this, 'deactivate'));
if ( function_exists( 'is_multisite' ) && ! is_multisite() ) {
$plugins = get_plugins();
foreach($plugins as $name => $data) {
if ( strpos($data['Name'], 'Popup Builder') !== false && strpos($data['PluginURI'], 'popup-builder.com') !== false) {
deactivate_plugins($name);
wp_redirect( admin_url() . 'plugins.php?deactivate=true' );
PopupBuilderInit::getInstance();