| @@ -1,199 +1,210 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | -namespace PXLBSAdminify\Inc\Classes; | |
| 3 | +namespace WPAdminify\Inc\Classes; | |
| 4 | 4 | |
| 5 | -if ( ! defined( 'ABSPATH' ) ) { | |
| 6 | - exit; | |
| 7 | -} | |
| 5 | +if (!defined('ABSPATH')) exit; | |
| 8 | 6 | |
| 9 | -class Adminify_Rollback { | |
| 7 | +class Adminify_Rollback | |
| 8 | +{ | |
| 10 | 9 | |
| 10 | + protected $package_url; | |
| 11 | 11 | |
| 12 | - protected $package_url; | |
| 12 | + protected $version; | |
| 13 | 13 | |
| 14 | - protected $version; | |
| 14 | + protected $plugin_name = WP_ADMINIFY; | |
| 15 | 15 | |
| 16 | - protected $plugin_name = PXLBSADMINIFY; | |
| 16 | + protected $plugin_slug; | |
| 17 | 17 | |
| 18 | - protected $plugin_slug; | |
| 18 | + private static $instance = null; | |
| 19 | 19 | |
| 20 | - private static $instance = null; | |
| 20 | + public function __construct($args = []) | |
| 21 | + { | |
| 22 | + add_action('admin_post_wp_adminify_rollback_version', [$this, 'jltwp_adminify_post_addons_rollback']); | |
| 21 | 23 | |
| 22 | - public function __construct( $args = [] ) { | |
| 23 | - add_action( 'admin_post_wp_adminify_rollback_version', [ $this, 'post_addons_rollback' ] ); | |
| 24 | + foreach ($args as $key => $value) { | |
| 25 | + $this->{$key} = $value; | |
| 26 | + } | |
| 27 | + } | |
| 24 | 28 | |
| 25 | - foreach ( $args as $key => $value ) { | |
| 26 | - $this->{$key} = $value; | |
| 27 | - } | |
| 28 | - } | |
| 29 | 29 | |
| 30 | + /** | |
| 31 | + * Rollback function | |
| 32 | + */ | |
| 33 | + public function jltwp_adminify_post_addons_rollback() | |
| 34 | + { | |
| 30 | 35 | |
| 31 | - /** | |
| 32 | - * Rollback function | |
| 33 | - */ | |
| 34 | - public function post_addons_rollback() { | |
| 35 | - check_admin_referer( 'pxlbsadminify_rollback_version' ); | |
| 36 | + check_admin_referer('wp_adminify_rollback_version'); | |
| 36 | 37 | |
| 37 | - $rollback_versions = $this->get_rollback_versions(); | |
| 38 | + $rollback_versions = $this->get_rollback_versions(); | |
| 38 | 39 | |
| 39 | - if ( empty( $_GET['version'] ) || ! in_array( $_GET['version'], $rollback_versions ) ) { | |
| 40 | - wp_die( esc_html__( 'Error occurred, The version selected is invalid. Try selecting different version.', 'adminify' ) ); | |
| 41 | - } | |
| 40 | + if (empty($_GET['version']) || !in_array($_GET['version'], $rollback_versions)) { | |
| 41 | + wp_die(esc_html__('Error occurred, The version selected is invalid. Try selecting different version.', WP_ADMINIFY_TD)); | |
| 42 | + } | |
| 42 | 43 | |
| 43 | - $plugin_slug = basename( PXLBSADMINIFY_BASE, '.php' ); | |
| 44 | - $plugin_version = sanitize_text_field( wp_unslash($_GET['version']) ); | |
| 44 | + $plugin_slug = basename(WP_ADMINIFY_BASE, '.php'); | |
| 45 | + $plugin_version = $_GET['version']; | |
| 45 | 46 | |
| 46 | - $pxlbsadminify_rollback = new self( | |
| 47 | - [ | |
| 48 | - 'version' => $plugin_version, | |
| 49 | - 'plugin_name' => $this->plugin_name, | |
| 50 | - 'plugin_slug' => $plugin_slug, | |
| 51 | - 'package_url' => sprintf( 'https://downloads.wordpress.org/plugin/%s.%s.zip', $plugin_slug, $plugin_version ), | |
| 52 | - ] | |
| 53 | - ); | |
| 47 | + $jltwp_adminify_rollback = new self( | |
| 48 | + [ | |
| 49 | + 'version' => $plugin_version, | |
| 50 | + 'plugin_name' => $this->plugin_name, | |
| 51 | + 'plugin_slug' => $plugin_slug, | |
| 52 | + 'package_url' => sprintf('https://downloads.wordpress.org/plugin/%s.%s.zip', $plugin_slug, $_GET['version']), | |
| 53 | + ] | |
| 54 | + ); | |
| 54 | 55 | |
| 55 | - $pxlbsadminify_rollback->run(); | |
| 56 | + $jltwp_adminify_rollback->run(); | |
| 56 | 57 | |
| 57 | - wp_die( '', esc_html__( 'Rollback to Previous Version', 'adminify' ), [ 'response' => 200 ] ); | |
| 58 | - } | |
| 58 | + wp_die('', __('Rollback to Previous Version', MELA_TD), ['response' => 200,]); | |
| 59 | + } | |
| 59 | 60 | |
| 60 | 61 | |
| 61 | 62 | |
| 62 | 63 | |
| 63 | - public function get_rollback_versions() { | |
| 64 | - $rollback_versions = get_transient( 'pxlbsadminify_rollback_versions_' . PXLBSADMINIFY_VER ); | |
| 65 | - if ( false === $rollback_versions ) { | |
| 66 | - $max_versions = 30; | |
| 64 | + public function get_rollback_versions() | |
| 65 | + { | |
| 66 | + $rollback_versions = get_transient('wp_adminify_rollback_versions_' . WP_ADMINIFY_VER); | |
| 67 | + if (false === $rollback_versions) { | |
| 68 | + $max_versions = 30; | |
| 67 | 69 | |
| 68 | - require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; | |
| 70 | + require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; | |
| 69 | 71 | |
| 70 | - $plugin_information = plugins_api( | |
| 71 | - 'plugin_information', | |
| 72 | - [ | |
| 73 | - 'slug' => 'adminify', | |
| 74 | - ] | |
| 75 | - ); | |
| 72 | + $plugin_information = plugins_api( | |
| 73 | + 'plugin_information', | |
| 74 | + [ | |
| 75 | + 'slug' => 'adminify', | |
| 76 | + ] | |
| 77 | + ); | |
| 76 | 78 | |
| 77 | - if ( empty( $plugin_information->versions ) || ! is_array( $plugin_information->versions ) ) { | |
| 78 | - return []; | |
| 79 | - } | |
| 79 | + if (empty($plugin_information->versions) || !is_array($plugin_information->versions)) { | |
| 80 | + return []; | |
| 81 | + } | |
| 80 | 82 | |
| 81 | - krsort( $plugin_information->versions ); | |
| 83 | + krsort($plugin_information->versions); | |
| 82 | 84 | |
| 83 | - $rollback_versions = []; | |
| 85 | + $rollback_versions = []; | |
| 84 | 86 | |
| 85 | - $current_index = 0; | |
| 86 | - foreach ( $plugin_information->versions as $version => $download_link ) { | |
| 87 | - if ( $max_versions <= $current_index ) { | |
| 88 | - break; | |
| 89 | - } | |
| 87 | + $current_index = 0; | |
| 88 | + foreach ($plugin_information->versions as $version => $download_link) { | |
| 89 | + if ($max_versions <= $current_index) { | |
| 90 | + break; | |
| 91 | + } | |
| 90 | 92 | |
| 91 | - $lowercase_version = strtolower( $version ); | |
| 92 | - $is_valid_rollback_version = ! preg_match( '/(trunk|beta|rc|dev)/i', $lowercase_version ); | |
| 93 | + $lowercase_version = strtolower($version); | |
| 94 | + $is_valid_rollback_version = !preg_match('/(trunk|beta|rc|dev)/i', $lowercase_version); | |
| 93 | 95 | |
| 94 | - $is_valid_rollback_version = apply_filters( | |
| 95 | - 'pxlbsadminify/options/rollback/is_valid_rollback_version', | |
| 96 | - $is_valid_rollback_version, | |
| 97 | - $lowercase_version | |
| 98 | - ); | |
| 96 | + $is_valid_rollback_version = apply_filters( | |
| 97 | + 'adminify/options/rollback/is_valid_rollback_version', | |
| 98 | + $is_valid_rollback_version, | |
| 99 | + $lowercase_version | |
| 100 | + ); | |
| 99 | 101 | |
| 100 | - if ( ! $is_valid_rollback_version ) { | |
| 101 | - continue; | |
| 102 | - } | |
| 102 | + if (!$is_valid_rollback_version) { | |
| 103 | + continue; | |
| 104 | + } | |
| 103 | 105 | |
| 104 | - if ( version_compare( $version, PXLBSADMINIFY_VER, '>=' ) ) { | |
| 105 | - continue; | |
| 106 | - } | |
| 106 | + if (version_compare($version, WP_ADMINIFY_VER, '>=')) { | |
| 107 | + continue; | |
| 108 | + } | |
| 107 | 109 | |
| 108 | - $current_index++; | |
| 109 | - $rollback_versions[] = $version; | |
| 110 | - } | |
| 110 | + $current_index++; | |
| 111 | + $rollback_versions[] = $version; | |
| 112 | + } | |
| 111 | 113 | |
| 112 | - set_transient( 'pxlbsadminify_rollback_versions_' . PXLBSADMINIFY_VER, $rollback_versions, WEEK_IN_SECONDS ); | |
| 113 | - } | |
| 114 | + set_transient('wp_adminify_rollback_versions_' . WP_ADMINIFY_VER, $rollback_versions, WEEK_IN_SECONDS); | |
| 115 | + } | |
| 114 | 116 | |
| 115 | - return $rollback_versions; | |
| 116 | - } | |
| 117 | + return $rollback_versions; | |
| 118 | + } | |
| 117 | 119 | |
| 118 | 120 | |
| 119 | 121 | |
| 120 | - private function print_inline_style() { | |
| 121 | - ?> | |
| 122 | - <style> | |
| 123 | - .wrap { | |
| 124 | - overflow: hidden; | |
| 125 | - } | |
| 122 | + private function print_inline_style() | |
| 123 | + { | |
| 124 | +?> | |
| 125 | + <style> | |
| 126 | + .wrap { | |
| 127 | + overflow: hidden; | |
| 128 | + } | |
| 126 | 129 | |
| 127 | - h1 { | |
| 128 | - background: #0347FF; | |
| 129 | - text-align: center; | |
| 130 | - color: #fff !important; | |
| 131 | - padding: 70px !important; | |
| 132 | - text-transform: uppercase; | |
| 133 | - letter-spacing: 1px; | |
| 134 | - } | |
| 130 | + h1 { | |
| 131 | + background: #0347FF; | |
| 132 | + text-align: center; | |
| 133 | + color: #fff !important; | |
| 134 | + padding: 70px !important; | |
| 135 | + text-transform: uppercase; | |
| 136 | + letter-spacing: 1px; | |
| 137 | + } | |
| 135 | 138 | |
| 136 | - h1 img { | |
| 137 | - max-width: 300px; | |
| 138 | - display: block; | |
| 139 | - margin: auto auto 50px; | |
| 140 | - } | |
| 141 | - </style> | |
| 139 | + h1 img { | |
| 140 | + max-width: 300px; | |
| 141 | + display: block; | |
| 142 | + margin: auto auto 50px; | |
| 143 | + } | |
| 144 | + </style> | |
| 142 | 145 | |
| 143 | - <?php | |
| 144 | - } | |
| 146 | +<?php | |
| 147 | + } | |
| 145 | 148 | |
| 146 | - protected function apply_package() { | |
| 147 | - $update_plugins = get_site_transient( 'update_plugins' ); | |
| 149 | + protected function apply_package() | |
| 150 | + { | |
| 148 | 151 | |
| 149 | - if ( ! is_object( $update_plugins ) ) { | |
| 150 | - $update_plugins = new \stdClass(); | |
| 151 | - } | |
| 152 | + $update_plugins = get_site_transient('update_plugins'); | |
| 152 | 153 | |
| 153 | - $plugin_info = new \stdClass(); | |
| 154 | + if (!is_object($update_plugins)) { | |
| 154 | 155 | |
| 155 | - $plugin_info->new_version = $this->version; | |
| 156 | + $update_plugins = new \stdClass(); | |
| 157 | + } | |
| 156 | 158 | |
| 157 | - $plugin_info->slug = $this->plugin_slug; | |
| 159 | + $plugin_info = new \stdClass(); | |
| 158 | 160 | |
| 159 | - $plugin_info->package = $this->package_url; | |
| 161 | + $plugin_info->new_version = $this->version; | |
| 160 | 162 | |
| 161 | - $plugin_info->url = 'https://wpadminify.com/'; | |
| 163 | + $plugin_info->slug = $this->plugin_slug; | |
| 162 | 164 | |
| 163 | - $update_plugins->response[ $this->plugin_name ] = $plugin_info; | |
| 165 | + $plugin_info->package = $this->package_url; | |
| 164 | 166 | |
| 165 | - set_site_transient( 'update_plugins', $update_plugins ); | |
| 166 | - } | |
| 167 | + $plugin_info->url = 'https://wpadminify.com/'; | |
| 167 | 168 | |
| 168 | - protected function upgrade() { | |
| 169 | - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; | |
| 169 | + $update_plugins->response[$this->plugin_name] = $plugin_info; | |
| 170 | 170 | |
| 171 | - $logo_url = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg'; | |
| 171 | + set_site_transient('update_plugins', $update_plugins); | |
| 172 | + } | |
| 172 | 173 | |
| 173 | - $upgrader_args = [ | |
| 174 | - 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ), | |
| 175 | - 'plugin' => sanitize_text_field( $this->plugin_name ), | |
| 176 | - 'nonce' => 'upgrade-plugin_' . sanitize_text_field( $this->plugin_name ), | |
| 177 | - 'title' => '<img src="' . esc_url( $logo_url ) . '" alt="' . esc_attr__( 'Adminify Version Rollback', 'adminify' ) . '">' . esc_html__( 'Rollback to Previous Version ', 'adminify' ), | |
| 178 | - ]; | |
| 174 | + protected function upgrade() | |
| 175 | + { | |
| 179 | 176 | |
| 180 | - $this->print_inline_style(); | |
| 177 | + require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); | |
| 181 | 178 | |
| 182 | - $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) ); | |
| 179 | + $logo_url = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg'; | |
| 183 | 180 | |
| 184 | - $upgrader->upgrade( $this->plugin_name ); | |
| 185 | - } | |
| 181 | + $upgrader_args = [ | |
| 182 | + 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode($this->plugin_name), | |
| 183 | + 'plugin' => $this->plugin_name, | |
| 184 | + 'nonce' => 'upgrade-plugin_' . $this->plugin_name, | |
| 185 | + 'title' => '<img src="' . $logo_url . '" alt="WP Adminify Version Rollback">' . __('Rollback to Previous Version ', WP_ADMINIFY_TD), | |
| 186 | + ]; | |
| 186 | 187 | |
| 187 | - public function run() { | |
| 188 | - $this->apply_package(); | |
| 188 | + $this->print_inline_style(); | |
| 189 | 189 | |
| 190 | - $this->upgrade(); | |
| 191 | - } | |
| 190 | + $upgrader = new \Plugin_Upgrader(new \Plugin_Upgrader_Skin($upgrader_args)); | |
| 192 | 191 | |
| 193 | - public static function get_instance() { | |
| 194 | - if ( ! self::$instance ) { | |
| 195 | - self::$instance = new self(); | |
| 196 | - } | |
| 197 | - return self::$instance; | |
| 198 | - } | |
| 192 | + $upgrader->upgrade($this->plugin_name); | |
| 193 | + } | |
| 194 | + | |
| 195 | + public function run() | |
| 196 | + { | |
| 197 | + | |
| 198 | + $this->apply_package(); | |
| 199 | + | |
| 200 | + $this->upgrade(); | |
| 201 | + } | |
| 202 | + | |
| 203 | + public static function get_instance() | |
| 204 | + { | |
| 205 | + if (!self::$instance) { | |
| 206 | + self::$instance = new self; | |
| 207 | + } | |
| 208 | + return self::$instance; | |
| 209 | + } | |
| 199 | 210 | } |