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');
}
// Create Admin Menu Pages
public static function createPages() {
global $amp_pages, $global_js, $global_css;
foreach ($amp_pages as $p) {
$page_hook_suffix = null;
if ($p['Type'] == 'MENU') {
$page_hook_suffix = add_menu_page($p['Page_Title'], $p['Menu_Title'], $p['Capability'], $p['Slug'], array('AMP_Init', 'loadPage'), AMP_URL . $p['Icon']);
} else {
$page_hook_suffix = add_submenu_page($p['Parent_Slug'], $p['Page_Title'], $p['Menu_Title'], $p['Capability'], $p['Slug'], array('AMP_Init', 'loadPage'));
}
add_action('admin_print_scripts-' . $page_hook_suffix, function() use($p, $global_js) {
foreach ($global_js as $enqueueName) {
wp_enqueue_script($enqueueName);
}
foreach ($p['JavaScript'] as $enqueueName) {
wp_enqueue_script($enqueueName);
}
});
add_action('admin_print_styles-' . $page_hook_suffix, function() use($p, $global_css) {
foreach ($global_css as $enqueueName) {
wp_enqueue_style($enqueueName);
}
foreach ($p['Css'] as $enqueueName) {
wp_enqueue_style($enqueueName);
}
});
}
wp_enqueue_media();
}
// Load a Page
public static function loadPage() {
$page = $_GET['page'];
$page = 'page_' . str_replace('amp-', '', $page) . '.php';
$page = AMP_PATH . '/pages/' . $page;
if (file_exists($page)) {
require_once ( $page );
} else {
echo "
404 - Page not Found!
";
}
}
// Verify if site has what it takes to run a plugin
public static function verify_requirements() {
global $wp_version;
if (version_compare(PHP_VERSION, AMP_REQUIRED_PHP_VERSION, '<')) {
return false;
}
if (version_compare($wp_version, AMP_REQUIRED_WP_VERSION, '<')) {
return false;
}
if (is_multisite() != AMP_REQUIRED_WP_NETWORK) {
return false;
}
return true;
}
// Load all Models and init them
public static function loadModels() {
$models = glob(AMP_PATH . '/models/wp_*');
foreach ($models as $m) {
require_once ( $m );
// Init the model
$x = explode('wp_', $m);
$class = 'MAMP_' . ucfirst(str_replace('.php', '', $x[1]));
if (method_exists($class, 'initialize')) {
call_user_func(array($class, 'initialize'));
}
}
}
// Create/Modify Tables
public static function createTables() {
$models = glob(AMP_PATH . '/models/wp_*');
foreach ($models as $m) {
$x = explode('wp_', $m);
$class = 'MAMP_' . ucfirst(str_replace('.php', '', $x[1]));
if (method_exists($class, 'createTable')) {
call_user_func(array($class, 'createTable'));
}
}
}
// Remove Tables
public static function removeTables() {
$models = glob(AMP_PATH . '/models/wp_*');
foreach ($models as $m) {
require_once ( $m );
$x = explode('wp_', $m);
$class = 'MAMP_' . ucfirst(str_replace('.php', '', $x[1]));
if (method_exists($class, 'removeTable')) {
call_user_func(array($class, 'removeTable'));
}
}
}
// Init the plugin
public static function init() {
// Init the models
self::loadModels();
// Init the hooks
self::hooks();
}
public static function addMetaTag() {
$amps = get_option('amps');
if (!empty($amps['site_verification'])) {
echo '';
}
}
public static function register_advanced_amp() {
global $wpdb;
$email = $_POST['email'];
$domain = parse_url(get_site_url());
$this_domain = preg_replace('#^www\.(.+\.)#i', '$1', $domain['host']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://sitemap.ampsupremacy.com/api/index.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('email' => $email, 'domain' => $this_domain, 'action' => 'register')));
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
echo $server_output;
curl_close($ch);
wp_die();
}
public static function get_registration_status() {
$domain = parse_url(get_site_url());
$this_domain = preg_replace('#^www\.(.+\.)#i', '$1', $domain['host']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://sitemap.ampsupremacy.com/api/index.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('domain' => $this_domain, 'action' => 'registered')));
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
return $server_output;
}
function get_amp_sitemap_notice() {
$amp_sitemap_exists = file_exists(ABSPATH.'wp-content/plugins/amp-supremacy-sitemap');
$amp_supremacy_url = get_site_url().'/wp-admin/admin.php?page=amp-settings';
if(!$amp_sitemap_exists){
echo '';
}
}
}
}