Plugin Directory

Changeset 2653130


Ignore:
Timestamp:
01/05/2022 01:31:02 PM (4 years ago)
Author:
FHOKE
Message:

Release v1.3.0

Location:
feed-by-fhoke/trunk
Files:
174 added
12 edited

Legend:

Unmodified
Added
Removed
  • feed-by-fhoke/trunk/FeedByFhoke.php

    r2618307 r2653130  
    1010    Plugin Name: Feed by Fhoke
    1111    Description: Allows connection to the Instagram API
    12     Version: 1.2.1
     12    Version: 1.3.0
    1313    Text Domain: feed-by-fhoke
    1414    Author: Fhoke
  • feed-by-fhoke/trunk/README.txt

    r2618307 r2653130  
    33Tags: feed by fhoke, fhoke, instagram feed, instagram photos, instagram posts
    44Requires at least: 5.0.0
    5 Tested up to: 5.8.1
     5Tested up to: 5.8.2
    66Stable tag: trunk
    77Requires PHP: 7.3.5
     
    3131
    3232== Changelog ==
     33
     34= 1.3.0 =
     35- Added new option to show images in different sizes.
    3336
    3437= 1.2.1 =
  • feed-by-fhoke/trunk/options.php

    r2613504 r2653130  
    5353 * @return string|array
    5454 */
    55 function fbf_get_setting($setting_name)
     55function fbf_get_setting($setting_name, $default = null)
    5656{
    5757    $settings = get_option('fbf_settings', []);
    5858
    59     return ($settings[$setting_name] ?? null);
     59    return ($settings[$setting_name] ?? $default);
    6060}
    6161
     
    8080    $auth_code           = fbf_get_setting('auth_code');
    8181    $access_token        = substr(get_transient('fbf_access_token'), 0, 12);
    82     $access_token_expiry = date(Feed::$date_format, strtotime(get_transient('fbf_access_token_expiry') . ' -' . Feed::$token_refresh_time)); ?>
     82    $access_token_expiry = date(Feed::$date_format, strtotime(get_transient('fbf_access_token_expiry') . ' -' . Feed::$token_refresh_time));
     83    $media_size          = fbf_get_setting('media_size', 'full'); ?>
    8384
    8485    <div class="fbf-container">
     
    180181                                    <th>
    181182                                        <label for="fbf-auth-code">
    182                                             <?php _e('Feed shows at most', 'feed-by-fhoke'); ?>
     183                                            <?php _e('Show at Most', 'feed-by-fhoke'); ?>
    183184                                        </label>
    184185                                    </th>
     
    203204                                            </select>
    204205                                        </label>
     206                                    </td>
     207                                </tr>
     208                                <tr>
     209                                    <th>
     210                                        <label for="fbf-auth-code">
     211                                            <?php _e('Image Size', 'feed-by-fhoke'); ?>
     212                                        </label>
     213                                    </th>
     214                                    <td>
     215                                        <select name="fbf_settings[media_size]">
     216                                            <option value="small" <?php selected($media_size, 'small'); ?>><?php _e('Small (150x150px)', 'feed-by-fhoke'); ?></option>
     217                                            <option value="medium" <?php selected($media_size, 'medium'); ?>><?php _e('Medium (320x320px)', 'feed-by-fhoke'); ?></option>
     218                                            <option value="large" <?php selected($media_size, 'large'); ?>><?php _e('Large (1080x1080px)', 'feed-by-fhoke'); ?></option>
     219                                            <option value="full" <?php selected($media_size, 'full'); ?>><?php _e('Full Size', 'feed-by-fhoke'); ?></option>
     220                                        </select>
    205221                                    </td>
    206222                                </tr>
  • feed-by-fhoke/trunk/src/Feed.php

    r2618307 r2653130  
    2121    protected $access_token_expiry;
    2222    protected $user_id;
     23    protected $media_size;
    2324    public static $date_format = 'Y-m-d H:i:s';
    2425
     
    3435        try {
    3536            $this->setApiSettings();
     37
     38            $this->media_size = \fbf_get_setting('media_size', 'full');
    3639
    3740            $this->getAuthCode();
     
    372375
    373376    /**
     377     * Follow redirect URL to sized Instagram image and return data URI of image
     378     *
     379     * @param string $url
     380     * @return string
     381     */
     382    protected function getSizedMediaFromInstagramAsDataUri(string $url)
     383    {
     384        switch ($this->media_size) {
     385            case 'small':
     386                $size = 't';
     387                break;
     388            case 'medium':
     389                $size = 'm';
     390                break;
     391            case 'large':
     392                $size = 'l';
     393                break;
     394            default:
     395                $size = null;
     396                break;
     397        }
     398
     399        if (!$size) {
     400            return '';
     401        }
     402
     403        $http = new \GuzzleHttp\Client();
     404
     405        $media_response = $http->get("{$url}media/?size={$size}");
     406        $img_base64     = \base64_encode($media_response->getBody()->getContents());
     407
     408        return "data:image/jpeg;base64,{$img_base64}";
     409    }
     410
     411    /**
    374412     * Request and cache new user media
    375413     *
    376      * @return object|string
     414     * @return array
    377415     */
    378416    protected function requestUserMedia()
     
    381419
    382420        $result = $this->get([
    383             'url'    => 'https://graph.instagram.com/' . $this->user_id . '/media',
    384             'fields' => [
     421            'url'      => 'https://graph.instagram.com/' . $this->user_id . '/media',
     422            'fields'   => [
    385423                'fields'       => 'media_url,caption,permalink,media_type,thumbnail_url',
    386424                'access_token' => $this->access_token,
     
    389427        ]);
    390428
    391         if (!is_object($result) || !isset($result->data) || !$result->data) {
     429        $data = $result->data ?? [];
     430
     431        if (!$data) {
    392432            throw new \Exception('No media data returned');
    393433        }
    394434
    395         // Make the media_url the thumbnail_url if the media_type is VIDEO
    396         if (is_array($result->data)) {
    397             foreach ($result->data as $item) {
    398                 if ($item->media_type == 'VIDEO' && isset($item->thumbnail_url)) {
    399                     $item->video_url = $item->media_url;
    400                     $item->media_url = $item->thumbnail_url;
    401                 }
    402             }
    403         }
    404 
    405         // Save media in the database to limit API calls
    406         $media_refresh_rate = (\fbf_get_setting('refresh_rate') ?: 600);
    407 
    408         // Cache media data for future reference
    409         \set_transient('fbf_media', json_encode($result->data), $media_refresh_rate);
    410 
    411         return $result->data;
     435        $data = \array_map(function ($item) {
     436            //---- Make media_url the thumbnail_url if media_type is VIDEO
     437            if ($item->media_type == 'VIDEO' && isset($item->thumbnail_url)) {
     438                $item->video_url = $item->media_url;
     439            }
     440
     441            //---- Get sized image if required
     442            if ($this->media_size != 'full') {
     443                $item->media_url = $this->getSizedMediaFromInstagramAsDataUri($item->permalink);
     444            }
     445
     446            return $item;
     447        }, $data);
     448
     449        //---- Cache media in the database to limit API calls
     450        $media_refresh_rate = \fbf_get_setting('refresh_rate') ?: 600;
     451
     452        \set_transient(
     453            'fbf_media',
     454            \json_encode($data),
     455            $media_refresh_rate
     456        );
     457
     458        //---- Return filtered response data
     459        return $data;
    412460    }
    413461}
  • feed-by-fhoke/trunk/vendor/autoload.php

    r2613504 r2653130  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInitb86fa84c926087aef2469864424e9adf::getLoader();
     7return ComposerAutoloaderInit87484f8d6d10c650a57dc03931332cc7::getLoader();
  • feed-by-fhoke/trunk/vendor/composer/ClassLoader.php

    r2562642 r2653130  
    4343class ClassLoader
    4444{
     45    /** @var ?string */
    4546    private $vendorDir;
    4647
    4748    // PSR-4
     49    /**
     50     * @var array[]
     51     * @psalm-var array<string, array<string, int>>
     52     */
    4853    private $prefixLengthsPsr4 = array();
     54    /**
     55     * @var array[]
     56     * @psalm-var array<string, array<int, string>>
     57     */
    4958    private $prefixDirsPsr4 = array();
     59    /**
     60     * @var array[]
     61     * @psalm-var array<string, string>
     62     */
    5063    private $fallbackDirsPsr4 = array();
    5164
    5265    // PSR-0
     66    /**
     67     * @var array[]
     68     * @psalm-var array<string, array<string, string[]>>
     69     */
    5370    private $prefixesPsr0 = array();
     71    /**
     72     * @var array[]
     73     * @psalm-var array<string, string>
     74     */
    5475    private $fallbackDirsPsr0 = array();
    5576
     77    /** @var bool */
    5678    private $useIncludePath = false;
     79
     80    /**
     81     * @var string[]
     82     * @psalm-var array<string, string>
     83     */
    5784    private $classMap = array();
     85
     86    /** @var bool */
    5887    private $classMapAuthoritative = false;
     88
     89    /**
     90     * @var bool[]
     91     * @psalm-var array<string, bool>
     92     */
    5993    private $missingClasses = array();
     94
     95    /** @var ?string */
    6096    private $apcuPrefix;
    6197
     98    /**
     99     * @var self[]
     100     */
    62101    private static $registeredLoaders = array();
    63102
     103    /**
     104     * @param ?string $vendorDir
     105     */
    64106    public function __construct($vendorDir = null)
    65107    {
     
    67109    }
    68110
     111    /**
     112     * @return string[]
     113     */
    69114    public function getPrefixes()
    70115    {
     
    76121    }
    77122
     123    /**
     124     * @return array[]
     125     * @psalm-return array<string, array<int, string>>
     126     */
    78127    public function getPrefixesPsr4()
    79128    {
     
    81130    }
    82131
     132    /**
     133     * @return array[]
     134     * @psalm-return array<string, string>
     135     */
    83136    public function getFallbackDirs()
    84137    {
     
    86139    }
    87140
     141    /**
     142     * @return array[]
     143     * @psalm-return array<string, string>
     144     */
    88145    public function getFallbackDirsPsr4()
    89146    {
     
    91148    }
    92149
     150    /**
     151     * @return string[] Array of classname => path
     152     * @psalm-var array<string, string>
     153     */
    93154    public function getClassMap()
    94155    {
     
    97158
    98159    /**
    99      * @param array $classMap Class to filename map
     160     * @param string[] $classMap Class to filename map
     161     * @psalm-param array<string, string> $classMap
     162     *
     163     * @return void
    100164     */
    101165    public function addClassMap(array $classMap)
     
    112176     * appending or prepending to the ones previously set for this prefix.
    113177     *
    114      * @param string       $prefix  The prefix
    115      * @param array|string $paths   The PSR-0 root directories
    116      * @param bool         $prepend Whether to prepend the directories
     178     * @param string          $prefix  The prefix
     179     * @param string[]|string $paths   The PSR-0 root directories
     180     * @param bool            $prepend Whether to prepend the directories
     181     *
     182     * @return void
    117183     */
    118184    public function add($prefix, $paths, $prepend = false)
     
    157223     * appending or prepending to the ones previously set for this namespace.
    158224     *
    159      * @param string       $prefix  The prefix/namespace, with trailing '\\'
    160      * @param array|string $paths   The PSR-4 base directories
    161      * @param bool         $prepend Whether to prepend the directories
     225     * @param string          $prefix  The prefix/namespace, with trailing '\\'
     226     * @param string[]|string $paths   The PSR-4 base directories
     227     * @param bool            $prepend Whether to prepend the directories
    162228     *
    163229     * @throws \InvalidArgumentException
     230     *
     231     * @return void
    164232     */
    165233    public function addPsr4($prefix, $paths, $prepend = false)
     
    205273     * replacing any others previously set for this prefix.
    206274     *
    207      * @param string       $prefix The prefix
    208      * @param array|string $paths  The PSR-0 base directories
     275     * @param string          $prefix The prefix
     276     * @param string[]|string $paths  The PSR-0 base directories
     277     *
     278     * @return void
    209279     */
    210280    public function set($prefix, $paths)
     
    221291     * replacing any others previously set for this namespace.
    222292     *
    223      * @param string       $prefix The prefix/namespace, with trailing '\\'
    224      * @param array|string $paths  The PSR-4 base directories
     293     * @param string          $prefix The prefix/namespace, with trailing '\\'
     294     * @param string[]|string $paths  The PSR-4 base directories
    225295     *
    226296     * @throws \InvalidArgumentException
     297     *
     298     * @return void
    227299     */
    228300    public function setPsr4($prefix, $paths)
     
    244316     *
    245317     * @param bool $useIncludePath
     318     *
     319     * @return void
    246320     */
    247321    public function setUseIncludePath($useIncludePath)
     
    266340     *
    267341     * @param bool $classMapAuthoritative
     342     *
     343     * @return void
    268344     */
    269345    public function setClassMapAuthoritative($classMapAuthoritative)
     
    286362     *
    287363     * @param string|null $apcuPrefix
     364     *
     365     * @return void
    288366     */
    289367    public function setApcuPrefix($apcuPrefix)
     
    306384     *
    307385     * @param bool $prepend Whether to prepend the autoloader or not
     386     *
     387     * @return void
    308388     */
    309389    public function register($prepend = false)
     
    325405    /**
    326406     * Unregisters this instance as an autoloader.
     407     *
     408     * @return void
    327409     */
    328410    public function unregister()
     
    339421     *
    340422     * @param  string    $class The name of the class
    341      * @return bool|null True if loaded, null otherwise
     423     * @return true|null True if loaded, null otherwise
    342424     */
    343425    public function loadClass($class)
     
    348430            return true;
    349431        }
     432
     433        return null;
    350434    }
    351435
     
    402486    }
    403487
     488    /**
     489     * @param  string       $class
     490     * @param  string       $ext
     491     * @return string|false
     492     */
    404493    private function findFileWithExtension($class, $ext)
    405494    {
     
    473562 *
    474563 * Prevents access to $this/self from included files.
     564 *
     565 * @param  string $file
     566 * @return void
     567 * @private
    475568 */
    476569function includeFile($file)
  • feed-by-fhoke/trunk/vendor/composer/InstalledVersions.php

    r2613504 r2653130  
    11<?php
    22
    3 
    4 
    5 
    6 
    7 
    8 
    9 
    10 
    11 
     3/*
     4 * This file is part of Composer.
     5 *
     6 * (c) Nils Adermann <naderman@naderman.de>
     7 *     Jordi Boggiano <j.boggiano@seld.be>
     8 *
     9 * For the full copyright and license information, please view the LICENSE
     10 * file that was distributed with this source code.
     11 */
    1212
    1313namespace Composer;
     
    1616use Composer\Semver\VersionParser;
    1717
    18 
    19 
    20 
    21 
    22 
    23 
    24 
     18/**
     19 * This class is copied in every Composer installed project and available to all
     20 *
     21 * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
     22 *
     23 * To require its presence, you can require `composer-runtime-api ^2.0`
     24 */
    2525class InstalledVersions
    2626{
    27 private static $installed = array (
    28   'root' =>
    29   array (
    30     'pretty_version' => 'dev-master',
    31     'version' => 'dev-master',
    32     'aliases' =>
    33     array (
    34     ),
    35     'reference' => 'd36f9123d7c11164cc8f6ee57580f6a2721c95be',
    36     'name' => 'fhoke/feed-by-fhoke',
    37   ),
    38   'versions' =>
    39   array (
    40     'fhoke/feed-by-fhoke' =>
    41     array (
    42       'pretty_version' => 'dev-master',
    43       'version' => 'dev-master',
    44       'aliases' =>
    45       array (
    46       ),
    47       'reference' => 'd36f9123d7c11164cc8f6ee57580f6a2721c95be',
    48     ),
    49   ),
    50 );
    51 private static $canGetVendors;
    52 private static $installedByVendor = array();
    53 
    54 
    55 
    56 
    57 
    58 
    59 
    60 public static function getInstalledPackages()
    61 {
    62 $packages = array();
    63 foreach (self::getInstalled() as $installed) {
    64 $packages[] = array_keys($installed['versions']);
     27    /**
     28     * @var mixed[]|null
     29     * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
     30     */
     31    private static $installed;
     32
     33    /**
     34     * @var bool|null
     35     */
     36    private static $canGetVendors;
     37
     38    /**
     39     * @var array[]
     40     * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
     41     */
     42    private static $installedByVendor = array();
     43
     44    /**
     45     * Returns a list of all package names which are present, either by being installed, replaced or provided
     46     *
     47     * @return string[]
     48     * @psalm-return list<string>
     49     */
     50    public static function getInstalledPackages()
     51    {
     52        $packages = array();
     53        foreach (self::getInstalled() as $installed) {
     54            $packages[] = array_keys($installed['versions']);
     55        }
     56
     57        if (1 === \count($packages)) {
     58            return $packages[0];
     59        }
     60
     61        return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
     62    }
     63
     64    /**
     65     * Returns a list of all package names with a specific type e.g. 'library'
     66     *
     67     * @param  string   $type
     68     * @return string[]
     69     * @psalm-return list<string>
     70     */
     71    public static function getInstalledPackagesByType($type)
     72    {
     73        $packagesByType = array();
     74
     75        foreach (self::getInstalled() as $installed) {
     76            foreach ($installed['versions'] as $name => $package) {
     77                if (isset($package['type']) && $package['type'] === $type) {
     78                    $packagesByType[] = $name;
     79                }
     80            }
     81        }
     82
     83        return $packagesByType;
     84    }
     85
     86    /**
     87     * Checks whether the given package is installed
     88     *
     89     * This also returns true if the package name is provided or replaced by another package
     90     *
     91     * @param  string $packageName
     92     * @param  bool   $includeDevRequirements
     93     * @return bool
     94     */
     95    public static function isInstalled($packageName, $includeDevRequirements = true)
     96    {
     97        foreach (self::getInstalled() as $installed) {
     98            if (isset($installed['versions'][$packageName])) {
     99                return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
     100            }
     101        }
     102
     103        return false;
     104    }
     105
     106    /**
     107     * Checks whether the given package satisfies a version constraint
     108     *
     109     * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
     110     *
     111     *   Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
     112     *
     113     * @param  VersionParser $parser      Install composer/semver to have access to this class and functionality
     114     * @param  string        $packageName
     115     * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
     116     * @return bool
     117     */
     118    public static function satisfies(VersionParser $parser, $packageName, $constraint)
     119    {
     120        $constraint = $parser->parseConstraints($constraint);
     121        $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
     122
     123        return $provided->matches($constraint);
     124    }
     125
     126    /**
     127     * Returns a version constraint representing all the range(s) which are installed for a given package
     128     *
     129     * It is easier to use this via isInstalled() with the $constraint argument if you need to check
     130     * whether a given version of a package is installed, and not just whether it exists
     131     *
     132     * @param  string $packageName
     133     * @return string Version constraint usable with composer/semver
     134     */
     135    public static function getVersionRanges($packageName)
     136    {
     137        foreach (self::getInstalled() as $installed) {
     138            if (!isset($installed['versions'][$packageName])) {
     139                continue;
     140            }
     141
     142            $ranges = array();
     143            if (isset($installed['versions'][$packageName]['pretty_version'])) {
     144                $ranges[] = $installed['versions'][$packageName]['pretty_version'];
     145            }
     146            if (array_key_exists('aliases', $installed['versions'][$packageName])) {
     147                $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
     148            }
     149            if (array_key_exists('replaced', $installed['versions'][$packageName])) {
     150                $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
     151            }
     152            if (array_key_exists('provided', $installed['versions'][$packageName])) {
     153                $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
     154            }
     155
     156            return implode(' || ', $ranges);
     157        }
     158
     159        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
     160    }
     161
     162    /**
     163     * @param  string      $packageName
     164     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
     165     */
     166    public static function getVersion($packageName)
     167    {
     168        foreach (self::getInstalled() as $installed) {
     169            if (!isset($installed['versions'][$packageName])) {
     170                continue;
     171            }
     172
     173            if (!isset($installed['versions'][$packageName]['version'])) {
     174                return null;
     175            }
     176
     177            return $installed['versions'][$packageName]['version'];
     178        }
     179
     180        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
     181    }
     182
     183    /**
     184     * @param  string      $packageName
     185     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
     186     */
     187    public static function getPrettyVersion($packageName)
     188    {
     189        foreach (self::getInstalled() as $installed) {
     190            if (!isset($installed['versions'][$packageName])) {
     191                continue;
     192            }
     193
     194            if (!isset($installed['versions'][$packageName]['pretty_version'])) {
     195                return null;
     196            }
     197
     198            return $installed['versions'][$packageName]['pretty_version'];
     199        }
     200
     201        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
     202    }
     203
     204    /**
     205     * @param  string      $packageName
     206     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
     207     */
     208    public static function getReference($packageName)
     209    {
     210        foreach (self::getInstalled() as $installed) {
     211            if (!isset($installed['versions'][$packageName])) {
     212                continue;
     213            }
     214
     215            if (!isset($installed['versions'][$packageName]['reference'])) {
     216                return null;
     217            }
     218
     219            return $installed['versions'][$packageName]['reference'];
     220        }
     221
     222        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
     223    }
     224
     225    /**
     226     * @param  string      $packageName
     227     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
     228     */
     229    public static function getInstallPath($packageName)
     230    {
     231        foreach (self::getInstalled() as $installed) {
     232            if (!isset($installed['versions'][$packageName])) {
     233                continue;
     234            }
     235
     236            return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
     237        }
     238
     239        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
     240    }
     241
     242    /**
     243     * @return array
     244     * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
     245     */
     246    public static function getRootPackage()
     247    {
     248        $installed = self::getInstalled();
     249
     250        return $installed[0]['root'];
     251    }
     252
     253    /**
     254     * Returns the raw installed.php data for custom implementations
     255     *
     256     * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
     257     * @return array[]
     258     * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
     259     */
     260    public static function getRawData()
     261    {
     262        @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
     263
     264        if (null === self::$installed) {
     265            // only require the installed.php file if this file is loaded from its dumped location,
     266            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
     267            if (substr(__DIR__, -8, 1) !== 'C') {
     268                self::$installed = include __DIR__ . '/installed.php';
     269            } else {
     270                self::$installed = array();
     271            }
     272        }
     273
     274        return self::$installed;
     275    }
     276
     277    /**
     278     * Returns the raw data of all installed.php which are currently loaded for custom implementations
     279     *
     280     * @return array[]
     281     * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
     282     */
     283    public static function getAllRawData()
     284    {
     285        return self::getInstalled();
     286    }
     287
     288    /**
     289     * Lets you reload the static array from another file
     290     *
     291     * This is only useful for complex integrations in which a project needs to use
     292     * this class but then also needs to execute another project's autoloader in process,
     293     * and wants to ensure both projects have access to their version of installed.php.
     294     *
     295     * A typical case would be PHPUnit, where it would need to make sure it reads all
     296     * the data it needs from this class, then call reload() with
     297     * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
     298     * the project in which it runs can then also use this class safely, without
     299     * interference between PHPUnit's dependencies and the project's dependencies.
     300     *
     301     * @param  array[] $data A vendor/composer/installed.php data set
     302     * @return void
     303     *
     304     * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
     305     */
     306    public static function reload($data)
     307    {
     308        self::$installed = $data;
     309        self::$installedByVendor = array();
     310    }
     311
     312    /**
     313     * @return array[]
     314     * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
     315     */
     316    private static function getInstalled()
     317    {
     318        if (null === self::$canGetVendors) {
     319            self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
     320        }
     321
     322        $installed = array();
     323
     324        if (self::$canGetVendors) {
     325            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     326                if (isset(self::$installedByVendor[$vendorDir])) {
     327                    $installed[] = self::$installedByVendor[$vendorDir];
     328                } elseif (is_file($vendorDir.'/composer/installed.php')) {
     329                    $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
     330                    if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
     331                        self::$installed = $installed[count($installed) - 1];
     332                    }
     333                }
     334            }
     335        }
     336
     337        if (null === self::$installed) {
     338            // only require the installed.php file if this file is loaded from its dumped location,
     339            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
     340            if (substr(__DIR__, -8, 1) !== 'C') {
     341                self::$installed = require __DIR__ . '/installed.php';
     342            } else {
     343                self::$installed = array();
     344            }
     345        }
     346        $installed[] = self::$installed;
     347
     348        return $installed;
     349    }
    65350}
    66 
    67 if (1 === \count($packages)) {
    68 return $packages[0];
    69 }
    70 
    71 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
    72 }
    73 
    74 
    75 
    76 
    77 
    78 
    79 
    80 
    81 
    82 public static function isInstalled($packageName)
    83 {
    84 foreach (self::getInstalled() as $installed) {
    85 if (isset($installed['versions'][$packageName])) {
    86 return true;
    87 }
    88 }
    89 
    90 return false;
    91 }
    92 
    93 
    94 
    95 
    96 
    97 
    98 
    99 
    100 
    101 
    102 
    103 
    104 
    105 
    106 public static function satisfies(VersionParser $parser, $packageName, $constraint)
    107 {
    108 $constraint = $parser->parseConstraints($constraint);
    109 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
    110 
    111 return $provided->matches($constraint);
    112 }
    113 
    114 
    115 
    116 
    117 
    118 
    119 
    120 
    121 
    122 
    123 public static function getVersionRanges($packageName)
    124 {
    125 foreach (self::getInstalled() as $installed) {
    126 if (!isset($installed['versions'][$packageName])) {
    127 continue;
    128 }
    129 
    130 $ranges = array();
    131 if (isset($installed['versions'][$packageName]['pretty_version'])) {
    132 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
    133 }
    134 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
    135 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
    136 }
    137 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
    138 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
    139 }
    140 if (array_key_exists('provided', $installed['versions'][$packageName])) {
    141 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
    142 }
    143 
    144 return implode(' || ', $ranges);
    145 }
    146 
    147 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
    148 }
    149 
    150 
    151 
    152 
    153 
    154 public static function getVersion($packageName)
    155 {
    156 foreach (self::getInstalled() as $installed) {
    157 if (!isset($installed['versions'][$packageName])) {
    158 continue;
    159 }
    160 
    161 if (!isset($installed['versions'][$packageName]['version'])) {
    162 return null;
    163 }
    164 
    165 return $installed['versions'][$packageName]['version'];
    166 }
    167 
    168 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
    169 }
    170 
    171 
    172 
    173 
    174 
    175 public static function getPrettyVersion($packageName)
    176 {
    177 foreach (self::getInstalled() as $installed) {
    178 if (!isset($installed['versions'][$packageName])) {
    179 continue;
    180 }
    181 
    182 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
    183 return null;
    184 }
    185 
    186 return $installed['versions'][$packageName]['pretty_version'];
    187 }
    188 
    189 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
    190 }
    191 
    192 
    193 
    194 
    195 
    196 public static function getReference($packageName)
    197 {
    198 foreach (self::getInstalled() as $installed) {
    199 if (!isset($installed['versions'][$packageName])) {
    200 continue;
    201 }
    202 
    203 if (!isset($installed['versions'][$packageName]['reference'])) {
    204 return null;
    205 }
    206 
    207 return $installed['versions'][$packageName]['reference'];
    208 }
    209 
    210 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
    211 }
    212 
    213 
    214 
    215 
    216 
    217 public static function getRootPackage()
    218 {
    219 $installed = self::getInstalled();
    220 
    221 return $installed[0]['root'];
    222 }
    223 
    224 
    225 
    226 
    227 
    228 
    229 
    230 public static function getRawData()
    231 {
    232 return self::$installed;
    233 }
    234 
    235 
    236 
    237 
    238 
    239 
    240 
    241 
    242 
    243 
    244 
    245 
    246 
    247 
    248 
    249 
    250 
    251 
    252 
    253 public static function reload($data)
    254 {
    255 self::$installed = $data;
    256 self::$installedByVendor = array();
    257 }
    258 
    259 
    260 
    261 
    262 
    263 private static function getInstalled()
    264 {
    265 if (null === self::$canGetVendors) {
    266 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
    267 }
    268 
    269 $installed = array();
    270 
    271 if (self::$canGetVendors) {
    272 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
    273 if (isset(self::$installedByVendor[$vendorDir])) {
    274 $installed[] = self::$installedByVendor[$vendorDir];
    275 } elseif (is_file($vendorDir.'/composer/installed.php')) {
    276 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
    277 }
    278 }
    279 }
    280 
    281 $installed[] = self::$installed;
    282 
    283 return $installed;
    284 }
    285 }
  • feed-by-fhoke/trunk/vendor/composer/autoload_psr4.php

    r2294385 r2653130  
    77
    88return array(
     9    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'),
     10    'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
     11    'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
     12    'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
     13    'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
    914    'FeedByFhoke\\' => array($baseDir . '/src'),
    1015);
  • feed-by-fhoke/trunk/vendor/composer/autoload_real.php

    r2613504 r2653130  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInitb86fa84c926087aef2469864424e9adf
     5class ComposerAutoloaderInit87484f8d6d10c650a57dc03931332cc7
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInitb86fa84c926087aef2469864424e9adf', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit87484f8d6d10c650a57dc03931332cc7', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
    29         spl_autoload_unregister(array('ComposerAutoloaderInitb86fa84c926087aef2469864424e9adf', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit87484f8d6d10c650a57dc03931332cc7', 'loadClassLoader'));
    3030
    3131        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3333            require __DIR__ . '/autoload_static.php';
    3434
    35             call_user_func(\Composer\Autoload\ComposerStaticInitb86fa84c926087aef2469864424e9adf::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInit87484f8d6d10c650a57dc03931332cc7::getInitializer($loader));
    3636        } else {
    3737            $map = require __DIR__ . '/autoload_namespaces.php';
     
    5353        $loader->register(true);
    5454
     55        if ($useStaticLoader) {
     56            $includeFiles = Composer\Autoload\ComposerStaticInit87484f8d6d10c650a57dc03931332cc7::$files;
     57        } else {
     58            $includeFiles = require __DIR__ . '/autoload_files.php';
     59        }
     60        foreach ($includeFiles as $fileIdentifier => $file) {
     61            composerRequire87484f8d6d10c650a57dc03931332cc7($fileIdentifier, $file);
     62        }
     63
    5564        return $loader;
    5665    }
    5766}
     67
     68function composerRequire87484f8d6d10c650a57dc03931332cc7($fileIdentifier, $file)
     69{
     70    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
     71        require $file;
     72
     73        $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
     74    }
     75}
  • feed-by-fhoke/trunk/vendor/composer/autoload_static.php

    r2613504 r2653130  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInitb86fa84c926087aef2469864424e9adf
     7class ComposerStaticInit87484f8d6d10c650a57dc03931332cc7
    88{
     9    public static $files = array (
     10        '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
     11        '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
     12        'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
     13        '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
     14    );
     15
    916    public static $prefixLengthsPsr4 = array (
     17        'P' =>
     18        array (
     19            'Psr\\Http\\Message\\' => 17,
     20            'Psr\\Http\\Client\\' => 16,
     21        ),
     22        'G' =>
     23        array (
     24            'GuzzleHttp\\Psr7\\' => 16,
     25            'GuzzleHttp\\Promise\\' => 19,
     26            'GuzzleHttp\\' => 11,
     27        ),
    1028        'F' =>
    1129        array (
     
    1533
    1634    public static $prefixDirsPsr4 = array (
     35        'Psr\\Http\\Message\\' =>
     36        array (
     37            0 => __DIR__ . '/..' . '/psr/http-message/src',
     38            1 => __DIR__ . '/..' . '/psr/http-factory/src',
     39        ),
     40        'Psr\\Http\\Client\\' =>
     41        array (
     42            0 => __DIR__ . '/..' . '/psr/http-client/src',
     43        ),
     44        'GuzzleHttp\\Psr7\\' =>
     45        array (
     46            0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
     47        ),
     48        'GuzzleHttp\\Promise\\' =>
     49        array (
     50            0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
     51        ),
     52        'GuzzleHttp\\' =>
     53        array (
     54            0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
     55        ),
    1756        'FeedByFhoke\\' =>
    1857        array (
     
    2867    {
    2968        return \Closure::bind(function () use ($loader) {
    30             $loader->prefixLengthsPsr4 = ComposerStaticInitb86fa84c926087aef2469864424e9adf::$prefixLengthsPsr4;
    31             $loader->prefixDirsPsr4 = ComposerStaticInitb86fa84c926087aef2469864424e9adf::$prefixDirsPsr4;
    32             $loader->classMap = ComposerStaticInitb86fa84c926087aef2469864424e9adf::$classMap;
     69            $loader->prefixLengthsPsr4 = ComposerStaticInit87484f8d6d10c650a57dc03931332cc7::$prefixLengthsPsr4;
     70            $loader->prefixDirsPsr4 = ComposerStaticInit87484f8d6d10c650a57dc03931332cc7::$prefixDirsPsr4;
     71            $loader->classMap = ComposerStaticInit87484f8d6d10c650a57dc03931332cc7::$classMap;
    3372
    3473        }, null, ClassLoader::class);
  • feed-by-fhoke/trunk/vendor/composer/installed.json

    r2613504 r2653130  
    11{
    2     "packages": [],
     2    "packages": [
     3        {
     4            "name": "guzzlehttp/guzzle",
     5            "version": "7.4.1",
     6            "version_normalized": "7.4.1.0",
     7            "source": {
     8                "type": "git",
     9                "url": "https://github.com/guzzle/guzzle.git",
     10                "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79"
     11            },
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
     15                "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
     16                "shasum": ""
     17            },
     18            "require": {
     19                "ext-json": "*",
     20                "guzzlehttp/promises": "^1.5",
     21                "guzzlehttp/psr7": "^1.8.3 || ^2.1",
     22                "php": "^7.2.5 || ^8.0",
     23                "psr/http-client": "^1.0",
     24                "symfony/deprecation-contracts": "^2.2 || ^3.0"
     25            },
     26            "provide": {
     27                "psr/http-client-implementation": "1.0"
     28            },
     29            "require-dev": {
     30                "bamarni/composer-bin-plugin": "^1.4.1",
     31                "ext-curl": "*",
     32                "php-http/client-integration-tests": "^3.0",
     33                "phpunit/phpunit": "^8.5.5 || ^9.3.5",
     34                "psr/log": "^1.1 || ^2.0 || ^3.0"
     35            },
     36            "suggest": {
     37                "ext-curl": "Required for CURL handler support",
     38                "ext-intl": "Required for Internationalized Domain Name (IDN) support",
     39                "psr/log": "Required for using the Log middleware"
     40            },
     41            "time": "2021-12-06T18:43:05+00:00",
     42            "type": "library",
     43            "extra": {
     44                "branch-alias": {
     45                    "dev-master": "7.4-dev"
     46                }
     47            },
     48            "installation-source": "dist",
     49            "autoload": {
     50                "psr-4": {
     51                    "GuzzleHttp\\": "src/"
     52                },
     53                "files": [
     54                    "src/functions_include.php"
     55                ]
     56            },
     57            "notification-url": "https://packagist.org/downloads/",
     58            "license": [
     59                "MIT"
     60            ],
     61            "authors": [
     62                {
     63                    "name": "Graham Campbell",
     64                    "email": "hello@gjcampbell.co.uk",
     65                    "homepage": "https://github.com/GrahamCampbell"
     66                },
     67                {
     68                    "name": "Michael Dowling",
     69                    "email": "mtdowling@gmail.com",
     70                    "homepage": "https://github.com/mtdowling"
     71                },
     72                {
     73                    "name": "Jeremy Lindblom",
     74                    "email": "jeremeamia@gmail.com",
     75                    "homepage": "https://github.com/jeremeamia"
     76                },
     77                {
     78                    "name": "George Mponos",
     79                    "email": "gmponos@gmail.com",
     80                    "homepage": "https://github.com/gmponos"
     81                },
     82                {
     83                    "name": "Tobias Nyholm",
     84                    "email": "tobias.nyholm@gmail.com",
     85                    "homepage": "https://github.com/Nyholm"
     86                },
     87                {
     88                    "name": "Márk Sági-Kazár",
     89                    "email": "mark.sagikazar@gmail.com",
     90                    "homepage": "https://github.com/sagikazarmark"
     91                },
     92                {
     93                    "name": "Tobias Schultze",
     94                    "email": "webmaster@tubo-world.de",
     95                    "homepage": "https://github.com/Tobion"
     96                }
     97            ],
     98            "description": "Guzzle is a PHP HTTP client library",
     99            "keywords": [
     100                "client",
     101                "curl",
     102                "framework",
     103                "http",
     104                "http client",
     105                "psr-18",
     106                "psr-7",
     107                "rest",
     108                "web service"
     109            ],
     110            "support": {
     111                "issues": "https://github.com/guzzle/guzzle/issues",
     112                "source": "https://github.com/guzzle/guzzle/tree/7.4.1"
     113            },
     114            "funding": [
     115                {
     116                    "url": "https://github.com/GrahamCampbell",
     117                    "type": "github"
     118                },
     119                {
     120                    "url": "https://github.com/Nyholm",
     121                    "type": "github"
     122                },
     123                {
     124                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
     125                    "type": "tidelift"
     126                }
     127            ],
     128            "install-path": "../guzzlehttp/guzzle"
     129        },
     130        {
     131            "name": "guzzlehttp/promises",
     132            "version": "1.5.1",
     133            "version_normalized": "1.5.1.0",
     134            "source": {
     135                "type": "git",
     136                "url": "https://github.com/guzzle/promises.git",
     137                "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
     138            },
     139            "dist": {
     140                "type": "zip",
     141                "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
     142                "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
     143                "shasum": ""
     144            },
     145            "require": {
     146                "php": ">=5.5"
     147            },
     148            "require-dev": {
     149                "symfony/phpunit-bridge": "^4.4 || ^5.1"
     150            },
     151            "time": "2021-10-22T20:56:57+00:00",
     152            "type": "library",
     153            "extra": {
     154                "branch-alias": {
     155                    "dev-master": "1.5-dev"
     156                }
     157            },
     158            "installation-source": "dist",
     159            "autoload": {
     160                "psr-4": {
     161                    "GuzzleHttp\\Promise\\": "src/"
     162                },
     163                "files": [
     164                    "src/functions_include.php"
     165                ]
     166            },
     167            "notification-url": "https://packagist.org/downloads/",
     168            "license": [
     169                "MIT"
     170            ],
     171            "authors": [
     172                {
     173                    "name": "Graham Campbell",
     174                    "email": "hello@gjcampbell.co.uk",
     175                    "homepage": "https://github.com/GrahamCampbell"
     176                },
     177                {
     178                    "name": "Michael Dowling",
     179                    "email": "mtdowling@gmail.com",
     180                    "homepage": "https://github.com/mtdowling"
     181                },
     182                {
     183                    "name": "Tobias Nyholm",
     184                    "email": "tobias.nyholm@gmail.com",
     185                    "homepage": "https://github.com/Nyholm"
     186                },
     187                {
     188                    "name": "Tobias Schultze",
     189                    "email": "webmaster@tubo-world.de",
     190                    "homepage": "https://github.com/Tobion"
     191                }
     192            ],
     193            "description": "Guzzle promises library",
     194            "keywords": [
     195                "promise"
     196            ],
     197            "support": {
     198                "issues": "https://github.com/guzzle/promises/issues",
     199                "source": "https://github.com/guzzle/promises/tree/1.5.1"
     200            },
     201            "funding": [
     202                {
     203                    "url": "https://github.com/GrahamCampbell",
     204                    "type": "github"
     205                },
     206                {
     207                    "url": "https://github.com/Nyholm",
     208                    "type": "github"
     209                },
     210                {
     211                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
     212                    "type": "tidelift"
     213                }
     214            ],
     215            "install-path": "../guzzlehttp/promises"
     216        },
     217        {
     218            "name": "guzzlehttp/psr7",
     219            "version": "2.1.0",
     220            "version_normalized": "2.1.0.0",
     221            "source": {
     222                "type": "git",
     223                "url": "https://github.com/guzzle/psr7.git",
     224                "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
     225            },
     226            "dist": {
     227                "type": "zip",
     228                "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
     229                "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
     230                "shasum": ""
     231            },
     232            "require": {
     233                "php": "^7.2.5 || ^8.0",
     234                "psr/http-factory": "^1.0",
     235                "psr/http-message": "^1.0",
     236                "ralouphie/getallheaders": "^3.0"
     237            },
     238            "provide": {
     239                "psr/http-factory-implementation": "1.0",
     240                "psr/http-message-implementation": "1.0"
     241            },
     242            "require-dev": {
     243                "bamarni/composer-bin-plugin": "^1.4.1",
     244                "http-interop/http-factory-tests": "^0.9",
     245                "phpunit/phpunit": "^8.5.8 || ^9.3.10"
     246            },
     247            "suggest": {
     248                "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
     249            },
     250            "time": "2021-10-06T17:43:30+00:00",
     251            "type": "library",
     252            "extra": {
     253                "branch-alias": {
     254                    "dev-master": "2.1-dev"
     255                }
     256            },
     257            "installation-source": "dist",
     258            "autoload": {
     259                "psr-4": {
     260                    "GuzzleHttp\\Psr7\\": "src/"
     261                }
     262            },
     263            "notification-url": "https://packagist.org/downloads/",
     264            "license": [
     265                "MIT"
     266            ],
     267            "authors": [
     268                {
     269                    "name": "Graham Campbell",
     270                    "email": "hello@gjcampbell.co.uk",
     271                    "homepage": "https://github.com/GrahamCampbell"
     272                },
     273                {
     274                    "name": "Michael Dowling",
     275                    "email": "mtdowling@gmail.com",
     276                    "homepage": "https://github.com/mtdowling"
     277                },
     278                {
     279                    "name": "George Mponos",
     280                    "email": "gmponos@gmail.com",
     281                    "homepage": "https://github.com/gmponos"
     282                },
     283                {
     284                    "name": "Tobias Nyholm",
     285                    "email": "tobias.nyholm@gmail.com",
     286                    "homepage": "https://github.com/Nyholm"
     287                },
     288                {
     289                    "name": "Márk Sági-Kazár",
     290                    "email": "mark.sagikazar@gmail.com",
     291                    "homepage": "https://github.com/sagikazarmark"
     292                },
     293                {
     294                    "name": "Tobias Schultze",
     295                    "email": "webmaster@tubo-world.de",
     296                    "homepage": "https://github.com/Tobion"
     297                },
     298                {
     299                    "name": "Márk Sági-Kazár",
     300                    "email": "mark.sagikazar@gmail.com",
     301                    "homepage": "https://sagikazarmark.hu"
     302                }
     303            ],
     304            "description": "PSR-7 message implementation that also provides common utility methods",
     305            "keywords": [
     306                "http",
     307                "message",
     308                "psr-7",
     309                "request",
     310                "response",
     311                "stream",
     312                "uri",
     313                "url"
     314            ],
     315            "support": {
     316                "issues": "https://github.com/guzzle/psr7/issues",
     317                "source": "https://github.com/guzzle/psr7/tree/2.1.0"
     318            },
     319            "funding": [
     320                {
     321                    "url": "https://github.com/GrahamCampbell",
     322                    "type": "github"
     323                },
     324                {
     325                    "url": "https://github.com/Nyholm",
     326                    "type": "github"
     327                },
     328                {
     329                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
     330                    "type": "tidelift"
     331                }
     332            ],
     333            "install-path": "../guzzlehttp/psr7"
     334        },
     335        {
     336            "name": "psr/http-client",
     337            "version": "1.0.1",
     338            "version_normalized": "1.0.1.0",
     339            "source": {
     340                "type": "git",
     341                "url": "https://github.com/php-fig/http-client.git",
     342                "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
     343            },
     344            "dist": {
     345                "type": "zip",
     346                "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
     347                "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
     348                "shasum": ""
     349            },
     350            "require": {
     351                "php": "^7.0 || ^8.0",
     352                "psr/http-message": "^1.0"
     353            },
     354            "time": "2020-06-29T06:28:15+00:00",
     355            "type": "library",
     356            "extra": {
     357                "branch-alias": {
     358                    "dev-master": "1.0.x-dev"
     359                }
     360            },
     361            "installation-source": "dist",
     362            "autoload": {
     363                "psr-4": {
     364                    "Psr\\Http\\Client\\": "src/"
     365                }
     366            },
     367            "notification-url": "https://packagist.org/downloads/",
     368            "license": [
     369                "MIT"
     370            ],
     371            "authors": [
     372                {
     373                    "name": "PHP-FIG",
     374                    "homepage": "http://www.php-fig.org/"
     375                }
     376            ],
     377            "description": "Common interface for HTTP clients",
     378            "homepage": "https://github.com/php-fig/http-client",
     379            "keywords": [
     380                "http",
     381                "http-client",
     382                "psr",
     383                "psr-18"
     384            ],
     385            "support": {
     386                "source": "https://github.com/php-fig/http-client/tree/master"
     387            },
     388            "install-path": "../psr/http-client"
     389        },
     390        {
     391            "name": "psr/http-factory",
     392            "version": "1.0.1",
     393            "version_normalized": "1.0.1.0",
     394            "source": {
     395                "type": "git",
     396                "url": "https://github.com/php-fig/http-factory.git",
     397                "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
     398            },
     399            "dist": {
     400                "type": "zip",
     401                "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
     402                "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
     403                "shasum": ""
     404            },
     405            "require": {
     406                "php": ">=7.0.0",
     407                "psr/http-message": "^1.0"
     408            },
     409            "time": "2019-04-30T12:38:16+00:00",
     410            "type": "library",
     411            "extra": {
     412                "branch-alias": {
     413                    "dev-master": "1.0.x-dev"
     414                }
     415            },
     416            "installation-source": "dist",
     417            "autoload": {
     418                "psr-4": {
     419                    "Psr\\Http\\Message\\": "src/"
     420                }
     421            },
     422            "notification-url": "https://packagist.org/downloads/",
     423            "license": [
     424                "MIT"
     425            ],
     426            "authors": [
     427                {
     428                    "name": "PHP-FIG",
     429                    "homepage": "http://www.php-fig.org/"
     430                }
     431            ],
     432            "description": "Common interfaces for PSR-7 HTTP message factories",
     433            "keywords": [
     434                "factory",
     435                "http",
     436                "message",
     437                "psr",
     438                "psr-17",
     439                "psr-7",
     440                "request",
     441                "response"
     442            ],
     443            "support": {
     444                "source": "https://github.com/php-fig/http-factory/tree/master"
     445            },
     446            "install-path": "../psr/http-factory"
     447        },
     448        {
     449            "name": "psr/http-message",
     450            "version": "1.0.1",
     451            "version_normalized": "1.0.1.0",
     452            "source": {
     453                "type": "git",
     454                "url": "https://github.com/php-fig/http-message.git",
     455                "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
     456            },
     457            "dist": {
     458                "type": "zip",
     459                "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
     460                "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
     461                "shasum": ""
     462            },
     463            "require": {
     464                "php": ">=5.3.0"
     465            },
     466            "time": "2016-08-06T14:39:51+00:00",
     467            "type": "library",
     468            "extra": {
     469                "branch-alias": {
     470                    "dev-master": "1.0.x-dev"
     471                }
     472            },
     473            "installation-source": "dist",
     474            "autoload": {
     475                "psr-4": {
     476                    "Psr\\Http\\Message\\": "src/"
     477                }
     478            },
     479            "notification-url": "https://packagist.org/downloads/",
     480            "license": [
     481                "MIT"
     482            ],
     483            "authors": [
     484                {
     485                    "name": "PHP-FIG",
     486                    "homepage": "http://www.php-fig.org/"
     487                }
     488            ],
     489            "description": "Common interface for HTTP messages",
     490            "homepage": "https://github.com/php-fig/http-message",
     491            "keywords": [
     492                "http",
     493                "http-message",
     494                "psr",
     495                "psr-7",
     496                "request",
     497                "response"
     498            ],
     499            "support": {
     500                "source": "https://github.com/php-fig/http-message/tree/master"
     501            },
     502            "install-path": "../psr/http-message"
     503        },
     504        {
     505            "name": "ralouphie/getallheaders",
     506            "version": "3.0.3",
     507            "version_normalized": "3.0.3.0",
     508            "source": {
     509                "type": "git",
     510                "url": "https://github.com/ralouphie/getallheaders.git",
     511                "reference": "120b605dfeb996808c31b6477290a714d356e822"
     512            },
     513            "dist": {
     514                "type": "zip",
     515                "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
     516                "reference": "120b605dfeb996808c31b6477290a714d356e822",
     517                "shasum": ""
     518            },
     519            "require": {
     520                "php": ">=5.6"
     521            },
     522            "require-dev": {
     523                "php-coveralls/php-coveralls": "^2.1",
     524                "phpunit/phpunit": "^5 || ^6.5"
     525            },
     526            "time": "2019-03-08T08:55:37+00:00",
     527            "type": "library",
     528            "installation-source": "dist",
     529            "autoload": {
     530                "files": [
     531                    "src/getallheaders.php"
     532                ]
     533            },
     534            "notification-url": "https://packagist.org/downloads/",
     535            "license": [
     536                "MIT"
     537            ],
     538            "authors": [
     539                {
     540                    "name": "Ralph Khattar",
     541                    "email": "ralph.khattar@gmail.com"
     542                }
     543            ],
     544            "description": "A polyfill for getallheaders.",
     545            "support": {
     546                "issues": "https://github.com/ralouphie/getallheaders/issues",
     547                "source": "https://github.com/ralouphie/getallheaders/tree/develop"
     548            },
     549            "install-path": "../ralouphie/getallheaders"
     550        },
     551        {
     552            "name": "symfony/deprecation-contracts",
     553            "version": "v2.4.0",
     554            "version_normalized": "2.4.0.0",
     555            "source": {
     556                "type": "git",
     557                "url": "https://github.com/symfony/deprecation-contracts.git",
     558                "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
     559            },
     560            "dist": {
     561                "type": "zip",
     562                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
     563                "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
     564                "shasum": ""
     565            },
     566            "require": {
     567                "php": ">=7.1"
     568            },
     569            "time": "2021-03-23T23:28:01+00:00",
     570            "type": "library",
     571            "extra": {
     572                "branch-alias": {
     573                    "dev-main": "2.4-dev"
     574                },
     575                "thanks": {
     576                    "name": "symfony/contracts",
     577                    "url": "https://github.com/symfony/contracts"
     578                }
     579            },
     580            "installation-source": "dist",
     581            "autoload": {
     582                "files": [
     583                    "function.php"
     584                ]
     585            },
     586            "notification-url": "https://packagist.org/downloads/",
     587            "license": [
     588                "MIT"
     589            ],
     590            "authors": [
     591                {
     592                    "name": "Nicolas Grekas",
     593                    "email": "p@tchwork.com"
     594                },
     595                {
     596                    "name": "Symfony Community",
     597                    "homepage": "https://symfony.com/contributors"
     598                }
     599            ],
     600            "description": "A generic function and convention to trigger deprecation notices",
     601            "homepage": "https://symfony.com",
     602            "support": {
     603                "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
     604            },
     605            "funding": [
     606                {
     607                    "url": "https://symfony.com/sponsor",
     608                    "type": "custom"
     609                },
     610                {
     611                    "url": "https://github.com/fabpot",
     612                    "type": "github"
     613                },
     614                {
     615                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
     616                    "type": "tidelift"
     617                }
     618            ],
     619            "install-path": "../symfony/deprecation-contracts"
     620        }
     621    ],
    3622    "dev": false,
    4623    "dev-package-names": []
  • feed-by-fhoke/trunk/vendor/composer/installed.php

    r2613504 r2653130  
    1 <?php return array (
    2   'root' =>
    3   array (
    4     'pretty_version' => 'dev-master',
    5     'version' => 'dev-master',
    6     'aliases' =>
    7     array (
     1<?php return array(
     2    'root' => array(
     3        'pretty_version' => 'dev-master',
     4        'version' => 'dev-master',
     5        'type' => 'project',
     6        'install_path' => __DIR__ . '/../../',
     7        'aliases' => array(),
     8        'reference' => 'e3e47ac4b04a2f7d29ffa5571f5a5df6bdc3cc50',
     9        'name' => 'fhoke/feed-by-fhoke',
     10        'dev' => false,
    811    ),
    9     'reference' => 'd36f9123d7c11164cc8f6ee57580f6a2721c95be',
    10     'name' => 'fhoke/feed-by-fhoke',
    11   ),
    12   'versions' =>
    13   array (
    14     'fhoke/feed-by-fhoke' =>
    15     array (
    16       'pretty_version' => 'dev-master',
    17       'version' => 'dev-master',
    18       'aliases' =>
    19       array (
    20       ),
    21       'reference' => 'd36f9123d7c11164cc8f6ee57580f6a2721c95be',
     12    'versions' => array(
     13        'fhoke/feed-by-fhoke' => array(
     14            'pretty_version' => 'dev-master',
     15            'version' => 'dev-master',
     16            'type' => 'project',
     17            'install_path' => __DIR__ . '/../../',
     18            'aliases' => array(),
     19            'reference' => 'e3e47ac4b04a2f7d29ffa5571f5a5df6bdc3cc50',
     20            'dev_requirement' => false,
     21        ),
     22        'guzzlehttp/guzzle' => array(
     23            'pretty_version' => '7.4.1',
     24            'version' => '7.4.1.0',
     25            'type' => 'library',
     26            'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
     27            'aliases' => array(),
     28            'reference' => 'ee0a041b1760e6a53d2a39c8c34115adc2af2c79',
     29            'dev_requirement' => false,
     30        ),
     31        'guzzlehttp/promises' => array(
     32            'pretty_version' => '1.5.1',
     33            'version' => '1.5.1.0',
     34            'type' => 'library',
     35            'install_path' => __DIR__ . '/../guzzlehttp/promises',
     36            'aliases' => array(),
     37            'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da',
     38            'dev_requirement' => false,
     39        ),
     40        'guzzlehttp/psr7' => array(
     41            'pretty_version' => '2.1.0',
     42            'version' => '2.1.0.0',
     43            'type' => 'library',
     44            'install_path' => __DIR__ . '/../guzzlehttp/psr7',
     45            'aliases' => array(),
     46            'reference' => '089edd38f5b8abba6cb01567c2a8aaa47cec4c72',
     47            'dev_requirement' => false,
     48        ),
     49        'psr/http-client' => array(
     50            'pretty_version' => '1.0.1',
     51            'version' => '1.0.1.0',
     52            'type' => 'library',
     53            'install_path' => __DIR__ . '/../psr/http-client',
     54            'aliases' => array(),
     55            'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621',
     56            'dev_requirement' => false,
     57        ),
     58        'psr/http-client-implementation' => array(
     59            'dev_requirement' => false,
     60            'provided' => array(
     61                0 => '1.0',
     62            ),
     63        ),
     64        'psr/http-factory' => array(
     65            'pretty_version' => '1.0.1',
     66            'version' => '1.0.1.0',
     67            'type' => 'library',
     68            'install_path' => __DIR__ . '/../psr/http-factory',
     69            'aliases' => array(),
     70            'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be',
     71            'dev_requirement' => false,
     72        ),
     73        'psr/http-factory-implementation' => array(
     74            'dev_requirement' => false,
     75            'provided' => array(
     76                0 => '1.0',
     77            ),
     78        ),
     79        'psr/http-message' => array(
     80            'pretty_version' => '1.0.1',
     81            'version' => '1.0.1.0',
     82            'type' => 'library',
     83            'install_path' => __DIR__ . '/../psr/http-message',
     84            'aliases' => array(),
     85            'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363',
     86            'dev_requirement' => false,
     87        ),
     88        'psr/http-message-implementation' => array(
     89            'dev_requirement' => false,
     90            'provided' => array(
     91                0 => '1.0',
     92            ),
     93        ),
     94        'ralouphie/getallheaders' => array(
     95            'pretty_version' => '3.0.3',
     96            'version' => '3.0.3.0',
     97            'type' => 'library',
     98            'install_path' => __DIR__ . '/../ralouphie/getallheaders',
     99            'aliases' => array(),
     100            'reference' => '120b605dfeb996808c31b6477290a714d356e822',
     101            'dev_requirement' => false,
     102        ),
     103        'symfony/deprecation-contracts' => array(
     104            'pretty_version' => 'v2.4.0',
     105            'version' => '2.4.0.0',
     106            'type' => 'library',
     107            'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
     108            'aliases' => array(),
     109            'reference' => '5f38c8804a9e97d23e0c8d63341088cd8a22d627',
     110            'dev_requirement' => false,
     111        ),
    22112    ),
    23   ),
    24113);
Note: See TracChangeset for help on using the changeset viewer.