184 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			184 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| if ( ! class_exists( 'MO_Admin_Notice' ) ) {
 | |
| 
 | |
| 	class MO_Admin_Notice {
 | |
| 		public function __construct() {
 | |
| 			add_action( 'admin_notices', array( $this, 'admin_notice' ) );
 | |
| 			add_action( 'network_admin_notices', array( $this, 'admin_notice' ) );
 | |
| 
 | |
| 			add_action( 'admin_init', array( $this, 'dismiss_admin_notice' ) );
 | |
| 		}
 | |
| 
 | |
| 		public function dismiss_admin_notice() {
 | |
| 			if ( ! isset( $_GET['mo-adaction'] ) || 'mo_dismiss_adnotice' !== $_GET['mo-adaction'] ) {
 | |
| 				return;
 | |
| 			}
 | |
| 
 | |
| 			$url = admin_url();
 | |
| 			update_option( 'mo_dismiss_adnotice', 'true' );
 | |
| 
 | |
| 			wp_safe_redirect( $url );
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		public function admin_notice() {
 | |
| 
 | |
| 			global $pagenow;
 | |
| 
 | |
| 			if ( 'index.php' === $pagenow || ( isset( $_GET['page'] ) && false !== strpos( $_GET['page'], 's2_' ) ) ) {
 | |
| 
 | |
| 				if ( get_option( 'mo_dismiss_adnotice', 'false' ) === 'true' ) {
 | |
| 					return;
 | |
| 				}
 | |
| 
 | |
| 				if ( $this->is_plugin_installed() && $this->is_plugin_active() ) {
 | |
| 					return;
 | |
| 				}
 | |
| 
 | |
| 				$dismiss_url = esc_url_raw(
 | |
| 					add_query_arg(
 | |
| 						array(
 | |
| 							'mo-adaction' => 'mo_dismiss_adnotice',
 | |
| 						),
 | |
| 						admin_url()
 | |
| 					)
 | |
| 				);
 | |
| 				$this->notice_css();
 | |
| 				$install_url = wp_nonce_url(
 | |
| 					admin_url( 'plugin-install.php?s=wemail&tab=search&type=term' ),
 | |
| 					'install-plugin_mailoptin'
 | |
| 				);
 | |
| 
 | |
| 				$activate_url = wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=wemail%2Fwemail.php' ), 'activate-plugin_wemail/wemail.php' );
 | |
| 				?>
 | |
| 				<div class="mo-admin-notice notice notice-success">
 | |
| 					<div class="mo-notice-first-half">
 | |
| 						<p>
 | |
| 							<?php
 | |
| 							printf(
 | |
| 								// Translators: Mail Optin admin notice
 | |
| 								__( 'Free email newsletter plugin that will %1$sincrease your email list subscribers%2$s and keep them engaged with %1$sautomated and schedule newsletters%2$s.', 'subscribe2' ),
 | |
| 								'<span class="mo-stylize"><strong>',
 | |
| 								'</strong></span>'
 | |
| 							);
 | |
| 							?>
 | |
| 						</p>
 | |
| 						<p style="text-decoration: underline;font-size: 12px;">Recommended by Subscribe2 plugin</p>
 | |
| 					</div>
 | |
| 					<div class="mo-notice-other-half">
 | |
| 						<?php if ( ! $this->is_plugin_installed() ) : ?>
 | |
| 							<a class="button button-primary button-hero" id="mo-install-mailoptin-plugin" href="<?php echo $install_url; ?>">
 | |
| 								<?php _e( 'Install weMail Now for Free!', 'subscribe2' ); ?>
 | |
| 							</a>
 | |
| 						<?php endif; ?>
 | |
| 						<?php if ( $this->is_plugin_installed() && ! $this->is_plugin_active() ) : ?>
 | |
| 							<a class="button button-primary button-hero" id="mo-activate-mailoptin-plugin" href="<?php echo $activate_url; ?>">
 | |
| 								<?php _e( 'Activate weMail Now!', 'subscribe2' ); ?>
 | |
| 							</a>
 | |
| 						<?php endif; ?>
 | |
| 						<div class="mo-notice-learn-more">
 | |
| 							<a target="_blank" href="https://getwemail.io">Learn more</a>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 					<a href="<?php echo $dismiss_url; ?>">
 | |
| 						<button type="button" class="notice-dismiss">
 | |
| 							<span class="screen-reader-text"><?php _e( 'Dismiss this notice', 'subscribe2' ); ?>.</span>
 | |
| 						</button>
 | |
| 					</a>
 | |
| 				</div>
 | |
| 				<?php
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public function current_admin_url() {
 | |
| 			$parts = wp_parse_url( home_url() );
 | |
| 			$uri   = $parts['scheme'] . '://' . $parts['host'];
 | |
| 
 | |
| 			if ( array_key_exists( 'port', $parts ) ) {
 | |
| 				$uri .= ':' . $parts['port'];
 | |
| 			}
 | |
| 
 | |
| 			$uri .= add_query_arg( array() );
 | |
| 
 | |
| 			return $uri;
 | |
| 		}
 | |
| 
 | |
| 		public function is_plugin_installed() {
 | |
| 			$installed_plugins = get_plugins();
 | |
| 
 | |
| 			return isset( $installed_plugins['wemail/wemail.php'] );
 | |
| 		}
 | |
| 
 | |
| 		public function is_plugin_active() {
 | |
| 			return is_plugin_active( 'wemail/wemail.php' );
 | |
| 		}
 | |
| 
 | |
| 		public function notice_css() {
 | |
| 			?>
 | |
| 			<style type="text/css">
 | |
| 				.mo-admin-notice {
 | |
| 					background: #fff;
 | |
| 					color: #000;
 | |
| 					border-left-color: #46b450;
 | |
| 					position: relative;
 | |
| 				}
 | |
| 
 | |
| 				.mo-admin-notice .notice-dismiss:before {
 | |
| 					color: #72777c;
 | |
| 				}
 | |
| 
 | |
| 				.mo-admin-notice .mo-stylize {
 | |
| 					line-height: 2;
 | |
| 				}
 | |
| 
 | |
| 				.mo-admin-notice .button-primary {
 | |
| 					background: #006799;
 | |
| 					text-shadow: none;
 | |
| 					border: 0;
 | |
| 					box-shadow: none;
 | |
| 				}
 | |
| 
 | |
| 				.mo-notice-first-half {
 | |
| 					width: 66%;
 | |
| 					display: inline-block;
 | |
| 					margin: 10px 0;
 | |
| 				}
 | |
| 
 | |
| 				.mo-notice-other-half {
 | |
| 					width: 33%;
 | |
| 					display: inline-block;
 | |
| 					padding: 20px 0;
 | |
| 					position: absolute;
 | |
| 					text-align: center;
 | |
| 				}
 | |
| 
 | |
| 				.mo-notice-first-half p {
 | |
| 					font-size: 14px;
 | |
| 				}
 | |
| 
 | |
| 				.mo-notice-learn-more a {
 | |
| 					margin: 10px;
 | |
| 				}
 | |
| 
 | |
| 				.mo-notice-learn-more {
 | |
| 					margin-top: 10px;
 | |
| 				}
 | |
| 			</style>
 | |
| 			<?php
 | |
| 		}
 | |
| 
 | |
| 		public static function instance() {
 | |
| 			static $instance = null;
 | |
| 
 | |
| 			if ( is_null( $instance ) ) {
 | |
| 				$instance = new self();
 | |
| 			}
 | |
| 
 | |
| 			return $instance;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	MO_Admin_Notice::instance();
 | |
| }
 |