PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/craftsperks.online/wp-content/plugins/backupbuddy/lib/updater/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/craftsperks.online/wp-content/plugins/backupbuddy/lib/updater/admin.php |
<?php /* Set up admin interface elements. Written by Chris Jean for iThemes.com Version 1.2.1 Version History 1.0.0 - 2013-09-19 - Chris Jean Split off from the old Ithemes_Updater_Init class. 1.1.0 - 2013-10-02 - Chris Jean Added support for themes through the filter_plugins_api function (since themes don't have a "View version *** details" feature. 1.2.0 - 2013-10-23 - Chris Jean Changed how the licensing page is registered for multisite. It now will only load on multisite sites if the user is a super user (network admin). Removed the code that handled the setting to show or hide the licensing page on multisite sites. 1.2.1 - 2013-10-25 - Chris Jean Added "License" links to Network Admin Plugins and Themes pages. */ class Ithemes_Updater_Admin { private $page_name = 'ithemes-licensing'; private $package_details = false; private $registration_link = false; private $page_ref; public function __construct() { require_once( $GLOBALS['ithemes_updater_path'] . '/settings.php' ); if ( ! is_multisite() || is_super_admin() ) add_action( 'admin_menu', array( $this, 'add_admin_pages' ) ); add_action( 'network_admin_menu', array( $this, 'add_network_admin_pages' ) ); add_action( 'admin_head-plugins.php', array( $this, 'show_activation_message' ) ); add_action( 'admin_head-themes.php', array( $this, 'show_activation_message' ) ); add_action( 'deactivated_plugin', array( $this, 'clear_activation_package' ) ); add_filter( 'upgrader_pre_install', array( $this, 'filter_upgrader_pre_install' ) ); add_filter( 'upgrader_post_install', array( $this, 'filter_upgrader_post_install' ), 10, 3 ); add_filter( 'plugins_api', array( $this, 'filter_plugins_api' ), 10, 3 ); if ( ! is_multisite() || is_super_admin() ) { add_filter( 'plugin_action_links', array( $this, 'filter_plugin_action_links' ), 10, 4 ); add_filter( 'theme_action_links', array( $this, 'filter_theme_action_links' ), 10, 2 ); } add_filter( 'network_admin_plugin_action_links', array( $this, 'filter_plugin_action_links' ), 10, 4 ); add_filter( 'network_admin_theme_action_links', array( $this, 'filter_theme_action_links' ), 10, 2 ); } public function filter_plugins_api( $value, $action, $args ) { $options = $GLOBALS['ithemes-updater-settings']->get_options(); if ( ! isset( $args->slug ) ) return $value; foreach ( (array) $options['update_plugins'] as $path => $data ) { if ( $data->slug == $args->slug ) { require_once( $GLOBALS['ithemes_updater_path'] . '/information.php' ); return Ithemes_Updater_Information::get_plugin_information( $path ); } } foreach ( (array) $options['update_themes'] as $path => $data ) { if ( $path == $args->slug ) { require_once( $GLOBALS['ithemes_updater_path'] . '/information.php' ); return Ithemes_Updater_Information::get_theme_information( $path ); } } return $value; } public function filter_upgrader_pre_install( $value ) { $this->set_package_details(); return $value; } public function filter_upgrader_post_install( $value, $hook_extra, $result ) { $options = $GLOBALS['ithemes-updater-settings']->queue_flush(); return $value; } public function clear_activation_package( $deactivated_path ) { $packages = $GLOBALS['ithemes-updater-settings']->get_packages(); $options = $GLOBALS['ithemes-updater-settings']->get_options(); $deactivated_path = WP_PLUGIN_DIR . "/$deactivated_path"; foreach ( $packages as $package => $paths ) { if ( ! in_array( $deactivated_path, $paths ) || ( count( $paths ) > 1 ) ) continue; $index = array_search( $package, $options['packages'] ); if ( false === $index ) return; unset( $options['packages'][$index] ); $GLOBALS['ithemes-updater-settings']->update_options( $options ); return; } } public function show_activation_message() { $new_packages = $GLOBALS['ithemes-updater-settings']->get_new_packages(); if ( empty( $new_packages ) ) return; natcasesort( $new_packages ); require_once( $GLOBALS['ithemes_updater_path'] . '/functions.php' ); $names = array(); foreach ( $new_packages as $package ) $names = Ithemes_Updater_Functions::get_package_name( $package ); if ( is_multisite() && is_network_admin() ) $url = network_admin_url( 'settings.php' ) . "?page={$this->page_name}"; else $url = admin_url( 'options-general.php' ) . "?page={$this->page_name}"; echo '<div class="updated fade"><p>' . wp_sprintf( __( 'To receive automatic updates for %l, use the <a href="%s">iThemes Licensing</a> page found in the Settings menu.', 'it-l10n-backupbuddy' ), $names, $url ) . '</p></div>'; $GLOBALS['ithemes-updater-settings']->update_packages(); } public function add_admin_pages() { $this->page_ref = add_options_page( __( 'iThemes Licensing', 'it-l10n-backupbuddy' ), __( 'iThemes Licensing', 'it-l10n-backupbuddy' ), 'manage_options', $this->page_name, array( $this, 'settings_index' ) ); add_action( "load-{$this->page_ref}", array( $this, 'load_settings_page' ) ); } public function add_network_admin_pages() { $this->page_ref = add_submenu_page( 'settings.php', __( 'iThemes Licensing', 'it-l10n-backupbuddy' ), __( 'iThemes Licensing', 'it-l10n-backupbuddy' ), 'manage_options', $this->page_name, array( $this, 'settings_index' ) ); add_action( "load-{$this->page_ref}", array( $this, 'load_settings_page' ) ); } public function load_settings_page() { require( $GLOBALS['ithemes_updater_path'] . '/settings-page.php' ); } public function settings_index() { do_action( 'ithemes_updater_settings_page_index' ); } private function set_package_details() { if ( false !== $this->package_details ) return; require_once( $GLOBALS['ithemes_updater_path'] . '/packages.php' ); $this->package_details = Ithemes_Updater_Packages::get_local_details(); } private function set_registration_link() { if ( false !== $this->registration_link ) return; $url = admin_url( 'options-general.php' ) . "?page={$this->page_name}"; $this->registration_link = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>', $url, __( 'Manage iThemes product licenses to receive automatic upgrade support', 'it-l10n-backupbuddy' ), __( 'License', 'it-l10n-backupbuddy' ) ); } public function filter_plugin_action_links( $actions, $plugin_file, $plugin_data, $context ) { $this->set_package_details(); $this->set_registration_link(); if ( isset( $this->package_details[$plugin_file] ) ) $actions[] = $this->registration_link; return $actions; } public function filter_theme_action_links( $actions, $theme ) { $this->set_package_details(); $this->set_registration_link(); if ( is_object( $theme ) ) $path = basename( $theme->get_stylesheet_directory() ) . '/style.css'; else if ( is_array( $theme ) && isset( $theme['Stylesheet Dir'] ) ) $path = $theme['Stylesheet Dir'] . '/style.css'; else $path = ''; if ( isset( $this->package_details[$path] ) ) $actions[] = $this->registration_link; return $actions; } } new Ithemes_Updater_Admin();