/** * Main plugin instance. * * @since 0.1.0 * * @return SatisPress */ public static function instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
/** * Load the admin. * * @since 0.2.0 */ public function load() { $base_path = SatisPress::instance()->cache_path(); $manage_screen = new SatisPress_Admin_Screen_ManagePlugins(); $manage_screen->load(); $settings_screen = new SatisPress_Admin_Screen_Settings(); $settings_screen->set_base_path($base_path); $settings_screen->load(); add_action('admin_init', array($this, 'register_assets')); }
/** * Display admin columns. * * @since 0.2.0 * * @param string $column_name Column identifier. * @param string $plugin_file Plugin file basename. * @param array $plugin_data Array of plugin data. */ public function display_columns($column_name, $plugin_file, $plugin_data) { if ('satispress' !== $column_name) { return; } $packages = SatisPress::instance()->get_packages(); $plugins = get_option('satispress_plugins'); $plugin = SatisPress::instance()->get_package($plugin_file, 'plugin'); printf('<input type="checkbox" value="%1$s"%2$s%3$s class="satispress-status">', esc_attr($plugin_file), checked(isset($packages[$plugin->get_slug()]), true, false), empty($checked) || in_array($plugin_file, $plugins) ? '' : ' disabled="disabled"'); echo '<span class="spinner"></span>'; printf('<input type="hidden" value="%s" class="satispress-status-nonce">', esc_attr(wp_create_nonce('toggle-status_' . $plugin_file))); }
* * Includes trailing slash. * * @since 0.2.0 * @type string SATISPRESS_URL */ define('SATISPRESS_URL', plugin_dir_url(__FILE__)); } include SATISPRESS_DIR . 'includes/functions.php'; /** * Autoloader callback. * * Converts a class name to a file path and requires it if it exists. * * @since 0.2.0 * * @param string $class Class name. */ function satispress_autoloader($class) { if (0 !== strpos($class, 'SatisPress')) { return; } $file = SATISPRESS_DIR . 'includes/class-' . strtolower(str_replace('_', '-', $class)) . '.php'; if (file_exists($file)) { require_once $file; } } spl_autoload_register('satispress_autoloader'); SatisPress::instance();
/** * Display the screen. * * @since 0.2.0 */ public function render_screen() { $permalink = satispress_get_packages_permalink(); $packages = SatisPress::instance()->get_packages(); include SATISPRESS_DIR . 'views/screen-settings.php'; }