public function admin_init() { if (!$this->is_tgmpa_page()) { return; } if (isset($_REQUEST['tab']) && 'plugin-information' == $_REQUEST['tab']) { require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; wp_enqueue_style('plugin-install'); global $tab, $body_id; $body_id = $tab = 'plugin-information'; install_plugin_information(); exit; } }
/** * Handles calls to show plugin information via links in the notices. * * We get the links in the admin notices to point to the TGMPA page, rather * than the typical plugin-install.php file, so we can prepare everything * beforehand. * * WP does not make it easy to show the plugin information in the thickbox - * here we have to require a file that includes a function that does the * main work of displaying it, enqueue some styles, set up some globals and * finally call that function before exiting. * * Down right easy once you know how... * * Returns early if not the TGMPA page. * * @since 2.1.0 * * @global string $tab Used as iframe div class names, helps with styling * @global string $body_id Used as the iframe body ID, helps with styling * * @return null Returns early if not the TGMPA page. */ public function admin_init() { if (!$this->is_tgmpa_page()) { return; } if (isset($_REQUEST['tab']) && 'plugin-information' === $_REQUEST['tab']) { // Needed for install_plugin_information(). require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; wp_enqueue_style('plugin-install'); global $tab, $body_id; $body_id = 'plugin-information'; // @codingStandardsIgnoreStart $tab = 'plugin-information'; // @codingStandardsIgnoreEnd install_plugin_information(); exit; } }
/** * maybe show the plugin changelog from update info */ public function maybeShowChangelog() { if (!empty($_REQUEST['em_import_export_changelog']) && !empty($_REQUEST['plugin']) && !empty($_REQUEST['slug'])) { if (!current_user_can('update_plugins')) { wp_die(__('You do not have sufficient permissions to update plugins for this site.'), __('Error'), array('response' => 403)); } global $tab, $body_id; $body_id = $tab = 'plugin-information'; $_REQUEST['section'] = 'changelog'; require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; wp_enqueue_style('plugin-install'); wp_enqueue_script('plugin-install'); set_current_screen(); install_plugin_information(); exit; } }
/** * Handles calls to show plugin information via links in the notices. * * We get the links in the admin notices to point to the TGMPA page, rather * than the typical plugin-install.php file, so we can prepare everything * beforehand. * * WP doesn't make it easy to show the plugin information in the thickbox - * here we have to require a file that includes a function that does the * main work of displaying it, enqueue some styles, set up some globals and * finally call that function before exiting. * * Down right easy once you know how... * * @since 2.1.0 * * @global string $tab Used as iframe div class names, helps with styling * @global string $body_id Used as the iframe body ID, helps with styling * @return null Returns early if not the TGMPA page. */ public function admin_init() { if (!$this->is_tgmpa_page()) { return; } //probably not needed set_time_limit(-1); if (isset($_REQUEST['tab']) && 'plugin-information' === $_REQUEST['tab']) { require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; // Need for install_plugin_information(). wp_enqueue_style('plugin-install'); global $tab, $body_id; $body_id = 'plugin-information'; $tab = 'plugin-information'; install_plugin_information(); exit; } }