mirror of
https://github.com/ad-aures/castopod.git
synced 2026-04-03 23:09:18 +02:00
fix(analytics): update service management so that it works with new OPAWG slug values
This commit is contained in:
parent
8b3c689f86
commit
7fe9d42500
10 changed files with 441 additions and 150 deletions
|
|
@ -23,22 +23,24 @@ class Feed extends Controller
|
|||
throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound();
|
||||
}
|
||||
|
||||
$service = null;
|
||||
$serviceSlug = '';
|
||||
try {
|
||||
$service = \Opawg\UserAgentsPhp\UserAgentsRSS::find(
|
||||
$_SERVER['HTTP_USER_AGENT']
|
||||
);
|
||||
if ($service) {
|
||||
$serviceSlug = $service['slug'];
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// If things go wrong the show must go on and the user must be able to download the file
|
||||
log_message('critical', $e);
|
||||
}
|
||||
|
||||
$cacheName =
|
||||
"podcast{$podcast->id}_feed" .
|
||||
($service ? "_{$service['slug']}" : '');
|
||||
"podcast{$podcast->id}_feed" . ($service ? "_{$serviceSlug}" : '');
|
||||
|
||||
if (!($found = cache($cacheName))) {
|
||||
$found = get_rss_feed($podcast, $service ? $service['name'] : '');
|
||||
$found = get_rss_feed($podcast, $serviceSlug);
|
||||
|
||||
// The page cache is set to expire after next episode publication or a decade by default so it is deleted manually upon podcast update
|
||||
$secondsToNextUnpublishedEpisode = (new EpisodeModel())->getSecondsToNextUnpublishedEpisode(
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ class FakePodcastsAnalyticsSeeder extends Seeder
|
|||
$service =
|
||||
$jsonRSSUserAgents[
|
||||
rand(1, count($jsonRSSUserAgents) - 1)
|
||||
]['name'];
|
||||
]['slug'];
|
||||
$app = isset($player['app']) ? $player['app'] : '';
|
||||
$device = isset($player['device'])
|
||||
? $player['device']
|
||||
|
|
|
|||
|
|
@ -14,6 +14,11 @@ use CodeIgniter\Entity;
|
|||
|
||||
class AnalyticsPodcastsByCountry extends Entity
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $labels;
|
||||
|
||||
protected $casts = [
|
||||
'podcast_id' => 'integer',
|
||||
'country_code' => 'string',
|
||||
|
|
|
|||
38
app/Entities/AnalyticsPodcastsByService.php
Normal file
38
app/Entities/AnalyticsPodcastsByService.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Class AnalyticsPodcastsByService
|
||||
* Entity for AnalyticsPodcastsByService
|
||||
* @copyright 2020 Podlibre
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
namespace App\Entities;
|
||||
|
||||
use CodeIgniter\Entity;
|
||||
|
||||
class AnalyticsPodcastsByService extends Entity
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $labels;
|
||||
|
||||
protected $casts = [
|
||||
'podcast_id' => 'integer',
|
||||
'app' => '?string',
|
||||
'device' => '?string',
|
||||
'os' => '?string',
|
||||
'is_bot' => 'boolean',
|
||||
'date' => 'datetime',
|
||||
'hits' => 'integer',
|
||||
];
|
||||
|
||||
public function getLabels()
|
||||
{
|
||||
return \Opawg\UserAgentsPhp\UserAgentsRSS::getName(
|
||||
$this->attributes['labels']
|
||||
) ?? $this->attributes['labels'];
|
||||
}
|
||||
}
|
||||
|
|
@ -17,7 +17,7 @@ use Config\Mimes;
|
|||
* @param string $service The name of the service that fetches the RSS feed for future reference when the audio file is eventually downloaded
|
||||
* @return string rss feed as xml
|
||||
*/
|
||||
function get_rss_feed($podcast, $serviceName = '')
|
||||
function get_rss_feed($podcast, $serviceSlug = '')
|
||||
{
|
||||
$episodes = $podcast->episodes;
|
||||
|
||||
|
|
@ -185,7 +185,7 @@ function get_rss_feed($podcast, $serviceName = '')
|
|||
$enclosure->addAttribute(
|
||||
'url',
|
||||
$episode->enclosure_url .
|
||||
(empty($serviceName) ? '' : '?_from=' . urlencode($serviceName))
|
||||
(empty($serviceSlug) ? '' : '?_from=' . urlencode($serviceSlug))
|
||||
);
|
||||
$enclosure->addAttribute('length', $episode->enclosure_filesize);
|
||||
$enclosure->addAttribute('type', $episode->enclosure_mimetype);
|
||||
|
|
|
|||
|
|
@ -23,41 +23,6 @@ class AnalyticsPodcastByPlayerModel extends Model
|
|||
|
||||
protected $useTimestamps = false;
|
||||
|
||||
/**
|
||||
* Gets service data for a podcast
|
||||
*
|
||||
* @param int $podcastId
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getDataByServiceWeekly(int $podcastId): array
|
||||
{
|
||||
if (
|
||||
!($found = cache(
|
||||
"{$podcastId}_analytics_podcasts_by_player_by_service_weekly"
|
||||
))
|
||||
) {
|
||||
$oneWeekAgo = date('Y-m-d', strtotime('-1 week'));
|
||||
$found = $this->select('`service` as `labels`')
|
||||
->selectSum('`hits`', '`values`')
|
||||
->where([
|
||||
'`podcast_id`' => $podcastId,
|
||||
'`service` !=' => '',
|
||||
'`is_bot`' => 0,
|
||||
'`date` >' => $oneWeekAgo,
|
||||
])
|
||||
->groupBy('`labels`')
|
||||
->orderBy('`values`', 'DESC')
|
||||
->findAll();
|
||||
cache()->save(
|
||||
"{$podcastId}_analytics_podcasts_by_player_by_service_weekly",
|
||||
$found,
|
||||
600
|
||||
);
|
||||
}
|
||||
return $found;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets player data for a podcast
|
||||
*
|
||||
|
|
|
|||
60
app/Models/AnalyticsPodcastByServiceModel.php
Normal file
60
app/Models/AnalyticsPodcastByServiceModel.php
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Class AnalyticsPodcastByServiceModel
|
||||
* Model for analytics_podcasts_by_player table in database
|
||||
* @copyright 2020 Podlibre
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class AnalyticsPodcastByServiceModel extends Model
|
||||
{
|
||||
protected $table = 'analytics_podcasts_by_player';
|
||||
|
||||
protected $allowedFields = [];
|
||||
|
||||
protected $returnType = \App\Entities\AnalyticsPodcastsByService::class;
|
||||
protected $useSoftDeletes = false;
|
||||
|
||||
protected $useTimestamps = false;
|
||||
|
||||
/**
|
||||
* Gets service data for a podcast
|
||||
*
|
||||
* @param int $podcastId
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getDataByServiceWeekly(int $podcastId): array
|
||||
{
|
||||
if (
|
||||
!($found = cache(
|
||||
"{$podcastId}_analytics_podcasts_by_service_weekly"
|
||||
))
|
||||
) {
|
||||
$oneWeekAgo = date('Y-m-d', strtotime('-1 week'));
|
||||
$found = $this->select('`service` as `labels`')
|
||||
->selectSum('`hits`', '`values`')
|
||||
->where([
|
||||
'`podcast_id`' => $podcastId,
|
||||
'`service` !=' => '',
|
||||
'`is_bot`' => 0,
|
||||
'`date` >' => $oneWeekAgo,
|
||||
])
|
||||
->groupBy('`labels`')
|
||||
->orderBy('`values`', 'DESC')
|
||||
->findAll();
|
||||
cache()->save(
|
||||
"{$podcastId}_analytics_podcasts_by_service_weekly",
|
||||
$found,
|
||||
600
|
||||
);
|
||||
}
|
||||
return $found;
|
||||
}
|
||||
}
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<div class="chart-pie" id="by-service-weekly-pie" data-chart-type="pie-chart" data-chart-url="<?= route_to(
|
||||
'analytics-data',
|
||||
$podcast->id,
|
||||
'PodcastByPlayer',
|
||||
'PodcastByService',
|
||||
'ByServiceWeekly'
|
||||
) ?>"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@
|
|||
"league/commonmark": "^1.5",
|
||||
"vlucas/phpdotenv": "^5.2",
|
||||
"league/html-to-markdown": "^4.10",
|
||||
"opawg/user-agents-php": "*",
|
||||
"podlibre/ipcat": "*"
|
||||
"opawg/user-agents-php": "^1.0",
|
||||
"podlibre/ipcat": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mikey179/vfsstream": "1.6.*",
|
||||
|
|
|
|||
431
composer.lock
generated
431
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "58e59ff661eaa3553d3f9f9f88b9d274",
|
||||
"content-hash": "28acb40506572ff4a0b98ad097a14763",
|
||||
"packages": [
|
||||
{
|
||||
"name": "codeigniter4/codeigniter4",
|
||||
|
|
@ -12,12 +12,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/codeigniter4/CodeIgniter4.git",
|
||||
"reference": "58993fbbab54a2523be25e8230337b855f465a7a"
|
||||
"reference": "b184bb577376f7d31026ebf93c092f768f5fba38"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/codeigniter4/CodeIgniter4/zipball/58993fbbab54a2523be25e8230337b855f465a7a",
|
||||
"reference": "58993fbbab54a2523be25e8230337b855f465a7a",
|
||||
"url": "https://api.github.com/repos/codeigniter4/CodeIgniter4/zipball/b184bb577376f7d31026ebf93c092f768f5fba38",
|
||||
"reference": "b184bb577376f7d31026ebf93c092f768f5fba38",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -32,14 +32,15 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"codeigniter4/codeigniter4-standard": "^1.0",
|
||||
"fzaninotto/faker": "^1.9@dev",
|
||||
"mikey179/vfsstream": "1.6.*",
|
||||
"fakerphp/faker": "^1.9",
|
||||
"mikey179/vfsstream": "^1.6",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"predis/predis": "^1.1",
|
||||
"rector/rector": "^0.8",
|
||||
"squizlabs/php_codesniffer": "^3.3"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "project",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
@ -74,7 +75,7 @@
|
|||
"slack": "https://codeigniterchat.slack.com",
|
||||
"issues": "https://github.com/codeigniter4/CodeIgniter4/issues"
|
||||
},
|
||||
"time": "2020-10-21T16:26:19+00:00"
|
||||
"time": "2020-11-28T07:23:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/ca-bundle",
|
||||
|
|
@ -130,6 +131,11 @@
|
|||
"ssl",
|
||||
"tls"
|
||||
],
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/composer",
|
||||
"issues": "https://github.com/composer/ca-bundle/issues",
|
||||
"source": "https://github.com/composer/ca-bundle/tree/1.2.8"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://packagist.com",
|
||||
|
|
@ -197,6 +203,10 @@
|
|||
"geolocation",
|
||||
"maxmind"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/maxmind/GeoIP2-php/issues",
|
||||
"source": "https://github.com/maxmind/GeoIP2-php/tree/v2.11.0"
|
||||
},
|
||||
"time": "2020-10-01T18:48:34+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -249,6 +259,10 @@
|
|||
"Result-Type",
|
||||
"result"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
|
||||
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
|
|
@ -340,6 +354,10 @@
|
|||
"tags",
|
||||
"video"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/JamesHeinrich/getID3/issues",
|
||||
"source": "https://github.com/JamesHeinrich/getID3/tree/2.0"
|
||||
},
|
||||
"time": "2020-07-21T08:15:44+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -410,40 +428,44 @@
|
|||
"kint",
|
||||
"php"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/kint-php/kint/issues",
|
||||
"source": "https://github.com/kint-php/kint/tree/master"
|
||||
},
|
||||
"time": "2019-10-17T18:05:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laminas/laminas-escaper",
|
||||
"version": "2.6.1",
|
||||
"version": "2.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laminas/laminas-escaper.git",
|
||||
"reference": "25f2a053eadfa92ddacb609dcbbc39362610da70"
|
||||
"reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/25f2a053eadfa92ddacb609dcbbc39362610da70",
|
||||
"reference": "25f2a053eadfa92ddacb609dcbbc39362610da70",
|
||||
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/5e04bc5ae5990b17159d79d331055e2c645e5cc5",
|
||||
"reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"laminas/laminas-zendframework-bridge": "^1.0",
|
||||
"php": "^5.6 || ^7.0"
|
||||
"php": "^7.3 || ~8.0.0"
|
||||
},
|
||||
"replace": {
|
||||
"zendframework/zend-escaper": "self.version"
|
||||
"zendframework/zend-escaper": "^2.6.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"laminas/laminas-coding-standard": "~1.0.0",
|
||||
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2"
|
||||
"phpunit/phpunit": "^9.3",
|
||||
"psalm/plugin-phpunit": "^0.12.2",
|
||||
"vimeo/psalm": "^3.16"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-iconv": "*",
|
||||
"ext-mbstring": "*"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.6.x-dev",
|
||||
"dev-develop": "2.7.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Laminas\\Escaper\\": "src/"
|
||||
|
|
@ -459,7 +481,21 @@
|
|||
"escaper",
|
||||
"laminas"
|
||||
],
|
||||
"time": "2019-12-31T16:43:30+00:00"
|
||||
"support": {
|
||||
"chat": "https://laminas.dev/chat",
|
||||
"docs": "https://docs.laminas.dev/laminas-escaper/",
|
||||
"forum": "https://discourse.laminas.dev",
|
||||
"issues": "https://github.com/laminas/laminas-escaper/issues",
|
||||
"rss": "https://github.com/laminas/laminas-escaper/releases.atom",
|
||||
"source": "https://github.com/laminas/laminas-escaper"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://funding.communitybridge.org/projects/laminas-project",
|
||||
"type": "community_bridge"
|
||||
}
|
||||
],
|
||||
"time": "2020-11-17T21:26:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laminas/laminas-zendframework-bridge",
|
||||
|
|
@ -507,6 +543,12 @@
|
|||
"laminas",
|
||||
"zf"
|
||||
],
|
||||
"support": {
|
||||
"forum": "https://discourse.laminas.dev/",
|
||||
"issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
|
||||
"rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
|
||||
"source": "https://github.com/laminas/laminas-zendframework-bridge"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://funding.communitybridge.org/projects/laminas-project",
|
||||
|
|
@ -517,16 +559,16 @@
|
|||
},
|
||||
{
|
||||
"name": "league/commonmark",
|
||||
"version": "1.5.6",
|
||||
"version": "1.5.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/commonmark.git",
|
||||
"reference": "a56e91e0fa1f6d0049153a9c34f63488f6b7ce61"
|
||||
"reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/a56e91e0fa1f6d0049153a9c34f63488f6b7ce61",
|
||||
"reference": "a56e91e0fa1f6d0049153a9c34f63488f6b7ce61",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54",
|
||||
"reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -582,6 +624,12 @@
|
|||
"md",
|
||||
"parser"
|
||||
],
|
||||
"support": {
|
||||
"docs": "https://commonmark.thephpleague.com/",
|
||||
"issues": "https://github.com/thephpleague/commonmark/issues",
|
||||
"rss": "https://github.com/thephpleague/commonmark/releases.atom",
|
||||
"source": "https://github.com/thephpleague/commonmark"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark",
|
||||
|
|
@ -608,7 +656,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-17T21:33:03+00:00"
|
||||
"time": "2020-10-31T13:49:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/html-to-markdown",
|
||||
|
|
@ -672,6 +720,10 @@
|
|||
"html",
|
||||
"markdown"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/thephpleague/html-to-markdown/issues",
|
||||
"source": "https://github.com/thephpleague/html-to-markdown/tree/4.10.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.colinodell.com/sponsor",
|
||||
|
|
@ -750,20 +802,24 @@
|
|||
"geolocation",
|
||||
"maxmind"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/maxmind/MaxMind-DB-Reader-php/issues",
|
||||
"source": "https://github.com/maxmind/MaxMind-DB-Reader-php/tree/v1.8.0"
|
||||
},
|
||||
"time": "2020-10-01T17:30:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maxmind/web-service-common",
|
||||
"version": "v0.8.0",
|
||||
"version": "v0.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/maxmind/web-service-common-php.git",
|
||||
"reference": "ba67d9532cfaf499bd71774b8170d05df4f75fb7"
|
||||
"reference": "32f274051c543fc865e5a84d3a2c703913641ea8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/ba67d9532cfaf499bd71774b8170d05df4f75fb7",
|
||||
"reference": "ba67d9532cfaf499bd71774b8170d05df4f75fb7",
|
||||
"url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/32f274051c543fc865e5a84d3a2c703913641ea8",
|
||||
"reference": "32f274051c543fc865e5a84d3a2c703913641ea8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -796,7 +852,11 @@
|
|||
],
|
||||
"description": "Internal MaxMind Web Service API",
|
||||
"homepage": "https://github.com/maxmind/web-service-common-php",
|
||||
"time": "2020-10-01T15:28:36+00:00"
|
||||
"support": {
|
||||
"issues": "https://github.com/maxmind/web-service-common-php/issues",
|
||||
"source": "https://github.com/maxmind/web-service-common-php/tree/v0.8.1"
|
||||
},
|
||||
"time": "2020-11-02T17:00:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myth/auth",
|
||||
|
|
@ -804,12 +864,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lonnieezell/myth-auth.git",
|
||||
"reference": "fe9739e1a410d9a30292faee9e8b6369667241e8"
|
||||
"reference": "26787ff2610089810c2b8e532f426cde1e83ae5e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/lonnieezell/myth-auth/zipball/fe9739e1a410d9a30292faee9e8b6369667241e8",
|
||||
"reference": "fe9739e1a410d9a30292faee9e8b6369667241e8",
|
||||
"url": "https://api.github.com/repos/lonnieezell/myth-auth/zipball/26787ff2610089810c2b8e532f426cde1e83ae5e",
|
||||
"reference": "26787ff2610089810c2b8e532f426cde1e83ae5e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -824,6 +884,7 @@
|
|||
"phpunit/phpunit": "^8.5",
|
||||
"squizlabs/php_codesniffer": "^3.5"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
@ -849,6 +910,10 @@
|
|||
"authorization",
|
||||
"codeigniter"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/lonnieezell/myth-auth/issues",
|
||||
"source": "https://github.com/lonnieezell/myth-auth/tree/develop"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/lonnieezell",
|
||||
|
|
@ -859,20 +924,20 @@
|
|||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-22T03:25:47+00:00"
|
||||
"time": "2020-11-16T15:37:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "opawg/user-agents-php",
|
||||
"version": "dev-main",
|
||||
"version": "v1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/opawg/user-agents-php.git",
|
||||
"reference": "3b71eeed2c3216f1c1c361c62d4d3a7002be0481"
|
||||
"reference": "e22c7be05f475b44d0e6ecd76acf1617a2efef85"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/opawg/user-agents-php/zipball/3b71eeed2c3216f1c1c361c62d4d3a7002be0481",
|
||||
"reference": "3b71eeed2c3216f1c1c361c62d4d3a7002be0481",
|
||||
"url": "https://api.github.com/repos/opawg/user-agents-php/zipball/e22c7be05f475b44d0e6ecd76acf1617a2efef85",
|
||||
"reference": "e22c7be05f475b44d0e6ecd76acf1617a2efef85",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "library",
|
||||
|
|
@ -894,7 +959,10 @@
|
|||
],
|
||||
"description": "PHP implementation for opawg/user-agents.",
|
||||
"homepage": "https://github.com/opawg/user-agents-php",
|
||||
"time": "2020-10-20T23:22:20+00:00"
|
||||
"support": {
|
||||
"source": "https://github.com/opawg/user-agents-php/tree/v1.0"
|
||||
},
|
||||
"time": "2020-11-28T10:54:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpoption/phpoption",
|
||||
|
|
@ -949,6 +1017,10 @@
|
|||
"php",
|
||||
"type"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/schmittjoh/php-option/issues",
|
||||
"source": "https://github.com/schmittjoh/php-option/tree/1.7.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
|
|
@ -963,7 +1035,7 @@
|
|||
},
|
||||
{
|
||||
"name": "podlibre/ipcat",
|
||||
"version": "dev-master",
|
||||
"version": "v1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/podlibre/ipcat.git",
|
||||
|
|
@ -994,6 +1066,9 @@
|
|||
],
|
||||
"description": "Categorization of IP Addresses forked from https://github.com/client9/ipcat",
|
||||
"homepage": "https://github.com/podlibre/ipcat",
|
||||
"support": {
|
||||
"source": "https://github.com/podlibre/ipcat/tree/v1.0"
|
||||
},
|
||||
"time": "2020-10-05T17:15:07+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1040,6 +1115,9 @@
|
|||
"psr",
|
||||
"psr-6"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/cache/tree/master"
|
||||
},
|
||||
"time": "2016-08-06T20:24:11+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1087,24 +1165,27 @@
|
|||
"psr",
|
||||
"psr-3"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/log/tree/1.1.3"
|
||||
},
|
||||
"time": "2020-03-23T09:12:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.18.1",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "1c302646f6efc070cd46856e600e5e0684d6b454"
|
||||
"reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454",
|
||||
"reference": "1c302646f6efc070cd46856e600e5e0684d6b454",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
|
||||
"reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-ctype": "For best performance"
|
||||
|
|
@ -1112,7 +1193,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.18-dev"
|
||||
"dev-main": "1.20-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
|
|
@ -1149,6 +1230,9 @@
|
|||
"polyfill",
|
||||
"portable"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
|
|
@ -1163,24 +1247,24 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-14T12:35:20+00:00"
|
||||
"time": "2020-10-23T14:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.18.1",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
|
||||
"reference": "39d483bdf39be819deabf04ec872eb0b2410b531"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
|
||||
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531",
|
||||
"reference": "39d483bdf39be819deabf04ec872eb0b2410b531",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "For best performance"
|
||||
|
|
@ -1188,7 +1272,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.18-dev"
|
||||
"dev-main": "1.20-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
|
|
@ -1226,6 +1310,9 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.20.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
|
|
@ -1240,29 +1327,29 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-14T12:35:20+00:00"
|
||||
"time": "2020-10-23T14:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.18.1",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981"
|
||||
"reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981",
|
||||
"reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
|
||||
"reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.0.8"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.18-dev"
|
||||
"dev-main": "1.20-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
|
|
@ -1306,6 +1393,9 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.20.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
|
|
@ -1320,7 +1410,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-14T12:35:20+00:00"
|
||||
"time": "2020-10-23T14:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vlucas/phpdotenv",
|
||||
|
|
@ -1386,6 +1476,10 @@
|
|||
"env",
|
||||
"environment"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/vlucas/phpdotenv/issues",
|
||||
"source": "https://github.com/vlucas/phpdotenv/tree/v5.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
|
|
@ -1455,42 +1549,41 @@
|
|||
"ua",
|
||||
"useragent"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/WhichBrowser/Parser-PHP/issues",
|
||||
"source": "https://github.com/WhichBrowser/Parser-PHP/tree/v2.0.42"
|
||||
},
|
||||
"time": "2020-02-12T10:54:23+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
"version": "1.3.1",
|
||||
"version": "1.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/instantiator.git",
|
||||
"reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
|
||||
"reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
|
||||
"reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
|
||||
"reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^6.0",
|
||||
"doctrine/coding-standard": "^8.0",
|
||||
"ext-pdo": "*",
|
||||
"ext-phar": "*",
|
||||
"phpbench/phpbench": "^0.13",
|
||||
"phpstan/phpstan-phpunit": "^0.11",
|
||||
"phpstan/phpstan-shim": "^0.11",
|
||||
"phpunit/phpunit": "^7.0"
|
||||
"phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpstan/phpstan-phpunit": "^0.12",
|
||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.2.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
||||
|
|
@ -1504,7 +1597,7 @@
|
|||
{
|
||||
"name": "Marco Pivetta",
|
||||
"email": "ocramius@gmail.com",
|
||||
"homepage": "http://ocramius.github.com/"
|
||||
"homepage": "https://ocramius.github.io/"
|
||||
}
|
||||
],
|
||||
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
||||
|
|
@ -1513,6 +1606,10 @@
|
|||
"constructor",
|
||||
"instantiate"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/instantiator/issues",
|
||||
"source": "https://github.com/doctrine/instantiator/tree/1.4.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.doctrine-project.org/sponsorship.html",
|
||||
|
|
@ -1527,7 +1624,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-05-29T17:27:14+00:00"
|
||||
"time": "2020-11-10T18:47:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mikey179/vfsstream",
|
||||
|
|
@ -1573,20 +1670,25 @@
|
|||
],
|
||||
"description": "Virtual file system to mock the real file system in unit tests.",
|
||||
"homepage": "http://vfs.bovigo.org/",
|
||||
"support": {
|
||||
"issues": "https://github.com/bovigo/vfsStream/issues",
|
||||
"source": "https://github.com/bovigo/vfsStream/tree/master",
|
||||
"wiki": "https://github.com/bovigo/vfsStream/wiki"
|
||||
},
|
||||
"time": "2019-10-30T15:31:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
"version": "1.10.1",
|
||||
"version": "1.10.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/DeepCopy.git",
|
||||
"reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
|
||||
"reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
|
||||
"reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
|
||||
"reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1621,13 +1723,17 @@
|
|||
"object",
|
||||
"object graph"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/myclabs/DeepCopy/issues",
|
||||
"source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-06-29T13:22:24+00:00"
|
||||
"time": "2020-11-13T09:40:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
|
|
@ -1682,6 +1788,10 @@
|
|||
}
|
||||
],
|
||||
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
|
||||
"support": {
|
||||
"issues": "https://github.com/phar-io/manifest/issues",
|
||||
"source": "https://github.com/phar-io/manifest/tree/master"
|
||||
},
|
||||
"time": "2018-07-08T19:23:20+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1729,6 +1839,10 @@
|
|||
}
|
||||
],
|
||||
"description": "Library for handling version information and constraints",
|
||||
"support": {
|
||||
"issues": "https://github.com/phar-io/version/issues",
|
||||
"source": "https://github.com/phar-io/version/tree/master"
|
||||
},
|
||||
"time": "2018-07-08T19:19:57+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1778,6 +1892,10 @@
|
|||
"reflection",
|
||||
"static analysis"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
|
||||
"source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
|
||||
},
|
||||
"time": "2020-06-27T09:03:43+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1830,6 +1948,10 @@
|
|||
}
|
||||
],
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
|
||||
},
|
||||
"time": "2020-09-03T19:13:55+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1875,6 +1997,10 @@
|
|||
}
|
||||
],
|
||||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
|
||||
},
|
||||
"time": "2020-09-17T18:55:26+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -1938,20 +2064,24 @@
|
|||
"spy",
|
||||
"stub"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpspec/prophecy/issues",
|
||||
"source": "https://github.com/phpspec/prophecy/tree/1.12.1"
|
||||
},
|
||||
"time": "2020-09-29T09:10:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "7.0.10",
|
||||
"version": "7.0.12",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf"
|
||||
"reference": "52f55786aa2e52c26cd9e2db20aff2981e0f7399"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf",
|
||||
"reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/52f55786aa2e52c26cd9e2db20aff2981e0f7399",
|
||||
"reference": "52f55786aa2e52c26cd9e2db20aff2981e0f7399",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2001,7 +2131,17 @@
|
|||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2019-11-20T13:55:58+00:00"
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.12"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/sebastianbergmann",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-11-27T06:08:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
|
|
@ -2051,6 +2191,10 @@
|
|||
"filesystem",
|
||||
"iterator"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.2"
|
||||
},
|
||||
"time": "2018-09-13T20:33:42+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2092,6 +2236,10 @@
|
|||
"keywords": [
|
||||
"template"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
|
||||
},
|
||||
"time": "2015-06-21T13:50:34+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2141,6 +2289,10 @@
|
|||
"keywords": [
|
||||
"timer"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-timer/tree/master"
|
||||
},
|
||||
"time": "2019-06-07T04:22:29+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2190,44 +2342,48 @@
|
|||
"keywords": [
|
||||
"tokenizer"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.1"
|
||||
},
|
||||
"abandoned": true,
|
||||
"time": "2019-09-17T06:23:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "8.5.8",
|
||||
"version": "8.5.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "34c18baa6a44f1d1fbf0338907139e9dce95b997"
|
||||
"reference": "3123601e3b29339b20129acc3f989cfec3274566"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/34c18baa6a44f1d1fbf0338907139e9dce95b997",
|
||||
"reference": "34c18baa6a44f1d1fbf0338907139e9dce95b997",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3123601e3b29339b20129acc3f989cfec3274566",
|
||||
"reference": "3123601e3b29339b20129acc3f989cfec3274566",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/instantiator": "^1.2.0",
|
||||
"doctrine/instantiator": "^1.3.1",
|
||||
"ext-dom": "*",
|
||||
"ext-json": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"myclabs/deep-copy": "^1.9.1",
|
||||
"myclabs/deep-copy": "^1.10.0",
|
||||
"phar-io/manifest": "^1.0.3",
|
||||
"phar-io/version": "^2.0.1",
|
||||
"php": "^7.2",
|
||||
"phpspec/prophecy": "^1.8.1",
|
||||
"phpunit/php-code-coverage": "^7.0.7",
|
||||
"phpspec/prophecy": "^1.10.3",
|
||||
"phpunit/php-code-coverage": "^7.0.12",
|
||||
"phpunit/php-file-iterator": "^2.0.2",
|
||||
"phpunit/php-text-template": "^1.2.1",
|
||||
"phpunit/php-timer": "^2.1.2",
|
||||
"sebastian/comparator": "^3.0.2",
|
||||
"sebastian/diff": "^3.0.2",
|
||||
"sebastian/environment": "^4.2.2",
|
||||
"sebastian/exporter": "^3.1.1",
|
||||
"sebastian/environment": "^4.2.3",
|
||||
"sebastian/exporter": "^3.1.2",
|
||||
"sebastian/global-state": "^3.0.0",
|
||||
"sebastian/object-enumerator": "^3.0.3",
|
||||
"sebastian/resource-operations": "^2.0.1",
|
||||
|
|
@ -2274,6 +2430,10 @@
|
|||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.11"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://phpunit.de/donate.html",
|
||||
|
|
@ -2284,7 +2444,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-06-22T07:06:58+00:00"
|
||||
"time": "2020-11-27T12:46:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/code-unit-reverse-lookup",
|
||||
|
|
@ -2329,6 +2489,10 @@
|
|||
],
|
||||
"description": "Looks up which function or method a line of code belongs to",
|
||||
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
|
||||
"source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/master"
|
||||
},
|
||||
"time": "2017-03-04T06:30:41+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2393,6 +2557,10 @@
|
|||
"compare",
|
||||
"equality"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/comparator/issues",
|
||||
"source": "https://github.com/sebastianbergmann/comparator/tree/master"
|
||||
},
|
||||
"time": "2018-07-12T15:12:46+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2449,6 +2617,10 @@
|
|||
"unidiff",
|
||||
"unified diff"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/master"
|
||||
},
|
||||
"time": "2019-02-04T06:01:07+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2502,6 +2674,10 @@
|
|||
"environment",
|
||||
"hhvm"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/environment/issues",
|
||||
"source": "https://github.com/sebastianbergmann/environment/tree/4.2.3"
|
||||
},
|
||||
"time": "2019-11-20T08:46:58+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2569,6 +2745,10 @@
|
|||
"export",
|
||||
"exporter"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/exporter/issues",
|
||||
"source": "https://github.com/sebastianbergmann/exporter/tree/master"
|
||||
},
|
||||
"time": "2019-09-14T09:02:43+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2623,6 +2803,10 @@
|
|||
"keywords": [
|
||||
"global state"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/global-state/issues",
|
||||
"source": "https://github.com/sebastianbergmann/global-state/tree/master"
|
||||
},
|
||||
"time": "2019-02-01T05:30:01+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2670,6 +2854,10 @@
|
|||
],
|
||||
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
||||
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
|
||||
"source": "https://github.com/sebastianbergmann/object-enumerator/tree/master"
|
||||
},
|
||||
"time": "2017-08-03T12:35:26+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2715,6 +2903,10 @@
|
|||
],
|
||||
"description": "Allows reflection of object attributes, including inherited and non-public ones",
|
||||
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
|
||||
"source": "https://github.com/sebastianbergmann/object-reflector/tree/master"
|
||||
},
|
||||
"time": "2017-03-29T09:07:27+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2768,6 +2960,10 @@
|
|||
],
|
||||
"description": "Provides functionality to recursively process PHP variables",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
|
||||
"source": "https://github.com/sebastianbergmann/recursion-context/tree/master"
|
||||
},
|
||||
"time": "2017-03-03T06:23:57+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2810,6 +3006,10 @@
|
|||
],
|
||||
"description": "Provides a list of PHP built-in functions that operate on resources",
|
||||
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/resource-operations/issues",
|
||||
"source": "https://github.com/sebastianbergmann/resource-operations/tree/master"
|
||||
},
|
||||
"time": "2018-10-04T04:07:39+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2856,6 +3056,10 @@
|
|||
],
|
||||
"description": "Collection of value objects that represent the types of the PHP type system",
|
||||
"homepage": "https://github.com/sebastianbergmann/type",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/type/issues",
|
||||
"source": "https://github.com/sebastianbergmann/type/tree/master"
|
||||
},
|
||||
"time": "2019-07-02T08:10:15+00:00"
|
||||
},
|
||||
{
|
||||
|
|
@ -2899,20 +3103,24 @@
|
|||
],
|
||||
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
||||
"homepage": "https://github.com/sebastianbergmann/version",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/version/issues",
|
||||
"source": "https://github.com/sebastianbergmann/version/tree/master"
|
||||
},
|
||||
"time": "2016-10-03T07:35:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "squizlabs/php_codesniffer",
|
||||
"version": "3.5.6",
|
||||
"version": "3.5.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
||||
"reference": "e97627871a7eab2f70e59166072a6b767d5834e0"
|
||||
"reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/e97627871a7eab2f70e59166072a6b767d5834e0",
|
||||
"reference": "e97627871a7eab2f70e59166072a6b767d5834e0",
|
||||
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
|
||||
"reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2950,7 +3158,12 @@
|
|||
"phpcs",
|
||||
"standards"
|
||||
],
|
||||
"time": "2020-08-10T04:50:15+00:00"
|
||||
"support": {
|
||||
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
|
||||
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
|
||||
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
|
||||
},
|
||||
"time": "2020-10-23T02:01:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
|
|
@ -2990,6 +3203,10 @@
|
|||
}
|
||||
],
|
||||
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
||||
"support": {
|
||||
"issues": "https://github.com/theseer/tokenizer/issues",
|
||||
"source": "https://github.com/theseer/tokenizer/tree/master"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/theseer",
|
||||
|
|
@ -3045,6 +3262,10 @@
|
|||
"check",
|
||||
"validate"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/webmozart/assert/issues",
|
||||
"source": "https://github.com/webmozart/assert/tree/master"
|
||||
},
|
||||
"time": "2020-07-08T17:02:28+00:00"
|
||||
}
|
||||
],
|
||||
|
|
@ -3061,5 +3282,5 @@
|
|||
"php": ">=7.2"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "1.1.0"
|
||||
"plugin-api-version": "2.0.0"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue