Changed some info in the update support code to use defines.
authorChuck Scott <cscott@gaslightmedia.com>
Tue, 27 Sep 2016 19:23:12 +0000 (15:23 -0400)
committerChuck Scott <cscott@gaslightmedia.com>
Tue, 27 Sep 2016 19:23:12 +0000 (15:23 -0400)
index.php
lib/glmUpdater/README.md [deleted file]
lib/glmUpdater/glmUpdaterClass.php [deleted file]

index 4fdbd7c..11e9926 100644 (file)
--- a/index.php
+++ b/index.php
@@ -159,17 +159,15 @@ function serverStatsController($model)
 
 
 /*
- * Plugin Update Support
+ * Plugin Update Support - uses Gaslight Media update server
  */
 require GLM_SERVERSTATS_PLUGIN_LIB_PATH.'/plugin-update-checker/plugin-update-checker.php';
 $MyUpdateChecker = PucFactory::buildUpdateChecker(
-     'http://gaslightmedia.gaslightmedia.com/update_server/?action=get_metadata&slug=glm-serverstats',
+     'http://gaslightmedia.gaslightmedia.com/update_server/?action=get_metadata&slug='.GLM_SERVERSTATS_PLUGIN_SLUG,
     __FILE__,
-    'glm-serverstats'
+    GLM_SERVERSTATS_PLUGIN_SLUG
 );
 
-
-
 /*
 *
 * Activate and Deactivate hooks
diff --git a/lib/glmUpdater/README.md b/lib/glmUpdater/README.md
deleted file mode 100644 (file)
index 256ed5b..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-TGM Updater
-===========
-
-Note: Use the glmUpdaterClass.php as that's taylored to use with GLM plugins.
-
-**** NEED TO UPDATE THIS TO REFLECT CHANGES FOR GLM ****
-
-Here we go, world. A first-class premium plugin updater class that has been battle-tested and approved. It has been tested, refined, used and abused on over 10,000 WordPress installs. To put it short - **this class simply works.** Just follow the instructions correctly and you will be up and running with your own automatic plugin updates in no time flat!
-
-This class has been tested and works with both regular and Multisite installs, and it even works with services like ManageWP!
-
-### Usage ###
-
-Drop the following code somewhere inside your main plugin file. Adjust the commented settings with your own plugin information.
-
-```php
-add_action( 'init', 'tgm_updater_plugin_load' );
-/**
- * Loads the updater file and initializes the updater.
- *
- * IMPORTANT: Namespace this function.
- *
- * @since 1.0.0
- *
- * @package Test TGM Updater Plugin
- * @author  Thomas Griffin
- */
-function tgm_updater_plugin_load() {
-       
-       // Return early if not in the admin.
-       if ( ! is_admin() ) {
-               return;
-       }
-       
-       // Load the updater file.
-       if ( ! class_exists( 'TGM_Updater' ) ) {
-               require plugin_dir_path( __FILE__ ) . 'class-tgm-updater.php';
-       }
-       
-       // Prepare updater args and initialize the updater.
-       $args = array(
-        'plugin_name' => 'Your Plugin Name',             // Your plugin name goes here.
-        'plugin_slug' => 'your-plugin-slug',             // Your plugin slug goes here.
-        'plugin_path' => plugin_basename( __FILE__ ),
-        'plugin_url'  => trailingslashit( WP_PLUGIN_URL ) . 'your-plugin-slug',
-        'remote_url'  => 'http://yourdomain.com',     // Set to the domain that should receive update requests.
-        'version'     => '1.0.0',                                        // Adjust to your latest plugin version.
-        'key'         => 'license_key_here_if_needed' // Optionally, you can set this to false if you don't want to verify updates.
-    );
-    $tgm_updater = new TGM_Updater( $args );
-       
-}
-```
-
-**That's it.** You've now integrated the updater class into your plugin.
-
-### License ###
-The TGM Updater class is released under the GPL v2 license.
-
-### Issues ###
-Got bugs? Make sure to [report them as an issue](https://github.com/thomasgriffin/TGM-Updater/issues) so they can be squashed.
-
-### Credits ###
-This class was developed and is maintained by [Thomas Griffin](https://thomasgriffin.io).
-
-### Update JSON Fields ###
-
-https://docs.google.com/spreadsheets/d/1eOBbW7Go2qEQXReOOCdidMTf_tDYRq4JfegcO1CBPIs/pub?authkey=CK7h9toK&hl=en&single=true&gid=0&output=html
diff --git a/lib/glmUpdater/glmUpdaterClass.php b/lib/glmUpdater/glmUpdaterClass.php
deleted file mode 100644 (file)
index 0972db5..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-<?php
-/**
- * Updater class adapted for use with Gaslight Media plugins.
- * cscott@gaslightmedia.com
- *
- * @since 1.0.0
- *
- * @package TGM Updater
- * @author  Thomas Griffin
- *
- * TGM Updater is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * any later version.
- *
- * TGM Updater is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with TGM Updater. If not, see <http://www.gnu.org/licenses/>.
- */
-class glmPluginUpdater {
-
-    /**
-     * Plugin name.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|string
-     */
-    public $plugin_name = false;
-
-    /**
-     * Plugin slug.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|string
-     */
-    public $plugin_slug = false;
-
-    /**
-     * Plugin path.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|string
-     */
-    public $plugin_path = false;
-
-    /**
-     * URL of the plugin.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|string
-     */
-    public $plugin_url = false;
-
-    /**
-     * Remote URL for getting plugin updates.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|string
-     */
-    public $remote_url = false;
-
-    /**
-     * Version number of the plugin.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|int
-     */
-    public $version = false;
-
-    /**
-     * License key for the plugin.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|string
-     */
-    public $key = false;
-
-    /**
-     * Holds the update data returned from the API.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|object
-     */
-    public $update = false;
-
-    /**
-     * Holds the plugin info details for the update.
-     *
-     * @since 1.0.0
-     *
-     * @var bool|object
-     */
-    public $info = false;
-
-    /**
-     * Primary class constructor.
-     *
-     * @since 1.0.0
-     *
-     * @param array $config Array of updater config args.
-     */
-    public function __construct( array $config ) {
-
-        // Set class properties.
-        $accepted_args = array(
-            'plugin_name',
-            'plugin_slug',
-            'plugin_path',
-            'plugin_url',
-            'remote_url',
-            'version',
-            'key'
-        );
-        foreach ( $accepted_args as $arg ) {
-            $this->$arg = $config[$arg];
-        }
-
-        // If the user cannot update plugins, stop processing here.
-        if ( ! current_user_can( 'update_plugins' ) ) {
-            return;
-        }
-
-        // Load the updater hooks and filters.
-        add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'update_plugins_filter' ) );
-        add_filter( 'http_request_args', array( $this, 'http_request_args' ), 10, 2 );
-        add_filter( 'plugins_api', array( $this, 'plugins_api' ), 10, 3 );
-
-    }
-
-    /**
-     * Infuse plugin update details when WordPress runs its update checker.
-     *
-     * @since 1.0.0
-     *
-     * @param object $value  The WordPress update object.
-     * @return object $value Amended WordPress update object on success, default if object is empty.
-     */
-    public function update_plugins_filter( $value ) {
-
-        // If no update object exists, return early.
-        if ( empty( $value ) ) {
-            return $value;
-        }
-
-        // Run update check by pinging the external API. If it fails, return the default update object.
-        if ( ! $this->update ) {
-            $this->update = $this->perform_remote_request( 'get-plugin-update', array( 'tgm-updater-plugin' => $this->plugin_slug ) );
-            if ( ! $this->update || ! empty( $this->update->error ) ) {
-                $this->update = false;
-                return $value;
-            }
-        }
-
-        // Infuse the update object with our data if the version from the remote API is newer.
-        if ( isset( $this->update->new_version ) && version_compare( $this->version, $this->update->new_version, '<' ) ) {
-            // The $plugin_update object contains new_version, package, slug and last_update keys.
-            $value->response[$this->plugin_path] = $this->update;
-        }
-
-        // Return the update object.
-        return $value;
-
-    }
-
-    /**
-     * Disables SSL verification to prevent download package failures.
-     *
-     * @since 1.0.0
-     *
-     * @param array $args  Array of request args.
-     * @param string $url  The URL to be pinged.
-     * @return array $args Amended array of request args.
-     */
-    public function http_request_args( $args, $url ) {
-
-        // If this is an SSL request and we are performing an upgrade routine, disable SSL verification.
-        if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'tgm-updater-action=get-plugin-update' ) ) {
-            $args['sslverify'] = false;
-        }
-
-        return $args;
-
-    }
-
-    /**
-     * Filters the plugins_api function to get our own custom plugin information
-     * from our private repo.
-     *
-     * @since 1.0.0
-     *
-     * @param object $api    The original plugins_api object.
-     * @param string $action The action sent by plugins_api.
-     * @param array $args    Additional args to send to plugins_api.
-     * @return object $api   New stdClass with plugin information on success, default response on failure.
-     */
-    public function plugins_api( $api, $action = '', $args = null ) {
-
-        $plugin = ( 'plugin_information' == $action ) && isset( $args->slug ) && ( $this->plugin_slug == $args->slug );
-
-        // If our plugin matches the request, set our own plugin data, else return the default response.
-        if ( $plugin ) {
-            return $this->set_plugins_api( $api );
-        } else {
-            return $api;
-        }
-
-    }
-
-    /**
-     * Pings a remote API to retrieve plugin information for WordPress to display.
-     *
-     * @since 1.0.0
-     *
-     * @param object $default_api The default API object.
-     * @return object $api        Return custom plugin information to plugins_api.
-     */
-    public function set_plugins_api( $default_api ) {
-
-        // Perform the remote request to retrieve our plugin information. If it fails, return the default object.
-        if ( ! $this->info ) {
-            $this->info = $this->perform_remote_request( 'get-plugin-info', array( 'tgm-updater-plugin' => $this->plugin_slug ) );
-            if ( ! $this->info || ! empty( $this->info->error ) ) {
-                $this->info = false;
-                return $default_api;
-            }
-        }
-
-        // Create a new stdClass object and populate it with our plugin information.
-        $api                        = new stdClass;
-        $api->name                  = isset( $this->info->name )           ? $this->info->name           : '';
-        $api->slug                  = isset( $this->info->slug )           ? $this->info->slug           : '';
-        $api->version               = isset( $this->info->version )        ? $this->info->version        : '';
-        $api->author                = isset( $this->info->author )         ? $this->info->author         : '';
-        $api->author_profile        = isset( $this->info->author_profile ) ? $this->info->author_profile : '';
-        $api->requires              = isset( $this->info->requires )       ? $this->info->requires       : '';
-        $api->tested                = isset( $this->info->tested )         ? $this->info->tested         : '';
-        $api->last_updated          = isset( $this->info->last_updated )   ? $this->info->last_updated   : '';
-        $api->homepage              = isset( $this->info->homepage )       ? $this->info->homepage       : '';
-        $api->sections['changelog'] = isset( $this->info->changelog )      ? $this->info->changelog      : '';
-        $api->download_link         = isset( $this->info->download_link )  ? $this->info->download_link  : '';
-
-        // Return the new API object with our custom data.
-        return $api;
-
-    }
-
-    /**
-     * Queries the remote URL via wp_remote_post and returns a json decoded response.
-     *
-     * @since 1.0.0
-     *
-     * @param string $action        The name of the $_POST action var.
-     * @param array $body           The content to retrieve from the remote URL.
-     * @param array $headers        The headers to send to the remote URL.
-     * @param string $return_format The format for returning content from the remote URL.
-     * @return string|bool          Json decoded response on success, false on failure.
-     */
-    public function perform_remote_request( $action, $body = array(), $headers = array(), $return_format = 'json' ) {
-
-        // Build the body of the request.
-        $body = wp_parse_args(
-            $body,
-            array(
-                'tgm-updater-action'     => $action,
-                'tgm-updater-key'        => $this->key,
-                'tgm-updater-wp-version' => get_bloginfo( 'version' ),
-                'tgm-updater-referer'    => site_url()
-            )
-        );
-        $body = http_build_query( $body, '', '&' );
-
-        // Build the headers of the request.
-        $headers = wp_parse_args(
-            $headers,
-            array(
-                'Content-Type'   => 'application/x-www-form-urlencoded',
-                'Content-Length' => strlen( $body )
-            )
-        );
-
-        // Setup variable for wp_remote_post.
-        $post = array(
-            'headers' => $headers,
-            'body'    => $body
-        );
-
-        // Perform the query and retrieve the response.
-        $response      = wp_remote_post( esc_url_raw( $this->remote_url ), $post );
-        $response_code = wp_remote_retrieve_response_code( $response );
-        $response_body = wp_remote_retrieve_body( $response );
-
-        // Bail out early if there are any errors.
-        if ( 200 != $response_code || is_wp_error( $response_body ) ) {
-            return false;
-        }
-
-        // Return the json decoded content.
-        return json_decode( $response_body );
-
-    }
-
-}
\ No newline at end of file