Notice: include(): Read of 8692 bytes failed with errno=12 Cannot allocate memory in /home/parkwood/public_html/wp-content/plugins/popup-maker/vendor-prefixed/composer/ClassLoader.php on line 576
Notice: include(): Read of 8692 bytes failed with errno=12 Cannot allocate memory in /home/parkwood/public_html/wp-content/plugins/popup-maker/vendor-prefixed/composer/ClassLoader.php on line 576
class, check if old settings exist.
$version = \PopupMaker\detect_previous_install_version();
$initial_version = \PopupMaker\detect_initial_install_version();
$installed_on = \PopupMaker\detect_initial_install_date();
$upgraded_from = get_option( 'pum_ver_upgraded_from', null );
$data = [
// Setting to 0.0.0 if not set forces a "migration" to run.
'version' => $version ? $version : '0.0.0',
'upgraded_from' => $upgraded_from ? (string) $upgraded_from : null,
'initial_version' => $initial_version ? $initial_version : $version,
'installed_on' => $installed_on,
];
return $data;
}
/**
* Add default services to our Container.
*
* @return void
*/
protected function register_services() {
/**
* Attach our container to the global.
*/
$GLOBALS[ $this->get( 'option_prefix' ) ] = $this;
/**
* Check if this is the core plugin.
*
* Because extensions extend this class for access to services,
* we only want to load the core services if this is the core plugin.
*/
$this->set(
'options',
/**
* Get plugin options.
*
* @return \PopupMaker\Services\Options
*/
function ( $container ) {
return new \PopupMaker\Services\Options( $container );
}
);
$this->set(
'connect',
/**
* Get plugin connect.
*
* @return Connect
*/
function ( $container ) {
return new \PopupMaker\Services\Connect( $container );
}
);
$this->set(
'license',
/**
* Get plugin license.
*
* @return License
*/
function ( $container ) {
return new \PopupMaker\Services\License( $container );
}
);
$this->set(
'logging',
/**
* Get plugin logging.
*
* @return Logging
*/
function ( $container ) {
return new \PopupMaker\Services\Logging( $container );
}
);
$this->set(
'upgrader',
/**
* Get plugin upgrader.
*
* @return Upgrader
*/
function ( $container ) {
return new \PopupMaker\Services\Upgrader( $container );
}
);
$this->set(
'popups',
/**
* Get user popups from the database.
*
* @return \PopupMaker\Services\Repository\Popups
*/
function ( $container ) {
return new \PopupMaker\Services\Repository\Popups( $container );
}
);
$this->set(
'ctas',
/**
* Get user call to actions from the database.
*
* @return \PopupMaker\Services\Repository\CallToActions
*/
function ( $container ) {
return new \PopupMaker\Services\Repository\CallToActions( $container );
}
);
$this->set(
'cta_types',
/**
* Get registered call to actions types.
*
* @return \PopupMaker\Services\Collector\CallToActionTypes
*/
function ( $container ) {
return new \PopupMaker\Services\Collector\CallToActionTypes( $container );
}
);
// $this->set(
// 'rules',
/**
* Get plugin rules.
*
* @return \PopupMaker\RuleEngine\Rules
*/
// function () {
// return new \PopupMaker\RuleEngine\Rules();
// }
// );
$this->set(
'globals',
/**
* Get plugin global manager.
*
* @return \PopupMaker\Services\Globals
*/
function () {
return new \PopupMaker\Services\Globals();
}
);
$this->set(
'link_click_tracking',
/**
* Get link click tracking service.
*
* @return \PopupMaker\Services\LinkClickTracking
*/
function ( $container ) {
return new \PopupMaker\Services\LinkClickTracking( $container );
}
);
$this->set(
'form_conversion_tracking',
/**
* Get form conversion tracking service.
*
* @return \PopupMaker\Services\FormConversionTracking
*/
function ( $container ) {
return new \PopupMaker\Services\FormConversionTracking( $container );
}
);
$this->set(
'notifications',
/**
* Get notifications orchestrator service.
*
* @return \PopupMaker\Services\Notifications\Manager
*/
function ( $container ) {
return new \PopupMaker\Services\Notifications\Manager( $container );
}
);
do_action( 'popup_maker/register_services', $this );
}
/**
* Initialize services.
*
* @return void
*/
protected function init_services() {
$license = $this->get( 'license' );
// Initialize link click tracking.
$link_click_tracking = $this->get( 'link_click_tracking' );
$link_click_tracking->init();
// Initialize form conversion tracking.
$form_conversion_tracking = $this->get( 'form_conversion_tracking' );
$form_conversion_tracking->init();
/*
* Defer notifications orchestrator init until WordPress's `init`
* action. Core loads on plugins_loaded@11, but addons (Pro, Pro+,
* integrations) load at priority 12+ and need a window to register
* their own providers via the `popup_maker/notification_providers`
* filter before the Manager resolves the provider list.
*/
add_action( 'init', function () {
$this->get( 'notifications' )->init();
}, 5 );
}
/**
* Get the options service.
*
* @return \PopupMaker\Services\Options
* @throws \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException
*/
public function options() {
return $this->get( 'options' );
}
/**
* Get plugin option.
*
* @param string $key Option key.
* @param boolean|mixed $default_value Default value.
* @return mixed
*/
public function get_option( $key, $default_value = false ) {
// Use old class directly to get all old options.
$deprecated_options = \PUM_Utils_Options::get_all();
if ( isset( $deprecated_options[ $key ] ) ) {
// Use the old class to get the option, specifically for backwards compatibility as it has filters.
return \PUM_Utils_Options::get( $key, $default_value );
}
return $this->options()->get( $key, $default_value );
}
/**
* Get plugin permissions.
*
* @return array Array of permissions.
*/
public function get_permissions() {
$permissions = \PopupMaker\get_default_permissions();
$user_permisions = $this->options()->get( 'permissions', [] );
if ( ! empty( $user_permisions ) ) {
foreach ( $user_permisions as $cap => $user_permission ) {
if ( ! empty( $user_permission ) ) {
$permissions[ $cap ] = $user_permission;
}
}
}
return $permissions;
}
/**
* Get plugin permission for capability.
*
* @param string $cap Permission key.
*
* @return string User role or cap required.
*/
public function get_permission( $cap ) {
$permissions = $this->get_permissions();
return isset( $permissions[ $cap ] ) ? $permissions[ $cap ] : 'manage_options';
}
/**
* Check if debug mode is enabled.
*
* This is only used to change from minified to unminified
* assets to make debugging easier, specifically when logged out.
*
* @return boolean
*/
public function is_debug_mode_enabled() {
// Ignored as we are simply checking for a query var's existence.
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
return isset( $_GET['pum_debug'] ) || \PUM_Utils_Options::get( 'debug_mode', false );
}
/**
* Check if pro version is installed.
*
* @return boolean
*/
public function is_pro_installed() {
return file_exists( WP_PLUGIN_DIR . '/popup-maker-pro/popup-maker-pro.php' );
}
/**
* Check if pro version is active.
*
* @return boolean
*/
public function is_pro_active() {
return $this->is_pro_installed() && function_exists( '\PopupMaker\Pro\plugin' );
}
/**
* Get Pro plugin version if installed.
*
* @return string Pro plugin version or empty string if not installed.
*/
public function get_pro_version() {
$pro_plugin_file = WP_PLUGIN_DIR . '/popup-maker-pro/popup-maker-pro.php';
if ( ! file_exists( $pro_plugin_file ) ) {
return '';
}
if ( ! function_exists( 'get_plugin_data' ) ) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$plugin_data = get_plugin_data( $pro_plugin_file, false, false );
return isset( $plugin_data['Version'] ) ? $plugin_data['Version'] : '';
}
/**
* Check if license is active.
*
* @return boolean
*/
public function is_license_active() {
return $this->get( 'license' )->is_license_active();
}
/**
* Check if any Popup Maker extensions are active.
*
* @return boolean
*/
public function has_extensions() {
$enabled_extensions = pum_enabled_extensions();
return ! empty( $enabled_extensions );
}
/**
* Check if any Pro+ addons are active.
*
* @return boolean
*/
public function has_pro_plus_addons() {
// Pro+ addons include ecommerce-popups and lms-popups.
return pum_extension_enabled( 'ecommerce-popups' ) || pum_extension_enabled( 'lms-popups' );
}
}
Fatal error: Uncaught Error: Class "PopupMaker\Plugin\Core" not found in /home/parkwood/public_html/wp-content/plugins/popup-maker/bootstrap.php:115
Stack trace:
#0 /home/parkwood/public_html/wp-content/plugins/popup-maker/bootstrap.php(131): PopupMaker\plugin_instance()
#1 /home/parkwood/public_html/wp-content/plugins/popup-maker/includes/legacy/class-popup-maker.php(137): PopupMaker\plugin()
#2 /home/parkwood/public_html/wp-content/plugins/popup-maker/includes/legacy/class-popup-maker.php(111): Popup_Maker->setup_constants()
#3 /home/parkwood/public_html/wp-content/plugins/popup-maker/bootstrap.legacy.php(168): Popup_Maker::instance()
#4 /home/parkwood/public_html/wp-content/plugins/popup-maker/bootstrap.legacy.php(125): pum()
#5 /home/parkwood/public_html/wp-includes/class-wp-hook.php(341): pum_init_legacy('')
#6 /home/parkwood/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters(Object(REALLY_SIMPLE_SSL), Array)
#7 /home/parkwood/public_html/wp-includes/plugin.php(522): WP_Hook->do_action(Array)
#8 /home/parkwood/public_html/wp-settings.php(622): do_action('plugins_loaded')
#9 /home/parkwood/public_html/wp-config.php(95): require_once('/home/parkwood/...')
#10 /home/parkwood/public_html/wp-load.php(50): require_once('/home/parkwood/...')
#11 /home/parkwood/public_html/wp-blog-header.php(13): require_once('/home/parkwood/...')
#12 /home/parkwood/public_html/index.php(17): require('/home/parkwood/...')
#13 {main}
thrown in /home/parkwood/public_html/wp-content/plugins/popup-maker/bootstrap.php on line 115