/home/altere25/usaigc.com/wp-content/plugins/optinmonster/OMAPI
Edit: /home/altere25/usaigc.com/wp-content/plugins/optinmonster/OMAPI/ConstantContact.php (7602B)
set();
// Pages.
add_action( 'admin_menu', array( $this, 'register_cc_page' ) );
add_action( 'admin_notices', array( $this, 'constant_contact_cta_notice' ) );
add_action( 'wp_ajax_om_constant_contact_dismiss', array( $this, 'constant_contact_dismiss' ) );
}
/**
* Sets our object instance and base class instance.
*
* @since 1.6.0
*/
public function set() {
self::$instance = $this;
$this->base = OMAPI::get_instance();
}
/**
* Loads the OptinMonster admin menu.
*
* @since 1.6.0
*/
public function register_cc_page() {
$slug = 'optin-monster-constant-contact';
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
$is_current = isset( $_GET['page'] ) && $slug === sanitize_key( wp_unslash( $_GET['page'] ) );
$parent_slug = $this->base->menu->parent_slug();
if ( ! $is_current ) {
$parent_slug .= '-no-menu';
}
$this->hook = add_submenu_page(
$parent_slug, // parent slug
esc_html__( 'OptinMonster with Constant Contact', 'optin-monster-api' ), // page title,
esc_html__( 'OptinMonster + Constant Contact', 'optin-monster-api' ),
$this->base->access_capability( $slug ), // cap
$slug, // slug
array( $this, 'display_page' ) // callback
);
// Load settings page assets.
if ( $this->hook ) {
add_action( 'load-' . $this->hook, array( $this, 'assets' ) );
}
}
/**
* Add admin notices to connect to Constant Contact.
*
* @since 1.6.0
*/
public function constant_contact_cta_notice() {
// Only consider showing the notice when WPForms plugin is not active.
// Here WPForms_Constant_Contact class existence is checked which shows the notice in WPForms plugin.
if ( class_exists( 'WPForms_Constant_Contact' ) ) {
return;
}
// Only consider showing the review request to admin users.
if ( ! is_super_admin() ) {
return;
}
// Only display the notice if it has not been dismissed.
$dismissed = get_option( 'optinmonster_constant_contact_dismiss', false );
if ( $dismissed ) {
return;
}
// Only show on the main dashboard page (wp-admin/index.php)
// or any OptinMonster plugin-specific screen.
$can_show = $is_om_page = $this->base->menu->is_om_page();
if ( ! $can_show ) {
$can_show = function_exists( 'get_current_screen' ) && 'dashboard' === get_current_screen()->id;
}
if ( ! $can_show ) {
return;
}
$connect = OMAPI_Urls::onboarding();
$learn_more = OMAPI_Urls::admin( array( 'page' => 'optin-monster-constant-contact' ) );
// Output the notice message.
?>
base->access_capability( 'optin-monster-constant-contact' );
if ( ! $can_dismiss ) {
wp_send_json_error();
}
// Update the option to dismiss the notice.
update_option( 'optinmonster_constant_contact_dismiss', 1, false );
wp_send_json_success();
}
/**
* Loads assets for the settings page.
*
* @since 1.6.0
*/
public function assets() {
add_filter( 'admin_body_class', array( $this, 'add_body_classes' ) );
add_action( 'admin_enqueue_scripts', array( $this->base->menu, 'styles' ) );
add_filter( 'admin_footer_text', array( $this, 'footer' ) );
add_action( 'in_admin_header', array( $this->base->menu, 'output_plugin_screen_banner' ) );
}
/**
* Add body classes.
*
* @since 2.0.0
*
* @param string $classes Body classes.
*
* @return string Body classes.
*/
public function add_body_classes( $classes ) {
$classes .= ' omapi-constant-contact ';
return $classes;
}
/**
* Customizes the footer text on the OptinMonster settings page.
*
* @since 1.6.0
*
* @param string $text The default admin footer text.
* @return string $text Amended admin footer text.
*/
public function footer( $text ) {
$url = 'https://wordpress.org/support/plugin/optinmonster/reviews?filter=5#new-post';
$text = sprintf( __( 'Please rate
OptinMonster ★★★★★ on
WordPress.org to help us spread the word. Thank you from the OptinMonster team!', 'optin-monster-api' ), $url );
return $text;
}
/**
* Outputs the Review Page.
*
* @since 1.6.0
*/
public function display_page() {
$this->base->output_view(
'constantcontact.php',
array(
'images_url' => esc_url( $this->base->url . 'assets/css/images/' ),
'signup_url' => esc_url( $this->sign_up ),
)
);
}
}