$plugin_version));
}
// When plugin is de-activated
public static function deactivate() {
MAMP_Model::updateInstallationStatus(0);
}
// When plugin is uninstalled
public static function uninstall() {
MAMP_Model::updateInstallationStatus(2);
self::removeTables();
}
// When plugin is upgraded
public static function upgrade(){
$amp_supremacy_stat_id = get_option('amp_supremacy_stat_id', -1);
$plugin_version = plugin_get_version();
if($amp_supremacy_stat_id == -1){
MAMP_Model::writeInstallationStatusActivated(array('plugin_version' => $plugin_version));
} else {
MAMP_Model::updateInstallationStatus(null, $plugin_version);
}
}
// Endpoint
public static function addEndPoint() {
add_rewrite_endpoint('amp', EP_ALL);
add_post_type_support( 'post', 'amp' );
add_filter( 'request', array('AMP_Init', 'checkIfRequestHasAmp') );
flush_rewrite_rules();
}
public static function checkIfRequestHasAmp( $query_vars ) {
if ( isset( $query_vars[ 'amp' ] ) && '' === $query_vars[ 'amp' ] ) {
$query_vars[ 'amp' ] = 1;
}
return $query_vars;
}
// Init hooks
public static function hooks() {
add_action('admin_menu', array('AMP_Init', 'createPages'));
add_action('admin_init', array('AMP_Init', 'loadAssets'));
add_action('init', array('AMP_Init', 'addEndPoint'));
// AMP_Post
add_action('admin_post_amp_save_options', array('AMP_Post', 'saveOptions'));
add_action('admin_enqueue_scripts', array('AMP_Init', 'my_plugin_assets_in_admin'));
add_action( 'admin_notices', array('AMP_Init', 'get_amp_sitemap_notice') );
}
// Register all Scripts and Styles that are being used somewhere
public static function loadAssets() {
// Scripts
wp_register_script('amp_uikit', AMP_URL . 'assets/js/uikit/uikit.min.js', array('jquery'), true);
wp_register_script('amp_uikit_notify', AMP_URL . 'assets/js/uikit/components/notify.min.js', array('jquery'), true);
wp_register_script('amp_uikit_accordion', AMP_URL . 'assets/js/uikit/components/accordion.min.js', array('jquery'), true);
wp_register_script('amp_uikit_lightbox', AMP_URL . 'assets/js/uikit/components/lightbox.min.js', array('jquery'), true);
wp_register_script('amp_ajaxq', AMP_URL . 'assets/js/ajaxq.js', array('jquery'), true);
wp_register_script('amp_spectrum', AMP_URL . 'assets/js/vendor/spectrum.js', array('jquery'), true);
wp_register_script('amp_uikit_tooltip', AMP_URL . 'assets/js/uikit/components/tooltip.min.js', array('jquery'), true);
// Page Specific Scripts
/** Load Global JS * */
wp_register_script('amp_main', AMP_URL . 'assets/js/main.js', array('jquery'), true);
/**
* Add a global JS object to main script
*/
wp_localize_script('amp_main', 'amp_data', array(
'wp_get' => admin_url('admin-ajax.php'),
'wp_post' => admin_url('admin-post.php'),
'plugins_url' => plugins_url()
)
);
// Styles
wp_register_style('amp_uikit', AMP_URL . 'assets/css/uikit/uikit.gradient.min.css');
wp_register_style('amp_uikit_progress', AMP_URL . 'assets/css/uikit/components/progress.gradient.min.css');
wp_register_style('amp_uikit_notify', AMP_URL . 'assets/css/uikit/components/notify.min.css');
wp_register_style('amp_font-awesome', AMP_URL . 'assets/css/vendor/font-awesome.min.css');
wp_register_style('amp_spectrum', AMP_URL . 'assets/css/vendor/spectrum.css');
wp_register_style('amp_main', AMP_URL . 'assets/css/main.css');
}
public static function my_plugin_assets_in_admin() {
wp_enqueue_script( 'amp_admin_js', AMP_URL . 'assets/js/amp_admin.js', array( 'jquery' ), '1.0', true );
wp_enqueue_style('amp_admin_css', AMP_URL . 'assets/css/amp_admin.css');
}
public static function addPagePostCustomOptionsBox() {
$amp_supremacy_menu_logo = plugins_url('amp-supremacy/assets/img/logo_menu.png');
$amp_settings_page_url = admin_url('admin.php?page=amp-settings');
$amp_settings_page_head = ' AMP Supremacy Options';
add_meta_box( 'ampsupremacy_object_custom_options', __( $amp_settings_page_head ), 'AMP_Init::pagePostCustomOptionsBoxWidget', 'post','side' );
add_meta_box( 'ampsupremacy_object_custom_options', __( $amp_settings_page_head ), 'AMP_Init::pagePostCustomOptionsBoxWidget', 'page','side' );
}
public static function saveCustomBoxData($post){
$amps_use_custom_settings = $_POST['amps_use_custom_settings'];
$custom_options = $_POST['amps'];
if(isset($amps_use_custom_settings) && $amps_use_custom_settings == 0){
foreach ($custom_options as $this_key => $this_val){
$custom_options[$this_key] = 0;
}
}
update_post_meta($post, AMP_CUSTOM_SETTINGS_SWITCH, $amps_use_custom_settings);
update_post_meta($post, AMP_CUSTOM_SETTINGS, $custom_options);
}
/**
* Outputs the content of the meta box for AMP on-off on specific pages
*/
public static function pagePostCustomOptionsBoxWidget( $post ) {
$amps_use_custom_settings_option = get_post_meta($post->ID, AMP_CUSTOM_SETTINGS_SWITCH, TRUE);
$amps_use_custom_settings = get_post_meta($post->ID, AMP_CUSTOM_SETTINGS, TRUE);
$thisCustomSettingsCheckBoxChecked = (isset($amps_use_custom_settings_option) && !empty($amps_use_custom_settings_option)) ? 'checked' : '';
echo '
AMP Supremacy Lite: Install it for free and get AMP Sitemap and AMP Google Analytics!