Plugin Directory

Changeset 2887404


Ignore:
Timestamp:
03/27/2023 07:53:11 AM (3 years ago)
Author:
wearerequired
Message:

Update to version 3.0.0 from GitHub

Location:
wp-feed-post-thumbnail
Files:
8 added
22 edited
1 copied

Legend:

Unmodified
Added
Removed
  • wp-feed-post-thumbnail/tags/3.0.0/CHANGELOG.md

    r2082000 r2887404  
     1### 3.0.0 -2023-03-27 ###
     2* Enhancement: Add setting to disable adding Media RSS namespace.
     3* Fixed: Prevent errors when unchecking all settings.
     4* Changed: Requires at least PHP 7.4 and WordPress 6.0.
     5
     6### 2.1.2 - 2019-03-11 ###
     7* Enhancement: Minor code improvements.
     8* Enhancement: New filter `wp_feed_post_thumbnail_images` to list multiple images
     9* Changed: minimum PHP version 5.4 & minimum WP version 4.7
     10
     11### 2.1.1 - 2018-08-06 ###
     12* Fixed: Improved compatibility with Jetpack.
     13
    114### 2.1.0 -2017-01-26 ###
    215* Enhancement: Translations moved to https://translate.wordpress.org/projects/wp-plugins/wp-feed-post-thumbnail.
  • wp-feed-post-thumbnail/tags/3.0.0/classes/plugin.php

    r2048414 r2887404  
    11<?php
    2 
     2/**
     3 * Holds the main plugin class.
     4 */
     5
     6/**
     7 * Class WP_Feed_Post_Thumbnail_Plugin
     8 */
    39class WP_Feed_Post_Thumbnail_Plugin {
    4 
    5     /**
    6      * Plugin version.
    7      */
    8     const VERSION = '2.1.2';
    910
    1011    /**
     
    6970     */
    7071    public function add_feed_namespace() {
     72        $options = get_option( $this->plugin_slug . '_options' );
     73
     74        $disable_namespace = $options['disable_namespace'] ?? 0;
     75        if ( $disable_namespace ) {
     76            return;
     77        }
     78
    7179        echo 'xmlns:media="http://search.yahoo.com/mrss/" ';
    7280    }
     
    108116        $options = get_option( $this->plugin_slug . '_options' );
    109117
     118        $show_description = $options['description'] ?? 1;
     119        $show_author      = $options['author'] ?? 1;
     120
    110121        foreach ( $images as $image ) :
    111122            if ( ! $image instanceof WP_Post ) {
     
    178189                height="<?php echo absint( $img_attr[2] ); ?>">
    179190                <media:title type="plain">
    180                     <![CDATA[<?php echo sanitize_text_field( $title ); ?>]]>
     191                    <![CDATA[<?php echo sanitize_text_field( $title ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>]]>
    181192                </media:title>
    182193                <media:thumbnail
     
    184195                    width="<?php echo absint( $img_attr_thumb[1] ); ?>"
    185196                    height="<?php echo absint( $img_attr_thumb[2] ); ?>" />
    186                 <?php if ( isset( $options['description'] ) && $options['description'] && ! empty( $description ) ) : ?>
     197                <?php if ( $show_description && ! empty( $description ) ) : ?>
    187198                    <media:description type="plain"><![CDATA[<?php echo wp_kses_post( $description ); ?>]]></media:description>
    188199                <?php endif; ?>
    189                 <?php if ( isset( $options['author'] ) && $options['author'] && ! empty( $author ) ) : ?>
     200                <?php if ( $show_author && ! empty( $author ) ) : ?>
    190201                    <media:copyright><?php echo esc_html( $author ); ?></media:copyright>
    191202                <?php endif; ?>
     
    207218                'sanitize_callback' => [ $this, 'validate_settings' ],
    208219                'default'           => [
    209                     'author'      => true,
    210                     'description' => true,
     220                    'author'            => 1,
     221                    'description'       => 1,
     222                    'disable_namespace' => 0,
    211223                ],
    212224            ]
     
    236248        $options = get_option( $this->plugin_slug . '_options' );
    237249
    238         $description = '';
    239         $author      = '';
    240 
    241         if ( isset( $options['description'] ) ) {
    242             $description = $options['description'];
    243         }
    244 
    245         if ( isset( $options['author'] ) ) {
    246             $author = $options['author'];
    247         }
     250        $description       = $options['description'] ?? 1;
     251        $author            = $options['author'] ?? 1;
     252        $disable_namespace = $options['disable_namespace'] ?? 0;
    248253
    249254        ?>
    250255        <fieldset id="wp-feed-post-thumbnail">
    251256            <legend class="screen-reader-text"><span><?php _e( 'Feed Post Thumbnail', 'wp-feed-post-thumbnail' ); ?></span></legend>
     257            <p class="description">
     258                <?php
     259                printf(
     260                    /* translators: %s: 'media' */
     261                    __( 'Set attributes of the %s element in the feed.', 'wp-feed-post-thumbnail' ),
     262                    '<code>media</code>'
     263                );
     264                ?>
     265            </p>
    252266            <label for="<?php echo esc_attr( $this->plugin_slug . '_author' ); ?>">
    253267                <input type="checkbox" id="<?php echo esc_attr( $this->plugin_slug . '_author' ); ?>" name="<?php echo esc_attr( $this->plugin_slug . '_options[author]' ); ?>" value="1" <?php checked( 1, $author ); ?>>
     
    260274            </label>
    261275            <p class="description">
    262                 <?php
    263                 printf(
    264                     /* translators: %s: 'media' */
    265                     __( 'Set attributes of the %s element in the feed.', 'wp-feed-post-thumbnail' ),
    266                     '<code>media</code>'
    267                 );
    268                 ?>
     276                <?php _e( 'In case of a plugin conflict with duplicate Media RSS namespaces.', 'wp-feed-post-thumbnail' ); ?>
    269277            </p>
     278            <label for="<?php echo esc_attr( $this->plugin_slug . '_disable_namespace' ); ?>">
     279                <input type="checkbox" id="<?php echo esc_attr( $this->plugin_slug . '_disable_namespace' ); ?>" name="<?php echo esc_attr( $this->plugin_slug . '_options[disable_namespace]' ); ?>" value="1" <?php checked( 1, $disable_namespace ); ?>>
     280                <?php _e( 'Disable Media RSS namespace', 'wp-feed-post-thumbnail' ); ?>
     281            </label>
    270282        </fieldset>
    271283        <?php
     
    278290     *
    279291     * @param array $settings The changed plugin settings.
    280      *
    281292     * @return array
    282293     */
    283294    public function validate_settings( $settings ) {
    284         array_map( 'intval', $settings );
    285 
    286         return $settings;
     295        $new_settings = [];
     296
     297        $new_settings['author']            = empty( $settings['author'] ) ? 0 : 1;
     298        $new_settings['description']       = empty( $settings['description'] ) ? 0 : 1;
     299        $new_settings['disable_namespace'] = empty( $settings['disable_namespace'] ) ? 0 : 1;
     300
     301        return $new_settings;
    287302    }
    288303
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/autoload.php

    r2048414 r2887404  
    33// autoload.php @generated by Composer
    44
     5if (PHP_VERSION_ID < 50600) {
     6    if (!headers_sent()) {
     7        header('HTTP/1.1 500 Internal Server Error');
     8    }
     9    $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
     10    if (!ini_get('display_errors')) {
     11        if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
     12            fwrite(STDERR, $err);
     13        } elseif (!headers_sent()) {
     14            echo $err;
     15        }
     16    }
     17    trigger_error(
     18        $err,
     19        E_USER_ERROR
     20    );
     21}
     22
    523require_once __DIR__ . '/composer/autoload_real.php';
    624
    7 return ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e::getLoader();
     25return ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5::getLoader();
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/ClassLoader.php

    r2048414 r2887404  
    3838 * @author Fabien Potencier <fabien@symfony.com>
    3939 * @author Jordi Boggiano <j.boggiano@seld.be>
    40  * @see    http://www.php-fig.org/psr/psr-0/
    41  * @see    http://www.php-fig.org/psr/psr-4/
     40 * @see    https://www.php-fig.org/psr/psr-0/
     41 * @see    https://www.php-fig.org/psr/psr-4/
    4242 */
    4343class ClassLoader
    4444{
     45    /** @var \Closure(string):void */
     46    private static $includeFile;
     47
     48    /** @var ?string */
     49    private $vendorDir;
     50
    4551    // PSR-4
     52    /**
     53     * @var array[]
     54     * @psalm-var array<string, array<string, int>>
     55     */
    4656    private $prefixLengthsPsr4 = array();
     57    /**
     58     * @var array[]
     59     * @psalm-var array<string, array<int, string>>
     60     */
    4761    private $prefixDirsPsr4 = array();
     62    /**
     63     * @var array[]
     64     * @psalm-var array<string, string>
     65     */
    4866    private $fallbackDirsPsr4 = array();
    4967
    5068    // PSR-0
     69    /**
     70     * @var array[]
     71     * @psalm-var array<string, array<string, string[]>>
     72     */
    5173    private $prefixesPsr0 = array();
     74    /**
     75     * @var array[]
     76     * @psalm-var array<string, string>
     77     */
    5278    private $fallbackDirsPsr0 = array();
    5379
     80    /** @var bool */
    5481    private $useIncludePath = false;
     82
     83    /**
     84     * @var string[]
     85     * @psalm-var array<string, string>
     86     */
    5587    private $classMap = array();
     88
     89    /** @var bool */
    5690    private $classMapAuthoritative = false;
     91
     92    /**
     93     * @var bool[]
     94     * @psalm-var array<string, bool>
     95     */
    5796    private $missingClasses = array();
     97
     98    /** @var ?string */
    5899    private $apcuPrefix;
    59100
     101    /**
     102     * @var self[]
     103     */
     104    private static $registeredLoaders = array();
     105
     106    /**
     107     * @param ?string $vendorDir
     108     */
     109    public function __construct($vendorDir = null)
     110    {
     111        $this->vendorDir = $vendorDir;
     112        self::initializeIncludeClosure();
     113    }
     114
     115    /**
     116     * @return string[]
     117     */
    60118    public function getPrefixes()
    61119    {
    62120        if (!empty($this->prefixesPsr0)) {
    63             return call_user_func_array('array_merge', $this->prefixesPsr0);
     121            return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
    64122        }
    65123
     
    67125    }
    68126
     127    /**
     128     * @return array[]
     129     * @psalm-return array<string, array<int, string>>
     130     */
    69131    public function getPrefixesPsr4()
    70132    {
     
    72134    }
    73135
     136    /**
     137     * @return array[]
     138     * @psalm-return array<string, string>
     139     */
    74140    public function getFallbackDirs()
    75141    {
     
    77143    }
    78144
     145    /**
     146     * @return array[]
     147     * @psalm-return array<string, string>
     148     */
    79149    public function getFallbackDirsPsr4()
    80150    {
     
    82152    }
    83153
     154    /**
     155     * @return string[] Array of classname => path
     156     * @psalm-return array<string, string>
     157     */
    84158    public function getClassMap()
    85159    {
     
    88162
    89163    /**
    90      * @param array $classMap Class to filename map
     164     * @param string[] $classMap Class to filename map
     165     * @psalm-param array<string, string> $classMap
     166     *
     167     * @return void
    91168     */
    92169    public function addClassMap(array $classMap)
     
    103180     * appending or prepending to the ones previously set for this prefix.
    104181     *
    105      * @param string       $prefix  The prefix
    106      * @param array|string $paths   The PSR-0 root directories
    107      * @param bool         $prepend Whether to prepend the directories
     182     * @param string          $prefix  The prefix
     183     * @param string[]|string $paths   The PSR-0 root directories
     184     * @param bool            $prepend Whether to prepend the directories
     185     *
     186     * @return void
    108187     */
    109188    public function add($prefix, $paths, $prepend = false)
     
    148227     * appending or prepending to the ones previously set for this namespace.
    149228     *
    150      * @param string       $prefix  The prefix/namespace, with trailing '\\'
    151      * @param array|string $paths   The PSR-4 base directories
    152      * @param bool         $prepend Whether to prepend the directories
     229     * @param string          $prefix  The prefix/namespace, with trailing '\\'
     230     * @param string[]|string $paths   The PSR-4 base directories
     231     * @param bool            $prepend Whether to prepend the directories
    153232     *
    154233     * @throws \InvalidArgumentException
     234     *
     235     * @return void
    155236     */
    156237    public function addPsr4($prefix, $paths, $prepend = false)
     
    196277     * replacing any others previously set for this prefix.
    197278     *
    198      * @param string       $prefix The prefix
    199      * @param array|string $paths  The PSR-0 base directories
     279     * @param string          $prefix The prefix
     280     * @param string[]|string $paths  The PSR-0 base directories
     281     *
     282     * @return void
    200283     */
    201284    public function set($prefix, $paths)
     
    212295     * replacing any others previously set for this namespace.
    213296     *
    214      * @param string       $prefix The prefix/namespace, with trailing '\\'
    215      * @param array|string $paths  The PSR-4 base directories
     297     * @param string          $prefix The prefix/namespace, with trailing '\\'
     298     * @param string[]|string $paths  The PSR-4 base directories
    216299     *
    217300     * @throws \InvalidArgumentException
     301     *
     302     * @return void
    218303     */
    219304    public function setPsr4($prefix, $paths)
     
    235320     *
    236321     * @param bool $useIncludePath
     322     *
     323     * @return void
    237324     */
    238325    public function setUseIncludePath($useIncludePath)
     
    257344     *
    258345     * @param bool $classMapAuthoritative
     346     *
     347     * @return void
    259348     */
    260349    public function setClassMapAuthoritative($classMapAuthoritative)
     
    277366     *
    278367     * @param string|null $apcuPrefix
     368     *
     369     * @return void
    279370     */
    280371    public function setApcuPrefix($apcuPrefix)
     
    297388     *
    298389     * @param bool $prepend Whether to prepend the autoloader or not
     390     *
     391     * @return void
    299392     */
    300393    public function register($prepend = false)
    301394    {
    302395        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
     396
     397        if (null === $this->vendorDir) {
     398            return;
     399        }
     400
     401        if ($prepend) {
     402            self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
     403        } else {
     404            unset(self::$registeredLoaders[$this->vendorDir]);
     405            self::$registeredLoaders[$this->vendorDir] = $this;
     406        }
    303407    }
    304408
    305409    /**
    306410     * Unregisters this instance as an autoloader.
     411     *
     412     * @return void
    307413     */
    308414    public function unregister()
    309415    {
    310416        spl_autoload_unregister(array($this, 'loadClass'));
     417
     418        if (null !== $this->vendorDir) {
     419            unset(self::$registeredLoaders[$this->vendorDir]);
     420        }
    311421    }
    312422
     
    315425     *
    316426     * @param  string    $class The name of the class
    317      * @return bool|null True if loaded, null otherwise
     427     * @return true|null True if loaded, null otherwise
    318428     */
    319429    public function loadClass($class)
    320430    {
    321431        if ($file = $this->findFile($class)) {
    322             includeFile($file);
     432            $includeFile = self::$includeFile;
     433            $includeFile($file);
    323434
    324435            return true;
    325436        }
     437
     438        return null;
    326439    }
    327440
     
    368481    }
    369482
     483    /**
     484     * Returns the currently registered loaders indexed by their corresponding vendor directories.
     485     *
     486     * @return self[]
     487     */
     488    public static function getRegisteredLoaders()
     489    {
     490        return self::$registeredLoaders;
     491    }
     492
     493    /**
     494     * @param  string       $class
     495     * @param  string       $ext
     496     * @return string|false
     497     */
    370498    private function findFileWithExtension($class, $ext)
    371499    {
     
    433561        return false;
    434562    }
     563
     564    /**
     565     * @return void
     566     */
     567    private static function initializeIncludeClosure()
     568    {
     569        if (self::$includeFile !== null) {
     570            return;
     571        }
     572
     573        /**
     574         * Scope isolated include.
     575         *
     576         * Prevents access to $this/self from included files.
     577         *
     578         * @param  string $file
     579         * @return void
     580         */
     581        self::$includeFile = \Closure::bind(static function($file) {
     582            include $file;
     583        }, null, null);
     584    }
    435585}
    436 
    437 /**
    438  * Scope isolated include.
    439  *
    440  * Prevents access to $this/self from included files.
    441  */
    442 function includeFile($file)
    443 {
    444     include $file;
    445 }
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/autoload_classmap.php

    r1920296 r2887404  
    33// autoload_classmap.php @generated by Composer
    44
    5 $vendorDir = dirname(dirname(__FILE__));
     5$vendorDir = dirname(__DIR__);
    66$baseDir = dirname($vendorDir);
    77
    88return array(
     9    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    910    'WP_Requirements_Check' => $vendorDir . '/wearerequired/wp-requirements-check/WP_Requirements_Check.php',
    1011);
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/autoload_namespaces.php

    r1920296 r2887404  
    33// autoload_namespaces.php @generated by Composer
    44
    5 $vendorDir = dirname(dirname(__FILE__));
     5$vendorDir = dirname(__DIR__);
    66$baseDir = dirname($vendorDir);
    77
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/autoload_psr4.php

    r1920296 r2887404  
    33// autoload_psr4.php @generated by Composer
    44
    5 $vendorDir = dirname(dirname(__FILE__));
     5$vendorDir = dirname(__DIR__);
    66$baseDir = dirname($vendorDir);
    77
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/autoload_real.php

    r2048414 r2887404  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e
     5class ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5
    66{
    77    private static $loader;
     
    1414    }
    1515
     16    /**
     17     * @return \Composer\Autoload\ClassLoader
     18     */
    1619    public static function getLoader()
    1720    {
     
    2023        }
    2124
    22         spl_autoload_register(array('ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e', 'loadClassLoader'), true, true);
    23         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
    24         spl_autoload_unregister(array('ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e', 'loadClassLoader'));
     25        spl_autoload_register(array('ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5', 'loadClassLoader'), true, true);
     26        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
     27        spl_autoload_unregister(array('ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5', 'loadClassLoader'));
    2528
    26         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
    27         if ($useStaticLoader) {
    28             require_once __DIR__ . '/autoload_static.php';
    29 
    30             call_user_func(\Composer\Autoload\ComposerStaticInit7f3c69d721ce6b869b669b4e48d2b10e::getInitializer($loader));
    31         } else {
    32             $map = require __DIR__ . '/autoload_namespaces.php';
    33             foreach ($map as $namespace => $path) {
    34                 $loader->set($namespace, $path);
    35             }
    36 
    37             $map = require __DIR__ . '/autoload_psr4.php';
    38             foreach ($map as $namespace => $path) {
    39                 $loader->setPsr4($namespace, $path);
    40             }
    41 
    42             $classMap = require __DIR__ . '/autoload_classmap.php';
    43             if ($classMap) {
    44                 $loader->addClassMap($classMap);
    45             }
    46         }
     29        require __DIR__ . '/autoload_static.php';
     30        call_user_func(\Composer\Autoload\ComposerStaticInit217c16ae69ee58d9eedea76cdc185ee5::getInitializer($loader));
    4731
    4832        $loader->register(true);
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/autoload_static.php

    r2048414 r2887404  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit7f3c69d721ce6b869b669b4e48d2b10e
     7class ComposerStaticInit217c16ae69ee58d9eedea76cdc185ee5
    88{
    99    public static $classMap = array (
     10        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    1011        'WP_Requirements_Check' => __DIR__ . '/..' . '/wearerequired/wp-requirements-check/WP_Requirements_Check.php',
    1112    );
     
    1415    {
    1516        return \Closure::bind(function () use ($loader) {
    16             $loader->classMap = ComposerStaticInit7f3c69d721ce6b869b669b4e48d2b10e::$classMap;
     17            $loader->classMap = ComposerStaticInit217c16ae69ee58d9eedea76cdc185ee5::$classMap;
    1718
    1819        }, null, ClassLoader::class);
  • wp-feed-post-thumbnail/tags/3.0.0/vendor/composer/installed.json

    r2048414 r2887404  
    1 [
    2     {
    3         "name": "wearerequired/wp-requirements-check",
    4         "version": "1.1.0",
    5         "version_normalized": "1.1.0.0",
    6         "source": {
    7             "type": "git",
    8             "url": "https://github.com/wearerequired/wp-requirements-check.git",
    9             "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812"
    10         },
    11         "dist": {
    12             "type": "zip",
    13             "url": "https://api.github.com/repos/wearerequired/wp-requirements-check/zipball/82b8a6c4b953f59e7e534df2d4287e34af950812",
    14             "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812",
    15             "shasum": ""
    16         },
    17         "time": "2019-03-11T11:11:33+00:00",
    18         "type": "library",
    19         "installation-source": "dist",
    20         "autoload": {
    21             "classmap": [
    22                 "WP_Requirements_Check.php"
    23             ]
    24         },
    25         "notification-url": "https://packagist.org/downloads/",
    26         "license": [
    27             "GPL-2.0+"
    28         ],
    29         "authors": [
    30             {
    31                 "name": "Pascal Birchler",
    32                 "email": "pascal@required.ch",
    33                 "role": "Developer"
     1{
     2    "packages": [
     3        {
     4            "name": "wearerequired/wp-requirements-check",
     5            "version": "1.1.0",
     6            "version_normalized": "1.1.0.0",
     7            "source": {
     8                "type": "git",
     9                "url": "https://github.com/wearerequired/wp-requirements-check.git",
     10                "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812"
    3411            },
    35             {
    36                 "name": "required",
    37                 "email": "support@required.ch",
    38                 "homepage": "https://required.com",
    39                 "role": "Company"
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/wearerequired/wp-requirements-check/zipball/82b8a6c4b953f59e7e534df2d4287e34af950812",
     15                "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812",
     16                "shasum": ""
    4017            },
    41             {
    42                 "name": "Ulrich Pogson",
    43                 "email": "ulrich@required.ch",
    44                 "role": "Developer"
    45             }
    46         ],
    47         "description": "Simple requirements checking class",
    48         "keywords": [
    49             "requirements",
    50             "wordpress"
    51         ]
    52     }
    53 ]
     18            "time": "2019-03-11T11:11:33+00:00",
     19            "type": "library",
     20            "installation-source": "dist",
     21            "autoload": {
     22                "classmap": [
     23                    "WP_Requirements_Check.php"
     24                ]
     25            },
     26            "notification-url": "https://packagist.org/downloads/",
     27            "license": [
     28                "GPL-2.0+"
     29            ],
     30            "authors": [
     31                {
     32                    "name": "Pascal Birchler",
     33                    "email": "pascal@required.ch",
     34                    "role": "Developer"
     35                },
     36                {
     37                    "name": "required",
     38                    "email": "support@required.ch",
     39                    "homepage": "https://required.com",
     40                    "role": "Company"
     41                },
     42                {
     43                    "name": "Ulrich Pogson",
     44                    "email": "ulrich@required.ch",
     45                    "role": "Developer"
     46                }
     47            ],
     48            "description": "Simple requirements checking class",
     49            "keywords": [
     50                "requirements",
     51                "wordpress"
     52            ],
     53            "support": {
     54                "issues": "https://github.com/wearerequired/wp-requirements-check/issues",
     55                "source": "https://github.com/wearerequired/wp-requirements-check/tree/master"
     56            },
     57            "install-path": "../wearerequired/wp-requirements-check"
     58        }
     59    ],
     60    "dev": false,
     61    "dev-package-names": []
     62}
  • wp-feed-post-thumbnail/tags/3.0.0/wp-feed-post-thumbnail.php

    r2048414 r2887404  
    11<?php
    22/**
    3  * Plugin Name: Feed Post Thumbnail
    4  * Plugin URI:  https://required.com/services/wordpress-plugins/wp-feed-post-thumbnail/
    5  * Description: Adds MRSS namespace to the feed and uses post-thumbnail as media element in the feed. Settings available under Settings -> Reading.
    6  * Version:     2.1.2
    7  * Author:      required
    8  * Author URI:  https://required.com
    9  * License:     GPLv2+
    10  * Text Domain: wp-feed-post-thumbnail
     3 * Plugin Name:       Feed Post Thumbnail
     4 * Plugin URI:        https://required.com/services/wordpress-plugins/wp-feed-post-thumbnail/
     5 * Description:       Adds MRSS namespace to the feed and uses post-thumbnail as media element in the feed. Settings available under Settings -> Reading.
     6 * Version:           3.0.0
     7 * Requires at least: 6.0
     8 * Requires PHP:      7.4
     9 * Author:            required
     10 * Author URI:        https://required.com
     11 * License:           GPLv2+
     12 * Text Domain:       wp-feed-post-thumbnail
    1113 *
    12  * Copyright (c) 2015-2017 required (email: support@required.ch)
     14 * Copyright (c) 2015-2023 required (email: support@required.ch)
    1315 *
    1416 * This program is free software; you can redistribute it and/or modify
     
    3739    array(
    3840        'title' => 'Feed Post Thumbnail',
    39         'php'   => '5.4',
    40         'wp'    => '4.7',
     41        'php'   => '7.4',
     42        'wp'    => '6.0',
    4143        'file'  => __FILE__,
    4244    )
  • wp-feed-post-thumbnail/trunk/CHANGELOG.md

    r2082000 r2887404  
     1### 3.0.0 -2023-03-27 ###
     2* Enhancement: Add setting to disable adding Media RSS namespace.
     3* Fixed: Prevent errors when unchecking all settings.
     4* Changed: Requires at least PHP 7.4 and WordPress 6.0.
     5
     6### 2.1.2 - 2019-03-11 ###
     7* Enhancement: Minor code improvements.
     8* Enhancement: New filter `wp_feed_post_thumbnail_images` to list multiple images
     9* Changed: minimum PHP version 5.4 & minimum WP version 4.7
     10
     11### 2.1.1 - 2018-08-06 ###
     12* Fixed: Improved compatibility with Jetpack.
     13
    114### 2.1.0 -2017-01-26 ###
    215* Enhancement: Translations moved to https://translate.wordpress.org/projects/wp-plugins/wp-feed-post-thumbnail.
  • wp-feed-post-thumbnail/trunk/classes/plugin.php

    r2048414 r2887404  
    11<?php
    2 
     2/**
     3 * Holds the main plugin class.
     4 */
     5
     6/**
     7 * Class WP_Feed_Post_Thumbnail_Plugin
     8 */
    39class WP_Feed_Post_Thumbnail_Plugin {
    4 
    5     /**
    6      * Plugin version.
    7      */
    8     const VERSION = '2.1.2';
    910
    1011    /**
     
    6970     */
    7071    public function add_feed_namespace() {
     72        $options = get_option( $this->plugin_slug . '_options' );
     73
     74        $disable_namespace = $options['disable_namespace'] ?? 0;
     75        if ( $disable_namespace ) {
     76            return;
     77        }
     78
    7179        echo 'xmlns:media="http://search.yahoo.com/mrss/" ';
    7280    }
     
    108116        $options = get_option( $this->plugin_slug . '_options' );
    109117
     118        $show_description = $options['description'] ?? 1;
     119        $show_author      = $options['author'] ?? 1;
     120
    110121        foreach ( $images as $image ) :
    111122            if ( ! $image instanceof WP_Post ) {
     
    178189                height="<?php echo absint( $img_attr[2] ); ?>">
    179190                <media:title type="plain">
    180                     <![CDATA[<?php echo sanitize_text_field( $title ); ?>]]>
     191                    <![CDATA[<?php echo sanitize_text_field( $title ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>]]>
    181192                </media:title>
    182193                <media:thumbnail
     
    184195                    width="<?php echo absint( $img_attr_thumb[1] ); ?>"
    185196                    height="<?php echo absint( $img_attr_thumb[2] ); ?>" />
    186                 <?php if ( isset( $options['description'] ) && $options['description'] && ! empty( $description ) ) : ?>
     197                <?php if ( $show_description && ! empty( $description ) ) : ?>
    187198                    <media:description type="plain"><![CDATA[<?php echo wp_kses_post( $description ); ?>]]></media:description>
    188199                <?php endif; ?>
    189                 <?php if ( isset( $options['author'] ) && $options['author'] && ! empty( $author ) ) : ?>
     200                <?php if ( $show_author && ! empty( $author ) ) : ?>
    190201                    <media:copyright><?php echo esc_html( $author ); ?></media:copyright>
    191202                <?php endif; ?>
     
    207218                'sanitize_callback' => [ $this, 'validate_settings' ],
    208219                'default'           => [
    209                     'author'      => true,
    210                     'description' => true,
     220                    'author'            => 1,
     221                    'description'       => 1,
     222                    'disable_namespace' => 0,
    211223                ],
    212224            ]
     
    236248        $options = get_option( $this->plugin_slug . '_options' );
    237249
    238         $description = '';
    239         $author      = '';
    240 
    241         if ( isset( $options['description'] ) ) {
    242             $description = $options['description'];
    243         }
    244 
    245         if ( isset( $options['author'] ) ) {
    246             $author = $options['author'];
    247         }
     250        $description       = $options['description'] ?? 1;
     251        $author            = $options['author'] ?? 1;
     252        $disable_namespace = $options['disable_namespace'] ?? 0;
    248253
    249254        ?>
    250255        <fieldset id="wp-feed-post-thumbnail">
    251256            <legend class="screen-reader-text"><span><?php _e( 'Feed Post Thumbnail', 'wp-feed-post-thumbnail' ); ?></span></legend>
     257            <p class="description">
     258                <?php
     259                printf(
     260                    /* translators: %s: 'media' */
     261                    __( 'Set attributes of the %s element in the feed.', 'wp-feed-post-thumbnail' ),
     262                    '<code>media</code>'
     263                );
     264                ?>
     265            </p>
    252266            <label for="<?php echo esc_attr( $this->plugin_slug . '_author' ); ?>">
    253267                <input type="checkbox" id="<?php echo esc_attr( $this->plugin_slug . '_author' ); ?>" name="<?php echo esc_attr( $this->plugin_slug . '_options[author]' ); ?>" value="1" <?php checked( 1, $author ); ?>>
     
    260274            </label>
    261275            <p class="description">
    262                 <?php
    263                 printf(
    264                     /* translators: %s: 'media' */
    265                     __( 'Set attributes of the %s element in the feed.', 'wp-feed-post-thumbnail' ),
    266                     '<code>media</code>'
    267                 );
    268                 ?>
     276                <?php _e( 'In case of a plugin conflict with duplicate Media RSS namespaces.', 'wp-feed-post-thumbnail' ); ?>
    269277            </p>
     278            <label for="<?php echo esc_attr( $this->plugin_slug . '_disable_namespace' ); ?>">
     279                <input type="checkbox" id="<?php echo esc_attr( $this->plugin_slug . '_disable_namespace' ); ?>" name="<?php echo esc_attr( $this->plugin_slug . '_options[disable_namespace]' ); ?>" value="1" <?php checked( 1, $disable_namespace ); ?>>
     280                <?php _e( 'Disable Media RSS namespace', 'wp-feed-post-thumbnail' ); ?>
     281            </label>
    270282        </fieldset>
    271283        <?php
     
    278290     *
    279291     * @param array $settings The changed plugin settings.
    280      *
    281292     * @return array
    282293     */
    283294    public function validate_settings( $settings ) {
    284         array_map( 'intval', $settings );
    285 
    286         return $settings;
     295        $new_settings = [];
     296
     297        $new_settings['author']            = empty( $settings['author'] ) ? 0 : 1;
     298        $new_settings['description']       = empty( $settings['description'] ) ? 0 : 1;
     299        $new_settings['disable_namespace'] = empty( $settings['disable_namespace'] ) ? 0 : 1;
     300
     301        return $new_settings;
    287302    }
    288303
  • wp-feed-post-thumbnail/trunk/vendor/autoload.php

    r2048414 r2887404  
    33// autoload.php @generated by Composer
    44
     5if (PHP_VERSION_ID < 50600) {
     6    if (!headers_sent()) {
     7        header('HTTP/1.1 500 Internal Server Error');
     8    }
     9    $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
     10    if (!ini_get('display_errors')) {
     11        if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
     12            fwrite(STDERR, $err);
     13        } elseif (!headers_sent()) {
     14            echo $err;
     15        }
     16    }
     17    trigger_error(
     18        $err,
     19        E_USER_ERROR
     20    );
     21}
     22
    523require_once __DIR__ . '/composer/autoload_real.php';
    624
    7 return ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e::getLoader();
     25return ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5::getLoader();
  • wp-feed-post-thumbnail/trunk/vendor/composer/ClassLoader.php

    r2048414 r2887404  
    3838 * @author Fabien Potencier <fabien@symfony.com>
    3939 * @author Jordi Boggiano <j.boggiano@seld.be>
    40  * @see    http://www.php-fig.org/psr/psr-0/
    41  * @see    http://www.php-fig.org/psr/psr-4/
     40 * @see    https://www.php-fig.org/psr/psr-0/
     41 * @see    https://www.php-fig.org/psr/psr-4/
    4242 */
    4343class ClassLoader
    4444{
     45    /** @var \Closure(string):void */
     46    private static $includeFile;
     47
     48    /** @var ?string */
     49    private $vendorDir;
     50
    4551    // PSR-4
     52    /**
     53     * @var array[]
     54     * @psalm-var array<string, array<string, int>>
     55     */
    4656    private $prefixLengthsPsr4 = array();
     57    /**
     58     * @var array[]
     59     * @psalm-var array<string, array<int, string>>
     60     */
    4761    private $prefixDirsPsr4 = array();
     62    /**
     63     * @var array[]
     64     * @psalm-var array<string, string>
     65     */
    4866    private $fallbackDirsPsr4 = array();
    4967
    5068    // PSR-0
     69    /**
     70     * @var array[]
     71     * @psalm-var array<string, array<string, string[]>>
     72     */
    5173    private $prefixesPsr0 = array();
     74    /**
     75     * @var array[]
     76     * @psalm-var array<string, string>
     77     */
    5278    private $fallbackDirsPsr0 = array();
    5379
     80    /** @var bool */
    5481    private $useIncludePath = false;
     82
     83    /**
     84     * @var string[]
     85     * @psalm-var array<string, string>
     86     */
    5587    private $classMap = array();
     88
     89    /** @var bool */
    5690    private $classMapAuthoritative = false;
     91
     92    /**
     93     * @var bool[]
     94     * @psalm-var array<string, bool>
     95     */
    5796    private $missingClasses = array();
     97
     98    /** @var ?string */
    5899    private $apcuPrefix;
    59100
     101    /**
     102     * @var self[]
     103     */
     104    private static $registeredLoaders = array();
     105
     106    /**
     107     * @param ?string $vendorDir
     108     */
     109    public function __construct($vendorDir = null)
     110    {
     111        $this->vendorDir = $vendorDir;
     112        self::initializeIncludeClosure();
     113    }
     114
     115    /**
     116     * @return string[]
     117     */
    60118    public function getPrefixes()
    61119    {
    62120        if (!empty($this->prefixesPsr0)) {
    63             return call_user_func_array('array_merge', $this->prefixesPsr0);
     121            return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
    64122        }
    65123
     
    67125    }
    68126
     127    /**
     128     * @return array[]
     129     * @psalm-return array<string, array<int, string>>
     130     */
    69131    public function getPrefixesPsr4()
    70132    {
     
    72134    }
    73135
     136    /**
     137     * @return array[]
     138     * @psalm-return array<string, string>
     139     */
    74140    public function getFallbackDirs()
    75141    {
     
    77143    }
    78144
     145    /**
     146     * @return array[]
     147     * @psalm-return array<string, string>
     148     */
    79149    public function getFallbackDirsPsr4()
    80150    {
     
    82152    }
    83153
     154    /**
     155     * @return string[] Array of classname => path
     156     * @psalm-return array<string, string>
     157     */
    84158    public function getClassMap()
    85159    {
     
    88162
    89163    /**
    90      * @param array $classMap Class to filename map
     164     * @param string[] $classMap Class to filename map
     165     * @psalm-param array<string, string> $classMap
     166     *
     167     * @return void
    91168     */
    92169    public function addClassMap(array $classMap)
     
    103180     * appending or prepending to the ones previously set for this prefix.
    104181     *
    105      * @param string       $prefix  The prefix
    106      * @param array|string $paths   The PSR-0 root directories
    107      * @param bool         $prepend Whether to prepend the directories
     182     * @param string          $prefix  The prefix
     183     * @param string[]|string $paths   The PSR-0 root directories
     184     * @param bool            $prepend Whether to prepend the directories
     185     *
     186     * @return void
    108187     */
    109188    public function add($prefix, $paths, $prepend = false)
     
    148227     * appending or prepending to the ones previously set for this namespace.
    149228     *
    150      * @param string       $prefix  The prefix/namespace, with trailing '\\'
    151      * @param array|string $paths   The PSR-4 base directories
    152      * @param bool         $prepend Whether to prepend the directories
     229     * @param string          $prefix  The prefix/namespace, with trailing '\\'
     230     * @param string[]|string $paths   The PSR-4 base directories
     231     * @param bool            $prepend Whether to prepend the directories
    153232     *
    154233     * @throws \InvalidArgumentException
     234     *
     235     * @return void
    155236     */
    156237    public function addPsr4($prefix, $paths, $prepend = false)
     
    196277     * replacing any others previously set for this prefix.
    197278     *
    198      * @param string       $prefix The prefix
    199      * @param array|string $paths  The PSR-0 base directories
     279     * @param string          $prefix The prefix
     280     * @param string[]|string $paths  The PSR-0 base directories
     281     *
     282     * @return void
    200283     */
    201284    public function set($prefix, $paths)
     
    212295     * replacing any others previously set for this namespace.
    213296     *
    214      * @param string       $prefix The prefix/namespace, with trailing '\\'
    215      * @param array|string $paths  The PSR-4 base directories
     297     * @param string          $prefix The prefix/namespace, with trailing '\\'
     298     * @param string[]|string $paths  The PSR-4 base directories
    216299     *
    217300     * @throws \InvalidArgumentException
     301     *
     302     * @return void
    218303     */
    219304    public function setPsr4($prefix, $paths)
     
    235320     *
    236321     * @param bool $useIncludePath
     322     *
     323     * @return void
    237324     */
    238325    public function setUseIncludePath($useIncludePath)
     
    257344     *
    258345     * @param bool $classMapAuthoritative
     346     *
     347     * @return void
    259348     */
    260349    public function setClassMapAuthoritative($classMapAuthoritative)
     
    277366     *
    278367     * @param string|null $apcuPrefix
     368     *
     369     * @return void
    279370     */
    280371    public function setApcuPrefix($apcuPrefix)
     
    297388     *
    298389     * @param bool $prepend Whether to prepend the autoloader or not
     390     *
     391     * @return void
    299392     */
    300393    public function register($prepend = false)
    301394    {
    302395        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
     396
     397        if (null === $this->vendorDir) {
     398            return;
     399        }
     400
     401        if ($prepend) {
     402            self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
     403        } else {
     404            unset(self::$registeredLoaders[$this->vendorDir]);
     405            self::$registeredLoaders[$this->vendorDir] = $this;
     406        }
    303407    }
    304408
    305409    /**
    306410     * Unregisters this instance as an autoloader.
     411     *
     412     * @return void
    307413     */
    308414    public function unregister()
    309415    {
    310416        spl_autoload_unregister(array($this, 'loadClass'));
     417
     418        if (null !== $this->vendorDir) {
     419            unset(self::$registeredLoaders[$this->vendorDir]);
     420        }
    311421    }
    312422
     
    315425     *
    316426     * @param  string    $class The name of the class
    317      * @return bool|null True if loaded, null otherwise
     427     * @return true|null True if loaded, null otherwise
    318428     */
    319429    public function loadClass($class)
    320430    {
    321431        if ($file = $this->findFile($class)) {
    322             includeFile($file);
     432            $includeFile = self::$includeFile;
     433            $includeFile($file);
    323434
    324435            return true;
    325436        }
     437
     438        return null;
    326439    }
    327440
     
    368481    }
    369482
     483    /**
     484     * Returns the currently registered loaders indexed by their corresponding vendor directories.
     485     *
     486     * @return self[]
     487     */
     488    public static function getRegisteredLoaders()
     489    {
     490        return self::$registeredLoaders;
     491    }
     492
     493    /**
     494     * @param  string       $class
     495     * @param  string       $ext
     496     * @return string|false
     497     */
    370498    private function findFileWithExtension($class, $ext)
    371499    {
     
    433561        return false;
    434562    }
     563
     564    /**
     565     * @return void
     566     */
     567    private static function initializeIncludeClosure()
     568    {
     569        if (self::$includeFile !== null) {
     570            return;
     571        }
     572
     573        /**
     574         * Scope isolated include.
     575         *
     576         * Prevents access to $this/self from included files.
     577         *
     578         * @param  string $file
     579         * @return void
     580         */
     581        self::$includeFile = \Closure::bind(static function($file) {
     582            include $file;
     583        }, null, null);
     584    }
    435585}
    436 
    437 /**
    438  * Scope isolated include.
    439  *
    440  * Prevents access to $this/self from included files.
    441  */
    442 function includeFile($file)
    443 {
    444     include $file;
    445 }
  • wp-feed-post-thumbnail/trunk/vendor/composer/autoload_classmap.php

    r1920296 r2887404  
    33// autoload_classmap.php @generated by Composer
    44
    5 $vendorDir = dirname(dirname(__FILE__));
     5$vendorDir = dirname(__DIR__);
    66$baseDir = dirname($vendorDir);
    77
    88return array(
     9    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    910    'WP_Requirements_Check' => $vendorDir . '/wearerequired/wp-requirements-check/WP_Requirements_Check.php',
    1011);
  • wp-feed-post-thumbnail/trunk/vendor/composer/autoload_namespaces.php

    r1920296 r2887404  
    33// autoload_namespaces.php @generated by Composer
    44
    5 $vendorDir = dirname(dirname(__FILE__));
     5$vendorDir = dirname(__DIR__);
    66$baseDir = dirname($vendorDir);
    77
  • wp-feed-post-thumbnail/trunk/vendor/composer/autoload_psr4.php

    r1920296 r2887404  
    33// autoload_psr4.php @generated by Composer
    44
    5 $vendorDir = dirname(dirname(__FILE__));
     5$vendorDir = dirname(__DIR__);
    66$baseDir = dirname($vendorDir);
    77
  • wp-feed-post-thumbnail/trunk/vendor/composer/autoload_real.php

    r2048414 r2887404  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e
     5class ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5
    66{
    77    private static $loader;
     
    1414    }
    1515
     16    /**
     17     * @return \Composer\Autoload\ClassLoader
     18     */
    1619    public static function getLoader()
    1720    {
     
    2023        }
    2124
    22         spl_autoload_register(array('ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e', 'loadClassLoader'), true, true);
    23         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
    24         spl_autoload_unregister(array('ComposerAutoloaderInit7f3c69d721ce6b869b669b4e48d2b10e', 'loadClassLoader'));
     25        spl_autoload_register(array('ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5', 'loadClassLoader'), true, true);
     26        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
     27        spl_autoload_unregister(array('ComposerAutoloaderInit217c16ae69ee58d9eedea76cdc185ee5', 'loadClassLoader'));
    2528
    26         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
    27         if ($useStaticLoader) {
    28             require_once __DIR__ . '/autoload_static.php';
    29 
    30             call_user_func(\Composer\Autoload\ComposerStaticInit7f3c69d721ce6b869b669b4e48d2b10e::getInitializer($loader));
    31         } else {
    32             $map = require __DIR__ . '/autoload_namespaces.php';
    33             foreach ($map as $namespace => $path) {
    34                 $loader->set($namespace, $path);
    35             }
    36 
    37             $map = require __DIR__ . '/autoload_psr4.php';
    38             foreach ($map as $namespace => $path) {
    39                 $loader->setPsr4($namespace, $path);
    40             }
    41 
    42             $classMap = require __DIR__ . '/autoload_classmap.php';
    43             if ($classMap) {
    44                 $loader->addClassMap($classMap);
    45             }
    46         }
     29        require __DIR__ . '/autoload_static.php';
     30        call_user_func(\Composer\Autoload\ComposerStaticInit217c16ae69ee58d9eedea76cdc185ee5::getInitializer($loader));
    4731
    4832        $loader->register(true);
  • wp-feed-post-thumbnail/trunk/vendor/composer/autoload_static.php

    r2048414 r2887404  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit7f3c69d721ce6b869b669b4e48d2b10e
     7class ComposerStaticInit217c16ae69ee58d9eedea76cdc185ee5
    88{
    99    public static $classMap = array (
     10        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    1011        'WP_Requirements_Check' => __DIR__ . '/..' . '/wearerequired/wp-requirements-check/WP_Requirements_Check.php',
    1112    );
     
    1415    {
    1516        return \Closure::bind(function () use ($loader) {
    16             $loader->classMap = ComposerStaticInit7f3c69d721ce6b869b669b4e48d2b10e::$classMap;
     17            $loader->classMap = ComposerStaticInit217c16ae69ee58d9eedea76cdc185ee5::$classMap;
    1718
    1819        }, null, ClassLoader::class);
  • wp-feed-post-thumbnail/trunk/vendor/composer/installed.json

    r2048414 r2887404  
    1 [
    2     {
    3         "name": "wearerequired/wp-requirements-check",
    4         "version": "1.1.0",
    5         "version_normalized": "1.1.0.0",
    6         "source": {
    7             "type": "git",
    8             "url": "https://github.com/wearerequired/wp-requirements-check.git",
    9             "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812"
    10         },
    11         "dist": {
    12             "type": "zip",
    13             "url": "https://api.github.com/repos/wearerequired/wp-requirements-check/zipball/82b8a6c4b953f59e7e534df2d4287e34af950812",
    14             "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812",
    15             "shasum": ""
    16         },
    17         "time": "2019-03-11T11:11:33+00:00",
    18         "type": "library",
    19         "installation-source": "dist",
    20         "autoload": {
    21             "classmap": [
    22                 "WP_Requirements_Check.php"
    23             ]
    24         },
    25         "notification-url": "https://packagist.org/downloads/",
    26         "license": [
    27             "GPL-2.0+"
    28         ],
    29         "authors": [
    30             {
    31                 "name": "Pascal Birchler",
    32                 "email": "pascal@required.ch",
    33                 "role": "Developer"
     1{
     2    "packages": [
     3        {
     4            "name": "wearerequired/wp-requirements-check",
     5            "version": "1.1.0",
     6            "version_normalized": "1.1.0.0",
     7            "source": {
     8                "type": "git",
     9                "url": "https://github.com/wearerequired/wp-requirements-check.git",
     10                "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812"
    3411            },
    35             {
    36                 "name": "required",
    37                 "email": "support@required.ch",
    38                 "homepage": "https://required.com",
    39                 "role": "Company"
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/wearerequired/wp-requirements-check/zipball/82b8a6c4b953f59e7e534df2d4287e34af950812",
     15                "reference": "82b8a6c4b953f59e7e534df2d4287e34af950812",
     16                "shasum": ""
    4017            },
    41             {
    42                 "name": "Ulrich Pogson",
    43                 "email": "ulrich@required.ch",
    44                 "role": "Developer"
    45             }
    46         ],
    47         "description": "Simple requirements checking class",
    48         "keywords": [
    49             "requirements",
    50             "wordpress"
    51         ]
    52     }
    53 ]
     18            "time": "2019-03-11T11:11:33+00:00",
     19            "type": "library",
     20            "installation-source": "dist",
     21            "autoload": {
     22                "classmap": [
     23                    "WP_Requirements_Check.php"
     24                ]
     25            },
     26            "notification-url": "https://packagist.org/downloads/",
     27            "license": [
     28                "GPL-2.0+"
     29            ],
     30            "authors": [
     31                {
     32                    "name": "Pascal Birchler",
     33                    "email": "pascal@required.ch",
     34                    "role": "Developer"
     35                },
     36                {
     37                    "name": "required",
     38                    "email": "support@required.ch",
     39                    "homepage": "https://required.com",
     40                    "role": "Company"
     41                },
     42                {
     43                    "name": "Ulrich Pogson",
     44                    "email": "ulrich@required.ch",
     45                    "role": "Developer"
     46                }
     47            ],
     48            "description": "Simple requirements checking class",
     49            "keywords": [
     50                "requirements",
     51                "wordpress"
     52            ],
     53            "support": {
     54                "issues": "https://github.com/wearerequired/wp-requirements-check/issues",
     55                "source": "https://github.com/wearerequired/wp-requirements-check/tree/master"
     56            },
     57            "install-path": "../wearerequired/wp-requirements-check"
     58        }
     59    ],
     60    "dev": false,
     61    "dev-package-names": []
     62}
  • wp-feed-post-thumbnail/trunk/wp-feed-post-thumbnail.php

    r2048414 r2887404  
    11<?php
    22/**
    3  * Plugin Name: Feed Post Thumbnail
    4  * Plugin URI:  https://required.com/services/wordpress-plugins/wp-feed-post-thumbnail/
    5  * Description: Adds MRSS namespace to the feed and uses post-thumbnail as media element in the feed. Settings available under Settings -> Reading.
    6  * Version:     2.1.2
    7  * Author:      required
    8  * Author URI:  https://required.com
    9  * License:     GPLv2+
    10  * Text Domain: wp-feed-post-thumbnail
     3 * Plugin Name:       Feed Post Thumbnail
     4 * Plugin URI:        https://required.com/services/wordpress-plugins/wp-feed-post-thumbnail/
     5 * Description:       Adds MRSS namespace to the feed and uses post-thumbnail as media element in the feed. Settings available under Settings -> Reading.
     6 * Version:           3.0.0
     7 * Requires at least: 6.0
     8 * Requires PHP:      7.4
     9 * Author:            required
     10 * Author URI:        https://required.com
     11 * License:           GPLv2+
     12 * Text Domain:       wp-feed-post-thumbnail
    1113 *
    12  * Copyright (c) 2015-2017 required (email: support@required.ch)
     14 * Copyright (c) 2015-2023 required (email: support@required.ch)
    1315 *
    1416 * This program is free software; you can redistribute it and/or modify
     
    3739    array(
    3840        'title' => 'Feed Post Thumbnail',
    39         'php'   => '5.4',
    40         'wp'    => '4.7',
     41        'php'   => '7.4',
     42        'wp'    => '6.0',
    4143        'file'  => __FILE__,
    4244    )
Note: See TracChangeset for help on using the changeset viewer.