static function init()
 {
     if (is_null(self::$instance)) {
         self::$instance = new Jetpack_Admin();
     }
     return self::$instance;
 }
 function get_views()
 {
     $modules = Jetpack_Admin::init()->get_modules();
     $array_of_module_tags = wp_list_pluck($modules, 'module_tags');
     $module_tags = call_user_func_array('array_merge', $array_of_module_tags);
     $module_tags_unique = array_count_values($module_tags);
     ksort($module_tags_unique);
     $format = '<a href="%3$s"%4$s data-title="%1$s">%1$s <span class="count">(%2$s)</span></a>';
     $title = __('All', 'jetpack');
     $count = count($modules);
     $url = esc_url(remove_query_arg('module_tag'));
     $current = empty($_GET['module_tag']) ? ' class="current all"' : ' class="all"';
     $views = array('all' => sprintf($format, $title, $count, $url, $current));
     foreach ($module_tags_unique as $title => $count) {
         $key = sanitize_title($title);
         $display_title = esc_html(wptexturize($title));
         $url = esc_url(add_query_arg('module_tag', urlencode($title)));
         $current = '';
         if (!empty($_GET['module_tag']) && $title == $_GET['module_tag']) {
             $current = ' class="current"';
         }
         $views[$key] = sprintf($format, $display_title, $count, $url, $current);
     }
     return $views;
 }
 function dismiss_jetpack_notice()
 {
     if (!isset($_GET['jetpack-notice'])) {
         return;
     }
     switch ($_GET['jetpack-notice']) {
         case 'dismiss':
             if (check_admin_referer('jetpack-deactivate') && !is_plugin_active_for_network(plugin_basename(JETPACK__PLUGIN_DIR . 'jetpack.php'))) {
                 require_once ABSPATH . 'wp-admin/includes/plugin.php';
                 deactivate_plugins(JETPACK__PLUGIN_DIR . 'jetpack.php', false, false);
                 wp_safe_redirect(admin_url() . 'plugins.php?deactivate=true&plugin_status=all&paged=1&s=');
             }
             break;
         case 'jetpack-manage-opt-out':
             if (check_admin_referer('jetpack_manage_banner_opt_out')) {
                 // Don't show the banner again
                 Jetpack_Options::update_option('dismissed_manage_banner', true);
                 // redirect back to the page that had the notice
                 if (wp_get_referer()) {
                     wp_safe_redirect(wp_get_referer());
                 } else {
                     // Take me to Jetpack
                     wp_safe_redirect(admin_url('admin.php?page=jetpack'));
                 }
             }
             break;
         case 'jetpack-protect-multisite-opt-out':
             if (check_admin_referer('jetpack_protect_multisite_banner_opt_out')) {
                 // Don't show the banner again
                 update_site_option('jetpack_dismissed_protect_multisite_banner', true);
                 // redirect back to the page that had the notice
                 if (wp_get_referer()) {
                     wp_safe_redirect(wp_get_referer());
                 } else {
                     // Take me to Jetpack
                     wp_safe_redirect(admin_url('admin.php?page=jetpack'));
                 }
             }
             break;
         case 'jetpack-manage-opt-in':
             if (check_admin_referer('jetpack_manage_banner_opt_in')) {
                 // This makes sure that we are redirect to jetpack home so that we can see the Success Message.
                 $redirection_url = Jetpack::admin_url();
                 remove_action('jetpack_pre_activate_module', array(Jetpack_Admin::init(), 'fix_redirect'));
                 // Don't redirect form the Jetpack Setting Page
                 $referer_parsed = parse_url(wp_get_referer());
                 // check that we do have a wp_get_referer and the query paramater is set orderwise go to the Jetpack Home
                 if (isset($referer_parsed['query']) && false !== strpos($referer_parsed['query'], 'page=jetpack_modules')) {
                     // Take the user to Jetpack home except when on the setting page
                     $redirection_url = wp_get_referer();
                     add_action('jetpack_pre_activate_module', array(Jetpack_Admin::init(), 'fix_redirect'));
                 }
                 // Also update the JSON API FULL MANAGEMENT Option
                 Jetpack::activate_module('manage', false, false);
                 // Special Message when option in.
                 Jetpack::state('optin-manage', 'true');
                 // Activate the Module if not activated already
                 // Redirect properly
                 wp_safe_redirect($redirection_url);
             }
             break;
     }
 }
 static function jumpstart_modules()
 {
     $modules = Jetpack_Admin::init()->get_modules();
     $module_info = array();
     foreach ($modules as $module => $value) {
         if (in_array('Jumpstart', $value['feature'])) {
             $module_info[] = array('slug' => $value['module'], 'name' => $value['name'], 'description' => $value['jumpstart_desc'], 'configure_url' => $value['configurable'] ? $value['configure_url'] : null);
         }
     }
     return $module_info;
 }
 public static function get_modules()
 {
     require_once JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php';
     return Jetpack_Admin::init()->get_modules();
 }
 function page_admin_scripts()
 {
     // Enqueue jp.js and localize it
     wp_enqueue_script('jetpack-js', plugins_url('_inc/jp.js', JETPACK__PLUGIN_FILE), array('jquery', 'wp-util'), JETPACK__VERSION . '-20121111');
     wp_localize_script('jetpack-js', 'jetpackL10n', array('ays_disconnect' => __("This will deactivate all Jetpack modules.\nAre you sure you want to disconnect?", 'jetpack'), 'ays_unlink' => __("This will prevent user-specific modules such as Publicize, Notifications and Post By Email from working.\nAre you sure you want to unlink?", 'jetpack'), 'ays_dismiss' => __("This will deactivate Jetpack.\nAre you sure you want to deactivate Jetpack?", 'jetpack'), 'view_all_features' => __('View all Jetpack features', 'jetpack'), 'no_modules_found' => sprintf(__('Sorry, no modules were found for the search term "%s"', 'jetpack'), '{term}'), 'modules' => Jetpack::get_translated_modules(array_values(Jetpack_Admin::init()->get_modules())), 'currentVersion' => JETPACK__VERSION, 'ajaxurl' => admin_url('admin-ajax.php'), 'show_jumpstart' => $this->jetpack_show_jumpstart(), 'activate_nonce' => wp_create_nonce('jetpack-jumpstart-nonce'), 'admin_nonce' => wp_create_nonce('jetpack-admin-nonce'), 'jumpstart_stats_urls' => $this->build_jumpstart_stats_urls(array('dismiss', 'jumpstarted', 'learnmore', 'viewed', 'manual')), 'admin_stats_urls' => $this->build_nux_admin_stats_urls(array('enabled', 'deactivated', 'learnmore')), 'site_url_manage' => Jetpack::build_raw_urls(get_site_url())));
 }
 /**
  * Get a list of all Jetpack modules and their information.
  *
  * @since 4.3.0
  *
  * @return array Array of Jetpack modules.
  */
 public function get_modules()
 {
     require_once JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php';
     $modules = Jetpack_Admin::init()->get_modules();
     foreach ($modules as $slug => $properties) {
         $modules[$slug]['options'] = Jetpack_Core_Json_Api_Endpoints::prepare_options_for_response($slug);
         if (isset($modules[$slug]['requires_connection']) && $modules[$slug]['requires_connection'] && Jetpack::is_development_mode()) {
             $modules[$slug]['activated'] = false;
         }
     }
     $modules = Jetpack::get_translated_modules($modules);
     return Jetpack_Core_Json_Api_Endpoints::prepare_modules_for_response($modules);
 }
 /**
  * Get a list of all Jetpack modules and their information.
  *
  * @since 4.1.0
  *
  * @return array Array of Jetpack modules.
  */
 public static function get_modules()
 {
     require_once JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php';
     $modules = Jetpack_Admin::init()->get_modules();
     foreach ($modules as $slug => $properties) {
         $modules[$slug]['options'] = self::prepare_options_for_response($slug);
     }
     return $modules;
 }
 function page_admin_scripts()
 {
     // Enqueue jp.js and localize it
     wp_enqueue_script('jetpack-js', plugins_url('_inc/jp.js', JETPACK__PLUGIN_FILE), array('jquery', 'wp-util'), JETPACK__VERSION . '-20121111');
     wp_localize_script('jetpack-js', 'jetpackL10n', array('ays_disconnect' => __("This will deactivate all Jetpack modules.\nAre you sure you want to disconnect?", 'jetpack'), 'ays_unlink' => __("This will prevent user-specific modules such as Publicize, Notifications and Post By Email from working.\nAre you sure you want to unlink?", 'jetpack'), 'ays_dismiss' => __("This will deactivate Jetpack.\nAre you sure you want to deactivate Jetpack?", 'jetpack'), 'view_all_features' => __('View all Jetpack features', 'jetpack'), 'no_modules_found' => sprintf(__('Sorry, no modules were found for the search term "%s"', 'jetpack'), '{term}'), 'modules' => array_values(Jetpack_Admin::init()->get_modules()), 'currentVersion' => JETPACK__VERSION));
 }