| Server IP : 213.186.33.4 / Your IP : 216.73.216.222 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/plugins/landing-pages/trunk/classes/ |
Upload File : |
<?php
/**
* Class for defining and displaying admin notices to users. Only displays notices in areas related to Landing Pages plugin.
* @package LandingPages
* @subpackage Notices
*/
class Landing_Pages_Admin_Notices {
public function __construct() {
self::add_hooks();
}
public static function add_hooks() {
add_action('admin_notices', array( __CLASS__, 'dont_install_landing_page_templates_here'));
add_action('admin_notices', array( __CLASS__, 'permalink_structure_notice' ) );
}
/**
* Persistant message to not install landing page themes at templates.
*/
public static function dont_install_landing_page_templates_here() {
$screen = get_current_screen();
if( $screen->id === 'themes' ||
$screen->id === 'theme-install' ||
$screen->id === 'update' && isset($_GET['action']) && $_GET['action'] === "upload-theme"
) {
/* only show administrators */
if( !current_user_can('activate_plugins') ) {
return;
}
$message_id = 'landing-page-installation';
if (is_plugin_active('landing-pages/landing-pages.php')) {
$lp = true;
$message_id = 'landing-page-installation';
}
if (is_plugin_active('cta/calls-to-action.php')) {
$cta = true;
$message_id = 'cta-installation';
}
/* check if user viewed message already */
if (self::check_if_viewed($message_id)) {
return;
}
$doc = 'http://docs.inboundnow.com/guide/installing-new-templates/';
$link = admin_url( 'edit.php?post_type=landing-page&page=lp_templates_upload' );
?>
<div class="error" style="margin-bottom:10px;" id="inbound_notice_<?php echo $message_id; ?>">
<h3 style='font-weight:normal; margin-bottom:0px;padding-bottom:0px;'>
<strong>
<?php _e( 'Attention Landing Page Users:' , 'inbound-pro' ); ?>
</strong>
</h3>
<p style='font-weight:normal; margin-top:0px;margin-bottom:0px;'><?php _e( sprintf( 'If you are trying to install a <strong>landing page template</strong> from Inbound Now, %s Please Follow these instructions%s' , '<a href=\'http://docs.inboundnow.com/guide/installing-new-templates/\' target=\'_blank\'>' , '</a>' ) , 'inbound-pro' ); ?>
<br>
<?php echo "Landing page templates need to be installed <a href='".$link."'>here</a> in the <strong><a href='".$link."'>Landing pages</a> > <a href='".$link."'>Manage templates area</a></strong>"; ?>
</p>
<a class="button button-large inbound_dismiss" href="#" id="<?php echo $message_id; ?>" data-notification-id="<?php echo $message_id; ?>" ><?php _e('Dismiss','inbound-pro'); ?></a>
<br><br>
</div>
<?php
/* echo javascript used to listen for notice closing */
self::javascript_dismiss_notice();
}
}
/**
* Notice to tell people that a permalink structure besides default must be selected to enable split testing
*/
public static function permalink_structure_notice(){
global $pagenow;
if ( !get_option('permalink_structure') ) {
/* only show administrators */
if( !current_user_can('activate_plugins') ) {
return;
}
?>
<div class="error">
<p>
<?php _e( 'We\'ve noticed that your permalink settings are set to the default setting. Landing Page varation roation is not possible on this setting. To enable roation please go into Settings->Permalinks and update them to a different format.' , 'inbound-pro' ); ?>
</p>
</div>
<?php
}
}
/**
* Notice to tell people that variation A needs to be save first
*/
public static function acf5_required(){
global $post;
$screen = get_current_screen();
if ( !isset($post) || $screen->id == 'landing-pages' ||$screen->id == 'edit-landing-page' || $post->post_status !='publish' ) {
return;
}
$extension_data = Landing_Pages_Load_Extensions::get_extended_data();;
$current_template = Landing_Pages_Variations::get_current_template($post->ID);
if ( defined('ACF_PRO') || !isset($extension_data[$current_template]['info']['data_type']) || $extension_data[$current_template]['info']['data_type'] != 'acf5' ) {
return;
}
?>
<div class="error">
<p>
<?php echo sprintf(__('This landing page template requires %sInbound Pro Plugin + active subscription%s or the %sInbound Premium Template Support Extension%s to operate. Please download the best available option and activate it as a plugin to continue working with this template.', 'landing-pages'), '<a href="https://www.inboundnow.com/pricing/">', '</a>', '<a href="https://www.inboundnow.com/account/">', '</a>'); ?>
</p>
</div>
<?php
}
/**
* check if user has viewed and dismissed cta
* @param $notificaiton_id
*/
public static function check_if_viewed( $notificaiton_id ) {
global $current_user;
$user_id = $current_user->ID;
return get_user_meta($user_id, 'inbound_notification_' . $notificaiton_id ) ;
}
public static function javascript_dismiss_notice() {
global $current_user;
$user_id = $current_user->ID;
?>
<script type="text/javascript">
jQuery( document ).ready(function() {
jQuery('body').on('click' , '.inbound_dismiss' , function() {
var notification_id = jQuery( this ).data('notification-id');
jQuery('#inbound_notice_' + notification_id).hide();
jQuery.ajax({
type: 'POST',
url: ajaxurl,
context: this,
data: {
action: 'inbound_dismiss_ajax',
notification_id: notification_id,
user_id: '<?php echo $user_id; ?>'
},
success: function (data) {
},
error: function (MLHttpRequest, textStatus, errorThrown) {
alert("Ajax not enabled");
}
});
})
});
</script>
<?php
}
}
new Landing_Pages_Admin_Notices;