├── README.md ├── composer.json ├── composer.lock ├── readme.txt ├── remove-drop-cap.php └── vendor ├── autoload.php ├── collizo4sky └── persist-admin-notices-dismissal │ ├── CHANGES.md │ ├── README.md │ ├── composer.json │ ├── dismiss-notice.js │ └── persist-admin-notices-dismissal.php ├── composer ├── ClassLoader.php ├── InstalledVersions.php ├── LICENSE ├── autoload_classmap.php ├── autoload_files.php ├── autoload_namespaces.php ├── autoload_psr4.php ├── autoload_real.php ├── autoload_static.php ├── installed.json ├── installed.php └── platform_check.php └── yahnis-elsts └── plugin-update-checker ├── .editorconfig ├── .gitignore ├── Puc ├── v4 │ └── Factory.php └── v4p10 │ ├── Autoloader.php │ ├── DebugBar │ ├── Extension.php │ ├── Panel.php │ ├── PluginExtension.php │ ├── PluginPanel.php │ └── ThemePanel.php │ ├── Factory.php │ ├── InstalledPackage.php │ ├── Metadata.php │ ├── OAuthSignature.php │ ├── Plugin │ ├── Info.php │ ├── Package.php │ ├── Ui.php │ ├── Update.php │ └── UpdateChecker.php │ ├── Scheduler.php │ ├── StateStore.php │ ├── Theme │ ├── Package.php │ ├── Update.php │ └── UpdateChecker.php │ ├── Update.php │ ├── UpdateChecker.php │ ├── UpgraderStatus.php │ ├── Utils.php │ └── Vcs │ ├── Api.php │ ├── BaseChecker.php │ ├── BitBucketApi.php │ ├── GitHubApi.php │ ├── GitLabApi.php │ ├── PluginUpdateChecker.php │ ├── Reference.php │ └── ThemeUpdateChecker.php ├── README.md ├── composer.json ├── css └── puc-debug-bar.css ├── examples ├── plugin.json └── theme.json ├── js └── debug-bar.js ├── languages ├── plugin-update-checker-ca.mo ├── plugin-update-checker-ca.po ├── plugin-update-checker-cs_CZ.mo ├── plugin-update-checker-cs_CZ.po ├── plugin-update-checker-da_DK.mo ├── plugin-update-checker-da_DK.po ├── plugin-update-checker-de_DE.mo ├── plugin-update-checker-de_DE.po ├── plugin-update-checker-es_AR.mo ├── plugin-update-checker-es_AR.po ├── plugin-update-checker-es_CL.mo ├── plugin-update-checker-es_CL.po ├── plugin-update-checker-es_CO.mo ├── plugin-update-checker-es_CO.po ├── plugin-update-checker-es_CR.mo ├── plugin-update-checker-es_CR.po ├── plugin-update-checker-es_DO.mo ├── plugin-update-checker-es_DO.po ├── plugin-update-checker-es_ES.mo ├── plugin-update-checker-es_ES.po ├── plugin-update-checker-es_GT.mo ├── plugin-update-checker-es_GT.po ├── plugin-update-checker-es_HN.mo ├── plugin-update-checker-es_HN.po ├── plugin-update-checker-es_MX.mo ├── plugin-update-checker-es_MX.po ├── plugin-update-checker-es_PE.mo ├── plugin-update-checker-es_PE.po ├── plugin-update-checker-es_PR.mo ├── plugin-update-checker-es_PR.po ├── plugin-update-checker-es_UY.mo ├── plugin-update-checker-es_UY.po ├── plugin-update-checker-es_VE.mo ├── plugin-update-checker-es_VE.po ├── plugin-update-checker-fa_IR.mo ├── plugin-update-checker-fa_IR.po ├── plugin-update-checker-fr_CA.mo ├── plugin-update-checker-fr_CA.po ├── plugin-update-checker-fr_FR.mo ├── plugin-update-checker-fr_FR.po ├── plugin-update-checker-hu_HU.mo ├── plugin-update-checker-hu_HU.po ├── plugin-update-checker-it_IT.mo ├── plugin-update-checker-it_IT.po ├── plugin-update-checker-ja.mo ├── plugin-update-checker-ja.po ├── plugin-update-checker-nl_BE.mo ├── plugin-update-checker-nl_BE.po ├── plugin-update-checker-nl_NL.mo ├── plugin-update-checker-nl_NL.po ├── plugin-update-checker-pt_BR.mo ├── plugin-update-checker-pt_BR.po ├── plugin-update-checker-sl_SI.mo ├── plugin-update-checker-sl_SI.po ├── plugin-update-checker-sv_SE.mo ├── plugin-update-checker-sv_SE.po ├── plugin-update-checker-zh_CN.mo ├── plugin-update-checker-zh_CN.po └── plugin-update-checker.pot ├── license.txt ├── load-v4p10.php ├── plugin-update-checker.php └── vendor ├── Parsedown.php ├── ParsedownLegacy.php ├── ParsedownModern.php └── PucReadmeParser.php /README.md: -------------------------------------------------------------------------------- 1 | # Disable Drop Cap 2 | 3 | | :warning: | Important notice: This repository is no longer updated. I've released version 2.0 of this plugin, which is [available in the WordPress.org plugin repository](https://wordpress.org/plugins/disable-drop-cap/). Since I've changed the plugin slug from remove-drop-cap to disable-drop-cap, you will need to update to the new version manually. Source code for the new version is available [in a separate GitHub repository.](https://github.com/joppuyo/disable-drop-cap-v2) | 4 | |---|:---| 5 | 6 | Plugin to disable drop cap in Gutenberg editor paragraph block. 7 | 8 | ### Note for WordPress 5.8 9 | 10 | With WordPress 5.8, you can use the new `theme.json` feature to disable drop caps in your theme. Add a `theme.json` with the following content in the root of your theme. 11 | 12 | ```json 13 | { 14 | "version": 1, 15 | "settings": { 16 | "typography": { 17 | "dropCap": false 18 | } 19 | } 20 | } 21 | ``` 22 | 23 | This plugin does continue working in WordPress 5.8 but be aware of this alternative solution. 24 | 25 | ## Requirements 26 | 27 | * WordPress 5.5, 5.6, 5.7 or 5.8 28 | * PHP 7.0 or later 29 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "yahnis-elsts/plugin-update-checker": "^4.10", 4 | "collizo4sky/persist-admin-notices-dismissal": "^1.4" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "37add0659bd1a12072a9c2bc0b21d371", 8 | "packages": [ 9 | { 10 | "name": "collizo4sky/persist-admin-notices-dismissal", 11 | "version": "1.4.4", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/w3guy/persist-admin-notices-dismissal.git", 15 | "reference": "900739eb6b0ec0210465f5983a6d4e0e420289e4" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/w3guy/persist-admin-notices-dismissal/zipball/900739eb6b0ec0210465f5983a6d4e0e420289e4", 20 | "reference": "900739eb6b0ec0210465f5983a6d4e0e420289e4", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "php": ">=5.4" 25 | }, 26 | "type": "library", 27 | "autoload": { 28 | "classmap": [ 29 | "persist-admin-notices-dismissal.php" 30 | ] 31 | }, 32 | "notification-url": "https://packagist.org/downloads/", 33 | "license": [ 34 | "GPL-3.0-or-later" 35 | ], 36 | "authors": [ 37 | { 38 | "name": "Collins Agbonghama", 39 | "email": "me@w3guy.com", 40 | "role": "developer" 41 | } 42 | ], 43 | "description": "Simple library to persist dismissal of admin notices across pages in WordPress dashboard.", 44 | "support": { 45 | "issues": "https://github.com/w3guy/persist-admin-notices-dismissal/issues", 46 | "source": "https://github.com/w3guy/persist-admin-notices-dismissal" 47 | }, 48 | "time": "2020-12-31T17:12:37+00:00" 49 | }, 50 | { 51 | "name": "yahnis-elsts/plugin-update-checker", 52 | "version": "v4.10", 53 | "source": { 54 | "type": "git", 55 | "url": "https://github.com/YahnisElsts/plugin-update-checker.git", 56 | "reference": "0edd15f67822464af8a23285ce367b30d515a855" 57 | }, 58 | "dist": { 59 | "type": "zip", 60 | "url": "https://api.github.com/repos/YahnisElsts/plugin-update-checker/zipball/0edd15f67822464af8a23285ce367b30d515a855", 61 | "reference": "0edd15f67822464af8a23285ce367b30d515a855", 62 | "shasum": "" 63 | }, 64 | "require": { 65 | "ext-json": "*", 66 | "php": ">=5.2.0" 67 | }, 68 | "type": "library", 69 | "autoload": { 70 | "files": [ 71 | "load-v4p10.php" 72 | ] 73 | }, 74 | "notification-url": "https://packagist.org/downloads/", 75 | "license": [ 76 | "MIT" 77 | ], 78 | "authors": [ 79 | { 80 | "name": "Yahnis Elsts", 81 | "email": "whiteshadow@w-shadow.com", 82 | "homepage": "http://w-shadow.com/", 83 | "role": "Developer" 84 | } 85 | ], 86 | "description": "A custom update checker for WordPress plugins and themes. Useful if you can't host your plugin in the official WP repository but still want it to support automatic updates.", 87 | "homepage": "https://github.com/YahnisElsts/plugin-update-checker/", 88 | "keywords": [ 89 | "automatic updates", 90 | "plugin updates", 91 | "theme updates", 92 | "wordpress" 93 | ], 94 | "time": "2020-08-21T11:36:45+00:00" 95 | } 96 | ], 97 | "packages-dev": [], 98 | "aliases": [], 99 | "minimum-stability": "stable", 100 | "stability-flags": [], 101 | "prefer-stable": false, 102 | "prefer-lowest": false, 103 | "platform": [], 104 | "platform-dev": [], 105 | "plugin-api-version": "2.1.0" 106 | } 107 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | # Disable Drop Cap 2 | Requires at least: 5.5 3 | Tested up to: 5.8 4 | Requires PHP: 7.0 5 | License: GPLv2 or later 6 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 7 | 8 | Plugin to disable drop cap in Gutenberg editor paragraph block 9 | 10 | ## Description 11 | 12 | Plugin to disable drop cap in Gutenberg editor paragraph block. 13 | 14 | ### Note for WordPress 5.8 15 | 16 | With WordPress 5.8, you can use the new `theme.json` feature to disable drop caps in your theme. Add a `theme.json` with the following content in the root of your theme. 17 | 18 | ```json 19 | { 20 | "version": 1, 21 | "settings": { 22 | "typography": { 23 | "dropCap": false 24 | } 25 | } 26 | } 27 | ``` 28 | 29 | This plugin does continue working in WordPress 5.8 but be aware of this alternative solution. 30 | 31 | ## Changelog 32 | 33 | ### 1.4.0 (2021-12-05) 34 | * Feature: Add a notice to encourage people to update to the new version in the plugin directory 35 | 36 | ### 1.3.1 (2021-09-20) 37 | * Fix: Fix deprecation error in WordPress 5.8 38 | 39 | ### 1.3.0 (2021-07-24) 40 | * Feature: WordPress 5.8 support (thanks @adriantoll) 41 | 42 | ### 1.2.1 (2021-03-12) 43 | * Fix: Bump tested up to 5.7 44 | * Fix: Re-organize plugin code to be cleaner 45 | * Fix: Change plugin name to "Disable Drop Cap" everywhere. "Remove Drop Cap" is still used as the plugin slug to ensure backwards compatibility 46 | 47 | ### 1.2.0 (2021-03-11) 48 | * Feature: WordPress 5.7 support 49 | * Fix: Regression in WordPress 5.5 50 | 51 | ### 1.1.0 (2020-12-16) 52 | * Change: Use server side feature registration to disable dropCap instead of JavaScript 53 | * Fix: WordPress 5.6 support 54 | 55 | ### 1.0.0 (2020-09-20) 56 | * Initial release 57 | -------------------------------------------------------------------------------- /remove-drop-cap.php: -------------------------------------------------------------------------------- 1 | =')) { 28 | add_filter('block_editor_settings_all', 'disable_drop_cap_editor_settings_5_8'); 29 | } 30 | 31 | if ( 32 | version_compare($wp_version, '5.7', '>=') && 33 | version_compare($wp_version, '5.8', '<') 34 | ) { 35 | add_filter('block_editor_settings', 'disable_drop_cap_editor_settings_5_7'); 36 | } 37 | 38 | if ( 39 | version_compare($wp_version, '5.6', '>=') && 40 | version_compare($wp_version, '5.7', '<') 41 | ) { 42 | add_filter('block_editor_settings', 'disable_drop_cap_editor_settings_5_6'); 43 | } 44 | 45 | if ( 46 | version_compare($wp_version, '5.5', '>=') && 47 | version_compare($wp_version, '5.6', '<')) 48 | { 49 | add_action('admin_footer', 'disable_drop_cap_admin_footer'); 50 | } 51 | } 52 | 53 | function disable_drop_cap_editor_settings_5_8(array $editor_settings): array { 54 | $editor_settings['__experimentalFeatures']['typography']['dropCap'] = false; 55 | return $editor_settings; 56 | } 57 | 58 | function disable_drop_cap_editor_settings_5_7(array $editor_settings): array { 59 | $editor_settings['__experimentalFeatures']['defaults']['typography']['dropCap'] = false; 60 | return $editor_settings; 61 | } 62 | 63 | function disable_drop_cap_editor_settings_5_6(array $editor_settings): array { 64 | $editor_settings['__experimentalFeatures']['global']['typography']['dropCap'] = false; 65 | return $editor_settings; 66 | } 67 | 68 | function disable_drop_cap_admin_footer() { 69 | echo << 71 | document.addEventListener("DOMContentLoaded", function () { 72 | var removeDropCap = function(settings, name) { 73 | 74 | if (name !== "core/paragraph") { 75 | return settings; 76 | } 77 | var newSettings = Object.assign({}, settings); 78 | if ( 79 | newSettings.supports && 80 | newSettings.supports.__experimentalFeatures && 81 | newSettings.supports.__experimentalFeatures.typography && 82 | newSettings.supports.__experimentalFeatures.typography.dropCap 83 | ) { 84 | newSettings.supports.__experimentalFeatures.typography.dropCap = false; 85 | } 86 | return newSettings; 87 | }; 88 | wp.hooks.addFilter( 89 | "blocks.registerBlockType", 90 | "sc/gb/remove-drop-cap", 91 | removeDropCap, 92 | ); 93 | }); 94 | 95 | HTML; 96 | } 97 | 98 | function disable_drop_cap_update_nag() { 99 | if (!PAnD::is_admin_notice_active('disable-drop-cap-update-nag-7')) { 100 | return; 101 | } 102 | 103 | echo '
'; 104 | echo '

Version 1 of Disable Drop Cap is no longer being maintained. Please update to version 2 which is available in the WordPress plugin directory. You can deactivate and remove the old version once you have installed the new version.

'; 105 | echo '
'; 106 | } 107 | 108 | add_action('admin_notices', 'disable_drop_cap_update_nag'); 109 | 110 | add_action('admin_init', ['PAnD', 'init']); 111 | -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | 29 |
30 |

31 |
32 | 47 |
48 |

49 |
50 | 84 |
85 |

86 |
87 | 96 |
97 |

98 |
99 | =5.4" 17 | }, 18 | "support": { 19 | "issues": "https://github.com/w3guy/persist-admin-notices-dismissal/issues", 20 | "source": "https://github.com/w3guy/persist-admin-notices-dismissal" 21 | }, 22 | "autoload": { 23 | "classmap": [ 24 | "persist-admin-notices-dismissal.php" 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/collizo4sky/persist-admin-notices-dismissal/dismiss-notice.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | //shorthand for ready event. 3 | $( 4 | function () { 5 | $( 'div[data-dismissible] button.notice-dismiss, div[data-dismissible] .dismiss-this' ).on("click", 6 | function (event) { 7 | event.preventDefault(); 8 | var $this = $( this ); 9 | 10 | var attr_value, option_name, dismissible_length, data; 11 | 12 | attr_value = $this.closest("div[data-dismissible]").attr( 'data-dismissible' ).split( '-' ); 13 | 14 | // remove the dismissible length from the attribute value and rejoin the array. 15 | dismissible_length = attr_value.pop(); 16 | 17 | option_name = attr_value.join( '-' ); 18 | 19 | data = { 20 | 'action': 'dismiss_admin_notice', 21 | 'option_name': option_name, 22 | 'dismissible_length': dismissible_length, 23 | 'nonce': dismissible_notice.nonce 24 | }; 25 | 26 | // We can also pass the url value separately from ajaxurl for front end AJAX implementations 27 | $.post( ajaxurl, data ); 28 | $this.closest("div[data-dismissible]").hide('slow'); 29 | } 30 | ); 31 | } 32 | ) 33 | 34 | }(jQuery)); 35 | -------------------------------------------------------------------------------- /vendor/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | * @package Persist Admin notices Dismissal 22 | * @author Collins Agbonghama 23 | * @author Andy Fragen 24 | * @license http://www.gnu.org/licenses GNU General Public License 25 | */ 26 | 27 | /** 28 | * Exit if called directly. 29 | */ 30 | if ( ! defined( 'ABSPATH' ) ) { 31 | die; 32 | } 33 | 34 | if ( ! class_exists( 'PAnD' ) ) { 35 | 36 | /** 37 | * Class PAnD 38 | */ 39 | class PAnD { 40 | 41 | /** 42 | * Init hooks. 43 | */ 44 | public static function init() { 45 | add_action( 'admin_enqueue_scripts', array( __CLASS__, 'load_script' ) ); 46 | add_action( 'wp_ajax_dismiss_admin_notice', array( __CLASS__, 'dismiss_admin_notice' ) ); 47 | 48 | /** 49 | * Filter to activate another filter providing a simpler use case. 50 | * 51 | * @since 1.4.3 52 | * 53 | * @param bool 54 | */ 55 | if ( apply_filters( 'pand_theme_loader', false ) ) { 56 | add_filter( 57 | 'pand_dismiss_notice_js_url', 58 | function( $js_url, $composer_path ) { 59 | return get_stylesheet_directory_uri() . $composer_path; 60 | }, 61 | 10, 62 | 2 63 | ); 64 | } 65 | } 66 | 67 | /** 68 | * Enqueue javascript and variables. 69 | */ 70 | public static function load_script() { 71 | 72 | if ( is_customize_preview() ) { 73 | return; 74 | } 75 | 76 | $js_url = plugins_url( 'dismiss-notice.js', __FILE__ ); 77 | $composer_path = '/vendor/collizo4sky/persist-admin-notices-dismissal/dismiss-notice.js'; 78 | 79 | /** 80 | * Filter dismiss-notice.js URL. 81 | * 82 | * @since 1.4.3 83 | * 84 | * @param string $js_url URL to the Javascript file. 85 | * @param string $composer_path Relative path of Javascript file from composer install. 86 | */ 87 | $js_url = apply_filters( 'pand_dismiss_notice_js_url', $js_url, $composer_path ); 88 | wp_enqueue_script( 89 | 'dismissible-notices', 90 | $js_url, 91 | array( 'jquery', 'common' ), 92 | false, 93 | true 94 | ); 95 | 96 | wp_localize_script( 97 | 'dismissible-notices', 98 | 'dismissible_notice', 99 | array( 100 | 'nonce' => wp_create_nonce( 'dismissible-notice' ), 101 | ) 102 | ); 103 | } 104 | 105 | /** 106 | * Handles Ajax request to persist notices dismissal. 107 | * Uses check_ajax_referer to verify nonce. 108 | */ 109 | public static function dismiss_admin_notice() { 110 | $option_name = sanitize_text_field( $_POST['option_name'] ); 111 | $dismissible_length = sanitize_text_field( $_POST['dismissible_length'] ); 112 | 113 | if ( 'forever' != $dismissible_length ) { 114 | // If $dismissible_length is not an integer default to 1 115 | $dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length; 116 | $dismissible_length = strtotime( absint( $dismissible_length ) . ' days' ); 117 | } 118 | 119 | check_ajax_referer( 'dismissible-notice', 'nonce' ); 120 | self::set_admin_notice_cache( $option_name, $dismissible_length ); 121 | wp_die(); 122 | } 123 | 124 | /** 125 | * Is admin notice active? 126 | * 127 | * @param string $arg data-dismissible content of notice. 128 | * 129 | * @return bool 130 | */ 131 | public static function is_admin_notice_active( $arg ) { 132 | $array = explode( '-', $arg ); 133 | $length = array_pop( $array ); 134 | $option_name = implode( '-', $array ); 135 | $db_record = self::get_admin_notice_cache( $option_name ); 136 | 137 | if ( 'forever' == $db_record ) { 138 | return false; 139 | } elseif ( absint( $db_record ) >= time() ) { 140 | return false; 141 | } else { 142 | return true; 143 | } 144 | } 145 | 146 | /** 147 | * Returns admin notice cached timeout. 148 | * 149 | * @access public 150 | * 151 | * @param string|bool $id admin notice name or false. 152 | * 153 | * @return array|bool The timeout. False if expired. 154 | */ 155 | public static function get_admin_notice_cache( $id = false ) { 156 | if ( ! $id ) { 157 | return false; 158 | } 159 | $cache_key = 'pand-' . md5( $id ); 160 | $timeout = get_site_option( $cache_key ); 161 | $timeout = 'forever' === $timeout ? time() + 60 : $timeout; 162 | 163 | if ( empty( $timeout ) || time() > $timeout ) { 164 | return false; 165 | } 166 | 167 | return $timeout; 168 | } 169 | 170 | /** 171 | * Sets admin notice timeout in site option. 172 | * 173 | * @access public 174 | * 175 | * @param string $id Data Identifier. 176 | * @param string|bool $timeout Timeout for admin notice. 177 | * 178 | * @return bool 179 | */ 180 | public static function set_admin_notice_cache( $id, $timeout ) { 181 | $cache_key = 'pand-' . md5( $id ); 182 | update_site_option( $cache_key, $timeout ); 183 | 184 | return true; 185 | } 186 | 187 | } 188 | 189 | } 190 | -------------------------------------------------------------------------------- /vendor/composer/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) Nils Adermann, Jordi Boggiano 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is furnished 9 | to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /vendor/composer/autoload_classmap.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | 'PAnD' => $vendorDir . '/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php', 11 | ); 12 | -------------------------------------------------------------------------------- /vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/yahnis-elsts/plugin-update-checker/load-v4p10.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | = 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); 32 | if ($useStaticLoader) { 33 | require __DIR__ . '/autoload_static.php'; 34 | 35 | call_user_func(\Composer\Autoload\ComposerStaticInit64d54a85282dbc7f92303909c59370ac::getInitializer($loader)); 36 | } else { 37 | $map = require __DIR__ . '/autoload_namespaces.php'; 38 | foreach ($map as $namespace => $path) { 39 | $loader->set($namespace, $path); 40 | } 41 | 42 | $map = require __DIR__ . '/autoload_psr4.php'; 43 | foreach ($map as $namespace => $path) { 44 | $loader->setPsr4($namespace, $path); 45 | } 46 | 47 | $classMap = require __DIR__ . '/autoload_classmap.php'; 48 | if ($classMap) { 49 | $loader->addClassMap($classMap); 50 | } 51 | } 52 | 53 | $loader->register(true); 54 | 55 | if ($useStaticLoader) { 56 | $includeFiles = Composer\Autoload\ComposerStaticInit64d54a85282dbc7f92303909c59370ac::$files; 57 | } else { 58 | $includeFiles = require __DIR__ . '/autoload_files.php'; 59 | } 60 | foreach ($includeFiles as $fileIdentifier => $file) { 61 | composerRequire64d54a85282dbc7f92303909c59370ac($fileIdentifier, $file); 62 | } 63 | 64 | return $loader; 65 | } 66 | } 67 | 68 | function composerRequire64d54a85282dbc7f92303909c59370ac($fileIdentifier, $file) 69 | { 70 | if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { 71 | require $file; 72 | 73 | $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /vendor/composer/autoload_static.php: -------------------------------------------------------------------------------- 1 | __DIR__ . '/..' . '/yahnis-elsts/plugin-update-checker/load-v4p10.php', 11 | ); 12 | 13 | public static $classMap = array ( 14 | 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 15 | 'PAnD' => __DIR__ . '/..' . '/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php', 16 | ); 17 | 18 | public static function getInitializer(ClassLoader $loader) 19 | { 20 | return \Closure::bind(function () use ($loader) { 21 | $loader->classMap = ComposerStaticInit64d54a85282dbc7f92303909c59370ac::$classMap; 22 | 23 | }, null, ClassLoader::class); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/composer/installed.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "collizo4sky/persist-admin-notices-dismissal", 5 | "version": "1.4.4", 6 | "version_normalized": "1.4.4.0", 7 | "source": { 8 | "type": "git", 9 | "url": "https://github.com/w3guy/persist-admin-notices-dismissal.git", 10 | "reference": "900739eb6b0ec0210465f5983a6d4e0e420289e4" 11 | }, 12 | "dist": { 13 | "type": "zip", 14 | "url": "https://api.github.com/repos/w3guy/persist-admin-notices-dismissal/zipball/900739eb6b0ec0210465f5983a6d4e0e420289e4", 15 | "reference": "900739eb6b0ec0210465f5983a6d4e0e420289e4", 16 | "shasum": "" 17 | }, 18 | "require": { 19 | "php": ">=5.4" 20 | }, 21 | "time": "2020-12-31T17:12:37+00:00", 22 | "type": "library", 23 | "installation-source": "dist", 24 | "autoload": { 25 | "classmap": [ 26 | "persist-admin-notices-dismissal.php" 27 | ] 28 | }, 29 | "notification-url": "https://packagist.org/downloads/", 30 | "license": [ 31 | "GPL-3.0-or-later" 32 | ], 33 | "authors": [ 34 | { 35 | "name": "Collins Agbonghama", 36 | "email": "me@w3guy.com", 37 | "role": "developer" 38 | } 39 | ], 40 | "description": "Simple library to persist dismissal of admin notices across pages in WordPress dashboard.", 41 | "support": { 42 | "issues": "https://github.com/w3guy/persist-admin-notices-dismissal/issues", 43 | "source": "https://github.com/w3guy/persist-admin-notices-dismissal" 44 | }, 45 | "install-path": "../collizo4sky/persist-admin-notices-dismissal" 46 | }, 47 | { 48 | "name": "yahnis-elsts/plugin-update-checker", 49 | "version": "v4.10", 50 | "version_normalized": "4.10.0.0", 51 | "source": { 52 | "type": "git", 53 | "url": "https://github.com/YahnisElsts/plugin-update-checker.git", 54 | "reference": "0edd15f67822464af8a23285ce367b30d515a855" 55 | }, 56 | "dist": { 57 | "type": "zip", 58 | "url": "https://api.github.com/repos/YahnisElsts/plugin-update-checker/zipball/0edd15f67822464af8a23285ce367b30d515a855", 59 | "reference": "0edd15f67822464af8a23285ce367b30d515a855", 60 | "shasum": "" 61 | }, 62 | "require": { 63 | "ext-json": "*", 64 | "php": ">=5.2.0" 65 | }, 66 | "time": "2020-08-21T11:36:45+00:00", 67 | "type": "library", 68 | "installation-source": "dist", 69 | "autoload": { 70 | "files": [ 71 | "load-v4p10.php" 72 | ] 73 | }, 74 | "notification-url": "https://packagist.org/downloads/", 75 | "license": [ 76 | "MIT" 77 | ], 78 | "authors": [ 79 | { 80 | "name": "Yahnis Elsts", 81 | "email": "whiteshadow@w-shadow.com", 82 | "homepage": "http://w-shadow.com/", 83 | "role": "Developer" 84 | } 85 | ], 86 | "description": "A custom update checker for WordPress plugins and themes. Useful if you can't host your plugin in the official WP repository but still want it to support automatic updates.", 87 | "homepage": "https://github.com/YahnisElsts/plugin-update-checker/", 88 | "keywords": [ 89 | "automatic updates", 90 | "plugin updates", 91 | "theme updates", 92 | "wordpress" 93 | ], 94 | "install-path": "../yahnis-elsts/plugin-update-checker" 95 | } 96 | ], 97 | "dev": true, 98 | "dev-package-names": [] 99 | } 100 | -------------------------------------------------------------------------------- /vendor/composer/installed.php: -------------------------------------------------------------------------------- 1 | array( 3 | 'pretty_version' => 'dev-master', 4 | 'version' => 'dev-master', 5 | 'type' => 'library', 6 | 'install_path' => __DIR__ . '/../../', 7 | 'aliases' => array(), 8 | 'reference' => 'bd28ee694e5e972f8cd20370c19d8ab39fb28e8c', 9 | 'name' => '__root__', 10 | 'dev' => true, 11 | ), 12 | 'versions' => array( 13 | '__root__' => array( 14 | 'pretty_version' => 'dev-master', 15 | 'version' => 'dev-master', 16 | 'type' => 'library', 17 | 'install_path' => __DIR__ . '/../../', 18 | 'aliases' => array(), 19 | 'reference' => 'bd28ee694e5e972f8cd20370c19d8ab39fb28e8c', 20 | 'dev_requirement' => false, 21 | ), 22 | 'collizo4sky/persist-admin-notices-dismissal' => array( 23 | 'pretty_version' => '1.4.4', 24 | 'version' => '1.4.4.0', 25 | 'type' => 'library', 26 | 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 27 | 'aliases' => array(), 28 | 'reference' => '900739eb6b0ec0210465f5983a6d4e0e420289e4', 29 | 'dev_requirement' => false, 30 | ), 31 | 'yahnis-elsts/plugin-update-checker' => array( 32 | 'pretty_version' => 'v4.10', 33 | 'version' => '4.10.0.0', 34 | 'type' => 'library', 35 | 'install_path' => __DIR__ . '/../yahnis-elsts/plugin-update-checker', 36 | 'aliases' => array(), 37 | 'reference' => '0edd15f67822464af8a23285ce367b30d515a855', 38 | 'dev_requirement' => false, 39 | ), 40 | ), 41 | ); 42 | -------------------------------------------------------------------------------- /vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 50400)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 5.4.0". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset=utf-8 3 | end_of_line=lf 4 | insert_final_newline=false 5 | indent_style=tab 6 | tab_width=4 7 | 8 | [{phpunit.xml.dist,*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] 9 | indent_style=space 10 | indent_size=4 11 | 12 | [*.svg] 13 | indent_style=space 14 | indent_size=4 15 | 16 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### JetBrains template 3 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 4 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 5 | 6 | # The entire IDEA/PhpStorm directory 7 | .idea/ 8 | 9 | # CMake 10 | cmake-build-*/ 11 | 12 | # Mongo Explorer plugin 13 | .idea/**/mongoSettings.xml 14 | 15 | # File-based project format 16 | *.iws 17 | 18 | # IntelliJ 19 | out/ 20 | 21 | # mpeltonen/sbt-idea plugin 22 | .idea_modules/ 23 | 24 | # JIRA plugin 25 | atlassian-ide-plugin.xml 26 | 27 | # Cursive Clojure plugin 28 | .idea/replstate.xml 29 | 30 | # Crashlytics plugin (for Android Studio and IntelliJ) 31 | com_crashlytics_export_strings.xml 32 | crashlytics.properties 33 | crashlytics-build.properties 34 | fabric.properties 35 | 36 | # Editor-based Rest Client 37 | .idea/httpRequests 38 | 39 | # Android studio 3.1+ serialized cache file 40 | .idea/caches/build_file_checksums.ser 41 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4/Factory.php: -------------------------------------------------------------------------------- 1 | rootDir = dirname(__FILE__) . '/'; 14 | $nameParts = explode('_', __CLASS__, 3); 15 | $this->prefix = $nameParts[0] . '_' . $nameParts[1] . '_'; 16 | 17 | $this->libraryDir = $this->rootDir . '../..'; 18 | if ( !self::isPhar() ) { 19 | $this->libraryDir = realpath($this->libraryDir); 20 | } 21 | $this->libraryDir = $this->libraryDir . '/'; 22 | 23 | $this->staticMap = array( 24 | 'PucReadmeParser' => 'vendor/PucReadmeParser.php', 25 | 'Parsedown' => 'vendor/Parsedown.php', 26 | 'Puc_v4_Factory' => 'Puc/v4/Factory.php', 27 | ); 28 | 29 | spl_autoload_register(array($this, 'autoload')); 30 | } 31 | 32 | /** 33 | * Determine if this file is running as part of a Phar archive. 34 | * 35 | * @return bool 36 | */ 37 | private static function isPhar() { 38 | //Check if the current file path starts with "phar://". 39 | static $pharProtocol = 'phar://'; 40 | return (substr(__FILE__, 0, strlen($pharProtocol)) === $pharProtocol); 41 | } 42 | 43 | public function autoload($className) { 44 | if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { 45 | /** @noinspection PhpIncludeInspection */ 46 | include ($this->libraryDir . $this->staticMap[$className]); 47 | return; 48 | } 49 | 50 | if (strpos($className, $this->prefix) === 0) { 51 | $path = substr($className, strlen($this->prefix)); 52 | $path = str_replace('_', '/', $path); 53 | $path = $this->rootDir . $path . '.php'; 54 | 55 | if (file_exists($path)) { 56 | /** @noinspection PhpIncludeInspection */ 57 | include $path; 58 | } 59 | } 60 | } 61 | } 62 | 63 | endif; 64 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/DebugBar/Extension.php: -------------------------------------------------------------------------------- 1 | updateChecker = $updateChecker; 13 | if ( isset($panelClass) ) { 14 | $this->panelClass = $panelClass; 15 | } 16 | 17 | add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); 18 | add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); 19 | 20 | add_action('wp_ajax_puc_v4_debug_check_now', array($this, 'ajaxCheckNow')); 21 | } 22 | 23 | /** 24 | * Register the PUC Debug Bar panel. 25 | * 26 | * @param array $panels 27 | * @return array 28 | */ 29 | public function addDebugBarPanel($panels) { 30 | if ( $this->updateChecker->userCanInstallUpdates() ) { 31 | $panels[] = new $this->panelClass($this->updateChecker); 32 | } 33 | return $panels; 34 | } 35 | 36 | /** 37 | * Enqueue our Debug Bar scripts and styles. 38 | */ 39 | public function enqueuePanelDependencies() { 40 | wp_enqueue_style( 41 | 'puc-debug-bar-style-v4', 42 | $this->getLibraryUrl("/css/puc-debug-bar.css"), 43 | array('debug-bar'), 44 | '20171124' 45 | ); 46 | 47 | wp_enqueue_script( 48 | 'puc-debug-bar-js-v4', 49 | $this->getLibraryUrl("/js/debug-bar.js"), 50 | array('jquery'), 51 | '20170516' 52 | ); 53 | } 54 | 55 | /** 56 | * Run an update check and output the result. Useful for making sure that 57 | * the update checking process works as expected. 58 | */ 59 | public function ajaxCheckNow() { 60 | if ( $_POST['uid'] !== $this->updateChecker->getUniqueName('uid') ) { 61 | return; 62 | } 63 | $this->preAjaxRequest(); 64 | $update = $this->updateChecker->checkForUpdates(); 65 | if ( $update !== null ) { 66 | echo "An update is available:"; 67 | echo '
', htmlentities(print_r($update, true)), '
'; 68 | } else { 69 | echo 'No updates found.'; 70 | } 71 | 72 | $errors = $this->updateChecker->getLastRequestApiErrors(); 73 | if ( !empty($errors) ) { 74 | printf('

The update checker encountered %d API error%s.

', count($errors), (count($errors) > 1) ? 's' : ''); 75 | 76 | foreach (array_values($errors) as $num => $item) { 77 | $wpError = $item['error']; 78 | /** @var WP_Error $wpError */ 79 | printf('

%d) %s

', $num + 1, esc_html($wpError->get_error_message())); 80 | 81 | echo '
'; 82 | printf('
Error code:
%s
', esc_html($wpError->get_error_code())); 83 | 84 | if ( isset($item['url']) ) { 85 | printf('
Requested URL:
%s
', esc_html($item['url'])); 86 | } 87 | 88 | if ( isset($item['httpResponse']) ) { 89 | if ( is_wp_error($item['httpResponse']) ) { 90 | $httpError = $item['httpResponse']; 91 | /** @var WP_Error $httpError */ 92 | printf( 93 | '
WordPress HTTP API error:
%s (%s)
', 94 | esc_html($httpError->get_error_message()), 95 | esc_html($httpError->get_error_code()) 96 | ); 97 | } else { 98 | //Status code. 99 | printf( 100 | '
HTTP status:
%d %s
', 101 | wp_remote_retrieve_response_code($item['httpResponse']), 102 | wp_remote_retrieve_response_message($item['httpResponse']) 103 | ); 104 | 105 | //Headers. 106 | echo '
Response headers:
';
107 | 							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
108 | 								printf("%s: %s\n", esc_html($name), esc_html($value));
109 | 							}
110 | 							echo '
'; 111 | 112 | //Body. 113 | $body = wp_remote_retrieve_body($item['httpResponse']); 114 | if ( $body === '' ) { 115 | $body = '(Empty response.)'; 116 | } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { 117 | $length = strlen($body); 118 | $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) 119 | . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); 120 | } 121 | 122 | printf('
Response body:
%s
', esc_html($body)); 123 | } 124 | } 125 | echo '
'; 126 | } 127 | } 128 | 129 | exit; 130 | } 131 | 132 | /** 133 | * Check access permissions and enable error display (for debugging). 134 | */ 135 | protected function preAjaxRequest() { 136 | if ( !$this->updateChecker->userCanInstallUpdates() ) { 137 | die('Access denied'); 138 | } 139 | check_ajax_referer('puc-ajax'); 140 | 141 | error_reporting(E_ALL); 142 | @ini_set('display_errors', 'On'); 143 | } 144 | 145 | /** 146 | * Remove hooks that were added by this extension. 147 | */ 148 | public function removeHooks() { 149 | remove_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); 150 | remove_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); 151 | remove_action('wp_ajax_puc_v4_debug_check_now', array($this, 'ajaxCheckNow')); 152 | } 153 | 154 | /** 155 | * @param string $filePath 156 | * @return string 157 | */ 158 | private function getLibraryUrl($filePath) { 159 | $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); 160 | 161 | //Where is the library located inside the WordPress directory structure? 162 | $absolutePath = Puc_v4p10_Factory::normalizePath($absolutePath); 163 | 164 | $pluginDir = Puc_v4p10_Factory::normalizePath(WP_PLUGIN_DIR); 165 | $muPluginDir = Puc_v4p10_Factory::normalizePath(WPMU_PLUGIN_DIR); 166 | $themeDir = Puc_v4p10_Factory::normalizePath(get_theme_root()); 167 | 168 | if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { 169 | //It's part of a plugin. 170 | return plugins_url(basename($absolutePath), $absolutePath); 171 | } else if ( strpos($absolutePath, $themeDir) === 0 ) { 172 | //It's part of a theme. 173 | $relativePath = substr($absolutePath, strlen($themeDir) + 1); 174 | $template = substr($relativePath, 0, strpos($relativePath, '/')); 175 | $baseUrl = get_theme_root_uri($template); 176 | 177 | if ( !empty($baseUrl) && $relativePath ) { 178 | return $baseUrl . '/' . $relativePath; 179 | } 180 | } 181 | 182 | return ''; 183 | } 184 | } 185 | 186 | endif; 187 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/DebugBar/Panel.php: -------------------------------------------------------------------------------- 1 | '; 10 | 11 | public function __construct($updateChecker) { 12 | $this->updateChecker = $updateChecker; 13 | $title = sprintf( 14 | 'PUC (%s)', 15 | esc_attr($this->updateChecker->getUniqueName('uid')), 16 | $this->updateChecker->slug 17 | ); 18 | parent::__construct($title); 19 | } 20 | 21 | public function render() { 22 | printf( 23 | '
', 24 | esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), 25 | esc_attr($this->updateChecker->slug), 26 | esc_attr($this->updateChecker->getUniqueName('uid')), 27 | esc_attr(wp_create_nonce('puc-ajax')) 28 | ); 29 | 30 | $this->displayConfiguration(); 31 | $this->displayStatus(); 32 | $this->displayCurrentUpdate(); 33 | 34 | echo '
'; 35 | } 36 | 37 | private function displayConfiguration() { 38 | echo '

Configuration

'; 39 | echo ''; 40 | $this->displayConfigHeader(); 41 | $this->row('Slug', htmlentities($this->updateChecker->slug)); 42 | $this->row('DB option', htmlentities($this->updateChecker->optionName)); 43 | 44 | $requestInfoButton = $this->getMetadataButton(); 45 | $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); 46 | 47 | $scheduler = $this->updateChecker->scheduler; 48 | if ( $scheduler->checkPeriod > 0 ) { 49 | $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); 50 | } else { 51 | $this->row('Automatic checks', 'Disabled'); 52 | } 53 | 54 | if ( isset($scheduler->throttleRedundantChecks) ) { 55 | if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { 56 | $this->row( 57 | 'Throttling', 58 | sprintf( 59 | 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', 60 | $scheduler->throttledCheckPeriod, 61 | $scheduler->checkPeriod 62 | ) 63 | ); 64 | } else { 65 | $this->row('Throttling', 'Disabled'); 66 | } 67 | } 68 | 69 | $this->updateChecker->onDisplayConfiguration($this); 70 | 71 | echo '
'; 72 | } 73 | 74 | protected function displayConfigHeader() { 75 | //Do nothing. This should be implemented in subclasses. 76 | } 77 | 78 | protected function getMetadataButton() { 79 | return ''; 80 | } 81 | 82 | private function displayStatus() { 83 | echo '

Status

'; 84 | echo ''; 85 | $state = $this->updateChecker->getUpdateState(); 86 | $checkNowButton = ''; 87 | if ( function_exists('get_submit_button') ) { 88 | $checkNowButton = get_submit_button( 89 | 'Check Now', 90 | 'secondary', 91 | 'puc-check-now-button', 92 | false, 93 | array('id' => $this->updateChecker->getUniqueName('check-now-button')) 94 | ); 95 | } 96 | 97 | if ( $state->getLastCheck() > 0 ) { 98 | $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); 99 | } else { 100 | $this->row('Last check', 'Never'); 101 | } 102 | 103 | $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); 104 | $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); 105 | 106 | if ( $state->getCheckedVersion() !== '' ) { 107 | $this->row('Checked version', htmlentities($state->getCheckedVersion())); 108 | $this->row('Cached update', $state->getUpdate()); 109 | } 110 | $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); 111 | echo '
'; 112 | } 113 | 114 | private function displayCurrentUpdate() { 115 | $update = $this->updateChecker->getUpdate(); 116 | if ( $update !== null ) { 117 | echo '

An Update Is Available

'; 118 | echo ''; 119 | $fields = $this->getUpdateFields(); 120 | foreach($fields as $field) { 121 | if ( property_exists($update, $field) ) { 122 | $this->row(ucwords(str_replace('_', ' ', $field)), htmlentities($update->$field)); 123 | } 124 | } 125 | echo '
'; 126 | } else { 127 | echo '

No updates currently available

'; 128 | } 129 | } 130 | 131 | protected function getUpdateFields() { 132 | return array('version', 'download_url', 'slug',); 133 | } 134 | 135 | private function formatTimeWithDelta($unixTime) { 136 | if ( empty($unixTime) ) { 137 | return 'Never'; 138 | } 139 | 140 | $delta = time() - $unixTime; 141 | $result = human_time_diff(time(), $unixTime); 142 | if ( $delta < 0 ) { 143 | $result = 'after ' . $result; 144 | } else { 145 | $result = $result . ' ago'; 146 | } 147 | $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; 148 | return $result; 149 | } 150 | 151 | private function formatTimestamp($unixTime) { 152 | return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); 153 | } 154 | 155 | public function row($name, $value) { 156 | if ( is_object($value) || is_array($value) ) { 157 | $value = '
' . htmlentities(print_r($value, true)) . '
'; 158 | } else if ($value === null) { 159 | $value = 'null'; 160 | } 161 | printf('%1$s %2$s', $name, $value); 162 | } 163 | } 164 | 165 | endif; 166 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/DebugBar/PluginExtension.php: -------------------------------------------------------------------------------- 1 | updateChecker->getUniqueName('uid') ) { 19 | return; 20 | } 21 | $this->preAjaxRequest(); 22 | $info = $this->updateChecker->requestInfo(); 23 | if ( $info !== null ) { 24 | echo 'Successfully retrieved plugin info from the metadata URL:'; 25 | echo '
', htmlentities(print_r($info, true)), '
'; 26 | } else { 27 | echo 'Failed to retrieve plugin info from the metadata URL.'; 28 | } 29 | exit; 30 | } 31 | } 32 | 33 | endif; 34 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/DebugBar/PluginPanel.php: -------------------------------------------------------------------------------- 1 | row('Plugin file', htmlentities($this->updateChecker->pluginFile)); 13 | parent::displayConfigHeader(); 14 | } 15 | 16 | protected function getMetadataButton() { 17 | $requestInfoButton = ''; 18 | if ( function_exists('get_submit_button') ) { 19 | $requestInfoButton = get_submit_button( 20 | 'Request Info', 21 | 'secondary', 22 | 'puc-request-info-button', 23 | false, 24 | array('id' => $this->updateChecker->getUniqueName('request-info-button')) 25 | ); 26 | } 27 | return $requestInfoButton; 28 | } 29 | 30 | protected function getUpdateFields() { 31 | return array_merge( 32 | parent::getUpdateFields(), 33 | array('homepage', 'upgrade_notice', 'tested',) 34 | ); 35 | } 36 | } 37 | 38 | endif; 39 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/DebugBar/ThemePanel.php: -------------------------------------------------------------------------------- 1 | row('Theme directory', htmlentities($this->updateChecker->directoryName)); 13 | parent::displayConfigHeader(); 14 | } 15 | 16 | protected function getUpdateFields() { 17 | return array_merge(parent::getUpdateFields(), array('details_url')); 18 | } 19 | } 20 | 21 | endif; 22 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/InstalledPackage.php: -------------------------------------------------------------------------------- 1 | updateChecker = $updateChecker; 18 | } 19 | 20 | /** 21 | * Get the currently installed version of the plugin or theme. 22 | * 23 | * @return string|null Version number. 24 | */ 25 | abstract public function getInstalledVersion(); 26 | 27 | /** 28 | * Get the full path of the plugin or theme directory (without a trailing slash). 29 | * 30 | * @return string 31 | */ 32 | abstract public function getAbsoluteDirectoryPath(); 33 | 34 | /** 35 | * Check whether a regular file exists in the package's directory. 36 | * 37 | * @param string $relativeFileName File name relative to the package directory. 38 | * @return bool 39 | */ 40 | public function fileExists($relativeFileName) { 41 | return is_file( 42 | $this->getAbsoluteDirectoryPath() 43 | . DIRECTORY_SEPARATOR 44 | . ltrim($relativeFileName, '/\\') 45 | ); 46 | } 47 | 48 | /* ------------------------------------------------------------------- 49 | * File header parsing 50 | * ------------------------------------------------------------------- 51 | */ 52 | 53 | /** 54 | * Parse plugin or theme metadata from the header comment. 55 | * 56 | * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. 57 | * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. 58 | * 59 | * @param string|null $content File contents. 60 | * @return string[] 61 | */ 62 | public function getFileHeader($content) { 63 | $content = (string)$content; 64 | 65 | //WordPress only looks at the first 8 KiB of the file, so we do the same. 66 | $content = substr($content, 0, 8192); 67 | //Normalize line endings. 68 | $content = str_replace("\r", "\n", $content); 69 | 70 | $headers = $this->getHeaderNames(); 71 | $results = array(); 72 | foreach ($headers as $field => $name) { 73 | $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); 74 | 75 | if ( ($success === 1) && $matches[1] ) { 76 | $value = $matches[1]; 77 | if ( function_exists('_cleanup_header_comment') ) { 78 | $value = _cleanup_header_comment($value); 79 | } 80 | $results[$field] = $value; 81 | } else { 82 | $results[$field] = ''; 83 | } 84 | } 85 | 86 | return $results; 87 | } 88 | 89 | /** 90 | * @return array Format: ['HeaderKey' => 'Header Name'] 91 | */ 92 | abstract protected function getHeaderNames(); 93 | 94 | /** 95 | * Get the value of a specific plugin or theme header. 96 | * 97 | * @param string $headerName 98 | * @return string Either the value of the header, or an empty string if the header doesn't exist. 99 | */ 100 | abstract public function getHeaderValue($headerName); 101 | 102 | } 103 | endif; 104 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Metadata.php: -------------------------------------------------------------------------------- 1 | validateMetadata($apiResponse); 40 | if ( is_wp_error($valid) ){ 41 | do_action('puc_api_error', $valid); 42 | trigger_error($valid->get_error_message(), E_USER_NOTICE); 43 | return false; 44 | } 45 | 46 | foreach(get_object_vars($apiResponse) as $key => $value){ 47 | $target->$key = $value; 48 | } 49 | 50 | return true; 51 | } 52 | 53 | /** 54 | * No validation by default! Subclasses should check that the required fields are present. 55 | * 56 | * @param StdClass $apiResponse 57 | * @return bool|WP_Error 58 | */ 59 | protected function validateMetadata(/** @noinspection PhpUnusedParameterInspection */ $apiResponse) { 60 | return true; 61 | } 62 | 63 | /** 64 | * Create a new instance by copying the necessary fields from another object. 65 | * 66 | * @abstract 67 | * @param StdClass|self $object The source object. 68 | * @return self The new copy. 69 | */ 70 | public static function fromObject(/** @noinspection PhpUnusedParameterInspection */ $object) { 71 | throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); 72 | } 73 | 74 | /** 75 | * Create an instance of StdClass that can later be converted back to an 76 | * update or info container. Useful for serialization and caching, as it 77 | * avoids the "incomplete object" problem if the cached value is loaded 78 | * before this class. 79 | * 80 | * @return StdClass 81 | */ 82 | public function toStdClass() { 83 | $object = new stdClass(); 84 | $this->copyFields($this, $object); 85 | return $object; 86 | } 87 | 88 | /** 89 | * Transform the metadata into the format used by WordPress core. 90 | * 91 | * @return object 92 | */ 93 | abstract public function toWpFormat(); 94 | 95 | /** 96 | * Copy known fields from one object to another. 97 | * 98 | * @param StdClass|self $from 99 | * @param StdClass|self $to 100 | */ 101 | protected function copyFields($from, $to) { 102 | $fields = $this->getFieldNames(); 103 | 104 | if ( property_exists($from, 'slug') && !empty($from->slug) ) { 105 | //Let plugins add extra fields without having to create subclasses. 106 | $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); 107 | } 108 | 109 | foreach ($fields as $field) { 110 | if ( property_exists($from, $field) ) { 111 | $to->$field = $from->$field; 112 | } 113 | } 114 | } 115 | 116 | /** 117 | * @return string[] 118 | */ 119 | protected function getFieldNames() { 120 | return array(); 121 | } 122 | 123 | /** 124 | * @param string $tag 125 | * @return string 126 | */ 127 | protected function getPrefixedFilter($tag) { 128 | return 'puc_' . $tag; 129 | } 130 | } 131 | 132 | endif; 133 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/OAuthSignature.php: -------------------------------------------------------------------------------- 1 | consumerKey = $consumerKey; 14 | $this->consumerSecret = $consumerSecret; 15 | } 16 | 17 | /** 18 | * Sign a URL using OAuth 1.0. 19 | * 20 | * @param string $url The URL to be signed. It may contain query parameters. 21 | * @param string $method HTTP method such as "GET", "POST" and so on. 22 | * @return string The signed URL. 23 | */ 24 | public function sign($url, $method = 'GET') { 25 | $parameters = array(); 26 | 27 | //Parse query parameters. 28 | $query = parse_url($url, PHP_URL_QUERY); 29 | if ( !empty($query) ) { 30 | parse_str($query, $parsedParams); 31 | if ( is_array($parameters) ) { 32 | $parameters = $parsedParams; 33 | } 34 | //Remove the query string from the URL. We'll replace it later. 35 | $url = substr($url, 0, strpos($url, '?')); 36 | } 37 | 38 | $parameters = array_merge( 39 | $parameters, 40 | array( 41 | 'oauth_consumer_key' => $this->consumerKey, 42 | 'oauth_nonce' => $this->nonce(), 43 | 'oauth_signature_method' => 'HMAC-SHA1', 44 | 'oauth_timestamp' => time(), 45 | 'oauth_version' => '1.0', 46 | ) 47 | ); 48 | unset($parameters['oauth_signature']); 49 | 50 | //Parameters must be sorted alphabetically before signing. 51 | ksort($parameters); 52 | 53 | //The most complicated part of the request - generating the signature. 54 | //The string to sign contains the HTTP method, the URL path, and all of 55 | //our query parameters. Everything is URL encoded. Then we concatenate 56 | //them with ampersands into a single string to hash. 57 | $encodedVerb = urlencode($method); 58 | $encodedUrl = urlencode($url); 59 | $encodedParams = urlencode(http_build_query($parameters, '', '&')); 60 | 61 | $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; 62 | 63 | //Since we only have one OAuth token (the consumer secret) we only have 64 | //to use it as our HMAC key. However, we still have to append an & to it 65 | //as if we were using it with additional tokens. 66 | $secret = urlencode($this->consumerSecret) . '&'; 67 | 68 | //The signature is a hash of the consumer key and the base string. Note 69 | //that we have to get the raw output from hash_hmac and base64 encode 70 | //the binary data result. 71 | $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); 72 | 73 | return ($url . '?' . http_build_query($parameters)); 74 | } 75 | 76 | /** 77 | * Generate a random nonce. 78 | * 79 | * @return string 80 | */ 81 | private function nonce() { 82 | $mt = microtime(); 83 | 84 | $rand = null; 85 | if ( is_callable('random_bytes') ) { 86 | try { 87 | $rand = random_bytes(16); 88 | } catch (Exception $ex) { 89 | //Fall back to mt_rand (below). 90 | } 91 | } 92 | if ( $rand === null ) { 93 | $rand = mt_rand(); 94 | } 95 | 96 | return md5($mt . '_' . $rand); 97 | } 98 | } 99 | 100 | endif; 101 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Plugin/Info.php: -------------------------------------------------------------------------------- 1 | sections = (array)$instance->sections; 59 | $instance->icons = (array)$instance->icons; 60 | 61 | return $instance; 62 | } 63 | 64 | /** 65 | * Very, very basic validation. 66 | * 67 | * @param StdClass $apiResponse 68 | * @return bool|WP_Error 69 | */ 70 | protected function validateMetadata($apiResponse) { 71 | if ( 72 | !isset($apiResponse->name, $apiResponse->version) 73 | || empty($apiResponse->name) 74 | || empty($apiResponse->version) 75 | ) { 76 | return new WP_Error( 77 | 'puc-invalid-metadata', 78 | "The plugin metadata file does not contain the required 'name' and/or 'version' keys." 79 | ); 80 | } 81 | return true; 82 | } 83 | 84 | 85 | /** 86 | * Transform plugin info into the format used by the native WordPress.org API 87 | * 88 | * @return object 89 | */ 90 | public function toWpFormat(){ 91 | $info = new stdClass; 92 | 93 | //The custom update API is built so that many fields have the same name and format 94 | //as those returned by the native WordPress.org API. These can be assigned directly. 95 | $sameFormat = array( 96 | 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', 97 | 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', 98 | 'requires_php', 99 | ); 100 | foreach($sameFormat as $field){ 101 | if ( isset($this->$field) ) { 102 | $info->$field = $this->$field; 103 | } else { 104 | $info->$field = null; 105 | } 106 | } 107 | 108 | //Other fields need to be renamed and/or transformed. 109 | $info->download_link = $this->download_url; 110 | $info->author = $this->getFormattedAuthor(); 111 | $info->sections = array_merge(array('description' => ''), $this->sections); 112 | 113 | if ( !empty($this->banners) ) { 114 | //WP expects an array with two keys: "high" and "low". Both are optional. 115 | //Docs: https://wordpress.org/plugins/about/faq/#banners 116 | $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; 117 | $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); 118 | } 119 | 120 | return $info; 121 | } 122 | 123 | protected function getFormattedAuthor() { 124 | if ( !empty($this->author_homepage) ){ 125 | /** @noinspection HtmlUnknownTarget */ 126 | return sprintf('%s', $this->author_homepage, $this->author); 127 | } 128 | return $this->author; 129 | } 130 | } 131 | 132 | endif; 133 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Plugin/Package.php: -------------------------------------------------------------------------------- 1 | pluginAbsolutePath = $pluginAbsolutePath; 27 | $this->pluginFile = plugin_basename($this->pluginAbsolutePath); 28 | 29 | parent::__construct($updateChecker); 30 | 31 | //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. 32 | add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); 33 | add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); 34 | } 35 | 36 | public function getInstalledVersion() { 37 | if ( isset($this->cachedInstalledVersion) ) { 38 | return $this->cachedInstalledVersion; 39 | } 40 | 41 | $pluginHeader = $this->getPluginHeader(); 42 | if ( isset($pluginHeader['Version']) ) { 43 | $this->cachedInstalledVersion = $pluginHeader['Version']; 44 | return $pluginHeader['Version']; 45 | } else { 46 | //This can happen if the filename points to something that is not a plugin. 47 | $this->updateChecker->triggerError( 48 | sprintf( 49 | "Can't to read the Version header for '%s'. The filename is incorrect or is not a plugin.", 50 | $this->updateChecker->pluginFile 51 | ), 52 | E_USER_WARNING 53 | ); 54 | return null; 55 | } 56 | } 57 | 58 | /** 59 | * Clear the cached plugin version. This method can be set up as a filter (hook) and will 60 | * return the filter argument unmodified. 61 | * 62 | * @param mixed $filterArgument 63 | * @return mixed 64 | */ 65 | public function clearCachedVersion($filterArgument = null) { 66 | $this->cachedInstalledVersion = null; 67 | return $filterArgument; 68 | } 69 | 70 | public function getAbsoluteDirectoryPath() { 71 | return dirname($this->pluginAbsolutePath); 72 | } 73 | 74 | /** 75 | * Get the value of a specific plugin or theme header. 76 | * 77 | * @param string $headerName 78 | * @param string $defaultValue 79 | * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. 80 | */ 81 | public function getHeaderValue($headerName, $defaultValue = '') { 82 | $headers = $this->getPluginHeader(); 83 | if ( isset($headers[$headerName]) && ($headers[$headerName] !== '') ) { 84 | return $headers[$headerName]; 85 | } 86 | return $defaultValue; 87 | } 88 | 89 | protected function getHeaderNames() { 90 | return array( 91 | 'Name' => 'Plugin Name', 92 | 'PluginURI' => 'Plugin URI', 93 | 'Version' => 'Version', 94 | 'Description' => 'Description', 95 | 'Author' => 'Author', 96 | 'AuthorURI' => 'Author URI', 97 | 'TextDomain' => 'Text Domain', 98 | 'DomainPath' => 'Domain Path', 99 | 'Network' => 'Network', 100 | 101 | //The newest WordPress version that this plugin requires or has been tested with. 102 | //We support several different formats for compatibility with other libraries. 103 | 'Tested WP' => 'Tested WP', 104 | 'Requires WP' => 'Requires WP', 105 | 'Tested up to' => 'Tested up to', 106 | 'Requires at least' => 'Requires at least', 107 | ); 108 | } 109 | 110 | /** 111 | * Get the translated plugin title. 112 | * 113 | * @return string 114 | */ 115 | public function getPluginTitle() { 116 | $title = ''; 117 | $header = $this->getPluginHeader(); 118 | if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { 119 | $title = translate($header['Name'], $header['TextDomain']); 120 | } 121 | return $title; 122 | } 123 | 124 | /** 125 | * Get plugin's metadata from its file header. 126 | * 127 | * @return array 128 | */ 129 | public function getPluginHeader() { 130 | if ( !is_file($this->pluginAbsolutePath) ) { 131 | //This can happen if the plugin filename is wrong. 132 | $this->updateChecker->triggerError( 133 | sprintf( 134 | "Can't to read the plugin header for '%s'. The file does not exist.", 135 | $this->updateChecker->pluginFile 136 | ), 137 | E_USER_WARNING 138 | ); 139 | return array(); 140 | } 141 | 142 | if ( !function_exists('get_plugin_data') ) { 143 | /** @noinspection PhpIncludeInspection */ 144 | require_once(ABSPATH . '/wp-admin/includes/plugin.php'); 145 | } 146 | return get_plugin_data($this->pluginAbsolutePath, false, false); 147 | } 148 | 149 | public function removeHooks() { 150 | remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); 151 | remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); 152 | } 153 | 154 | /** 155 | * Check if the plugin file is inside the mu-plugins directory. 156 | * 157 | * @return bool 158 | */ 159 | public function isMuPlugin() { 160 | static $cachedResult = null; 161 | 162 | if ( $cachedResult === null ) { 163 | if ( !defined('WPMU_PLUGIN_DIR') || !is_string(WPMU_PLUGIN_DIR) ) { 164 | $cachedResult = false; 165 | return $cachedResult; 166 | } 167 | 168 | //Convert both paths to the canonical form before comparison. 169 | $muPluginDir = realpath(WPMU_PLUGIN_DIR); 170 | $pluginPath = realpath($this->pluginAbsolutePath); 171 | //If realpath() fails, just normalize the syntax instead. 172 | if (($muPluginDir === false) || ($pluginPath === false)) { 173 | $muPluginDir = Puc_v4p10_Factory::normalizePath(WPMU_PLUGIN_DIR); 174 | $pluginPath = Puc_v4p10_Factory::normalizePath($this->pluginAbsolutePath); 175 | } 176 | 177 | $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); 178 | } 179 | 180 | return $cachedResult; 181 | } 182 | } 183 | 184 | endif; 185 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Plugin/Update.php: -------------------------------------------------------------------------------- 1 | copyFields($object, $update); 62 | return $update; 63 | } 64 | 65 | /** 66 | * @return string[] 67 | */ 68 | protected function getFieldNames() { 69 | return array_merge(parent::getFieldNames(), self::$extraFields); 70 | } 71 | 72 | /** 73 | * Transform the update into the format used by WordPress native plugin API. 74 | * 75 | * @return object 76 | */ 77 | public function toWpFormat() { 78 | $update = parent::toWpFormat(); 79 | 80 | $update->id = $this->id; 81 | $update->url = $this->homepage; 82 | $update->tested = $this->tested; 83 | $update->requires_php = $this->requires_php; 84 | $update->plugin = $this->filename; 85 | 86 | if ( !empty($this->upgrade_notice) ) { 87 | $update->upgrade_notice = $this->upgrade_notice; 88 | } 89 | 90 | if ( !empty($this->icons) && is_array($this->icons) ) { 91 | //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. 92 | //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons 93 | $icons = array_intersect_key( 94 | $this->icons, 95 | array('svg' => true, '1x' => true, '2x' => true, 'default' => true) 96 | ); 97 | if ( !empty($icons) ) { 98 | $update->icons = $icons; 99 | 100 | //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, 101 | //but lets set it just in case a future release needs it. 102 | if ( !isset($update->icons['default']) ) { 103 | $update->icons['default'] = current($update->icons); 104 | } 105 | } 106 | } 107 | 108 | return $update; 109 | } 110 | } 111 | 112 | endif; 113 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/StateStore.php: -------------------------------------------------------------------------------- 1 | optionName = $optionName; 33 | } 34 | 35 | /** 36 | * Get time elapsed since the last update check. 37 | * 38 | * If there are no recorded update checks, this method returns a large arbitrary number 39 | * (i.e. time since the Unix epoch). 40 | * 41 | * @return int Elapsed time in seconds. 42 | */ 43 | public function timeSinceLastCheck() { 44 | $this->lazyLoad(); 45 | return time() - $this->lastCheck; 46 | } 47 | 48 | /** 49 | * @return int 50 | */ 51 | public function getLastCheck() { 52 | $this->lazyLoad(); 53 | return $this->lastCheck; 54 | } 55 | 56 | /** 57 | * Set the time of the last update check to the current timestamp. 58 | * 59 | * @return $this 60 | */ 61 | public function setLastCheckToNow() { 62 | $this->lazyLoad(); 63 | $this->lastCheck = time(); 64 | return $this; 65 | } 66 | 67 | /** 68 | * @return null|Puc_v4p10_Update 69 | */ 70 | public function getUpdate() { 71 | $this->lazyLoad(); 72 | return $this->update; 73 | } 74 | 75 | /** 76 | * @param Puc_v4p10_Update|null $update 77 | * @return $this 78 | */ 79 | public function setUpdate(Puc_v4p10_Update $update = null) { 80 | $this->lazyLoad(); 81 | $this->update = $update; 82 | return $this; 83 | } 84 | 85 | /** 86 | * @return string 87 | */ 88 | public function getCheckedVersion() { 89 | $this->lazyLoad(); 90 | return $this->checkedVersion; 91 | } 92 | 93 | /** 94 | * @param string $version 95 | * @return $this 96 | */ 97 | public function setCheckedVersion($version) { 98 | $this->lazyLoad(); 99 | $this->checkedVersion = strval($version); 100 | return $this; 101 | } 102 | 103 | /** 104 | * Get translation updates. 105 | * 106 | * @return array 107 | */ 108 | public function getTranslations() { 109 | $this->lazyLoad(); 110 | if ( isset($this->update, $this->update->translations) ) { 111 | return $this->update->translations; 112 | } 113 | return array(); 114 | } 115 | 116 | /** 117 | * Set translation updates. 118 | * 119 | * @param array $translationUpdates 120 | */ 121 | public function setTranslations($translationUpdates) { 122 | $this->lazyLoad(); 123 | if ( isset($this->update) ) { 124 | $this->update->translations = $translationUpdates; 125 | $this->save(); 126 | } 127 | } 128 | 129 | public function save() { 130 | $state = new stdClass(); 131 | 132 | $state->lastCheck = $this->lastCheck; 133 | $state->checkedVersion = $this->checkedVersion; 134 | 135 | if ( isset($this->update)) { 136 | $state->update = $this->update->toStdClass(); 137 | 138 | $updateClass = get_class($this->update); 139 | $state->updateClass = $updateClass; 140 | $prefix = $this->getLibPrefix(); 141 | if ( Puc_v4p10_Utils::startsWith($updateClass, $prefix) ) { 142 | $state->updateBaseClass = substr($updateClass, strlen($prefix)); 143 | } 144 | } 145 | 146 | update_site_option($this->optionName, $state); 147 | $this->isLoaded = true; 148 | } 149 | 150 | /** 151 | * @return $this 152 | */ 153 | public function lazyLoad() { 154 | if ( !$this->isLoaded ) { 155 | $this->load(); 156 | } 157 | return $this; 158 | } 159 | 160 | protected function load() { 161 | $this->isLoaded = true; 162 | 163 | $state = get_site_option($this->optionName, null); 164 | 165 | if ( !is_object($state) ) { 166 | $this->lastCheck = 0; 167 | $this->checkedVersion = ''; 168 | $this->update = null; 169 | return; 170 | } 171 | 172 | $this->lastCheck = intval(Puc_v4p10_Utils::get($state, 'lastCheck', 0)); 173 | $this->checkedVersion = Puc_v4p10_Utils::get($state, 'checkedVersion', ''); 174 | $this->update = null; 175 | 176 | if ( isset($state->update) ) { 177 | //This mess is due to the fact that the want the update class from this version 178 | //of the library, not the version that saved the update. 179 | 180 | $updateClass = null; 181 | if ( isset($state->updateBaseClass) ) { 182 | $updateClass = $this->getLibPrefix() . $state->updateBaseClass; 183 | } else if ( isset($state->updateClass) && class_exists($state->updateClass) ) { 184 | $updateClass = $state->updateClass; 185 | } 186 | 187 | if ( $updateClass !== null ) { 188 | $this->update = call_user_func(array($updateClass, 'fromObject'), $state->update); 189 | } 190 | } 191 | } 192 | 193 | public function delete() { 194 | delete_site_option($this->optionName); 195 | 196 | $this->lastCheck = 0; 197 | $this->checkedVersion = ''; 198 | $this->update = null; 199 | } 200 | 201 | private function getLibPrefix() { 202 | $parts = explode('_', __CLASS__, 3); 203 | return $parts[0] . '_' . $parts[1] . '_'; 204 | } 205 | } 206 | 207 | endif; 208 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Theme/Package.php: -------------------------------------------------------------------------------- 1 | stylesheet = $stylesheet; 17 | $this->theme = wp_get_theme($this->stylesheet); 18 | 19 | parent::__construct($updateChecker); 20 | } 21 | 22 | public function getInstalledVersion() { 23 | return $this->theme->get('Version'); 24 | } 25 | 26 | public function getAbsoluteDirectoryPath() { 27 | if ( method_exists($this->theme, 'get_stylesheet_directory') ) { 28 | return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. 29 | } 30 | return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; 31 | } 32 | 33 | /** 34 | * Get the value of a specific plugin or theme header. 35 | * 36 | * @param string $headerName 37 | * @param string $defaultValue 38 | * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. 39 | */ 40 | public function getHeaderValue($headerName, $defaultValue = '') { 41 | $value = $this->theme->get($headerName); 42 | if ( ($headerName === false) || ($headerName === '') ) { 43 | return $defaultValue; 44 | } 45 | return $value; 46 | } 47 | 48 | protected function getHeaderNames() { 49 | return array( 50 | 'Name' => 'Theme Name', 51 | 'ThemeURI' => 'Theme URI', 52 | 'Description' => 'Description', 53 | 'Author' => 'Author', 54 | 'AuthorURI' => 'Author URI', 55 | 'Version' => 'Version', 56 | 'Template' => 'Template', 57 | 'Status' => 'Status', 58 | 'Tags' => 'Tags', 59 | 'TextDomain' => 'Text Domain', 60 | 'DomainPath' => 'Domain Path', 61 | ); 62 | } 63 | } 64 | 65 | endif; 66 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Theme/Update.php: -------------------------------------------------------------------------------- 1 | $this->slug, 19 | 'new_version' => $this->version, 20 | 'url' => $this->details_url, 21 | ); 22 | 23 | if ( !empty($this->download_url) ) { 24 | $update['package'] = $this->download_url; 25 | } 26 | 27 | return $update; 28 | } 29 | 30 | /** 31 | * Create a new instance of Theme_Update from its JSON-encoded representation. 32 | * 33 | * @param string $json Valid JSON string representing a theme information object. 34 | * @return self New instance of ThemeUpdate, or NULL on error. 35 | */ 36 | public static function fromJson($json) { 37 | $instance = new self(); 38 | if ( !parent::createFromJson($json, $instance) ) { 39 | return null; 40 | } 41 | return $instance; 42 | } 43 | 44 | /** 45 | * Create a new instance by copying the necessary fields from another object. 46 | * 47 | * @param StdClass|Puc_v4p10_Theme_Update $object The source object. 48 | * @return Puc_v4p10_Theme_Update The new copy. 49 | */ 50 | public static function fromObject($object) { 51 | $update = new self(); 52 | $update->copyFields($object, $update); 53 | return $update; 54 | } 55 | 56 | /** 57 | * Basic validation. 58 | * 59 | * @param StdClass $apiResponse 60 | * @return bool|WP_Error 61 | */ 62 | protected function validateMetadata($apiResponse) { 63 | $required = array('version', 'details_url'); 64 | foreach($required as $key) { 65 | if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { 66 | return new WP_Error( 67 | 'tuc-invalid-metadata', 68 | sprintf('The theme metadata is missing the required "%s" key.', $key) 69 | ); 70 | } 71 | } 72 | return true; 73 | } 74 | 75 | protected function getFieldNames() { 76 | return array_merge(parent::getFieldNames(), self::$extraFields); 77 | } 78 | 79 | protected function getPrefixedFilter($tag) { 80 | return parent::getPrefixedFilter($tag) . '_theme'; 81 | } 82 | } 83 | 84 | endif; 85 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Theme/UpdateChecker.php: -------------------------------------------------------------------------------- 1 | stylesheet = $stylesheet; 20 | 21 | parent::__construct( 22 | $metadataUrl, 23 | $stylesheet, 24 | $customSlug ? $customSlug : $stylesheet, 25 | $checkPeriod, 26 | $optionName 27 | ); 28 | } 29 | 30 | /** 31 | * For themes, the update array is indexed by theme directory name. 32 | * 33 | * @return string 34 | */ 35 | protected function getUpdateListKey() { 36 | return $this->directoryName; 37 | } 38 | 39 | /** 40 | * Retrieve the latest update (if any) from the configured API endpoint. 41 | * 42 | * @return Puc_v4p10_Update|null An instance of Update, or NULL when no updates are available. 43 | */ 44 | public function requestUpdate() { 45 | list($themeUpdate, $result) = $this->requestMetadata('Puc_v4p10_Theme_Update', 'request_update'); 46 | 47 | if ( $themeUpdate !== null ) { 48 | /** @var Puc_v4p10_Theme_Update $themeUpdate */ 49 | $themeUpdate->slug = $this->slug; 50 | } 51 | 52 | $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); 53 | return $themeUpdate; 54 | } 55 | 56 | protected function getNoUpdateItemFields() { 57 | return array_merge( 58 | parent::getNoUpdateItemFields(), 59 | array( 60 | 'theme' => $this->directoryName, 61 | 'requires' => '', 62 | ) 63 | ); 64 | } 65 | 66 | public function userCanInstallUpdates() { 67 | return current_user_can('update_themes'); 68 | } 69 | 70 | /** 71 | * Create an instance of the scheduler. 72 | * 73 | * @param int $checkPeriod 74 | * @return Puc_v4p10_Scheduler 75 | */ 76 | protected function createScheduler($checkPeriod) { 77 | return new Puc_v4p10_Scheduler($this, $checkPeriod, array('load-themes.php')); 78 | } 79 | 80 | /** 81 | * Is there an update being installed right now for this theme? 82 | * 83 | * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. 84 | * @return bool 85 | */ 86 | public function isBeingUpgraded($upgrader = null) { 87 | return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); 88 | } 89 | 90 | protected function createDebugBarExtension() { 91 | return new Puc_v4p10_DebugBar_Extension($this, 'Puc_v4p10_DebugBar_ThemePanel'); 92 | } 93 | 94 | /** 95 | * Register a callback for filtering query arguments. 96 | * 97 | * The callback function should take one argument - an associative array of query arguments. 98 | * It should return a modified array of query arguments. 99 | * 100 | * @param callable $callback 101 | * @return void 102 | */ 103 | public function addQueryArgFilter($callback){ 104 | $this->addFilter('request_update_query_args', $callback); 105 | } 106 | 107 | /** 108 | * Register a callback for filtering arguments passed to wp_remote_get(). 109 | * 110 | * The callback function should take one argument - an associative array of arguments - 111 | * and return a modified array or arguments. See the WP documentation on wp_remote_get() 112 | * for details on what arguments are available and how they work. 113 | * 114 | * @uses add_filter() This method is a convenience wrapper for add_filter(). 115 | * 116 | * @param callable $callback 117 | * @return void 118 | */ 119 | public function addHttpRequestArgFilter($callback) { 120 | $this->addFilter('request_update_options', $callback); 121 | } 122 | 123 | /** 124 | * Register a callback for filtering theme updates retrieved from the external API. 125 | * 126 | * The callback function should take two arguments. If the theme update was retrieved 127 | * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, 128 | * it will be NULL. The second argument will be the corresponding return value of 129 | * wp_remote_get (see WP docs for details). 130 | * 131 | * The callback function should return a new or modified instance of Theme_Update or NULL. 132 | * 133 | * @uses add_filter() This method is a convenience wrapper for add_filter(). 134 | * 135 | * @param callable $callback 136 | * @return void 137 | */ 138 | public function addResultFilter($callback) { 139 | $this->addFilter('request_update_result', $callback, 10, 2); 140 | } 141 | 142 | /** 143 | * Create a package instance that represents this plugin or theme. 144 | * 145 | * @return Puc_v4p10_InstalledPackage 146 | */ 147 | protected function createInstalledPackage() { 148 | return new Puc_v4p10_Theme_Package($this->stylesheet, $this); 149 | } 150 | } 151 | 152 | endif; 153 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Update.php: -------------------------------------------------------------------------------- 1 | slug = $this->slug; 27 | $update->new_version = $this->version; 28 | $update->package = $this->download_url; 29 | 30 | return $update; 31 | } 32 | } 33 | 34 | endif; 35 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/UpgraderStatus.php: -------------------------------------------------------------------------------- 1 | isBeingUpgraded('plugin', $pluginFile, $upgrader); 35 | } 36 | 37 | /** 38 | * Is there an update being installed for a specific theme? 39 | * 40 | * @param string $stylesheet Theme directory name. 41 | * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. 42 | * @return bool 43 | */ 44 | public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { 45 | return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); 46 | } 47 | 48 | /** 49 | * Check if a specific theme or plugin is being upgraded. 50 | * 51 | * @param string $type 52 | * @param string $id 53 | * @param Plugin_Upgrader|WP_Upgrader|null $upgrader 54 | * @return bool 55 | */ 56 | protected function isBeingUpgraded($type, $id, $upgrader = null) { 57 | if ( isset($upgrader) ) { 58 | list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); 59 | if ( $currentType !== null ) { 60 | $this->currentType = $currentType; 61 | $this->currentId = $currentId; 62 | } 63 | } 64 | return ($this->currentType === $type) && ($this->currentId === $id); 65 | } 66 | 67 | /** 68 | * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. 69 | * 70 | * Returns an array with two items. The first item is the type of the thing that's being 71 | * upgraded: "plugin" or "theme". The second item is either the plugin basename or 72 | * the theme directory name. If we can't determine what the upgrader is doing, both items 73 | * will be NULL. 74 | * 75 | * Examples: 76 | * ['plugin', 'plugin-dir-name/plugin.php'] 77 | * ['theme', 'theme-dir-name'] 78 | * 79 | * @param Plugin_Upgrader|WP_Upgrader $upgrader 80 | * @return array 81 | */ 82 | private function getThingBeingUpgradedBy($upgrader) { 83 | if ( !isset($upgrader, $upgrader->skin) ) { 84 | return array(null, null); 85 | } 86 | 87 | //Figure out which plugin or theme is being upgraded. 88 | $pluginFile = null; 89 | $themeDirectoryName = null; 90 | 91 | $skin = $upgrader->skin; 92 | if ( isset($skin->theme_info) && ($skin->theme_info instanceof WP_Theme) ) { 93 | $themeDirectoryName = $skin->theme_info->get_stylesheet(); 94 | } elseif ( $skin instanceof Plugin_Upgrader_Skin ) { 95 | if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { 96 | $pluginFile = $skin->plugin; 97 | } 98 | } elseif ( $skin instanceof Theme_Upgrader_Skin ) { 99 | if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { 100 | $themeDirectoryName = $skin->theme; 101 | } 102 | } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { 103 | //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin 104 | //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can 105 | //do is compare those headers to the headers of installed plugins. 106 | $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); 107 | } 108 | 109 | if ( $pluginFile !== null ) { 110 | return array('plugin', $pluginFile); 111 | } elseif ( $themeDirectoryName !== null ) { 112 | return array('theme', $themeDirectoryName); 113 | } 114 | return array(null, null); 115 | } 116 | 117 | /** 118 | * Identify an installed plugin based on its headers. 119 | * 120 | * @param array $searchHeaders The plugin file header to look for. 121 | * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. 122 | */ 123 | private function identifyPluginByHeaders($searchHeaders) { 124 | if ( !function_exists('get_plugins') ){ 125 | /** @noinspection PhpIncludeInspection */ 126 | require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); 127 | } 128 | 129 | $installedPlugins = get_plugins(); 130 | $matches = array(); 131 | foreach($installedPlugins as $pluginBasename => $headers) { 132 | $diff1 = array_diff_assoc($headers, $searchHeaders); 133 | $diff2 = array_diff_assoc($searchHeaders, $headers); 134 | if ( empty($diff1) && empty($diff2) ) { 135 | $matches[] = $pluginBasename; 136 | } 137 | } 138 | 139 | //It's possible (though very unlikely) that there could be two plugins with identical 140 | //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. 141 | if ( count($matches) !== 1 ) { 142 | return null; 143 | } 144 | 145 | return reset($matches); 146 | } 147 | 148 | /** 149 | * @access private 150 | * 151 | * @param mixed $input 152 | * @param array $hookExtra 153 | * @return mixed Returns $input unaltered. 154 | */ 155 | public function setUpgradedThing($input, $hookExtra) { 156 | if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { 157 | $this->currentId = $hookExtra['plugin']; 158 | $this->currentType = 'plugin'; 159 | } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { 160 | $this->currentId = $hookExtra['theme']; 161 | $this->currentType = 'theme'; 162 | } else { 163 | $this->currentType = null; 164 | $this->currentId = null; 165 | } 166 | return $input; 167 | } 168 | 169 | /** 170 | * @access private 171 | * 172 | * @param array $options 173 | * @return array 174 | */ 175 | public function setUpgradedPluginFromOptions($options) { 176 | if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { 177 | $this->currentType = 'plugin'; 178 | $this->currentId = $options['hook_extra']['plugin']; 179 | } else { 180 | $this->currentType = null; 181 | $this->currentId = null; 182 | } 183 | return $options; 184 | } 185 | 186 | /** 187 | * @access private 188 | * 189 | * @param mixed $input 190 | * @return mixed Returns $input unaltered. 191 | */ 192 | public function clearUpgradedThing($input = null) { 193 | $this->currentId = null; 194 | $this->currentType = null; 195 | return $input; 196 | } 197 | } 198 | 199 | endif; 200 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Utils.php: -------------------------------------------------------------------------------- 1 | $node) ) { 26 | $currentValue = $currentValue->$node; 27 | } else { 28 | return $default; 29 | } 30 | } 31 | 32 | return $currentValue; 33 | } 34 | 35 | /** 36 | * Get the first array element that is not empty. 37 | * 38 | * @param array $values 39 | * @param mixed|null $default Returns this value if there are no non-empty elements. 40 | * @return mixed|null 41 | */ 42 | public static function findNotEmpty($values, $default = null) { 43 | if ( empty($values) ) { 44 | return $default; 45 | } 46 | 47 | foreach ($values as $value) { 48 | if ( !empty($value) ) { 49 | return $value; 50 | } 51 | } 52 | 53 | return $default; 54 | } 55 | 56 | /** 57 | * Check if the input string starts with the specified prefix. 58 | * 59 | * @param string $input 60 | * @param string $prefix 61 | * @return bool 62 | */ 63 | public static function startsWith($input, $prefix) { 64 | $length = strlen($prefix); 65 | return (substr($input, 0, $length) === $prefix); 66 | } 67 | } 68 | 69 | endif; 70 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Vcs/Api.php: -------------------------------------------------------------------------------- 1 | repositoryUrl = $repositoryUrl; 37 | $this->setAuthentication($credentials); 38 | } 39 | 40 | /** 41 | * @return string 42 | */ 43 | public function getRepositoryUrl() { 44 | return $this->repositoryUrl; 45 | } 46 | 47 | /** 48 | * Figure out which reference (i.e tag or branch) contains the latest version. 49 | * 50 | * @param string $configBranch Start looking in this branch. 51 | * @return null|Puc_v4p10_Vcs_Reference 52 | */ 53 | abstract public function chooseReference($configBranch); 54 | 55 | /** 56 | * Get the readme.txt file from the remote repository and parse it 57 | * according to the plugin readme standard. 58 | * 59 | * @param string $ref Tag or branch name. 60 | * @return array Parsed readme. 61 | */ 62 | public function getRemoteReadme($ref = 'master') { 63 | $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); 64 | if ( empty($fileContents) ) { 65 | return array(); 66 | } 67 | 68 | $parser = new PucReadmeParser(); 69 | return $parser->parse_readme_contents($fileContents); 70 | } 71 | 72 | /** 73 | * Get the case-sensitive name of the local readme.txt file. 74 | * 75 | * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", 76 | * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct 77 | * capitalization. 78 | * 79 | * Defaults to "readme.txt" (all lowercase). 80 | * 81 | * @return string 82 | */ 83 | public function getLocalReadmeName() { 84 | static $fileName = null; 85 | if ( $fileName !== null ) { 86 | return $fileName; 87 | } 88 | 89 | $fileName = 'readme.txt'; 90 | if ( isset($this->localDirectory) ) { 91 | $files = scandir($this->localDirectory); 92 | if ( !empty($files) ) { 93 | foreach ($files as $possibleFileName) { 94 | if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { 95 | $fileName = $possibleFileName; 96 | break; 97 | } 98 | } 99 | } 100 | } 101 | return $fileName; 102 | } 103 | 104 | /** 105 | * Get a branch. 106 | * 107 | * @param string $branchName 108 | * @return Puc_v4p10_Vcs_Reference|null 109 | */ 110 | abstract public function getBranch($branchName); 111 | 112 | /** 113 | * Get a specific tag. 114 | * 115 | * @param string $tagName 116 | * @return Puc_v4p10_Vcs_Reference|null 117 | */ 118 | abstract public function getTag($tagName); 119 | 120 | /** 121 | * Get the tag that looks like the highest version number. 122 | * (Implementations should skip pre-release versions if possible.) 123 | * 124 | * @return Puc_v4p10_Vcs_Reference|null 125 | */ 126 | abstract public function getLatestTag(); 127 | 128 | /** 129 | * Check if a tag name string looks like a version number. 130 | * 131 | * @param string $name 132 | * @return bool 133 | */ 134 | protected function looksLikeVersion($name) { 135 | //Tag names may be prefixed with "v", e.g. "v1.2.3". 136 | $name = ltrim($name, 'v'); 137 | 138 | //The version string must start with a number. 139 | if ( !is_numeric(substr($name, 0, 1)) ) { 140 | return false; 141 | } 142 | 143 | //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. 144 | return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); 145 | } 146 | 147 | /** 148 | * Check if a tag appears to be named like a version number. 149 | * 150 | * @param stdClass $tag 151 | * @return bool 152 | */ 153 | protected function isVersionTag($tag) { 154 | $property = $this->tagNameProperty; 155 | return isset($tag->$property) && $this->looksLikeVersion($tag->$property); 156 | } 157 | 158 | /** 159 | * Sort a list of tags as if they were version numbers. 160 | * Tags that don't look like version number will be removed. 161 | * 162 | * @param stdClass[] $tags Array of tag objects. 163 | * @return stdClass[] Filtered array of tags sorted in descending order. 164 | */ 165 | protected function sortTagsByVersion($tags) { 166 | //Keep only those tags that look like version numbers. 167 | $versionTags = array_filter($tags, array($this, 'isVersionTag')); 168 | //Sort them in descending order. 169 | usort($versionTags, array($this, 'compareTagNames')); 170 | 171 | return $versionTags; 172 | } 173 | 174 | /** 175 | * Compare two tags as if they were version number. 176 | * 177 | * @param stdClass $tag1 Tag object. 178 | * @param stdClass $tag2 Another tag object. 179 | * @return int 180 | */ 181 | protected function compareTagNames($tag1, $tag2) { 182 | $property = $this->tagNameProperty; 183 | if ( !isset($tag1->$property) ) { 184 | return 1; 185 | } 186 | if ( !isset($tag2->$property) ) { 187 | return -1; 188 | } 189 | return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); 190 | } 191 | 192 | /** 193 | * Get the contents of a file from a specific branch or tag. 194 | * 195 | * @param string $path File name. 196 | * @param string $ref 197 | * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. 198 | */ 199 | abstract public function getRemoteFile($path, $ref = 'master'); 200 | 201 | /** 202 | * Get the timestamp of the latest commit that changed the specified branch or tag. 203 | * 204 | * @param string $ref Reference name (e.g. branch or tag). 205 | * @return string|null 206 | */ 207 | abstract public function getLatestCommitTime($ref); 208 | 209 | /** 210 | * Get the contents of the changelog file from the repository. 211 | * 212 | * @param string $ref 213 | * @param string $localDirectory Full path to the local plugin or theme directory. 214 | * @return null|string The HTML contents of the changelog. 215 | */ 216 | public function getRemoteChangelog($ref, $localDirectory) { 217 | $filename = $this->findChangelogName($localDirectory); 218 | if ( empty($filename) ) { 219 | return null; 220 | } 221 | 222 | $changelog = $this->getRemoteFile($filename, $ref); 223 | if ( $changelog === null ) { 224 | return null; 225 | } 226 | 227 | /** @noinspection PhpUndefinedClassInspection */ 228 | return Parsedown::instance()->text($changelog); 229 | } 230 | 231 | /** 232 | * Guess the name of the changelog file. 233 | * 234 | * @param string $directory 235 | * @return string|null 236 | */ 237 | protected function findChangelogName($directory = null) { 238 | if ( !isset($directory) ) { 239 | $directory = $this->localDirectory; 240 | } 241 | if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { 242 | return null; 243 | } 244 | 245 | $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); 246 | $files = scandir($directory); 247 | $foundNames = array_intersect($possibleNames, $files); 248 | 249 | if ( !empty($foundNames) ) { 250 | return reset($foundNames); 251 | } 252 | return null; 253 | } 254 | 255 | /** 256 | * Set authentication credentials. 257 | * 258 | * @param $credentials 259 | */ 260 | public function setAuthentication($credentials) { 261 | $this->credentials = $credentials; 262 | } 263 | 264 | public function isAuthenticationEnabled() { 265 | return !empty($this->credentials); 266 | } 267 | 268 | /** 269 | * @param string $url 270 | * @return string 271 | */ 272 | public function signDownloadUrl($url) { 273 | return $url; 274 | } 275 | 276 | /** 277 | * @param string $filterName 278 | */ 279 | public function setHttpFilterName($filterName) { 280 | $this->httpFilterName = $filterName; 281 | } 282 | 283 | /** 284 | * @param string $directory 285 | */ 286 | public function setLocalDirectory($directory) { 287 | if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { 288 | $this->localDirectory = null; 289 | } else { 290 | $this->localDirectory = $directory; 291 | } 292 | } 293 | 294 | /** 295 | * @param string $slug 296 | */ 297 | public function setSlug($slug) { 298 | $this->slug = $slug; 299 | } 300 | } 301 | 302 | endif; 303 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Vcs/BaseChecker.php: -------------------------------------------------------------------------------- 1 | [^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { 23 | $this->username = $matches['username']; 24 | $this->repository = $matches['repository']; 25 | } else { 26 | throw new InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); 27 | } 28 | 29 | parent::__construct($repositoryUrl, $credentials); 30 | } 31 | 32 | /** 33 | * Figure out which reference (i.e tag or branch) contains the latest version. 34 | * 35 | * @param string $configBranch Start looking in this branch. 36 | * @return null|Puc_v4p10_Vcs_Reference 37 | */ 38 | public function chooseReference($configBranch) { 39 | $updateSource = null; 40 | 41 | //Check if there's a "Stable tag: 1.2.3" header that points to a valid tag. 42 | $updateSource = $this->getStableTag($configBranch); 43 | 44 | //Look for version-like tags. 45 | if ( !$updateSource && ($configBranch === 'master') ) { 46 | $updateSource = $this->getLatestTag(); 47 | } 48 | //If all else fails, use the specified branch itself. 49 | if ( !$updateSource ) { 50 | $updateSource = $this->getBranch($configBranch); 51 | } 52 | 53 | return $updateSource; 54 | } 55 | 56 | public function getBranch($branchName) { 57 | $branch = $this->api('/refs/branches/' . $branchName); 58 | if ( is_wp_error($branch) || empty($branch) ) { 59 | return null; 60 | } 61 | 62 | return new Puc_v4p10_Vcs_Reference(array( 63 | 'name' => $branch->name, 64 | 'updated' => $branch->target->date, 65 | 'downloadUrl' => $this->getDownloadUrl($branch->name), 66 | )); 67 | } 68 | 69 | /** 70 | * Get a specific tag. 71 | * 72 | * @param string $tagName 73 | * @return Puc_v4p10_Vcs_Reference|null 74 | */ 75 | public function getTag($tagName) { 76 | $tag = $this->api('/refs/tags/' . $tagName); 77 | if ( is_wp_error($tag) || empty($tag) ) { 78 | return null; 79 | } 80 | 81 | return new Puc_v4p10_Vcs_Reference(array( 82 | 'name' => $tag->name, 83 | 'version' => ltrim($tag->name, 'v'), 84 | 'updated' => $tag->target->date, 85 | 'downloadUrl' => $this->getDownloadUrl($tag->name), 86 | )); 87 | } 88 | 89 | /** 90 | * Get the tag that looks like the highest version number. 91 | * 92 | * @return Puc_v4p10_Vcs_Reference|null 93 | */ 94 | public function getLatestTag() { 95 | $tags = $this->api('/refs/tags?sort=-target.date'); 96 | if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { 97 | return null; 98 | } 99 | 100 | //Filter and sort the list of tags. 101 | $versionTags = $this->sortTagsByVersion($tags->values); 102 | 103 | //Return the first result. 104 | if ( !empty($versionTags) ) { 105 | $tag = $versionTags[0]; 106 | return new Puc_v4p10_Vcs_Reference(array( 107 | 'name' => $tag->name, 108 | 'version' => ltrim($tag->name, 'v'), 109 | 'updated' => $tag->target->date, 110 | 'downloadUrl' => $this->getDownloadUrl($tag->name), 111 | )); 112 | } 113 | return null; 114 | } 115 | 116 | /** 117 | * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. 118 | * 119 | * @param string $branch 120 | * @return null|Puc_v4p10_Vcs_Reference 121 | */ 122 | protected function getStableTag($branch) { 123 | $remoteReadme = $this->getRemoteReadme($branch); 124 | if ( !empty($remoteReadme['stable_tag']) ) { 125 | $tag = $remoteReadme['stable_tag']; 126 | 127 | //You can explicitly opt out of using tags by setting "Stable tag" to 128 | //"trunk" or the name of the current branch. 129 | if ( ($tag === $branch) || ($tag === 'trunk') ) { 130 | return $this->getBranch($branch); 131 | } 132 | 133 | return $this->getTag($tag); 134 | } 135 | 136 | return null; 137 | } 138 | 139 | /** 140 | * @param string $ref 141 | * @return string 142 | */ 143 | protected function getDownloadUrl($ref) { 144 | return sprintf( 145 | 'https://bitbucket.org/%s/%s/get/%s.zip', 146 | $this->username, 147 | $this->repository, 148 | $ref 149 | ); 150 | } 151 | 152 | /** 153 | * Get the contents of a file from a specific branch or tag. 154 | * 155 | * @param string $path File name. 156 | * @param string $ref 157 | * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. 158 | */ 159 | public function getRemoteFile($path, $ref = 'master') { 160 | $response = $this->api('src/' . $ref . '/' . ltrim($path)); 161 | if ( is_wp_error($response) || !is_string($response) ) { 162 | return null; 163 | } 164 | return $response; 165 | } 166 | 167 | /** 168 | * Get the timestamp of the latest commit that changed the specified branch or tag. 169 | * 170 | * @param string $ref Reference name (e.g. branch or tag). 171 | * @return string|null 172 | */ 173 | public function getLatestCommitTime($ref) { 174 | $response = $this->api('commits/' . $ref); 175 | if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { 176 | return $response->values[0]->date; 177 | } 178 | return null; 179 | } 180 | 181 | /** 182 | * Perform a BitBucket API 2.0 request. 183 | * 184 | * @param string $url 185 | * @param string $version 186 | * @return mixed|WP_Error 187 | */ 188 | public function api($url, $version = '2.0') { 189 | $url = ltrim($url, '/'); 190 | $isSrcResource = Puc_v4p10_Utils::startsWith($url, 'src/'); 191 | 192 | $url = implode('/', array( 193 | 'https://api.bitbucket.org', 194 | $version, 195 | 'repositories', 196 | $this->username, 197 | $this->repository, 198 | $url 199 | )); 200 | $baseUrl = $url; 201 | 202 | if ( $this->oauth ) { 203 | $url = $this->oauth->sign($url,'GET'); 204 | } 205 | 206 | $options = array('timeout' => 10); 207 | if ( !empty($this->httpFilterName) ) { 208 | $options = apply_filters($this->httpFilterName, $options); 209 | } 210 | $response = wp_remote_get($url, $options); 211 | if ( is_wp_error($response) ) { 212 | do_action('puc_api_error', $response, null, $url, $this->slug); 213 | return $response; 214 | } 215 | 216 | $code = wp_remote_retrieve_response_code($response); 217 | $body = wp_remote_retrieve_body($response); 218 | if ( $code === 200 ) { 219 | if ( $isSrcResource ) { 220 | //Most responses are JSON-encoded, but src resources just 221 | //return raw file contents. 222 | $document = $body; 223 | } else { 224 | $document = json_decode($body); 225 | } 226 | return $document; 227 | } 228 | 229 | $error = new WP_Error( 230 | 'puc-bitbucket-http-error', 231 | sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) 232 | ); 233 | do_action('puc_api_error', $error, $response, $url, $this->slug); 234 | 235 | return $error; 236 | } 237 | 238 | /** 239 | * @param array $credentials 240 | */ 241 | public function setAuthentication($credentials) { 242 | parent::setAuthentication($credentials); 243 | 244 | if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { 245 | $this->oauth = new Puc_v4p10_OAuthSignature( 246 | $credentials['consumer_key'], 247 | $credentials['consumer_secret'] 248 | ); 249 | } else { 250 | $this->oauth = null; 251 | } 252 | } 253 | 254 | public function signDownloadUrl($url) { 255 | //Add authentication data to download URLs. Since OAuth signatures incorporate 256 | //timestamps, we have to do this immediately before inserting the update. Otherwise 257 | //authentication could fail due to a stale timestamp. 258 | if ( $this->oauth ) { 259 | $url = $this->oauth->sign($url); 260 | } 261 | return $url; 262 | } 263 | } 264 | 265 | endif; 266 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Vcs/PluginUpdateChecker.php: -------------------------------------------------------------------------------- 1 | api = $api; 27 | $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); 28 | 29 | parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); 30 | 31 | $this->api->setSlug($this->slug); 32 | } 33 | 34 | public function requestInfo($unusedParameter = null) { 35 | //We have to make several remote API requests to gather all the necessary info 36 | //which can take a while on slow networks. 37 | if ( function_exists('set_time_limit') ) { 38 | @set_time_limit(60); 39 | } 40 | 41 | $api = $this->api; 42 | $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); 43 | 44 | $info = new Puc_v4p10_Plugin_Info(); 45 | $info->filename = $this->pluginFile; 46 | $info->slug = $this->slug; 47 | 48 | $this->setInfoFromHeader($this->package->getPluginHeader(), $info); 49 | 50 | //Pick a branch or tag. 51 | $updateSource = $api->chooseReference($this->branch); 52 | if ( $updateSource ) { 53 | $ref = $updateSource->name; 54 | $info->version = $updateSource->version; 55 | $info->last_updated = $updateSource->updated; 56 | $info->download_url = $updateSource->downloadUrl; 57 | 58 | if ( !empty($updateSource->changelog) ) { 59 | $info->sections['changelog'] = $updateSource->changelog; 60 | } 61 | if ( isset($updateSource->downloadCount) ) { 62 | $info->downloaded = $updateSource->downloadCount; 63 | } 64 | } else { 65 | //There's probably a network problem or an authentication error. 66 | do_action( 67 | 'puc_api_error', 68 | new WP_Error( 69 | 'puc-no-update-source', 70 | 'Could not retrieve version information from the repository. ' 71 | . 'This usually means that the update checker either can\'t connect ' 72 | . 'to the repository or it\'s configured incorrectly.' 73 | ), 74 | null, null, $this->slug 75 | ); 76 | return null; 77 | } 78 | 79 | //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata 80 | //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. 81 | $mainPluginFile = basename($this->pluginFile); 82 | $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); 83 | if ( !empty($remotePlugin) ) { 84 | $remoteHeader = $this->package->getFileHeader($remotePlugin); 85 | $this->setInfoFromHeader($remoteHeader, $info); 86 | } 87 | 88 | //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain 89 | //a lot of useful information like the required/tested WP version, changelog, and so on. 90 | if ( $this->readmeTxtExistsLocally() ) { 91 | $this->setInfoFromRemoteReadme($ref, $info); 92 | } 93 | 94 | //The changelog might be in a separate file. 95 | if ( empty($info->sections['changelog']) ) { 96 | $info->sections['changelog'] = $api->getRemoteChangelog($ref, $this->package->getAbsoluteDirectoryPath()); 97 | if ( empty($info->sections['changelog']) ) { 98 | $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); 99 | } 100 | } 101 | 102 | if ( empty($info->last_updated) ) { 103 | //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. 104 | $latestCommitTime = $api->getLatestCommitTime($ref); 105 | if ( $latestCommitTime !== null ) { 106 | $info->last_updated = $latestCommitTime; 107 | } 108 | } 109 | 110 | $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); 111 | return $info; 112 | } 113 | 114 | /** 115 | * Check if the currently installed version has a readme.txt file. 116 | * 117 | * @return bool 118 | */ 119 | protected function readmeTxtExistsLocally() { 120 | return $this->package->fileExists($this->api->getLocalReadmeName()); 121 | } 122 | 123 | /** 124 | * Copy plugin metadata from a file header to a Plugin Info object. 125 | * 126 | * @param array $fileHeader 127 | * @param Puc_v4p10_Plugin_Info $pluginInfo 128 | */ 129 | protected function setInfoFromHeader($fileHeader, $pluginInfo) { 130 | $headerToPropertyMap = array( 131 | 'Version' => 'version', 132 | 'Name' => 'name', 133 | 'PluginURI' => 'homepage', 134 | 'Author' => 'author', 135 | 'AuthorName' => 'author', 136 | 'AuthorURI' => 'author_homepage', 137 | 138 | 'Requires WP' => 'requires', 139 | 'Tested WP' => 'tested', 140 | 'Requires at least' => 'requires', 141 | 'Tested up to' => 'tested', 142 | 143 | 'Requires PHP' => 'requires_php', 144 | ); 145 | foreach ($headerToPropertyMap as $headerName => $property) { 146 | if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { 147 | $pluginInfo->$property = $fileHeader[$headerName]; 148 | } 149 | } 150 | 151 | if ( !empty($fileHeader['Description']) ) { 152 | $pluginInfo->sections['description'] = $fileHeader['Description']; 153 | } 154 | } 155 | 156 | /** 157 | * Copy plugin metadata from the remote readme.txt file. 158 | * 159 | * @param string $ref GitHub tag or branch where to look for the readme. 160 | * @param Puc_v4p10_Plugin_Info $pluginInfo 161 | */ 162 | protected function setInfoFromRemoteReadme($ref, $pluginInfo) { 163 | $readme = $this->api->getRemoteReadme($ref); 164 | if ( empty($readme) ) { 165 | return; 166 | } 167 | 168 | if ( isset($readme['sections']) ) { 169 | $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); 170 | } 171 | if ( !empty($readme['tested_up_to']) ) { 172 | $pluginInfo->tested = $readme['tested_up_to']; 173 | } 174 | if ( !empty($readme['requires_at_least']) ) { 175 | $pluginInfo->requires = $readme['requires_at_least']; 176 | } 177 | if ( !empty($readme['requires_php']) ) { 178 | $pluginInfo->requires_php = $readme['requires_php']; 179 | } 180 | 181 | if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { 182 | $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; 183 | } 184 | } 185 | 186 | public function setBranch($branch) { 187 | $this->branch = $branch; 188 | return $this; 189 | } 190 | 191 | public function setAuthentication($credentials) { 192 | $this->api->setAuthentication($credentials); 193 | return $this; 194 | } 195 | 196 | public function getVcsApi() { 197 | return $this->api; 198 | } 199 | 200 | public function getUpdate() { 201 | $update = parent::getUpdate(); 202 | 203 | if ( isset($update) && !empty($update->download_url) ) { 204 | $update->download_url = $this->api->signDownloadUrl($update->download_url); 205 | } 206 | 207 | return $update; 208 | } 209 | 210 | public function onDisplayConfiguration($panel) { 211 | parent::onDisplayConfiguration($panel); 212 | $panel->row('Branch', $this->branch); 213 | $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); 214 | $panel->row('API client', get_class($this->api)); 215 | } 216 | } 217 | 218 | endif; 219 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Vcs/Reference.php: -------------------------------------------------------------------------------- 1 | properties = $properties; 21 | } 22 | 23 | /** 24 | * @param string $name 25 | * @return mixed|null 26 | */ 27 | public function __get($name) { 28 | return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; 29 | } 30 | 31 | /** 32 | * @param string $name 33 | * @param mixed $value 34 | */ 35 | public function __set($name, $value) { 36 | $this->properties[$name] = $value; 37 | } 38 | 39 | /** 40 | * @param string $name 41 | * @return bool 42 | */ 43 | public function __isset($name) { 44 | return isset($this->properties[$name]); 45 | } 46 | 47 | } 48 | 49 | endif; 50 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/Puc/v4p10/Vcs/ThemeUpdateChecker.php: -------------------------------------------------------------------------------- 1 | api = $api; 27 | $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); 28 | 29 | parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); 30 | 31 | $this->api->setSlug($this->slug); 32 | } 33 | 34 | public function requestUpdate() { 35 | $api = $this->api; 36 | $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); 37 | 38 | $update = new Puc_v4p10_Theme_Update(); 39 | $update->slug = $this->slug; 40 | 41 | //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. 42 | $updateSource = $api->chooseReference($this->branch); 43 | if ( $updateSource ) { 44 | $ref = $updateSource->name; 45 | $update->download_url = $updateSource->downloadUrl; 46 | } else { 47 | do_action( 48 | 'puc_api_error', 49 | new WP_Error( 50 | 'puc-no-update-source', 51 | 'Could not retrieve version information from the repository. ' 52 | . 'This usually means that the update checker either can\'t connect ' 53 | . 'to the repository or it\'s configured incorrectly.' 54 | ), 55 | null, null, $this->slug 56 | ); 57 | $ref = $this->branch; 58 | } 59 | 60 | //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata 61 | //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. 62 | $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); 63 | $update->version = Puc_v4p10_Utils::findNotEmpty(array( 64 | $remoteHeader['Version'], 65 | Puc_v4p10_Utils::get($updateSource, 'version'), 66 | )); 67 | 68 | //The details URL defaults to the Theme URI header or the repository URL. 69 | $update->details_url = Puc_v4p10_Utils::findNotEmpty(array( 70 | $remoteHeader['ThemeURI'], 71 | $this->package->getHeaderValue('ThemeURI'), 72 | $this->metadataUrl, 73 | )); 74 | 75 | if ( empty($update->version) ) { 76 | //It looks like we didn't find a valid update after all. 77 | $update = null; 78 | } 79 | 80 | $update = $this->filterUpdateResult($update); 81 | return $update; 82 | } 83 | 84 | //FIXME: This is duplicated code. Both theme and plugin subclasses that use VCS share these methods. 85 | 86 | public function setBranch($branch) { 87 | $this->branch = $branch; 88 | return $this; 89 | } 90 | 91 | public function setAuthentication($credentials) { 92 | $this->api->setAuthentication($credentials); 93 | return $this; 94 | } 95 | 96 | public function getVcsApi() { 97 | return $this->api; 98 | } 99 | 100 | public function getUpdate() { 101 | $update = parent::getUpdate(); 102 | 103 | if ( isset($update) && !empty($update->download_url) ) { 104 | $update->download_url = $this->api->signDownloadUrl($update->download_url); 105 | } 106 | 107 | return $update; 108 | } 109 | 110 | public function onDisplayConfiguration($panel) { 111 | parent::onDisplayConfiguration($panel); 112 | $panel->row('Branch', $this->branch); 113 | $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); 114 | $panel->row('API client', get_class($this->api)); 115 | } 116 | } 117 | 118 | endif; 119 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yahnis-elsts/plugin-update-checker", 3 | "type": "library", 4 | "description": "A custom update checker for WordPress plugins and themes. Useful if you can't host your plugin in the official WP repository but still want it to support automatic updates.", 5 | "keywords": ["wordpress", "plugin updates", "automatic updates", "theme updates"], 6 | "homepage": "https://github.com/YahnisElsts/plugin-update-checker/", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Yahnis Elsts", 11 | "email": "whiteshadow@w-shadow.com", 12 | "homepage": "http://w-shadow.com/", 13 | "role": "Developer" 14 | } 15 | ], 16 | "require": { 17 | "php": ">=5.2.0", 18 | "ext-json": "*" 19 | }, 20 | "autoload": { 21 | "files": ["load-v4p10.php"] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/css/puc-debug-bar.css: -------------------------------------------------------------------------------- 1 | .puc-debug-bar-panel-v4 pre { 2 | margin-top: 0; 3 | } 4 | 5 | /* Style the debug data table to match "widefat" table style used by WordPress. */ 6 | table.puc-debug-data { 7 | width: 100%; 8 | clear: both; 9 | margin: 0; 10 | 11 | border-spacing: 0; 12 | background-color: #f9f9f9; 13 | 14 | border-radius: 3px; 15 | border: 1px solid #dfdfdf; 16 | border-collapse: separate; 17 | } 18 | 19 | table.puc-debug-data * { 20 | word-wrap: break-word; 21 | } 22 | 23 | table.puc-debug-data th { 24 | width: 11em; 25 | padding: 7px 7px 8px; 26 | text-align: left; 27 | 28 | font-family: "Georgia", "Times New Roman", "Bitstream Charter", "Times", serif; 29 | font-weight: 400; 30 | font-size: 14px; 31 | line-height: 1.3em; 32 | text-shadow: rgba(255, 255, 255, 0.804) 0 1px 0; 33 | } 34 | 35 | table.puc-debug-data td, table.puc-debug-data th { 36 | border-width: 1px 0; 37 | border-style: solid; 38 | 39 | border-top-color: #fff; 40 | border-bottom-color: #dfdfdf; 41 | 42 | text-transform: none; 43 | } 44 | 45 | table.puc-debug-data td { 46 | color: #555; 47 | font-size: 12px; 48 | padding: 4px 7px 2px; 49 | vertical-align: top; 50 | } 51 | 52 | .puc-ajax-response { 53 | border: 1px solid #dfdfdf; 54 | border-radius: 3px; 55 | padding: 0.5em; 56 | margin: 5px 0; 57 | background-color: white; 58 | } 59 | 60 | .puc-ajax-nonce { 61 | display: none; 62 | } 63 | 64 | .puc-ajax-response dt { 65 | margin: 0; 66 | } 67 | 68 | .puc-ajax-response dd { 69 | margin: 0 0 1em; 70 | } 71 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/examples/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "My Example Plugin", 3 | "version": "2.0", 4 | "download_url": "http://example.com/updates/example-plugin.zip", 5 | 6 | "homepage": "http://example.com/", 7 | "requires": "4.5", 8 | "tested": "4.8", 9 | "last_updated": "2017-01-01 16:17:00", 10 | "upgrade_notice": "Here's why you should upgrade...", 11 | 12 | "author": "Janis Elsts", 13 | "author_homepage": "http://example.com/", 14 | 15 | "sections": { 16 | "description": "(Required) Plugin description. Basic HTML can be used in all sections.", 17 | "installation": "(Recommended) Installation instructions.", 18 | "changelog": "(Recommended) Changelog.

This section will be displayed by default when the user clicks 'View version x.y.z details'.

", 19 | "custom_section": "This is a custom section labeled 'Custom Section'." 20 | }, 21 | 22 | "icons" : { 23 | "1x" : "http://w-shadow.com/files/external-update-example/assets/icon-128x128.png", 24 | "2x" : "http://w-shadow.com/files/external-update-example/assets/icon-256x256.png" 25 | }, 26 | 27 | "banners": { 28 | "low": "http://w-shadow.com/files/external-update-example/assets/banner-772x250.png", 29 | "high": "http://w-shadow.com/files/external-update-example/assets/banner-1544x500.png" 30 | }, 31 | 32 | "translations": [ 33 | { 34 | "language": "fr_FR", 35 | "version": "4.0", 36 | "updated": "2016-04-22 23:22:42", 37 | "package": "http://example.com/updates/translations/french-language-pack.zip" 38 | }, 39 | { 40 | "language": "de_DE", 41 | "version": "5.0", 42 | "updated": "2016-04-22 23:22:42", 43 | "package": "http://example.com/updates/translations/german-language-pack.zip" 44 | } 45 | ], 46 | 47 | "rating": 90, 48 | "num_ratings": 123, 49 | 50 | "downloaded": 1234, 51 | "active_installs": 12345 52 | } -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/examples/theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "details_url": "http://example.com/version-2.0-details.html", 4 | "download_url": "http://example.com/example-theme-2.0.zip" 5 | } -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/js/debug-bar.js: -------------------------------------------------------------------------------- 1 | jQuery(function($) { 2 | 3 | function runAjaxAction(button, action) { 4 | button = $(button); 5 | var panel = button.closest('.puc-debug-bar-panel-v4'); 6 | var responseBox = button.closest('td').find('.puc-ajax-response'); 7 | 8 | responseBox.text('Processing...').show(); 9 | $.post( 10 | ajaxurl, 11 | { 12 | action : action, 13 | uid : panel.data('uid'), 14 | _wpnonce: panel.data('nonce') 15 | }, 16 | function(data) { 17 | responseBox.html(data); 18 | }, 19 | 'html' 20 | ); 21 | } 22 | 23 | $('.puc-debug-bar-panel-v4 input[name="puc-check-now-button"]').click(function() { 24 | runAjaxAction(this, 'puc_v4_debug_check_now'); 25 | return false; 26 | }); 27 | 28 | $('.puc-debug-bar-panel-v4 input[name="puc-request-info-button"]').click(function() { 29 | runAjaxAction(this, 'puc_v4_debug_request_info'); 30 | return false; 31 | }); 32 | 33 | 34 | // Debug Bar uses the panel class name as part of its link and container IDs. This means we can 35 | // end up with multiple identical IDs if more than one plugin uses the update checker library. 36 | // Fix it by replacing the class name with the plugin slug. 37 | var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v4'); 38 | panels.each(function() { 39 | var panel = $(this); 40 | var uid = panel.data('uid'); 41 | var target = panel.closest('.debug-menu-target'); 42 | 43 | //Change the panel wrapper ID. 44 | target.attr('id', 'debug-menu-target-puc-' + uid); 45 | 46 | //Change the menu link ID as well and point it at the new target ID. 47 | $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid) 48 | .closest('.debug-menu-link') 49 | .attr('id', 'debug-menu-link-puc-' + uid) 50 | .attr('href', '#' + target.attr('id')); 51 | }); 52 | }); -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-ca.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-ca.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-ca.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2019-09-25 18:15+0200\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: ca\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprova si hi ha actualitzacions" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "L’extensió %s està actualitzada." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nova versió de l’extensió %s està disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No s’ha pogut determinar si hi ha actualitzacions per a %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estat del comprovador d’actualitzacions desconegut \"%s\"" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hi ha cap registre de canvis disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-cs_CZ.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "Report-Msgid-Bugs-To: \n" 5 | "POT-Creation-Date: 2017-05-20 10:53+0300\n" 6 | "PO-Revision-Date: 2017-07-05 15:39+0000\n" 7 | "Last-Translator: Vojtěch Sajdl \n" 8 | "Language-Team: Czech (Czech Republic)\n" 9 | "Language: cs-CZ\n" 10 | "Plural-Forms: nplurals=2; plural=(n != 1)\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "X-Loco-Source-Locale: cs_CZ\n" 15 | "X-Generator: Loco - https://localise.biz/\n" 16 | "X-Poedit-Basepath: ..\n" 17 | "X-Poedit-SourceCharset: UTF-8\n" 18 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 19 | "X-Poedit-SearchPath-0: .\n" 20 | "X-Loco-Parser: loco_parse_po" 21 | 22 | #: Puc/v4p1/Plugin/UpdateChecker.php:358 23 | msgid "Check for updates" 24 | msgstr "Zkontrolovat aktualizace" 25 | 26 | #: Puc/v4p1/Plugin/UpdateChecker.php:405 27 | #, php-format 28 | msgctxt "the plugin title" 29 | msgid "The %s plugin is up to date." 30 | msgstr "Plugin %s je aktuální." 31 | 32 | #: Puc/v4p1/Plugin/UpdateChecker.php:407 33 | #, php-format 34 | msgctxt "the plugin title" 35 | msgid "A new version of the %s plugin is available." 36 | msgstr "Nová verze pluginu %s je dostupná." 37 | 38 | #: Puc/v4p1/Plugin/UpdateChecker.php:409 39 | #, php-format 40 | msgid "Unknown update checker status \"%s\"" 41 | msgstr "Neznámý status kontroly aktualizací \"%s\"" 42 | 43 | #: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 44 | msgid "There is no changelog available." 45 | msgstr "Changelog není dostupný." 46 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-da_DK.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-da_DK.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-da_DK.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-05-20 10:53+0300\n" 5 | "PO-Revision-Date: 2017-10-17 11:07+0200\n" 6 | "Last-Translator: Mikk3lRo\n" 7 | "Language-Team: Mikk3lRo\n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "X-Generator: Poedit 2.0.4\n" 12 | "X-Poedit-Basepath: ..\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | "X-Poedit-SourceCharset: UTF-8\n" 15 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 16 | "Language: da_DK\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p1/Plugin/UpdateChecker.php:358 20 | msgid "Check for updates" 21 | msgstr "Undersøg for opdateringer" 22 | 23 | #: Puc/v4p1/Plugin/UpdateChecker.php:405 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "Plugin'et %s er allerede opdateret." 28 | 29 | #: Puc/v4p1/Plugin/UpdateChecker.php:407 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "En ny version af plugin'et %s er tilgængelig." 34 | 35 | #: Puc/v4p1/Plugin/UpdateChecker.php:409 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Ukendt opdateringsstatus: \"%s\"" 39 | 40 | #: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 41 | msgid "There is no changelog available." 42 | msgstr "Der er ingen ændringslog tilgængelig." 43 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-de_DE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-de_DE.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-de_DE.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2016-06-29 20:21+0100\n" 5 | "PO-Revision-Date: 2016-06-29 20:23+0100\n" 6 | "Last-Translator: Igor Lückel \n" 7 | "Language-Team: \n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "X-Generator: Poedit 1.8.1\n" 12 | "X-Poedit-Basepath: ..\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | "X-Poedit-SourceCharset: UTF-8\n" 15 | "X-Poedit-KeywordsList: __;_e\n" 16 | "Language: de_DE\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: github-checker.php:137 20 | msgid "There is no changelog available." 21 | msgstr "Es ist keine Liste von Programmänderungen verfügbar." 22 | 23 | #: plugin-update-checker.php:852 24 | msgid "Check for updates" 25 | msgstr "Nach Update suchen" 26 | 27 | #: plugin-update-checker.php:896 28 | msgid "This plugin is up to date." 29 | msgstr "Das Plugin ist aktuell." 30 | 31 | #: plugin-update-checker.php:898 32 | msgid "A new version of this plugin is available." 33 | msgstr "Es ist eine neue Version für das Plugin verfügbar." 34 | 35 | #: plugin-update-checker.php:900 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Unbekannter Update Status \"%s\"" 39 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_AR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_AR.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_AR.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:13-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CL.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CL.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:14-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CO.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CO.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:14-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CR.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_CR.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:14-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_DO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_DO.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_DO.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:14-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_ES.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_ES.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 14:56-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_GT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_GT.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_GT.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:14-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_HN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_HN.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_HN.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:14-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_MX.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_MX.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_MX.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 14:57-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_PE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_PE.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_PE.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:15-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_PR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_PR.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_PR.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:15-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_UY.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_UY.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_UY.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 15:15-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_VE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_VE.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-es_VE.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-03-21 14:57-0400\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: es_ES\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Comprobar si hay actualizaciones" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "El plugin %s está actualizado." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Una nueva versión del %s plugin está disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Estado del comprobador de actualización desconocido «%s»" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "No hay un registro de cambios disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fa_IR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fa_IR.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fa_IR.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2016-02-17 14:21+0100\n" 5 | "PO-Revision-Date: 2016-10-28 14:30+0330\n" 6 | "Last-Translator: studio RVOLA \n" 7 | "Language-Team: Pro Style \n" 8 | "Language: fa_IR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.8\n" 13 | "X-Poedit-Basepath: ..\n" 14 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 15 | "X-Poedit-SourceCharset: UTF-8\n" 16 | "X-Poedit-KeywordsList: __;_e\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: github-checker.php:120 20 | msgid "There is no changelog available." 21 | msgstr "شرحی برای تغییرات یافت نشد" 22 | 23 | #: plugin-update-checker.php:637 24 | msgid "Check for updates" 25 | msgstr "بررسی برای بروزرسانی " 26 | 27 | #: plugin-update-checker.php:681 28 | msgid "This plugin is up to date." 29 | msgstr "شما از آخرین نسخه استفاده میکنید . به‌روز باشید" 30 | 31 | #: plugin-update-checker.php:683 32 | msgid "A new version of this plugin is available." 33 | msgstr "نسخه جدیدی برای افزونه ارائه شده است ." 34 | 35 | #: plugin-update-checker.php:685 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "وضعیت ناشناخته برای بروزرسانی \"%s\"" 39 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fr_CA.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2018-02-12 10:32-0500\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.0.4\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: Eric Gagnon \n" 16 | "Language: fr_CA\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Vérifier les mises à jour" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "L’extension %s est à jour." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Une nouvelle version de l’extension %s est disponible." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "Impossible de déterminer si une mise à jour est disponible pour \"%s\"" 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Un problème inconnu est survenu \"%s\"" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "Il n’y a aucun journal de mise à jour disponible." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-fr_FR.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-07-07 14:53+0200\n" 5 | "PO-Revision-Date: 2017-07-07 14:54+0200\n" 6 | "Language-Team: studio RVOLA \n" 7 | "Language: fr_FR\n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "X-Generator: Poedit 2.0.2\n" 12 | "X-Poedit-Basepath: ..\n" 13 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 14 | "X-Poedit-SourceCharset: UTF-8\n" 15 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 16 | "Last-Translator: Nicolas GEHIN\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p1/Plugin/UpdateChecker.php:358 20 | msgid "Check for updates" 21 | msgstr "Vérifier les mises à jour" 22 | 23 | #: Puc/v4p1/Plugin/UpdateChecker.php:405 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "L’extension %s est à jour." 28 | 29 | #: Puc/v4p1/Plugin/UpdateChecker.php:407 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Une nouvelle version de l’extension %s est disponible." 34 | 35 | #: Puc/v4p1/Plugin/UpdateChecker.php:409 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Un problème inconnu est survenu \"%s\"" 39 | 40 | #: Puc/v4p1/Vcs/PluginUpdateChecker.php:85 41 | msgid "There is no changelog available." 42 | msgstr "Il n’y a aucun journal de mise à jour disponible." 43 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-hu_HU.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2016-01-11 21:23+0100\n" 5 | "PO-Revision-Date: 2016-01-11 21:25+0100\n" 6 | "Last-Translator: Tamás András Horváth \n" 7 | "Language-Team: \n" 8 | "Language: hu_HU\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.6\n" 13 | "X-Poedit-Basepath: ..\n" 14 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 15 | "X-Poedit-SourceCharset: UTF-8\n" 16 | "X-Poedit-KeywordsList: __;_e\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: github-checker.php:137 20 | msgid "There is no changelog available." 21 | msgstr "Nem érhető el a changelog." 22 | 23 | #: plugin-update-checker.php:852 24 | msgid "Check for updates" 25 | msgstr "Frissítés ellenőrzése" 26 | 27 | #: plugin-update-checker.php:896 28 | msgid "This plugin is up to date." 29 | msgstr "Ez a plugin naprakész." 30 | 31 | #: plugin-update-checker.php:898 32 | msgid "A new version of this plugin is available." 33 | msgstr "Új verzió érhető el a kiegészítőhöz" 34 | 35 | #: plugin-update-checker.php:900 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Ismeretlen a frissítés ellenőrző státusza \"%s\"" 39 | 40 | #~ msgid "Every %d hours" 41 | #~ msgstr "Minden %d órában" 42 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-it_IT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-it_IT.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-it_IT.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2016-06-29 20:21+0100\n" 5 | "PO-Revision-Date: 2017-01-15 12:24+0100\n" 6 | "Last-Translator: Igor Lückel \n" 7 | "Language-Team: \n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "X-Generator: Poedit 1.5.5\n" 12 | "X-Poedit-Basepath: ..\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | "X-Poedit-SourceCharset: UTF-8\n" 15 | "X-Poedit-KeywordsList: __;_e\n" 16 | "Language: de_DE\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: github-checker.php:137 20 | msgid "There is no changelog available." 21 | msgstr "Non c'è alcuna sezione di aggiornamento disponibile" 22 | 23 | #: plugin-update-checker.php:852 24 | msgid "Check for updates" 25 | msgstr "Verifica aggiornamenti" 26 | 27 | #: plugin-update-checker.php:896 28 | msgid "This plugin is up to date." 29 | msgstr "Il plugin è aggiornato" 30 | 31 | #: plugin-update-checker.php:898 32 | msgid "A new version of this plugin is available." 33 | msgstr "Una nuova versione del plugin è disponibile" 34 | 35 | #: plugin-update-checker.php:900 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Si è verificato un problema sconosciuto \"%s\"" 39 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-ja.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-ja.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-ja.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: 2019-07-15 17:07+0900\n" 5 | "PO-Revision-Date: 2019-07-15 17:12+0900\n" 6 | "Last-Translator: tak \n" 7 | "Language-Team: \n" 8 | "Language: ja_JP\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.2.3\n" 13 | "X-Poedit-Basepath: ../../../../../../Applications/XAMPP/xamppfiles/htdocs/" 14 | "kisagai/wordpress/wp-content/plugins/simple-stripe-gateway/Puc\n" 15 | "Plural-Forms: nplurals=1; plural=0;\n" 16 | "X-Poedit-KeywordsList: __;_x:1,2c\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: v4p7/Plugin/Ui.php:54 20 | msgid "View details" 21 | msgstr "詳細を表示" 22 | 23 | #: v4p7/Plugin/Ui.php:77 24 | #, php-format 25 | msgid "More information about %s" 26 | msgstr "%sについての詳細" 27 | 28 | #: v4p7/Plugin/Ui.php:128 29 | msgid "Check for updates" 30 | msgstr "アップデートを確認" 31 | 32 | #: v4p7/Plugin/Ui.php:213 33 | #, php-format 34 | msgctxt "the plugin title" 35 | msgid "The %s plugin is up to date." 36 | msgstr "%s プラグインは、最新バージョンです。" 37 | 38 | #: v4p7/Plugin/Ui.php:215 39 | #, php-format 40 | msgctxt "the plugin title" 41 | msgid "A new version of the %s plugin is available." 42 | msgstr "%s プラグインの最新バージョンがあります。" 43 | 44 | #: v4p7/Plugin/Ui.php:217 45 | #, php-format 46 | msgctxt "the plugin title" 47 | msgid "Could not determine if updates are available for %s." 48 | msgstr "%s のアップデートがあるかどうかを判断できませんでした。" 49 | 50 | #: v4p7/Plugin/Ui.php:223 51 | #, php-format 52 | msgid "Unknown update checker status \"%s\"" 53 | msgstr "バージョンアップの確認で想定外の状態になりました。ステータス:”%s”" 54 | 55 | #: v4p7/Vcs/PluginUpdateChecker.php:98 56 | msgid "There is no changelog available." 57 | msgstr "更新履歴はありません。" 58 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-nl_BE.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2018-03-25 18:15+0200\n" 5 | "PO-Revision-Date: 2018-03-25 18:32+0200\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 1.8.7.1\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: Frank Goossens \n" 16 | "Language: nl_BE\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Controleer op nieuwe versies" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "De meest recente %s versie is geïnstalleerd." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Er is een nieuwe versie van %s beschikbaar." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "Kon niet bepalen of er nieuwe versie van %s beschikbaar is." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Ongekende status bij controle op nieuwe versie: \"%s\"" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "Er is geen changelog beschikbaar." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-nl_NL.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2018-03-25 18:15+0200\n" 5 | "PO-Revision-Date: 2018-03-25 18:32+0200\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 1.8.7.1\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: Frank Goossens \n" 16 | "Language: nl_NL\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Controleer op nieuwe versies" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "De meest recente %s versie is geïnstalleerd." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Er is een nieuwe versie van %s beschikbaar." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "Kon niet bepalen of er nieuwe versie van %s beschikbaar is." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Ongekende status bij controle op nieuwe versie: \"%s\"" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "Er is geen changelog beschikbaar." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-pt_BR.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-05-19 15:41-0300\n" 5 | "PO-Revision-Date: 2017-05-19 15:42-0300\n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: pt_BR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.8\n" 13 | "X-Poedit-Basepath: ..\n" 14 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 15 | "X-Poedit-SourceCharset: UTF-8\n" 16 | "X-Poedit-KeywordsList: __;_e;_x;_x:1,2c\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p1/Plugin/UpdateChecker.php:358 20 | msgid "Check for updates" 21 | msgstr "Verificar Atualizações" 22 | 23 | #: Puc/v4p1/Plugin/UpdateChecker.php:401 Puc/v4p1/Plugin/UpdateChecker.php:406 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "O plugin %s já está na sua versão mais recente." 28 | 29 | #: Puc/v4p1/Plugin/UpdateChecker.php:408 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Há uma nova versão para o plugin %s disponível para download." 34 | 35 | #: Puc/v4p1/Plugin/UpdateChecker.php:410 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Status \"%s\" desconhecido." 39 | 40 | #: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 41 | msgid "There is no changelog available." 42 | msgstr "Não há um changelog disponível." 43 | 44 | #~ msgid "The %s plugin is up to date." 45 | #~ msgstr "O plugin %s já está na sua versão mais recente." 46 | 47 | #~ msgid "A new version of the %s plugin is available." 48 | #~ msgstr "Há uma nova versão para o plugin %s disponível para download." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-sl_SI.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-sl_SI.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-sl_SI.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2018-10-27 20:36+0200\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.2\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n%100<=4 ? 2 : 3);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: Igor Funa\n" 16 | "Language: sl_SI\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "Preveri posodobitve" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "Vtičnik %s je že posodobljen." 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Nova različica vtičnika %s je na razpolago." 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "Ne morem ugotoviti če se za vtičnik %s na razpolago posodobitve." 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "Neznan status preverjanja posodobitev za \"%s\"" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "Dnevnik sprememb ni na razpolago." 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-sv_SE.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-05-20 10:53+0300\n" 5 | "PO-Revision-Date: 2017-10-16 15:02+0200\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.0.4\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: \n" 16 | "Language: sv_SE\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p1/Plugin/UpdateChecker.php:358 20 | msgid "Check for updates" 21 | msgstr "Sök efter uppdateringar" 22 | 23 | #: Puc/v4p1/Plugin/UpdateChecker.php:405 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "Tillägget %s är uppdaterat." 28 | 29 | #: Puc/v4p1/Plugin/UpdateChecker.php:407 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "Det finns en ny version av tillägget %s." 34 | 35 | #: Puc/v4p1/Plugin/UpdateChecker.php:409 36 | #, php-format 37 | msgid "Unknown update checker status \"%s\"" 38 | msgstr "Okänd status för kontroll av uppdatering “%s”" 39 | 40 | #: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 41 | msgid "There is no changelog available." 42 | msgstr "Det finns ingen ändringslogg tillgänglig." 43 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joppuyo/disable-drop-cap/4137364e78b33f22521c30781340a7c554b592cc/vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-zh_CN.mo -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker-zh_CN.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: plugin-update-checker\n" 4 | "POT-Creation-Date: 2017-11-24 17:02+0200\n" 5 | "PO-Revision-Date: 2020-08-04 08:10+0800\n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.4\n" 11 | "X-Poedit-Basepath: ..\n" 12 | "Plural-Forms: nplurals=1; plural=0;\n" 13 | "X-Poedit-SourceCharset: UTF-8\n" 14 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 15 | "Last-Translator: Seaton Jiang \n" 16 | "Language: zh_CN\n" 17 | "X-Poedit-SearchPath-0: .\n" 18 | 19 | #: Puc/v4p3/Plugin/UpdateChecker.php:395 20 | msgid "Check for updates" 21 | msgstr "检查更新" 22 | 23 | #: Puc/v4p3/Plugin/UpdateChecker.php:548 24 | #, php-format 25 | msgctxt "the plugin title" 26 | msgid "The %s plugin is up to date." 27 | msgstr "%s 目前是最新版本。" 28 | 29 | #: Puc/v4p3/Plugin/UpdateChecker.php:550 30 | #, php-format 31 | msgctxt "the plugin title" 32 | msgid "A new version of the %s plugin is available." 33 | msgstr "%s 当前有可用的更新。" 34 | 35 | #: Puc/v4p3/Plugin/UpdateChecker.php:552 36 | #, php-format 37 | msgctxt "the plugin title" 38 | msgid "Could not determine if updates are available for %s." 39 | msgstr "%s 无法确定是否有可用的更新。" 40 | 41 | #: Puc/v4p3/Plugin/UpdateChecker.php:558 42 | #, php-format 43 | msgid "Unknown update checker status \"%s\"" 44 | msgstr "未知的更新检查状态:%s" 45 | 46 | #: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 47 | msgid "There is no changelog available." 48 | msgstr "没有可用的更新日志。" 49 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/languages/plugin-update-checker.pot: -------------------------------------------------------------------------------- 1 | #, fuzzy 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: plugin-update-checker\n" 5 | "POT-Creation-Date: 2020-08-08 14:36+0300\n" 6 | "PO-Revision-Date: 2016-01-10 20:59+0100\n" 7 | "Last-Translator: Tamás András Horváth \n" 8 | "Language-Team: \n" 9 | "Language: en_US\n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "X-Generator: Poedit 2.4\n" 14 | "X-Poedit-Basepath: ..\n" 15 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 16 | "X-Poedit-SourceCharset: UTF-8\n" 17 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" 18 | "X-Poedit-SearchPath-0: .\n" 19 | 20 | #: Puc/v4p10/Plugin/Ui.php:128 21 | msgid "Check for updates" 22 | msgstr "" 23 | 24 | #: Puc/v4p10/Plugin/Ui.php:213 25 | #, php-format 26 | msgctxt "the plugin title" 27 | msgid "The %s plugin is up to date." 28 | msgstr "" 29 | 30 | #: Puc/v4p10/Plugin/Ui.php:215 31 | #, php-format 32 | msgctxt "the plugin title" 33 | msgid "A new version of the %s plugin is available." 34 | msgstr "" 35 | 36 | #: Puc/v4p10/Plugin/Ui.php:217 37 | #, php-format 38 | msgctxt "the plugin title" 39 | msgid "Could not determine if updates are available for %s." 40 | msgstr "" 41 | 42 | #: Puc/v4p10/Plugin/Ui.php:223 43 | #, php-format 44 | msgid "Unknown update checker status \"%s\"" 45 | msgstr "" 46 | 47 | #: Puc/v4p10/Vcs/PluginUpdateChecker.php:98 48 | msgid "There is no changelog available." 49 | msgstr "" 50 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Jānis Elsts 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/load-v4p10.php: -------------------------------------------------------------------------------- 1 | 'Puc_v4p10_Plugin_UpdateChecker', 12 | 'Theme_UpdateChecker' => 'Puc_v4p10_Theme_UpdateChecker', 13 | 14 | 'Vcs_PluginUpdateChecker' => 'Puc_v4p10_Vcs_PluginUpdateChecker', 15 | 'Vcs_ThemeUpdateChecker' => 'Puc_v4p10_Vcs_ThemeUpdateChecker', 16 | 17 | 'GitHubApi' => 'Puc_v4p10_Vcs_GitHubApi', 18 | 'BitBucketApi' => 'Puc_v4p10_Vcs_BitBucketApi', 19 | 'GitLabApi' => 'Puc_v4p10_Vcs_GitLabApi', 20 | ) 21 | as $pucGeneralClass => $pucVersionedClass 22 | ) { 23 | Puc_v4_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.10'); 24 | //Also add it to the minor-version factory in case the major-version factory 25 | //was already defined by another, older version of the update checker. 26 | Puc_v4p10_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.10'); 27 | } 28 | 29 | -------------------------------------------------------------------------------- /vendor/yahnis-elsts/plugin-update-checker/plugin-update-checker.php: -------------------------------------------------------------------------------- 1 | =') ) { 5 | require __DIR__ . '/ParsedownModern.php'; 6 | } else { 7 | require __DIR__ . '/ParsedownLegacy.php'; 8 | } 9 | } 10 | --------------------------------------------------------------------------------