$plugin_version));
}
// When plugin is de-activated
public static function deactivate() {
$amp_supremacy_data = get_plugin_data(AMP_FILE);
$plugin_version = $amp_supremacy_data['Version'];
MAMP_Model::updateInstallationStatus(0, $plugin_version);
}
// When plugin is uninstalled
public static function uninstall() {
$amp_supremacy_data = get_plugin_data(AMP_FILE);
$plugin_version = $amp_supremacy_data['Version'];
MAMP_Model::updateInstallationStatus(2, $plugin_version);
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_PAGES | EP_PERMALINK | EP_ALL_ARCHIVES | EP_ROOT);
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);
//new scripts(wp-2nd-jan)
wp_register_script('amp_sticky', AMP_URL . 'assets/src/js/components/sticky.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_register_script('amp_admin_js', AMP_URL . 'assets/js/amp_admin.js', array('jquery'), '1.0', true);
wp_localize_script('amp_admin_js', 'amp_data', array(
'wp_get' => admin_url('admin-ajax.php'),
'wp_post' => admin_url('admin-post.php'),
'plugins_url' => plugins_url()
)
);
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) {
if(isset($_POST['amps_use_custom_settings']) && isset($_POST['amps'])){
$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!
'
));
}
public static function render_amps_custom_column_content($column, $post_id) {
if ($column == 'amps_disable') {
$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);
$amps_disable_checkbox_checked = '';
if (isset($amps_use_custom_settings_option) && $amps_use_custom_settings_option == 1) {
$amps_disable_checkbox_checked = (isset($amps_use_custom_settings['enable']) && $amps_use_custom_settings['enable'] == 1) ? 'checked' : '';
}
echo '';
}
}
public static function disable_amps_for_this_post() {
$post_id = $_POST['post_id'];
$disable_status = ($_POST['disable_status'] == 'YES') ? 1 : 0;
$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);
$amp_settings = get_option('amps');
$checkBoxControls = array(
'enable' => 0,
'load_seo' => 0,
'hide_post_date' => 0,
'hide_post_author_name' => 0,
'hide_post_tags' => 0,
'hide_post_categories' => 0,
);
/* IF Custom settings are already on for this post */
if ($amps_use_custom_settings_option == 1) {
$checkBoxControls = $amps_use_custom_settings;
$checkBoxControls['enable'] = $disable_status;
} else {
if(is_array($amp_settings)){
$checkBoxControls['load_seo'] = $amp_settings['use_seo_meta'];
$checkBoxControls['hide_post_date'] = !$amp_settings['on_posts'];
$checkBoxControls['hide_post_author_name'] = !$amp_settings['on_author_name'];
$checkBoxControls['hide_post_tags'] = !$amp_settings['on_post_tags'];
$checkBoxControls['hide_post_categories'] = !$amp_settings['on_post_categories'];
}
$checkBoxControls['enable'] = $disable_status;
}
update_post_meta($post_id, AMP_CUSTOM_SETTINGS_SWITCH, 1);
update_post_meta($post_id, AMP_CUSTOM_SETTINGS, $checkBoxControls);
exit;
}
public function load_amp_pro_dummy_controls(){
echo '