From a1e894b465ce0d68fb88b43fc1ec76d965899aac Mon Sep 17 00:00:00 2001
From: Marco Milesi
Date: Tue, 8 Dec 2020 22:58:20 +0100
Subject: [PATCH] V2.2
Minor functions.php improvements + Removed old GitHub dependency
---
functions.php | 18 +-
github/CHANGES.md | 428 ------
github/LICENSE | 339 -----
github/README.md | 321 -----
github/assets/GitHub_Updater_logo.png | Bin 11171 -> 0 bytes
github/assets/GitHub_Updater_logo_small.png | Bin 5237 -> 0 bytes
github/assets/screenshot-1.png | Bin 144382 -> 0 bytes
github/assets/screenshot-2.png | Bin 74131 -> 0 bytes
github/github-updater.php | 64 -
github/js/ghu_install.js | 32 -
github/languages/description-i18n-keys.txt | 29 -
github/languages/github-updater-ar.mo | Bin 5614 -> 0 bytes
github/languages/github-updater-ar.po | 363 -----
github/languages/github-updater-de_AT.mo | Bin 8037 -> 0 bytes
github/languages/github-updater-de_AT.po | 342 -----
github/languages/github-updater-de_CH.mo | Bin 8037 -> 0 bytes
github/languages/github-updater-de_CH.po | 342 -----
github/languages/github-updater-de_DE.mo | Bin 8037 -> 0 bytes
github/languages/github-updater-de_DE.po | 342 -----
github/languages/github-updater-es_ES.mo | Bin 5673 -> 0 bytes
github/languages/github-updater-es_ES.po | 340 -----
github/languages/github-updater-fr_FR.mo | Bin 4503 -> 0 bytes
github/languages/github-updater-fr_FR.po | 387 -----
github/languages/github-updater-it.mo | Bin 4287 -> 0 bytes
github/languages/github-updater-it.po | 400 ------
github/languages/github-updater-ja.mo | Bin 8888 -> 0 bytes
github/languages/github-updater-ja.po | 331 -----
github/languages/github-updater-pt_BR.mo | Bin 3060 -> 0 bytes
github/languages/github-updater-pt_BR.po | 375 -----
github/languages/github-updater-pt_PT.mo | Bin 7937 -> 0 bytes
github/languages/github-updater-pt_PT.po | 332 -----
github/languages/github-updater-ro_RO.mo | Bin 7721 -> 0 bytes
github/languages/github-updater-ro_RO.po | 327 -----
github/languages/github-updater-ru_RU.mo | Bin 5641 -> 0 bytes
github/languages/github-updater-ru_RU.po | 320 -----
github/languages/github-updater-sv_SE.mo | Bin 3322 -> 0 bytes
github/languages/github-updater-sv_SE.po | 363 -----
github/languages/github-updater-uk.mo | Bin 3712 -> 0 bytes
github/languages/github-updater-uk.po | 365 -----
github/languages/github-updater.pot | 312 -----
github/mu/ghu-loader.php | 82 --
github/readme.txt | 45 -
github/src/GitHub_Updater/API.php | 182 ---
github/src/GitHub_Updater/Autoloader.php | 87 --
github/src/GitHub_Updater/Base.php | 1007 -------------
github/src/GitHub_Updater/Bitbucket_API.php | 357 -----
github/src/GitHub_Updater/GitHub_API.php | 401 ------
github/src/GitHub_Updater/GitLab_API.php | 431 ------
github/src/GitHub_Updater/Install.php | 392 ------
github/src/GitHub_Updater/Messages.php | 121 --
github/src/GitHub_Updater/Plugin.php | 333 -----
github/src/GitHub_Updater/Readme_Parser.php | 82 --
github/src/GitHub_Updater/Remote_Update.php | 101 --
github/src/GitHub_Updater/Settings.php | 560 --------
github/src/GitHub_Updater/Theme.php | 451 ------
github/uninstall.php | 33 -
github/vendor/Parsedown.php | 1402 -------------------
github/vendor/WPUpdatePhp.php | 115 --
github/vendor/parse-readme.php | 335 -----
style.css | 2 +-
60 files changed, 9 insertions(+), 12982 deletions(-)
delete mode 100644 github/CHANGES.md
delete mode 100644 github/LICENSE
delete mode 100644 github/README.md
delete mode 100644 github/assets/GitHub_Updater_logo.png
delete mode 100644 github/assets/GitHub_Updater_logo_small.png
delete mode 100644 github/assets/screenshot-1.png
delete mode 100644 github/assets/screenshot-2.png
delete mode 100644 github/github-updater.php
delete mode 100644 github/js/ghu_install.js
delete mode 100644 github/languages/description-i18n-keys.txt
delete mode 100644 github/languages/github-updater-ar.mo
delete mode 100644 github/languages/github-updater-ar.po
delete mode 100644 github/languages/github-updater-de_AT.mo
delete mode 100644 github/languages/github-updater-de_AT.po
delete mode 100644 github/languages/github-updater-de_CH.mo
delete mode 100644 github/languages/github-updater-de_CH.po
delete mode 100644 github/languages/github-updater-de_DE.mo
delete mode 100644 github/languages/github-updater-de_DE.po
delete mode 100644 github/languages/github-updater-es_ES.mo
delete mode 100644 github/languages/github-updater-es_ES.po
delete mode 100644 github/languages/github-updater-fr_FR.mo
delete mode 100644 github/languages/github-updater-fr_FR.po
delete mode 100644 github/languages/github-updater-it.mo
delete mode 100644 github/languages/github-updater-it.po
delete mode 100644 github/languages/github-updater-ja.mo
delete mode 100644 github/languages/github-updater-ja.po
delete mode 100644 github/languages/github-updater-pt_BR.mo
delete mode 100644 github/languages/github-updater-pt_BR.po
delete mode 100644 github/languages/github-updater-pt_PT.mo
delete mode 100644 github/languages/github-updater-pt_PT.po
delete mode 100644 github/languages/github-updater-ro_RO.mo
delete mode 100644 github/languages/github-updater-ro_RO.po
delete mode 100644 github/languages/github-updater-ru_RU.mo
delete mode 100644 github/languages/github-updater-ru_RU.po
delete mode 100644 github/languages/github-updater-sv_SE.mo
delete mode 100644 github/languages/github-updater-sv_SE.po
delete mode 100644 github/languages/github-updater-uk.mo
delete mode 100644 github/languages/github-updater-uk.po
delete mode 100644 github/languages/github-updater.pot
delete mode 100644 github/mu/ghu-loader.php
delete mode 100644 github/readme.txt
delete mode 100644 github/src/GitHub_Updater/API.php
delete mode 100644 github/src/GitHub_Updater/Autoloader.php
delete mode 100644 github/src/GitHub_Updater/Base.php
delete mode 100644 github/src/GitHub_Updater/Bitbucket_API.php
delete mode 100644 github/src/GitHub_Updater/GitHub_API.php
delete mode 100644 github/src/GitHub_Updater/GitLab_API.php
delete mode 100644 github/src/GitHub_Updater/Install.php
delete mode 100644 github/src/GitHub_Updater/Messages.php
delete mode 100644 github/src/GitHub_Updater/Plugin.php
delete mode 100644 github/src/GitHub_Updater/Readme_Parser.php
delete mode 100644 github/src/GitHub_Updater/Remote_Update.php
delete mode 100644 github/src/GitHub_Updater/Settings.php
delete mode 100644 github/src/GitHub_Updater/Theme.php
delete mode 100644 github/uninstall.php
delete mode 100644 github/vendor/Parsedown.php
delete mode 100644 github/vendor/WPUpdatePhp.php
delete mode 100644 github/vendor/parse-readme.php
diff --git a/functions.php b/functions.php
index d83dd81..1d12060 100644
--- a/functions.php
+++ b/functions.php
@@ -20,9 +20,8 @@ function load_modules() {
if (get_option('pasw_eulaw') != 0) { require ( get_template_directory() . '/include/moduli/pasw2015-eulaw.php' ); }
if (get_option('pasw_post_tpl') != 0) { require ( get_template_directory() . '/include/moduli/pasw2015-post-templates.php' ); }
}
-add_action('admin_init', "reg_set_p");
-
-function reg_set_p() {
+add_action('admin_init', function() {
+
require (get_template_directory() . '/include/moduli-pasw2015.php' );
register_setting( 'pasw2015_options', 'pasw_social');
@@ -73,14 +72,13 @@ function reg_set_p() {
wp_safe_redirect(admin_url('/admin.php?page=pasw2015', 'http'), 301);
}
-}
+} );
-add_action('admin_notices', 'pasw_admin_messages');
-function pasw_admin_messages() {;
+add_action('admin_notices', function() {
- if ( isset($_GET['pasw2015alert'])) {
- update_option( 'pasw2015_versionalert', '0' );
- }
+ if ( isset($_GET['pasw2015alert'])) {
+ update_option( 'pasw2015_versionalert', '0' );
+ }
if ( get_option('pasw2015_versionalert') == '1.6.6') {
echo '
@@ -93,7 +91,7 @@ function pasw_admin_messages() {;
';
}
-}
+} );
add_action( 'after_setup_theme', 'pasw2015_setup' );
add_action('admin_notices', 'pasw_alerts');
diff --git a/github/CHANGES.md b/github/CHANGES.md
deleted file mode 100644
index 5179326..0000000
--- a/github/CHANGES.md
+++ /dev/null
@@ -1,428 +0,0 @@
-#### 4.6.2
-* refactor remote update services to new `class Remote_Update`
-* general security fixes, don't call files directly...
-* fix/test for remote updating via InfiniteWP. Child themes are not identified by IWP as needing updates, otherwise it seems to work as expected.
-
-#### 4.6.1
-* fix for remote updating via iThemes Sync
-* fix for renaming when AJAX updating of plugins
-
-#### 4.6.0
-* newer, much more precise method for renaming based upon selected repos from the dashboard. Yes, I tested on staging server. :-)
-* added feature to use extended naming of plugin directories to avoid potential conflict with WP.org slugs. Props @reinink for the idea.
-* strip `.git` from the end of the plugin or theme URI for those who haven't gotten to the README yet.
-* added javascript show/hide options on the Install page.
-* fixed boolean logic to _not_ display GitLab Private Token input on Install if it's already set.
-* updated screenshots in README
-* switched a number of methods to be non-static, anticipation of testing.
-* [broken: renaming during updates from upgrade services](https://github.com/afragen/github-updater/issues/262)
-
-#### 4.5.7
-* hotfix GitLab private updating/installing
-* fix some PHP notices
-
-#### 4.5.6
-* bugfix for renaming code to properly strip `-`
-* most of Russian translation by [Anatoly Yumashev](https://github.com/yumashev)
-
-#### 4.5.5
-* back to simplifying the renaming code, always remember to test renaming on live server.
-* strip `-` and `-` from beginning and end of update for more precise renaming
-* I think this is the end of renaming for a while. :P
-
-#### 4.5.4
-* hotfix for renaming, I reverted back a bunch with more extensive testing on server. It's amazing how different renaming is locally vs on server.
-
-#### 4.5.3
-* updated language files -- oops
-
-#### 4.5.2
-* cleanup and refactor of renaming code.
-* added Romanian translation by [Corneliu Cirlan](https://github.com/corneliucirlan)
-* added Japanese translation by [ishihara](https://github.com/1shiharat)
-
-#### 4.5.1
-* fix bug so updates display without having to randomly refresh.
-
-#### 4.5.0
-* fix some PHP notices
-* add update by GitHub release asset in lieu of update by tag when asset is present
-* install asset via remote install if asset URI used
-* refactor to simplify class structure, created `abstract class API` and `class Messages`
-* add GitLab support!!
-* refactor to set all git servers and extra headers to static arrays in `Base`
-* remove checkbox when loaded as mu-plugin, props @pbearne
-
-#### 4.4.0
-* only add custom user agent once :P
-* add support of GitHub Enterprise via new `GitHub Enterprise` header
-* sanitize filter input
-* add support for parsing `readme.txt` for _View details_ information using `WordPress_Plugin_Readme_Parser` by @markjaquith
-* fixed _View details_ link to show for all cases when plugin using GitHub Updater
-* refactor creation of header parts and URIs
-
-#### 4.3.1
-* Spanish translation by [Jose Miguel Bejarano](https://github.com/xDae)
-* German translation by [Linus Metzler](https://github.com/limenet)
-* squish PHP notices
-* add custom user agent to `wp_remote_get` and tweak error message at request of GitHub ;-)
-* fixed edge case renaming bug
-
-#### 4.3.0
-* use @WPUpdatePhp `class WPUpdatePhp` for PHP version checking
-* use https://api.wordpress.org not http
-* Arabic translation by [Hyyan Abo FAkher](https://github.com/hyyan)
-* make strings better for translation - thanks @pedro-mendonca and @fxbenard
-* additional Portuguese translation by [Pedro Mendonça](https://github.com/pedro-mendonca)
-* refactor for getting local plugin and theme meta, now simpler for additional APIs (I'm thinking about you GitLab)
-* fix link in README to GitHub Link
-* correctly pass array as last argument in `add_settings_field`
-* add focus to URI input field
-* add Setting for personal GitHub Access Token to avoid API rate limit - thanks @mlteal
-* add Setting for branch switching from the Plugins page
-* add 'View details' link in Plugins page
-
-#### 4.2.2
-* fix POT and some updated languages, thanks @fxbenard
-* fix PHP notice for `$options` settings on initial install - thanks @benosman
-
-#### 4.2.1
-* add PHP version check for graceful exit
-* add to error message for 401 error.
-* save settings when remote installing a private repo
-
-#### 4.2.0
-* added minutes until reset of GitHub API's rate limit to error message
-* added `placeholder = "master"` to remote install branch text input
-* I should have made the last version 4.2.0 as I added a new feature. I'll try to be better with semantic versioning in the future. ;-)
-
-#### 4.1.4
-* add message to certain admin pages when API returns HTTP error code
-* update POT to remove HTML entity codes from strings and generally try to make i18n better
-* Swedish translation by [Andréas Lundgren](https://github.com/Adevade)
-* added logo to README and Settings page
-
-#### 4.1.3
-* use `strtolower` comparison of plugin directory and repo name. This might is an issue related to the manual installation of a plugin before any update might occur. This allows the **View details** screen to display in these instances where the case of the directory and repo aren't identical. This doesn't work for themes.
-
-#### 4.1.2
-* hide star ratings from **View details** screen for private repos
-
-#### 4.1.1
-* add `plugin` to `$response` in `Plugin::pre_set_site_transient_update_plugins` to fix PHP Notice
-* rename `classes` to `src` to follow more conventional naming
-* refactor renaming code to function under all circumstances, I hope ;-)
-
-#### 4.1.0
-* added remote installation of plugins or themes, both public and private
-* remote installation using either full URI or short `` format
-* created new tabbed interface for settings
-* added another screenshot to readme
-* I'd like to apologize to all my translators for adding new strings often, you guys are great, thanks!
-
-#### 4.0.1
-* hotfix to force an array type when sanitizing settings, it gave me a fatal I wasn't expecting.
-
-#### 4.0.0
-* changed `is_a()` to `instanceof` per https://core.trac.wordpress.org/changeset/31188
-* requires PHP 5.3 or greater as autoloader class requires namespacing
-* updated all classes for namespacing
-* renamed directory and class names to allow for PSR 4 style loading
-* clean up a number of foreach loops where I was only using either key or value, not both
-* Special thanks for all my translators, especially @grappler for adding translation key for description
-* bugfix to correctly pick CHANGES.MD or CHANGELOG.MD regardless of case
-* removed reading/saving `GitHub Access Token` header into settings. Must use Settings Page.
-
-#### 3.2.3 - 3.2.6
-* added French translation by @daniel-menard
-* added Italian translation by @overclokk
-* added Portuguese translation by @valeriosouza
-* added Ukrainian translation by @andriiryzhkov (our first translation!!)
-
-#### 3.2.2
-* remove scraping of user/pass from Bitbucket URI as it's no longer needed
-* use `Requires WP` header to fill view options detail
-* rename private methods to begin with underscore
-* add screenshot to README for Settings Page (only 70 kB)
-* stop re-creating transient of transients if it already exists
-
-#### 3.2.1
-* refactored adding extra headers to `class GitHub_Updater` to ensure they're added before they're needed, resolves issue with WooThemes Updater plugin
-* update .pot file
-
-#### 3.2.0
-* changed settings page and how Bitbucket Private repos authenticate with your username/password
-* update .pot
-
-#### 3.1.1
-* minor transient cleanup
-* update .pot file
-* fix to get all themes under both single and multisite installs
-
-#### 3.1.0
-* woot!! - updating from Bitbucket private repos now works!!
-* fix to only add HTTP Authentication header under correct circumstances. This obviates need to fix for other APIs that might also use HTTP Authentication.
-* fix to correctly add GitHub Access Token from `$options` to `$download_link` - oops
-* changes `$options` to `private static $options` to save a few database calls
-* Settings page **only** shows private repos, except for initial setup
-* simpler test for checking branch as download endpoint
-* correctly use `parent::` instead of `self::`
-* many updates for translation
-* fix to ensure theme rollback and updating works in both single install and multisite
-* fix to save settings from single site installations
-
-#### 3.0.7
-* more efficient solution to HTTP Authentication issues
-* more efficient options cleanup
-* remove some unnecessary code resulting in few database calls
-* change default option setting to use `add_site_option` so not autoloading options
-
-#### 3.0.6
-* fix for other APIs that use HTTP Authentication, like JetPack - thanks @tsquez
-
-#### 3.0.5
-* fix more PHP Notices
-* correctly set defaults for Settings page :P
-* remove options for plugins/themes that are no longer present
-
-#### 3.0.4
-* Who would've thought `file_exists` was case-sensitive
-* when checking meta, use `empty()` instead of `! isset()` for `null array`
-* set defaults for Settings page
-* fix a number of PHP Notices
-
-#### 3.0.3
-* Bugfix to properly authenticate on JetPack Stats page
-
-#### 3.0.2
-* simplify check and exit on Settings if no Bitbucket plugins/themes
-
-#### 3.0.1
-* Remove Bitbucket settings from page if no appropriate plugins or themes exist.
-
-#### 3.0.0
-* Settings Page for your GitHub Access Tokens
-* added POT file and some more i18n fixes - thanks @grappler
-* added `Requires WP` and `Requires PHP` headers to set minimum version requirements - for @GaryJ
-* move update check to function to also check WP and PHP version requirements.
-* unset any HTTP Authorization headers for GitHub API calls as this gives a 401 error. Rare potential bug if you have private Bitbucket repos.
-
-#### 2.9.0
-* move instantiation of `class GitHub_Plugin_Updater` and `class GitHub_Theme_Updater` into `GitHub_Updater::init()` and restrict to `current_user_can( 'update_plugins' )` and `current_user_can( 'update_themes' )` so that non-privileged users don't incur load time.
-* now loading classes via `spl_autoload_register`
-* switched to `erusev/parsedown` for rendering changelogs, faster and more light-weight.
-* now parses remote file info to save only file headers to transient. Hopefully speeds up database retrieval of transient.
-* added README link to GitHub Link plugin by @szepeviktor
-* added mu-plugin option and instructions.
-* above revisions mostly due to @szepeviktor prodding me. ;-)
-* accept `CHANGES.md` or `CHANGELOG.md` for processing, for @GaryJ
-* composer support added, thanks @hyyan
-
-#### 2.8.1
-* fix for WP Coding Guidelines
-* added check for upgrade process instead of `$_GET['action']` (props @SLv99)
-* launch classes from `GitHub_Updater::init()` so can load in `add_action( 'init', ...` from `__construct()`. Hopefully this will solve issues with remote upgraders like iThemes Sync, ManageWP, InfiniteWP, and MainWP. Thanks @jazzsequence for testing. Thanks @SLv99 for bringing this to my attention.
-
-#### 2.8.0
-* refactor API classes and `class GitHub_Updater` to add extra headers from API class. This should allow for better abstraction. Just need to call `GitHub_Updater_{repo}_API::add_headers()` in `class GitHub_Plugin_Updater` and `class GitHub_ Theme_Updater`.
-* remove @since tags
-* move `maybe_authenticate_http` to `class GitHub_Updater_Bitbucket_API` as it's not used elsewhere
-* use non-strict check for http response code (thanks @echav)
-
-#### 2.7.1
-* added early exit if no local `CHANGES.md` file exists. This should save an API call.
-* pull update from WP.org if plugin hosted in WP.org and branch is `master`.
-
-#### 2.7.0
-* created functions for getting and setting transients
-* added deletion of all transients if _force-check_ is used
-* removed `GitHub Timeout` and `Bitbucket Timeout` headers
-* fix for `wp_remote_retrieve_response_code` check
-* give Seth Carstens proper credit in README.md
-* move `function make_rating` to `class GitHub_Updater`
-* fix for plugin name in update detail view
-* fix for Bitbucket repo with no branch tag
-* set default timeout to 12 hours, same as WP.org
-* fix for 3.9 setting theme update details to `display:none;`
-* fix for error when installing themes from WP.org repo
-* fix for incorrect plugin upgrade link in detail popup
-
-#### 2.6.3
-* quick error checking fix for `wp_remote_get` error to wordpress.org API - thanks @deckerweb
-
-#### 2.6.1
-* fixed CHANGES.md for GFM strike-through
-
-#### 2.6.0
-* added transient to `plugins_api` call
-* better zeroing of variables in getting local theme data
-* add error checking to loading of classes
-* set default transient timeout to 4 hours
-* added new header `GitHub Timeout` or `Bitbucket Timeout` to set individual plugin/theme transient timeout
-* ~~fixed for Bitbucket private repos~~
-* abide by WP Coding Guidelines, esp. for braces
-* more error checking for correct variable fetch
-* added graceful exit if repo does not exist
-
-#### 2.5.0
-* added `class GitHub_Updater_Bitbucket_API` for Bitbucket hosted plugins and themes.
-* improvements to efficiency by not loading when `DOING_AJAX`
-* improvements to efficiency in use of transients
-
-#### 2.4.5
-* set PHP MarkdownExtra posts and comments markup to false props @MikeHansonMe
-* remove WP plugin header from `markdown.php`
-
-#### 2.4.4
-* forgot to include markdown.php - damn
-
-#### 2.4.2
-* removed PHP Markdown Lib as it required PHP >= 5.3 and that's higher than required by WordPress core.
-
-#### 2.4.1
-* switched from PHP Markdown Classic to the new PHP Markdown Lib to prevent collisions with other plugins, like Markdown On Save/Improved that also load PHP Markdown or PHP MarkdownExtra.
-
-#### 2.4.0
-* fixed transient assignment for tags returning empty array.
-* added transient for `CHANGES.md` to themes, should further cut down on API 403 errors.
-* new feature: theme rollback to previous version thanks @scarstens
-* changed update methodology to use most recent tag first. If not tagged update from default branch.
-
-#### 2.3.3
-* fixed download link to have correct base URI for Repository Contents API. Oops.
-
-#### 2.3.2
-* rewrite of `GitHub_Update_GitHub_API::construct_download_link` to download zipball and provide appropriate endpoint.
-
-#### 2.3.1
-* now saving transient and adding early return if API returns 404, this should speed up plugin when repo doesn't have `CHANGES.md` file and provide for early return in no tags have been created. If no tags have been created the API is still hit.
-
-#### 2.3.0
-* moved action hook to remove `after_theme_row_$stylesheet` to `class GitHub_Theme_Updater`
-* added feature: if branch other than `master` is specified then tagged version will be ignored. This should make it much easier for beta testing to groups. See [README.md](https://github.com/afragen/github-updater/blob/develop/README.md)
-* converted `class GitHub_Update_GitHub_API` to extension of `class GitHub_Updater`
-* combined `description` and `changelog` to show in theme detail view. Rough formatting. Multisite only.
-* greatly simplified bug fix from 2.2.2, now using Themes API.
-
-#### 2.2.2
-* bug fix for removing update notice for WP.org repo themes. Oops.
-
-#### 2.2.1
-* minor code simplifications
-* many thanks to @grappler for solving how to remove default `after_theme_row_$stylesheet`
-
-#### 2.2.0
-* moved check and load for `markdown.php` into only function that uses it.
-* minor README updates
-* added abort if this plugin called directly
-* added additional data to update available screen in both plugins and themes - issue #8
-* removed requirement for tags in theme updating
-* removed extra line endings from `remote_version`
-* added ratings function for creating star ratings based upon GitHub repo data.
-* bring parts of `class GitHub_Theme_Updater` code on par with `class GitHub_Plugin_Updater`
-* added 'ghu-' prefix to transients
-* ripped out theme rollback code. Moved to it's own branch on GitHub.
-* add custom `after_theme_update_{$stylesheet}` detail.
-
-#### 2.1.1
-* bug fix to return early from call to `plugins_api` if not getting plugin information. Fixes issue with Plugin Search.
-
-#### 2.1.0
-* simplify check for `class Markdown_Parser`
-* refactor to pass `class GitHub_Update_GitHub_API` as class object. This should enable the creation of other class objects for Bitbucket, etc.
-* fix for setting branch when API not responding
-* fix for setting download link when API not responding
-* redesigned filter for setting transient timeout, but still not working (pull requests welcome)
-
-#### 2.0.1
-* bug fix to not load `markdown.php` twice. Just in case it's loaded by some other plugin.
-
-#### 2.0.0
-* rearranged where I put `GitHub Plugin URI` header, etc. in README and in this plugin.
-* minor spelling fixes
-* renamed some functions for their hooks
-* refactored `class GitHub_Plugin_Updater` and `class GitHub_Theme_Updater` to use stdClass objects
-* further refactored base class `GitHub_Updater` to contain renaming code and create stdClass objects for data.
-* added some ability to see changelog for GitHub hosted plugins.
-* trying to follow WordPress Plugin Boilerplate, so renamed `classes` to `includes`
-* refactored putting all remote api calls in new `class GitHub_Plugin_Updater_API`.
-* Theme updating should now be able to have a specified branch.
-* works on WordPress 3.8
-* included Michel Fortin's [PHP-Markdown](http://michelf.ca/projects/php-markdown/) for rendering `CHANGES.md`
-
-#### 1.8.1
-* added some variable declarations
-* added early return in no GitHub sourced plugins or themes are identified
-
-#### 1.8.0
-* refactored to use base class `GitHub_Updater` and extending classes `GitHub_Plugin_Updater` and `GitHub_Theme_Updater`.
-
-#### 1.7.4
-* changed method of not overwriting extra headers to pass array.
-
-#### 1.7.3
-* change `'...'` to `…` in renaming notification
-* fix to not overwrite extra headers of other plugins.
-
-#### 1.7.2
-* removed sorting option from `scandir`. Doesn't work with older versions of PHP < 5.4.0
-* removed extraneous data from array in `multisite_get_themes`
-
-#### 1.7.1
-* updated the transient for themes
-* replaced `readdir` with `scandir` for creating WP\_Theme object in multisite
-
-#### 1.7.0
-* updated class-theme-updater.php to utilize WP\_Theme class
-* added method `get_remote_tag` to update plugins using tags or branch, depending upon which has greater version number.
-* `get_remote_tag` uses transient to limit calls to API
-* fix for `wp_get_themes` not working under plugin network activation on multisite installation. I recreated `wp_get_themes` by reading in the theme directory and adding the WP\_Theme object of `wp_get_theme( 'dir_in_themes_dir' )` to an array.
-
-#### 1.6.1
-* bug fix for undeclared variable $github_plugins
-
-#### 1.6.0
-* Added separate method to parse plugin repo info from header
-* Shortened GitHub Plugin URI to only use owner/repo
-* Shortened GitHub Theme URI to only use owner/repo
-
-#### 1.5.0
-* Lots of documentation and some bug fixes. Thanks @GaryJones
-* Made version checking regex more compatible. Thanks @GaryJones
-* Added ability to define branch to update.
-* Refactored plugin/theme renaming code.
-* Added `GitHub Branch` feature - Thanks @GaryJones
-* Trying to comply with WP Coding Standards.
-* Major thanks to @GaryJones for all the pull requests and generally improving this project.
-
-#### 1.4.3
-* Fixed a couple of non-fatal PHP errors. Thanks @jazzsequence
-
-#### 1.4.2
-* Cleaned up readme's markdown.
-
-#### 1.4.1
-* Fixed the README to more accurately reflect support for both plugins and themes.
-
-#### 1.4
-* Fix for rename functions to be more precise, otherwise might rename wp.org repo themes.
-
-#### 1.3
-* Simplify a couple of if statements.
-
-#### 1.2
-* Fix to ignore renaming for wp.org plugins
-
-#### 1.1
-* Sanity check for theme api uri
-
-#### 1.0
-* Serialized WP\_Theme object to search for added GitHub header, lots of help from Seth. No more `file_get_contents`.
-* Converted plugin class and added it to make joint plugin/theme updater.
-
-#### 0.2
-* Code cleanup.
-* Limit `file_get_contents` to 2000 bytes.
-
-#### 0.1
-* Initial commit
diff --git a/github/LICENSE b/github/LICENSE
deleted file mode 100644
index d7f1051..0000000
--- a/github/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {description}
- Copyright (C) {year} {fullname}
-
- This program 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
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- {signature of Ty Coon}, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/github/README.md b/github/README.md
deleted file mode 100644
index ccdfca3..0000000
--- a/github/README.md
+++ /dev/null
@@ -1,321 +0,0 @@
-![GitHub Updater](./assets/GitHub_Updater_logo.png)
-
-# GitHub Updater
-* Contributors: [Andy Fragen](https://github.com/afragen), [Gary Jones](https://github.com/GaryJones), [Seth Carstens](https://github.com/scarstens), [contributors](https://github.com/afragen/github-updater/graphs/contributors)
-* Tags: plugin, theme, update, updater, github, bitbucket, gitlab, remote install
-* Requires at least: 3.8
-* Requires PHP: 5.3
-* Tested up to: 4.3
-* Stable tag: master
-* Donate link: http://bit.ly/github-updater
-* License: GPLv2 or later
-* License URI: http://www.gnu.org/licenses/gpl-2.0.html
-
-
-A simple plugin to enable automatic updates to your GitHub, Bitbucket, or GitLab hosted WordPress plugins and themes. It also allows for the remote installation of plugins or themes.
-
-This plugin is [not allowed in the wp.org repo](https://github.com/afragen/github-updater/issues/34). :frowning:
-
-## Description
-
-This plugin was designed to simply update any GitHub hosted WordPress plugin or theme. Your plugin or theme **must** contain a header in the style.css header or in the plugin's header denoting the location on GitHub. The format is as follows.
-
-`GitHub Plugin URI: afragen/github-updater`
-`GitHub Plugin URI: https://github.com/afragen/github-updater`
-
-or
-
-`GitHub Theme URI: afragen/test-child`
-`GitHub Theme URI: https://github.com/afragen/test-child`
-
-...where the above URI leads to the __owner/repository__ of your theme or plugin. The URI may be in the format `https://github.com//` or the short format `/`. You do not need both. Only one Plugin or Theme URI is required. You **must not** include any extensions like `.git`.
-
-## Installation
-
-### Composer
-
-Run the composer command: ```composer require afragen/github-updater```
-
-
-### Upload
-
-1. Download the latest [tagged archive](https://github.com/afragen/github-updater/releases) (choose the "zip" option).
-2. Go to the __Plugins -> Add New__ screen and click the __Upload__ tab.
-3. Upload the zipped archive directly.
-4. Go to the Plugins screen and click __Activate__.
-
-### Manual
-
-1. Download the latest [tagged archive](https://github.com/afragen/github-updater/releases) (choose the "zip" option).
-2. Unzip the archive.
-3. Copy the folder to your `/wp-content/plugins/` directory.
-4. Go to the Plugins screen and click __Activate__.
-
-Check out the Codex for more information about [installing plugins manually](http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation).
-
-### Git
-
-Using git, browse to your `/wp-content/plugins/` directory and clone this repository:
-
-`git clone https://github.com/afragen/github-updater.git`
-
-Then go to your Plugins screen and click __Activate__.
-
-### Install GitHub Updater as a Must Use Plugin (optional)
-
-1. Choose a method from above for installation.
-1. **DO NOT** activate!
-1. Symlink `wp-content/plugins/github-updater/mu/ghu-loader.php` in `wp-content/mu-plugins`.
-
-#### in Linux
-```
-cd
-ln -sv wp-content/plugins/github-updater/mu/ghu-loader.php wp-content/mu-plugins
-```
-
-#### in Windows (Vista, 7, 8)
-```
-cd /D
-mklink wp-content\mu-plugins\ghu-loader.php wp-content\plugins\github-updater\mu\ghu-loader.php
-```
-
-This way you get automatic updates and cannot deactivate the plugin.
-
-## Usage
-
-### Plugins
-
-There must be a `GitHub Plugin URI`, `Bitbucket Plugin URI`, or `GitLab Plugin URI` declaration in the plugin's header.
-
-~~~php
-/*
-Plugin Name: GitHub Updater
-Plugin URI: https://github.com/afragen/github-updater
-Description: A plugin to automatically update GitHub hosted plugins and themes into WordPress. Plugin class based upon codepress/github-plugin-updater. Theme class based upon Whitelabel Framework modifications.
-Version: 1.0.0
-Author: Andy Fragen
-License: GNU General Public License v2
-License URI: http://www.gnu.org/licenses/gpl-2.0.html
-Domain Path: /languages
-Text Domain: github-updater
-GitHub Plugin URI: https://github.com/afragen/github-updater
-GitHub Branch: master
-*/
-~~~
-
-### Themes
-
-There must be a `GitHub Theme URI`, `Bitbucket Theme URI`, or `GitLab Theme URI` declaration in the `style.css` file. When initially adding a theme, the directory **must** be identical to the repo name.
-
-~~~css
-/*
-Theme Name: Test
-Theme URI: http://drfragen.info/
-Version: 0.1.0
-Description: Child theme of TwentyTwelve.
-Author: Andy Fragen
-Template: twentytwelve
-Template Version: 1.0.0
-GitHub Theme URI: https://github.com/afragen/test-child
-GitHub Branch: master
-*/
-~~~
-
-### Optional Headers
-
-`GitHub Branch`, `Bitbucket Branch`, and `GitLab Branch` are available but not required.
-
-### Enterprise and Self-Hosted Support
-
-#### GitHub Enterprise Support
-
-Add the `GitHub Enterprise` header to the plugin or theme that is hosted on your GitHub self-hosted installation. The settings should be similar to `GitHub Enterprise: https://github.yourhost.com`.
-
-#### GitLab CE/Enterprise Support
-
-Add the `GitLab CE` or `GitLab Enterprise` header to the plugin or theme that is hosted on your GitLab self-hosted installation. The settings should be similar to `GitLab CE: https://gitlab.yourhost.com` or `GitLab Enterprise: https://gitlab.yourhost.com`.
-
-### Versions
-
-GitHub Updater reads the `Version` headers from both the local file and the remote file. For an update to show as available the remote version number **must** be greater than the local version number. It is **required** to have a `Version` header in your main plugin file or your theme's `style.css` file. It is better to use [Semantic Versioning](http://semver.org).
-
-If you tag releases the version number of the tag must be the same as in the file inside of the tag. Otherwise a circle of updating may ensue. You do not have to tag releases; but if you do the tagged version will be downloaded preferentially. Please refer to the sections below on branches and tags.
-
-When testing I find it simpler to decrease the version number in the local file rather than continually push updates with version number increments or new tags.
-
-## Branch Support
-
-To specify a branch that you would like to use for updating, just add a branch header. If you develop on `master` and are pushing tags, GitHub Updater will update to the newest tag. If there are no tags or the specified branch is not `master` GitHub Updater will use the specified branch for updating.
-
-The default state is either `GitHub Branch: master` or nothing at all. They are equivalent.
-
-If you want to update against branch of your repository other than `master` and have that branch push updates out to users make sure you specify the testing branch in a header, i.e. `GitHub Branch: develop`. When you want users to update against the release branch just have them manually change the header to `GitHub Branch: master` or remove it completely. Tags will be ignored when a branch other than `master` is specified. In this case I would suggest semantic version numbering similar to the following, `...`.
-
-In the GitHub Updater Settings there is a new setting to enable branch switching for plugins. When checked there will be a new ability from the Plugins page to switch between plugin branches. Switching to the current branch will reinstall the current branch.
-
-## Tagging
-
-If the branch header, i.e. `GitHub Branch` or `Bitbucket Branch`, is not specified (or is set to `master`), then the latest tag will be used. GitHub Updater will preferentially use a tag over a branch in this instance.
-
-If you prefer to create a release asset for distribution, this will be used in preference to a tag.
-
-## Bitbucket Support
-
-Instead of the `GitHub Plugin URI` header you will need to use the `Bitbucket Plugin URI` header.
-
-Instead of the `GitHub Theme URI` header you will need to use the `Bitbucket Theme URI` header.
-
-The `Bitbucket Branch` header is supported for both plugins and themes.
-
-## GitLab Support
-
-Instead of the `GitHub Plugin URI` header you will need to use the `GitLab Plugin URI` header.
-
-Instead of the `GitHub Theme URI` header you will need to use the `GitLab Theme URI` header.
-
-The `GitLab Branch` header is supported for both plugins and themes.
-
-You must set a GitLab private token. Go to your GitLab profile page under Edit Account. From here you can retrieve or reset your GitLab private token.
-
-## Private Repositories
-
-Only private repositories will show up in the Settings page.
-
-![Settings Tab](./assets/screenshot-1.png)
-
-### GitHub Private Repositories
-
-In order to specify a private repository you will need to obtain a [personal access token](https://github.com/settings/tokens/new). Once you have this, simply add the token to the appropriate plugin or theme in the Settings tab.
-
-Leave this empty if the plugin or theme is in a public repository.
-
-### Bitbucket Private Repositories
-
-Add your personal Bitbucket username and password in the Settings tab. In order to authenticate with the Bitbucket API you will need to have at least `read` privileges for the Bitbucket private repository.
-
-In order to specify a private repository you will need to check the box next to the repository name in the Settings tab.
-
-Leave this unchecked if the plugin or theme is in a public repository.
-
-Do not include your username or password in the plugin or theme URI.
-
-## WordPress and PHP Requirements
-
-There are now two **optional** headers for setting minimum requirements for both WordPress and PHP.
-
-Use `Requires WP:` to set the minimum required version of WordPress needed for your plugin or theme. eg. `Requires WP: 3.8`
-
-Use `Requires PHP:` to set the minimum required version of PHP needed for your plugin or theme. eg. `Requires PHP: 5.3.0`
-
-At the moment the default values are **WordPress 3.8.0** and **PHP 5.3.0**
-
-## Deleting Transients
-
-If you use the **Check Again** button in the WordPress Updates screen then all the transients will be deleted and the API will be queried again. This may cause timeout issues against the API, especially the GitHub API which only allows 60 unauthenticated calls per hour.
-
-Be careful about refreshing the browser window after this as you may be continually deleting the transients and hitting the API.
-
-## Hosting Plugin in WP.org Repository
-
-If you develop your plugin on GitHub and it also resides in the WP.org repo, the plugin will preferentially pull updates from WP.org if `GitHub Branch: master`. If `GitHub Branch` is anything other than `master` then the update will pull from GitHub. Make sure that the version of your plugin uploaded to WP.org has `GitHub Branch: master`.
-
-The same applies for Bitbucket or GitLab hosted plugins.
-
-## Remote Installation of Repositories
-
-From the `GitHub Updater Settings Page` there is a tabbed interface for remote installation of plugins or themes. You may use either a full URI or short `/` format.
-
-![Remote Install of Plugin Tab](./assets/screenshot-2.png)
-
-## Error Messages
-
-GitHub Updater now reports a small error message on certain pages in the dashboard. The error codes are HTTP status codes. Most often the code will be either 403 or 401. If you don't have an Access Token set for a private GitHub repo you will get a 404 error.
-
-### Personal GitHub Access Token
-
-There is a new setting for a personal GitHub Access Token. I **strongly** encourage everyone to create a [personal access token](https://github.com/settings/tokens/new). Create one with at least `public_repo` access and your rate limit will be increased to 5000 API hits per hour. Unauthenticated calls to the GitHub API are limited to 60 API calls per hour and in certain circumstances, like shared hosting, these limits will be more frequently hit. Thanks [mlteal](https://github.com/mlteal).
-
-### 403 - Unauthorized Access
-
-#### GitHub
-* usually this means that you have reached GitHub API's rate limit of 60 hits per hour. This is informative and should go away in less than an hour. See above regarding the setting of a personal access token to eliminate this entirely.
-* a private GitHub repo without an Access Token designated in the Settings.
-* will tell you how long until GitHub API's rate limit will be reset.
-
-### 401 - Incorrect Authentication
-
-#### Bitbucket
-* incorrect Bitbucket user/pass, no `read` access to private Bitbucket repo
-* private Bitbucket repo not checked in Settings
-
-#### GitHub
-* using an incorrect private repo GitHub Access Token for a public repo
-* an incorrect Access Token for a private GitHub repo.
-
-### 429 - Too Many Requests
-
-I've seen this error code occasionally with Bitbucket.
-
-## Extended Naming
-
-There's a hidden preference to use extended naming for plugin directories. Extended Naming follows the convention `--`. The normal method is to name the plugin directory ``. Unfortunately there may be a _potential_ conflict with a WP.org plugin. This preference mitigates that potential conflict. If you switch between normal and extended naming you might have to reactivate your plugins.
-
-To set Extended Naming add `define( 'GITHUB_UPDATER_EXTENDED_NAMING', true );` in your `wp-config.php` or your theme's `functions.php`.
-
-## Extras
-
-[szepeviktor](https://github.com/szepeviktor) has created an add-on plugin to GitHub Updater that identifies all plugins with an icon in the plugin view for GitHub or Bitbucket depending upon where they get updates. It's very clever.
-
-
-### Translations
-
-* French by
- * [Daniel Ménard](https://github.com/daniel-menard)
- * [fxbenard](https://github.com/fxbenard)
-* Italian by [Enea Overclokk](https://github.com/overclokk)
-* Portuguese by
- * [Valerio Souza](https://github.com/valeriosouza)
- * [Pedro Mendonça](https://github.com/pedro-mendonca)
-* Ukrainian by [Andrii Ryzhkv](https://github.com/andriiryzhkov)
-* Swedish by [Andréas Lundgren](https://github.com/Adevade)
-* Arabic by [Hyyan Abo FAkher](https://github.com/hyyan)
-* Spanish by [Jose Miguel Bejarano](https://github.com/xDae)
-* German by [Linus Metzler](https://github.com/limenet)
-* Romanian by [Corneliu Cirlan](https://github.com/corneliucirlan)
-* Japanese by [ishihara](https://github.com/1shiharat)
-* Russian by [Anatoly Yumashev](https://github.com/yumashev)
-
-## Issues
-
-Please log issues on the GitHub at https://github.com/afragen/github-updater/issues
-
-If you are using a WordPress Multisite installation, the plugin **should** be network activated.
-
-When first downloading and installing a plugin from GitHub you might have to do the following, otherwise the next update may not be able to cleanup after itself and re-activate the updated plugin or theme. Or you can just use the remote install feature and this will be done for you. :wink:
-
-1. Unzip the archive.
-2. Fix the folder name to remove to extra stuff GitHub adds to the download, like _-master_.
-3. Copy the folder to your plugins directory **or** re-zip folder and add from plugins page.
-
-W3 Total Cache object cache also clears the transient cache. Unfortunately this hampers GitHub Updater's storage of API data using the Transient API. The solution is to turn off the object cache.
-
-## ChangeLog
-
-See [CHANGES.md](CHANGES.md). In your project create a `CHANGES.md` or `CHANGELOG.md` file.
-
-## Credits
-
-This plugin's theme updater class was based upon [Whitelabel Framework's updater-plugin.php](https://github.com/WordPress-Phoenix/whitelabel-framework/blob/master/inc/admin/updater-plugin.php), which was based upon https://github.com/UCF/Theme-Updater.
-
-The plugin updater class was based upon [codepress/github-plugin-updater](https://github.com/codepress/github-plugin-updater).
-
-Includes
-
-* [Emanuil Rusev's](https://github.com/erusev) [Parsedown](https://github.com/erusev/parsedown) for rendering ChangeLogs.
-* [Mark Jaquith's](https://github.com/markjaquith) [WordPress Plugin Readme Parser](https://github.com/markjaquith/WordPress-Plugin-Readme-Parser/tree/WordPress.org) for parsing `readme.txt`.
-
-GitHub Updater logo by [LogoMajestic](http://www.logomajestic.com).
-
-## Pull Requests
-
-Pull requests are welcome. Please fork and submit pull requests against the `develop` branch.
diff --git a/github/assets/GitHub_Updater_logo.png b/github/assets/GitHub_Updater_logo.png
deleted file mode 100644
index 680ef6506a957a724b9a82649f56f8576fdcce6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 11171
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
diff --git a/github/assets/GitHub_Updater_logo_small.png b/github/assets/GitHub_Updater_logo_small.png
deleted file mode 100644
index 38eebd1d6146df30bf2412b655e9c9d57da54f5d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5237
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