Update PicoFeed version
This commit is contained in:
parent
53c5475f48
commit
c4a5d4a7bc
@ -15,7 +15,7 @@
|
|||||||
"fguillot/simple-validator": "v1.0.0",
|
"fguillot/simple-validator": "v1.0.0",
|
||||||
"fguillot/json-rpc": "v1.1.0",
|
"fguillot/json-rpc": "v1.1.0",
|
||||||
"fguillot/picodb": "v1.0.2",
|
"fguillot/picodb": "v1.0.2",
|
||||||
"fguillot/picofeed": "v0.1.23",
|
"fguillot/picofeed": "v0.1.24",
|
||||||
"pda/pheanstalk": "v3.1.0"
|
"pda/pheanstalk": "v3.1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
8
vendor/composer/ClassLoader.php
vendored
8
vendor/composer/ClassLoader.php
vendored
@ -13,9 +13,7 @@
|
|||||||
namespace Composer\Autoload;
|
namespace Composer\Autoload;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClassLoader implements a PSR-0 class loader
|
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
||||||
*
|
|
||||||
* See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
|
|
||||||
*
|
*
|
||||||
* $loader = new \Composer\Autoload\ClassLoader();
|
* $loader = new \Composer\Autoload\ClassLoader();
|
||||||
*
|
*
|
||||||
@ -39,6 +37,8 @@ namespace Composer\Autoload;
|
|||||||
*
|
*
|
||||||
* @author Fabien Potencier <fabien@symfony.com>
|
* @author Fabien Potencier <fabien@symfony.com>
|
||||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||||
|
* @see http://www.php-fig.org/psr/psr-0/
|
||||||
|
* @see http://www.php-fig.org/psr/psr-4/
|
||||||
*/
|
*/
|
||||||
class ClassLoader
|
class ClassLoader
|
||||||
{
|
{
|
||||||
@ -147,7 +147,7 @@ class ClassLoader
|
|||||||
* appending or prepending to the ones previously set for this namespace.
|
* appending or prepending to the ones previously set for this namespace.
|
||||||
*
|
*
|
||||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||||
* @param array|string $paths The PSR-0 base directories
|
* @param array|string $paths The PSR-4 base directories
|
||||||
* @param bool $prepend Whether to prepend the directories
|
* @param bool $prepend Whether to prepend the directories
|
||||||
*
|
*
|
||||||
* @throws \InvalidArgumentException
|
* @throws \InvalidArgumentException
|
||||||
|
2
vendor/composer/LICENSE
vendored
2
vendor/composer/LICENSE
vendored
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Copyright (c) 2015 Nils Adermann, Jordi Boggiano
|
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
1
vendor/composer/autoload_classmap.php
vendored
1
vendor/composer/autoload_classmap.php
vendored
@ -113,6 +113,7 @@ return array(
|
|||||||
'PicoFeed\\Parser\\MalformedXmlException' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php',
|
'PicoFeed\\Parser\\MalformedXmlException' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php',
|
||||||
'PicoFeed\\Parser\\Parser' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Parser.php',
|
'PicoFeed\\Parser\\Parser' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Parser.php',
|
||||||
'PicoFeed\\Parser\\ParserException' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php',
|
'PicoFeed\\Parser\\ParserException' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php',
|
||||||
|
'PicoFeed\\Parser\\ParserInterface' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/ParserInterface.php',
|
||||||
'PicoFeed\\Parser\\Rss10' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss10.php',
|
'PicoFeed\\Parser\\Rss10' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss10.php',
|
||||||
'PicoFeed\\Parser\\Rss20' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php',
|
'PicoFeed\\Parser\\Rss20' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php',
|
||||||
'PicoFeed\\Parser\\Rss91' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php',
|
'PicoFeed\\Parser\\Rss91' => $vendorDir . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php',
|
||||||
|
38
vendor/composer/autoload_files.php
vendored
38
vendor/composer/autoload_files.php
vendored
@ -6,23 +6,23 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||||||
$baseDir = dirname($vendorDir);
|
$baseDir = dirname($vendorDir);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
$baseDir . '/lib/helpers.php',
|
'441b53696b2c1c13da1210b9b5d22213' => $baseDir . '/lib/helpers.php',
|
||||||
$baseDir . '/lib/Translator.php',
|
'2ba60f191527015eb45c05a71d95b69f' => $baseDir . '/lib/Translator.php',
|
||||||
$baseDir . '/lib/Request.php',
|
'1d58cdba7ce052ff0ce0219a932c284a' => $baseDir . '/lib/Request.php',
|
||||||
$baseDir . '/lib/Response.php',
|
'8e1ed5229092ce48fdcef0a911fd739d' => $baseDir . '/lib/Response.php',
|
||||||
$baseDir . '/lib/Router.php',
|
'4782391ac54646918f4edda27244ef7a' => $baseDir . '/lib/Router.php',
|
||||||
$baseDir . '/lib/Session.php',
|
'8254a9abcf2a29f2c9e0505482e542ca' => $baseDir . '/lib/Session.php',
|
||||||
$baseDir . '/lib/Template.php',
|
'ff80894032fd9c2cba066a346e2e80a4' => $baseDir . '/lib/Template.php',
|
||||||
$baseDir . '/models/config.php',
|
'044f1c6c1ed68d7380e7cf9c1cbf264f' => $baseDir . '/models/config.php',
|
||||||
$baseDir . '/models/service.php',
|
'66494fdbaa467880453e0c3bf7e1b4b6' => $baseDir . '/models/service.php',
|
||||||
$baseDir . '/models/user.php',
|
'1f1a35303269c57e110e7f2e8ad5322c' => $baseDir . '/models/user.php',
|
||||||
$baseDir . '/models/feed.php',
|
'13b4e62b011b583c99539e59127b04c8' => $baseDir . '/models/feed.php',
|
||||||
$baseDir . '/models/item.php',
|
'a34e2b55c1e205f246bb314c6ece3ece' => $baseDir . '/models/item.php',
|
||||||
$baseDir . '/models/proxy.php',
|
'5f0802749b9b6c20dcc4a40bad2c5ab5' => $baseDir . '/models/proxy.php',
|
||||||
$baseDir . '/models/schema.php',
|
'5fd6b051860571d955491546dde72b3e' => $baseDir . '/models/schema.php',
|
||||||
$baseDir . '/models/auto_update.php',
|
'19b5b92aaacb0223866ea24a70b6a079' => $baseDir . '/models/auto_update.php',
|
||||||
$baseDir . '/models/database.php',
|
'70b7654853824fd9bf3e8f66157a36b3' => $baseDir . '/models/database.php',
|
||||||
$baseDir . '/models/remember_me.php',
|
'6b591661432612d3117d7448ab74aebf' => $baseDir . '/models/remember_me.php',
|
||||||
$baseDir . '/models/group.php',
|
'7a00c855e2b58e86f58b8e0eed83ebdb' => $baseDir . '/models/group.php',
|
||||||
$baseDir . '/models/favicon.php',
|
'5d5d97d152d4281dff599cbd7871bf65' => $baseDir . '/models/favicon.php',
|
||||||
);
|
);
|
||||||
|
21
vendor/composer/autoload_real.php
vendored
21
vendor/composer/autoload_real.php
vendored
@ -23,6 +23,12 @@ class ComposerAutoloaderInitfd7e8d436e1dc450edc3153ac8bc31b4
|
|||||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||||
spl_autoload_unregister(array('ComposerAutoloaderInitfd7e8d436e1dc450edc3153ac8bc31b4', 'loadClassLoader'));
|
spl_autoload_unregister(array('ComposerAutoloaderInitfd7e8d436e1dc450edc3153ac8bc31b4', 'loadClassLoader'));
|
||||||
|
|
||||||
|
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
|
||||||
|
if ($useStaticLoader) {
|
||||||
|
require_once __DIR__ . '/autoload_static.php';
|
||||||
|
|
||||||
|
call_user_func(\Composer\Autoload\ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4::getInitializer($loader));
|
||||||
|
} else {
|
||||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||||
foreach ($map as $namespace => $path) {
|
foreach ($map as $namespace => $path) {
|
||||||
$loader->set($namespace, $path);
|
$loader->set($namespace, $path);
|
||||||
@ -37,19 +43,28 @@ class ComposerAutoloaderInitfd7e8d436e1dc450edc3153ac8bc31b4
|
|||||||
if ($classMap) {
|
if ($classMap) {
|
||||||
$loader->addClassMap($classMap);
|
$loader->addClassMap($classMap);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$loader->register(true);
|
$loader->register(true);
|
||||||
|
|
||||||
|
if ($useStaticLoader) {
|
||||||
|
$includeFiles = Composer\Autoload\ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4::$files;
|
||||||
|
} else {
|
||||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||||
foreach ($includeFiles as $file) {
|
}
|
||||||
composerRequirefd7e8d436e1dc450edc3153ac8bc31b4($file);
|
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||||
|
composerRequirefd7e8d436e1dc450edc3153ac8bc31b4($fileIdentifier, $file);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $loader;
|
return $loader;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function composerRequirefd7e8d436e1dc450edc3153ac8bc31b4($file)
|
function composerRequirefd7e8d436e1dc450edc3153ac8bc31b4($fileIdentifier, $file)
|
||||||
{
|
{
|
||||||
|
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||||
require $file;
|
require $file;
|
||||||
|
|
||||||
|
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
261
vendor/composer/autoload_static.php
vendored
Normal file
261
vendor/composer/autoload_static.php
vendored
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// autoload_static.php @generated by Composer
|
||||||
|
|
||||||
|
namespace Composer\Autoload;
|
||||||
|
|
||||||
|
class ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4
|
||||||
|
{
|
||||||
|
public static $files = array (
|
||||||
|
'441b53696b2c1c13da1210b9b5d22213' => __DIR__ . '/../..' . '/lib/helpers.php',
|
||||||
|
'2ba60f191527015eb45c05a71d95b69f' => __DIR__ . '/../..' . '/lib/Translator.php',
|
||||||
|
'1d58cdba7ce052ff0ce0219a932c284a' => __DIR__ . '/../..' . '/lib/Request.php',
|
||||||
|
'8e1ed5229092ce48fdcef0a911fd739d' => __DIR__ . '/../..' . '/lib/Response.php',
|
||||||
|
'4782391ac54646918f4edda27244ef7a' => __DIR__ . '/../..' . '/lib/Router.php',
|
||||||
|
'8254a9abcf2a29f2c9e0505482e542ca' => __DIR__ . '/../..' . '/lib/Session.php',
|
||||||
|
'ff80894032fd9c2cba066a346e2e80a4' => __DIR__ . '/../..' . '/lib/Template.php',
|
||||||
|
'044f1c6c1ed68d7380e7cf9c1cbf264f' => __DIR__ . '/../..' . '/models/config.php',
|
||||||
|
'66494fdbaa467880453e0c3bf7e1b4b6' => __DIR__ . '/../..' . '/models/service.php',
|
||||||
|
'1f1a35303269c57e110e7f2e8ad5322c' => __DIR__ . '/../..' . '/models/user.php',
|
||||||
|
'13b4e62b011b583c99539e59127b04c8' => __DIR__ . '/../..' . '/models/feed.php',
|
||||||
|
'a34e2b55c1e205f246bb314c6ece3ece' => __DIR__ . '/../..' . '/models/item.php',
|
||||||
|
'5f0802749b9b6c20dcc4a40bad2c5ab5' => __DIR__ . '/../..' . '/models/proxy.php',
|
||||||
|
'5fd6b051860571d955491546dde72b3e' => __DIR__ . '/../..' . '/models/schema.php',
|
||||||
|
'19b5b92aaacb0223866ea24a70b6a079' => __DIR__ . '/../..' . '/models/auto_update.php',
|
||||||
|
'70b7654853824fd9bf3e8f66157a36b3' => __DIR__ . '/../..' . '/models/database.php',
|
||||||
|
'6b591661432612d3117d7448ab74aebf' => __DIR__ . '/../..' . '/models/remember_me.php',
|
||||||
|
'7a00c855e2b58e86f58b8e0eed83ebdb' => __DIR__ . '/../..' . '/models/group.php',
|
||||||
|
'5d5d97d152d4281dff599cbd7871bf65' => __DIR__ . '/../..' . '/models/favicon.php',
|
||||||
|
);
|
||||||
|
|
||||||
|
public static $prefixLengthsPsr4 = array (
|
||||||
|
'P' =>
|
||||||
|
array (
|
||||||
|
'Pheanstalk\\' => 11,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
public static $prefixDirsPsr4 = array (
|
||||||
|
'Pheanstalk\\' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/pda/pheanstalk/src',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
public static $prefixesPsr0 = array (
|
||||||
|
'Z' =>
|
||||||
|
array (
|
||||||
|
'ZendXml\\' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/zendframework/zendxml/library',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'S' =>
|
||||||
|
array (
|
||||||
|
'SimpleValidator' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/fguillot/simple-validator/src',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'P' =>
|
||||||
|
array (
|
||||||
|
'PicoFeed' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/fguillot/picofeed/lib',
|
||||||
|
),
|
||||||
|
'PicoDb' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/fguillot/picodb/lib',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'J' =>
|
||||||
|
array (
|
||||||
|
'JsonRPC' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/fguillot/json-rpc/src',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
public static $classMap = array (
|
||||||
|
'JsonRPC\\Client' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Client.php',
|
||||||
|
'JsonRPC\\Exception\\AccessDeniedException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/AccessDeniedException.php',
|
||||||
|
'JsonRPC\\Exception\\AuthenticationFailureException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/AuthenticationFailureException.php',
|
||||||
|
'JsonRPC\\Exception\\ConnectionFailureException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ConnectionFailureException.php',
|
||||||
|
'JsonRPC\\Exception\\InvalidJsonFormatException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonFormatException.php',
|
||||||
|
'JsonRPC\\Exception\\InvalidJsonRpcFormatException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php',
|
||||||
|
'JsonRPC\\Exception\\ResponseEncodingFailureException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php',
|
||||||
|
'JsonRPC\\Exception\\ResponseException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ResponseException.php',
|
||||||
|
'JsonRPC\\Exception\\ServerErrorException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ServerErrorException.php',
|
||||||
|
'JsonRPC\\HttpClient' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/HttpClient.php',
|
||||||
|
'JsonRPC\\ProcedureHandler' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/ProcedureHandler.php',
|
||||||
|
'JsonRPC\\Request\\BatchRequestParser' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Request/BatchRequestParser.php',
|
||||||
|
'JsonRPC\\Request\\RequestBuilder' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Request/RequestBuilder.php',
|
||||||
|
'JsonRPC\\Request\\RequestParser' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Request/RequestParser.php',
|
||||||
|
'JsonRPC\\Response\\ResponseBuilder' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Response/ResponseBuilder.php',
|
||||||
|
'JsonRPC\\Response\\ResponseParser' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php',
|
||||||
|
'JsonRPC\\Server' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Server.php',
|
||||||
|
'JsonRPC\\Validator\\HostValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php',
|
||||||
|
'JsonRPC\\Validator\\JsonEncodingValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/JsonEncodingValidator.php',
|
||||||
|
'JsonRPC\\Validator\\JsonFormatValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/JsonFormatValidator.php',
|
||||||
|
'JsonRPC\\Validator\\RpcFormatValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/RpcFormatValidator.php',
|
||||||
|
'JsonRPC\\Validator\\UserValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/UserValidator.php',
|
||||||
|
'Pheanstalk\\Command' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command.php',
|
||||||
|
'Pheanstalk\\Command\\AbstractCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/AbstractCommand.php',
|
||||||
|
'Pheanstalk\\Command\\BuryCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/BuryCommand.php',
|
||||||
|
'Pheanstalk\\Command\\DeleteCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/DeleteCommand.php',
|
||||||
|
'Pheanstalk\\Command\\IgnoreCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/IgnoreCommand.php',
|
||||||
|
'Pheanstalk\\Command\\KickCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/KickCommand.php',
|
||||||
|
'Pheanstalk\\Command\\KickJobCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/KickJobCommand.php',
|
||||||
|
'Pheanstalk\\Command\\ListTubeUsedCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/ListTubeUsedCommand.php',
|
||||||
|
'Pheanstalk\\Command\\ListTubesCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/ListTubesCommand.php',
|
||||||
|
'Pheanstalk\\Command\\ListTubesWatchedCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/ListTubesWatchedCommand.php',
|
||||||
|
'Pheanstalk\\Command\\PauseTubeCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/PauseTubeCommand.php',
|
||||||
|
'Pheanstalk\\Command\\PeekCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/PeekCommand.php',
|
||||||
|
'Pheanstalk\\Command\\PutCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/PutCommand.php',
|
||||||
|
'Pheanstalk\\Command\\ReleaseCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/ReleaseCommand.php',
|
||||||
|
'Pheanstalk\\Command\\ReserveCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/ReserveCommand.php',
|
||||||
|
'Pheanstalk\\Command\\StatsCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/StatsCommand.php',
|
||||||
|
'Pheanstalk\\Command\\StatsJobCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/StatsJobCommand.php',
|
||||||
|
'Pheanstalk\\Command\\StatsTubeCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/StatsTubeCommand.php',
|
||||||
|
'Pheanstalk\\Command\\TouchCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/TouchCommand.php',
|
||||||
|
'Pheanstalk\\Command\\UseCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/UseCommand.php',
|
||||||
|
'Pheanstalk\\Command\\WatchCommand' => __DIR__ . '/..' . '/pda/pheanstalk/src/Command/WatchCommand.php',
|
||||||
|
'Pheanstalk\\Connection' => __DIR__ . '/..' . '/pda/pheanstalk/src/Connection.php',
|
||||||
|
'Pheanstalk\\Exception' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception.php',
|
||||||
|
'Pheanstalk\\Exception\\ClientException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ClientException.php',
|
||||||
|
'Pheanstalk\\Exception\\CommandException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/CommandException.php',
|
||||||
|
'Pheanstalk\\Exception\\ConnectionException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ConnectionException.php',
|
||||||
|
'Pheanstalk\\Exception\\ServerBadFormatException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ServerBadFormatException.php',
|
||||||
|
'Pheanstalk\\Exception\\ServerDrainingException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ServerDrainingException.php',
|
||||||
|
'Pheanstalk\\Exception\\ServerException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ServerException.php',
|
||||||
|
'Pheanstalk\\Exception\\ServerInternalErrorException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ServerInternalErrorException.php',
|
||||||
|
'Pheanstalk\\Exception\\ServerOutOfMemoryException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ServerOutOfMemoryException.php',
|
||||||
|
'Pheanstalk\\Exception\\ServerUnknownCommandException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/ServerUnknownCommandException.php',
|
||||||
|
'Pheanstalk\\Exception\\SocketException' => __DIR__ . '/..' . '/pda/pheanstalk/src/Exception/SocketException.php',
|
||||||
|
'Pheanstalk\\Job' => __DIR__ . '/..' . '/pda/pheanstalk/src/Job.php',
|
||||||
|
'Pheanstalk\\Pheanstalk' => __DIR__ . '/..' . '/pda/pheanstalk/src/Pheanstalk.php',
|
||||||
|
'Pheanstalk\\PheanstalkInterface' => __DIR__ . '/..' . '/pda/pheanstalk/src/PheanstalkInterface.php',
|
||||||
|
'Pheanstalk\\Response' => __DIR__ . '/..' . '/pda/pheanstalk/src/Response.php',
|
||||||
|
'Pheanstalk\\ResponseParser' => __DIR__ . '/..' . '/pda/pheanstalk/src/ResponseParser.php',
|
||||||
|
'Pheanstalk\\Response\\ArrayResponse' => __DIR__ . '/..' . '/pda/pheanstalk/src/Response/ArrayResponse.php',
|
||||||
|
'Pheanstalk\\Socket' => __DIR__ . '/..' . '/pda/pheanstalk/src/Socket.php',
|
||||||
|
'Pheanstalk\\Socket\\NativeSocket' => __DIR__ . '/..' . '/pda/pheanstalk/src/Socket/NativeSocket.php',
|
||||||
|
'Pheanstalk\\Socket\\StreamFunctions' => __DIR__ . '/..' . '/pda/pheanstalk/src/Socket/StreamFunctions.php',
|
||||||
|
'Pheanstalk\\Socket\\WriteHistory' => __DIR__ . '/..' . '/pda/pheanstalk/src/Socket/WriteHistory.php',
|
||||||
|
'Pheanstalk\\YamlResponseParser' => __DIR__ . '/..' . '/pda/pheanstalk/src/YamlResponseParser.php',
|
||||||
|
'PicoDb\\Condition' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Condition.php',
|
||||||
|
'PicoDb\\Database' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Database.php',
|
||||||
|
'PicoDb\\Driver\\Base' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Base.php',
|
||||||
|
'PicoDb\\Driver\\Mysql' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Mysql.php',
|
||||||
|
'PicoDb\\Driver\\Postgres' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Postgres.php',
|
||||||
|
'PicoDb\\Driver\\Sqlite' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php',
|
||||||
|
'PicoDb\\Hashtable' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Hashtable.php',
|
||||||
|
'PicoDb\\SQLException' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/SQLException.php',
|
||||||
|
'PicoDb\\Schema' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Schema.php',
|
||||||
|
'PicoDb\\Table' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Table.php',
|
||||||
|
'PicoFeed\\Base' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Base.php',
|
||||||
|
'PicoFeed\\Client\\Client' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/Client.php',
|
||||||
|
'PicoFeed\\Client\\ClientException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/ClientException.php',
|
||||||
|
'PicoFeed\\Client\\Curl' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/Curl.php',
|
||||||
|
'PicoFeed\\Client\\ForbiddenException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/ForbiddenException.php',
|
||||||
|
'PicoFeed\\Client\\HttpHeaders' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/HttpHeaders.php',
|
||||||
|
'PicoFeed\\Client\\InvalidCertificateException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/InvalidCertificateException.php',
|
||||||
|
'PicoFeed\\Client\\InvalidUrlException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/InvalidUrlException.php',
|
||||||
|
'PicoFeed\\Client\\MaxRedirectException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/MaxRedirectException.php',
|
||||||
|
'PicoFeed\\Client\\MaxSizeException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/MaxSizeException.php',
|
||||||
|
'PicoFeed\\Client\\Stream' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/Stream.php',
|
||||||
|
'PicoFeed\\Client\\TimeoutException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/TimeoutException.php',
|
||||||
|
'PicoFeed\\Client\\UnauthorizedException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/UnauthorizedException.php',
|
||||||
|
'PicoFeed\\Client\\Url' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Client/Url.php',
|
||||||
|
'PicoFeed\\Config\\Config' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Config/Config.php',
|
||||||
|
'PicoFeed\\Encoding\\Encoding' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Encoding/Encoding.php',
|
||||||
|
'PicoFeed\\Filter\\Attribute' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Filter/Attribute.php',
|
||||||
|
'PicoFeed\\Filter\\Filter' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Filter/Filter.php',
|
||||||
|
'PicoFeed\\Filter\\Html' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Filter/Html.php',
|
||||||
|
'PicoFeed\\Filter\\Tag' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Filter/Tag.php',
|
||||||
|
'PicoFeed\\Generator\\ContentGeneratorInterface' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Generator/ContentGeneratorInterface.php',
|
||||||
|
'PicoFeed\\Generator\\FileContentGenerator' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Generator/FileContentGenerator.php',
|
||||||
|
'PicoFeed\\Generator\\YoutubeContentGenerator' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Generator/YoutubeContentGenerator.php',
|
||||||
|
'PicoFeed\\Logging\\Logger' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php',
|
||||||
|
'PicoFeed\\Parser\\Atom' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php',
|
||||||
|
'PicoFeed\\Parser\\DateParser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php',
|
||||||
|
'PicoFeed\\Parser\\Feed' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php',
|
||||||
|
'PicoFeed\\Parser\\Item' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Item.php',
|
||||||
|
'PicoFeed\\Parser\\MalformedXmlException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php',
|
||||||
|
'PicoFeed\\Parser\\Parser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Parser.php',
|
||||||
|
'PicoFeed\\Parser\\ParserException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php',
|
||||||
|
'PicoFeed\\Parser\\ParserInterface' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/ParserInterface.php',
|
||||||
|
'PicoFeed\\Parser\\Rss10' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss10.php',
|
||||||
|
'PicoFeed\\Parser\\Rss20' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php',
|
||||||
|
'PicoFeed\\Parser\\Rss91' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php',
|
||||||
|
'PicoFeed\\Parser\\Rss92' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/Rss92.php',
|
||||||
|
'PicoFeed\\Parser\\XmlEntityException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/XmlEntityException.php',
|
||||||
|
'PicoFeed\\Parser\\XmlParser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Parser/XmlParser.php',
|
||||||
|
'PicoFeed\\PicoFeedException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php',
|
||||||
|
'PicoFeed\\Processor\\ContentFilterProcessor' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Processor/ContentFilterProcessor.php',
|
||||||
|
'PicoFeed\\Processor\\ContentGeneratorProcessor' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Processor/ContentGeneratorProcessor.php',
|
||||||
|
'PicoFeed\\Processor\\ItemPostProcessor' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Processor/ItemPostProcessor.php',
|
||||||
|
'PicoFeed\\Processor\\ItemProcessorInterface' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Processor/ItemProcessorInterface.php',
|
||||||
|
'PicoFeed\\Processor\\ScraperProcessor' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Processor/ScraperProcessor.php',
|
||||||
|
'PicoFeed\\Reader\\Favicon' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php',
|
||||||
|
'PicoFeed\\Reader\\Reader' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php',
|
||||||
|
'PicoFeed\\Reader\\ReaderException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php',
|
||||||
|
'PicoFeed\\Reader\\SubscriptionNotFoundException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Reader/SubscriptionNotFoundException.php',
|
||||||
|
'PicoFeed\\Reader\\UnsupportedFeedFormatException' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Reader/UnsupportedFeedFormatException.php',
|
||||||
|
'PicoFeed\\Scraper\\CandidateParser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php',
|
||||||
|
'PicoFeed\\Scraper\\ParserInterface' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php',
|
||||||
|
'PicoFeed\\Scraper\\RuleLoader' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Scraper/RuleLoader.php',
|
||||||
|
'PicoFeed\\Scraper\\RuleParser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php',
|
||||||
|
'PicoFeed\\Scraper\\Scraper' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php',
|
||||||
|
'PicoFeed\\Serialization\\Subscription' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Serialization/Subscription.php',
|
||||||
|
'PicoFeed\\Serialization\\SubscriptionList' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionList.php',
|
||||||
|
'PicoFeed\\Serialization\\SubscriptionListBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListBuilder.php',
|
||||||
|
'PicoFeed\\Serialization\\SubscriptionListParser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListParser.php',
|
||||||
|
'PicoFeed\\Serialization\\SubscriptionParser' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionParser.php',
|
||||||
|
'PicoFeed\\Syndication\\AtomFeedBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/AtomFeedBuilder.php',
|
||||||
|
'PicoFeed\\Syndication\\AtomHelper' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/AtomHelper.php',
|
||||||
|
'PicoFeed\\Syndication\\AtomItemBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/AtomItemBuilder.php',
|
||||||
|
'PicoFeed\\Syndication\\FeedBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/FeedBuilder.php',
|
||||||
|
'PicoFeed\\Syndication\\ItemBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/ItemBuilder.php',
|
||||||
|
'PicoFeed\\Syndication\\Rss20FeedBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20FeedBuilder.php',
|
||||||
|
'PicoFeed\\Syndication\\Rss20Helper' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20Helper.php',
|
||||||
|
'PicoFeed\\Syndication\\Rss20ItemBuilder' => __DIR__ . '/..' . '/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20ItemBuilder.php',
|
||||||
|
'SimpleValidator\\Validator' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validator.php',
|
||||||
|
'SimpleValidator\\Validators\\Alpha' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Alpha.php',
|
||||||
|
'SimpleValidator\\Validators\\AlphaNumeric' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/AlphaNumeric.php',
|
||||||
|
'SimpleValidator\\Validators\\Base' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Base.php',
|
||||||
|
'SimpleValidator\\Validators\\Date' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Date.php',
|
||||||
|
'SimpleValidator\\Validators\\Email' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Email.php',
|
||||||
|
'SimpleValidator\\Validators\\Equals' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Equals.php',
|
||||||
|
'SimpleValidator\\Validators\\Exists' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Exists.php',
|
||||||
|
'SimpleValidator\\Validators\\GreaterThan' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/GreaterThan.php',
|
||||||
|
'SimpleValidator\\Validators\\InArray' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/InArray.php',
|
||||||
|
'SimpleValidator\\Validators\\Integer' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Integer.php',
|
||||||
|
'SimpleValidator\\Validators\\Ip' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Ip.php',
|
||||||
|
'SimpleValidator\\Validators\\Length' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Length.php',
|
||||||
|
'SimpleValidator\\Validators\\MaxLength' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/MaxLength.php',
|
||||||
|
'SimpleValidator\\Validators\\MinLength' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/MinLength.php',
|
||||||
|
'SimpleValidator\\Validators\\NotEquals' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/NotEquals.php',
|
||||||
|
'SimpleValidator\\Validators\\NotInArray' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/NotInArray.php',
|
||||||
|
'SimpleValidator\\Validators\\Numeric' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Numeric.php',
|
||||||
|
'SimpleValidator\\Validators\\Range' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Range.php',
|
||||||
|
'SimpleValidator\\Validators\\Required' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Required.php',
|
||||||
|
'SimpleValidator\\Validators\\Unique' => __DIR__ . '/..' . '/fguillot/simple-validator/src/SimpleValidator/Validators/Unique.php',
|
||||||
|
'ZendXml\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php',
|
||||||
|
'ZendXml\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zendxml/library/ZendXml/Exception/InvalidArgumentException.php',
|
||||||
|
'ZendXml\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zendxml/library/ZendXml/Exception/RuntimeException.php',
|
||||||
|
'ZendXml\\Security' => __DIR__ . '/..' . '/zendframework/zendxml/library/ZendXml/Security.php',
|
||||||
|
);
|
||||||
|
|
||||||
|
public static function getInitializer(ClassLoader $loader)
|
||||||
|
{
|
||||||
|
return \Closure::bind(function () use ($loader) {
|
||||||
|
$loader->prefixLengthsPsr4 = ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4::$prefixLengthsPsr4;
|
||||||
|
$loader->prefixDirsPsr4 = ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4::$prefixDirsPsr4;
|
||||||
|
$loader->prefixesPsr0 = ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4::$prefixesPsr0;
|
||||||
|
$loader->classMap = ComposerStaticInitfd7e8d436e1dc450edc3153ac8bc31b4::$classMap;
|
||||||
|
|
||||||
|
}, null, ClassLoader::class);
|
||||||
|
}
|
||||||
|
}
|
100
vendor/composer/installed.json
vendored
100
vendor/composer/installed.json
vendored
@ -123,56 +123,6 @@
|
|||||||
"zf2"
|
"zf2"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "fguillot/picofeed",
|
|
||||||
"version": "v0.1.23",
|
|
||||||
"version_normalized": "0.1.23.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/fguillot/picoFeed.git",
|
|
||||||
"reference": "a7c3d420c239fe9ffc39b0d06b6e57db39ce3797"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/fguillot/picoFeed/zipball/a7c3d420c239fe9ffc39b0d06b6e57db39ce3797",
|
|
||||||
"reference": "a7c3d420c239fe9ffc39b0d06b6e57db39ce3797",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ext-dom": "*",
|
|
||||||
"ext-iconv": "*",
|
|
||||||
"ext-libxml": "*",
|
|
||||||
"ext-simplexml": "*",
|
|
||||||
"ext-xml": "*",
|
|
||||||
"php": ">=5.3.0",
|
|
||||||
"zendframework/zendxml": "^1.0"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"ext-curl": "PicoFeed will use cURL if present"
|
|
||||||
},
|
|
||||||
"time": "2016-04-17 22:31:55",
|
|
||||||
"bin": [
|
|
||||||
"picofeed"
|
|
||||||
],
|
|
||||||
"type": "library",
|
|
||||||
"installation-source": "dist",
|
|
||||||
"autoload": {
|
|
||||||
"psr-0": {
|
|
||||||
"PicoFeed": "lib/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Frédéric Guillot"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Modern library to handle RSS/Atom feeds",
|
|
||||||
"homepage": "https://github.com/fguillot/picoFeed"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pda/pheanstalk",
|
"name": "pda/pheanstalk",
|
||||||
"version": "v3.1.0",
|
"version": "v3.1.0",
|
||||||
@ -262,5 +212,55 @@
|
|||||||
],
|
],
|
||||||
"description": "Simple Json-RPC client/server library that just works",
|
"description": "Simple Json-RPC client/server library that just works",
|
||||||
"homepage": "https://github.com/fguillot/JsonRPC"
|
"homepage": "https://github.com/fguillot/JsonRPC"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fguillot/picofeed",
|
||||||
|
"version": "v0.1.24",
|
||||||
|
"version_normalized": "0.1.24.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/fguillot/picoFeed.git",
|
||||||
|
"reference": "25f9653ca663e098f51eabbdf495eb9a130c041b"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/fguillot/picoFeed/zipball/25f9653ca663e098f51eabbdf495eb9a130c041b",
|
||||||
|
"reference": "25f9653ca663e098f51eabbdf495eb9a130c041b",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-dom": "*",
|
||||||
|
"ext-iconv": "*",
|
||||||
|
"ext-libxml": "*",
|
||||||
|
"ext-simplexml": "*",
|
||||||
|
"ext-xml": "*",
|
||||||
|
"php": ">=5.3.0",
|
||||||
|
"zendframework/zendxml": "^1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-curl": "PicoFeed will use cURL if present"
|
||||||
|
},
|
||||||
|
"time": "2016-07-03 00:02:03",
|
||||||
|
"bin": [
|
||||||
|
"picofeed"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"PicoFeed": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Frédéric Guillot"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Modern library to handle RSS/Atom feeds",
|
||||||
|
"homepage": "https://github.com/fguillot/picoFeed"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -9,6 +9,7 @@ use PicoFeed\Client\Url;
|
|||||||
/**
|
/**
|
||||||
* Atom parser.
|
* Atom parser.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Atom extends Parser
|
class Atom extends Parser
|
||||||
@ -154,30 +155,33 @@ class Atom extends Parser
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the item date.
|
* Find the item published date.
|
||||||
*
|
*
|
||||||
* @param SimpleXMLElement $entry Feed item
|
* @param SimpleXMLElement $entry Feed item
|
||||||
* @param Item $item Item object
|
* @param Item $item Item object
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
*/
|
*/
|
||||||
public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
{
|
{
|
||||||
$published = XmlParser::getXPathResult($entry, 'atom:published', $this->namespaces)
|
$date = XmlParser::getXPathResult($entry, 'atom:published', $this->namespaces)
|
||||||
?: XmlParser::getXPathResult($entry, 'published');
|
?: XmlParser::getXPathResult($entry, 'published');
|
||||||
|
|
||||||
$updated = XmlParser::getXPathResult($entry, 'atom:updated', $this->namespaces)
|
$item->setPublishedDate(!empty($date) ? $this->getDateParser()->getDateTime((string) current($date)) : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item updated date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
|
{
|
||||||
|
$date = XmlParser::getXPathResult($entry, 'atom:updated', $this->namespaces)
|
||||||
?: XmlParser::getXPathResult($entry, 'updated');
|
?: XmlParser::getXPathResult($entry, 'updated');
|
||||||
|
|
||||||
$published = !empty($published) ? $this->getDateParser()->getDateTime((string) current($published)) : null;
|
$item->setUpdatedDate(!empty($date) ? $this->getDateParser()->getDateTime((string) current($date)) : null);
|
||||||
$updated = !empty($updated) ? $this->getDateParser()->getDateTime((string) current($updated)) : null;
|
|
||||||
|
|
||||||
if ($published === null && $updated === null) {
|
|
||||||
$item->setDate($feed->getDate()); // We use the feed date if there is no date for the item
|
|
||||||
} elseif ($published !== null && $updated !== null) {
|
|
||||||
$item->setDate(max($published, $updated)); // We use the most recent date between published and updated
|
|
||||||
} else {
|
|
||||||
$item->setDate($updated ?: $published);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,6 +9,7 @@ use PicoFeed\Base;
|
|||||||
/**
|
/**
|
||||||
* Date Parser.
|
* Date Parser.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class DateParser extends Base
|
class DateParser extends Base
|
||||||
|
@ -5,6 +5,7 @@ namespace PicoFeed\Parser;
|
|||||||
/**
|
/**
|
||||||
* Feed.
|
* Feed.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Feed
|
class Feed
|
||||||
|
@ -5,6 +5,7 @@ namespace PicoFeed\Parser;
|
|||||||
/**
|
/**
|
||||||
* Feed Item.
|
* Feed Item.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Item
|
class Item
|
||||||
@ -60,6 +61,20 @@ class Item
|
|||||||
*/
|
*/
|
||||||
public $date = null;
|
public $date = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Item published date.
|
||||||
|
*
|
||||||
|
* @var \DateTime
|
||||||
|
*/
|
||||||
|
public $publishedDate = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Item updated date.
|
||||||
|
*
|
||||||
|
* @var \DateTime
|
||||||
|
*/
|
||||||
|
public $updatedDate = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Item content.
|
* Item content.
|
||||||
*
|
*
|
||||||
@ -151,7 +166,12 @@ class Item
|
|||||||
$output .= 'Item::'.$property.' = '.$this->$property.PHP_EOL;
|
$output .= 'Item::'.$property.' = '.$this->$property.PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$publishedDate = $this->publishedDate != null ? $this->publishedDate->format(DATE_RFC822) : null;
|
||||||
|
$updatedDate = $this->updatedDate != null ? $this->updatedDate->format(DATE_RFC822) : null;
|
||||||
|
|
||||||
$output .= 'Item::date = '.$this->date->format(DATE_RFC822).PHP_EOL;
|
$output .= 'Item::date = '.$this->date->format(DATE_RFC822).PHP_EOL;
|
||||||
|
$output .= 'Item::publishedDate = '.$publishedDate.PHP_EOL;
|
||||||
|
$output .= 'Item::updatedDate = '.$updatedDate.PHP_EOL;
|
||||||
$output .= 'Item::isRTL() = '.($this->isRTL() ? 'true' : 'false').PHP_EOL;
|
$output .= 'Item::isRTL() = '.($this->isRTL() ? 'true' : 'false').PHP_EOL;
|
||||||
$output .= 'Item::content = '.strlen($this->content).' bytes'.PHP_EOL;
|
$output .= 'Item::content = '.strlen($this->content).' bytes'.PHP_EOL;
|
||||||
|
|
||||||
@ -212,6 +232,26 @@ class Item
|
|||||||
return $this->date;
|
return $this->date;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get published date.
|
||||||
|
*
|
||||||
|
* @return \DateTime
|
||||||
|
*/
|
||||||
|
public function getPublishedDate()
|
||||||
|
{
|
||||||
|
return $this->publishedDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get updated date.
|
||||||
|
*
|
||||||
|
* @return \DateTime
|
||||||
|
*/
|
||||||
|
public function getUpdatedDate()
|
||||||
|
{
|
||||||
|
return $this->updatedDate;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get content.
|
* Get content.
|
||||||
*
|
*
|
||||||
@ -333,6 +373,30 @@ class Item
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set item published date.
|
||||||
|
*
|
||||||
|
* @param \DateTime $publishedDate
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
|
public function setPublishedDate($publishedDate)
|
||||||
|
{
|
||||||
|
$this->publishedDate = $publishedDate;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set item updated date.
|
||||||
|
*
|
||||||
|
* @param \DateTime $updatedDate
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
|
public function setUpdatedDate($updatedDate)
|
||||||
|
{
|
||||||
|
$this->updatedDate = $updatedDate;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set enclosure url.
|
* Set enclosure url.
|
||||||
*
|
*
|
||||||
|
@ -5,6 +5,7 @@ namespace PicoFeed\Parser;
|
|||||||
/**
|
/**
|
||||||
* MalformedXmlException Exception.
|
* MalformedXmlException Exception.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class MalformedXmlException extends ParserException
|
class MalformedXmlException extends ParserException
|
||||||
|
@ -15,9 +15,10 @@ use PicoFeed\Logging\Logger;
|
|||||||
/**
|
/**
|
||||||
* Base parser class.
|
* Base parser class.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
abstract class Parser
|
abstract class Parser implements ParserInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Config object.
|
* Config object.
|
||||||
@ -211,6 +212,30 @@ abstract class Parser
|
|||||||
$item->url = Url::resolve($item->getUrl(), $feed->getSiteUrl());
|
$item->url = Url::resolve($item->getUrl(), $feed->getSiteUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
|
{
|
||||||
|
$this->findItemPublishedDate($entry, $item, $feed);
|
||||||
|
$published = $item->getPublishedDate();
|
||||||
|
|
||||||
|
$this->findItemUpdatedDate($entry, $item, $feed);
|
||||||
|
$updated = $item->getUpdatedDate();
|
||||||
|
|
||||||
|
if ($published === null && $updated === null) {
|
||||||
|
$item->setDate($feed->getDate()); // We use the feed date if there is no date for the item
|
||||||
|
} elseif ($published !== null && $updated !== null) {
|
||||||
|
$item->setDate(max($published, $updated)); // We use the most recent date between published and updated
|
||||||
|
} else {
|
||||||
|
$item->setDate($updated ?: $published);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Item Post Processor instance
|
* Get Item Post Processor instance
|
||||||
*
|
*
|
||||||
@ -371,153 +396,5 @@ abstract class Parser
|
|||||||
return $xml;
|
return $xml;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed url.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedUrl(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the site url.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findSiteUrl(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed title.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedTitle(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed description.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedDescription(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed language.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedLanguage(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed id.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedId(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed date.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedDate(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed logo url.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedLogo(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the feed icon.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findFeedIcon(SimpleXMLElement $xml, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the path to the items XML tree.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed xml
|
|
||||||
*
|
|
||||||
* @return SimpleXMLElement
|
|
||||||
*/
|
|
||||||
abstract public function getItemsTree(SimpleXMLElement $xml);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item author.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml Feed
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
*/
|
|
||||||
abstract public function findItemAuthor(SimpleXMLElement $xml, SimpleXMLElement $entry, Item $item);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item URL.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
*/
|
|
||||||
abstract public function findItemUrl(SimpleXMLElement $entry, Item $item);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item title.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
*/
|
|
||||||
abstract public function findItemTitle(SimpleXMLElement $entry, Item $item);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Genereate the item id.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findItemId(SimpleXMLElement $entry, Item $item, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item date.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param Item $item Item object
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item content.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
*/
|
|
||||||
abstract public function findItemContent(SimpleXMLElement $entry, Item $item);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item enclosure.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the item language.
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $entry Feed item
|
|
||||||
* @param \PicoFeed\Parser\Item $item Item object
|
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
|
||||||
*/
|
|
||||||
abstract public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed);
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ use PicoFeed\PicoFeedException;
|
|||||||
/**
|
/**
|
||||||
* ParserException Exception.
|
* ParserException Exception.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
abstract class ParserException extends PicoFeedException
|
abstract class ParserException extends PicoFeedException
|
||||||
|
173
vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserInterface.php
vendored
Normal file
173
vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserInterface.php
vendored
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PicoFeed\Parser;
|
||||||
|
|
||||||
|
use SimpleXMLElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface ParserInterface
|
||||||
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
|
* @author Frederic Guillot
|
||||||
|
*/
|
||||||
|
interface ParserInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Find the feed url.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedUrl(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the site url.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findSiteUrl(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed title.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedTitle(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed description.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedDescription(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed language.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedLanguage(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed id.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedId(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedDate(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed logo url.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedLogo(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the feed icon.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findFeedIcon(SimpleXMLElement $xml, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the path to the items XML tree.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed xml
|
||||||
|
*
|
||||||
|
* @return SimpleXMLElement
|
||||||
|
*/
|
||||||
|
public function getItemsTree(SimpleXMLElement $xml);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item author.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $xml Feed
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
*/
|
||||||
|
public function findItemAuthor(SimpleXMLElement $xml, SimpleXMLElement $entry, Item $item);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item URL.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
*/
|
||||||
|
public function findItemUrl(SimpleXMLElement $entry, Item $item);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item title.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
*/
|
||||||
|
public function findItemTitle(SimpleXMLElement $entry, Item $item);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Genereate the item id.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemId(SimpleXMLElement $entry, Item $item, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item published date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item updated date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item content.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
*/
|
||||||
|
public function findItemContent(SimpleXMLElement $entry, Item $item);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item enclosure.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item language.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed);
|
||||||
|
}
|
@ -8,6 +8,7 @@ use PicoFeed\Filter\Filter;
|
|||||||
/**
|
/**
|
||||||
* RSS 1.0 parser.
|
* RSS 1.0 parser.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Rss10 extends Parser
|
class Rss10 extends Parser
|
||||||
@ -157,17 +158,32 @@ class Rss10 extends Parser
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the item date.
|
* Find the item published date.
|
||||||
*
|
*
|
||||||
* @param SimpleXMLElement $entry Feed item
|
* @param SimpleXMLElement $entry Feed item
|
||||||
* @param Item $item Item object
|
* @param Item $item Item object
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
*/
|
*/
|
||||||
public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
{
|
{
|
||||||
$date = XmlParser::getXPathResult($entry, 'dc:date', $this->namespaces);
|
$date = XmlParser::getXPathResult($entry, 'dc:date', $this->namespaces);
|
||||||
|
|
||||||
$item->setDate(empty($date) ? $feed->getDate() : $this->getDateParser()->getDateTime(XmlParser::getValue($date)));
|
$item->setPublishedDate(!empty($date) ? $this->getDateParser()->getDateTime(XmlParser::getValue($date)) : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item updated date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
|
{
|
||||||
|
if ($item->publishedDate === null) {
|
||||||
|
$this->findItemPublishedDate($entry, $item, $feed);
|
||||||
|
}
|
||||||
|
$item->setUpdatedDate($item->getPublishedDate()); // No updated date in RSS 1.0 specifications
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,6 +9,7 @@ use PicoFeed\Client\Url;
|
|||||||
/**
|
/**
|
||||||
* RSS 2.0 Parser.
|
* RSS 2.0 Parser.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Rss20 extends Parser
|
class Rss20 extends Parser
|
||||||
@ -152,17 +153,32 @@ class Rss20 extends Parser
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the item date.
|
* Find the item published date.
|
||||||
*
|
*
|
||||||
* @param SimpleXMLElement $entry Feed item
|
* @param SimpleXMLElement $entry Feed item
|
||||||
* @param Item $item Item object
|
* @param Item $item Item object
|
||||||
* @param \PicoFeed\Parser\Feed $feed Feed object
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
*/
|
*/
|
||||||
public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
{
|
{
|
||||||
$date = XmlParser::getXPathResult($entry, 'pubDate');
|
$date = XmlParser::getXPathResult($entry, 'pubDate');
|
||||||
|
|
||||||
$item->setDate(empty($date) ? $feed->getDate() : $this->getDateParser()->getDateTime(XmlParser::getValue($date)));
|
$item->setPublishedDate(!empty($date) ? $this->getDateParser()->getDateTime(XmlParser::getValue($date)) : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the item updated date.
|
||||||
|
*
|
||||||
|
* @param SimpleXMLElement $entry Feed item
|
||||||
|
* @param Item $item Item object
|
||||||
|
* @param \PicoFeed\Parser\Feed $feed Feed object
|
||||||
|
*/
|
||||||
|
public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed)
|
||||||
|
{
|
||||||
|
if ($item->publishedDate === null) {
|
||||||
|
$this->findItemPublishedDate($entry, $item, $feed);
|
||||||
|
}
|
||||||
|
$item->setUpdatedDate($item->getPublishedDate()); // No updated date in RSS 2.0 specifications
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,6 +5,7 @@ namespace PicoFeed\Parser;
|
|||||||
/**
|
/**
|
||||||
* RSS 0.91 Parser.
|
* RSS 0.91 Parser.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Rss91 extends Rss20
|
class Rss91 extends Rss20
|
||||||
|
@ -5,6 +5,7 @@ namespace PicoFeed\Parser;
|
|||||||
/**
|
/**
|
||||||
* RSS 0.92 Parser.
|
* RSS 0.92 Parser.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class Rss92 extends Rss20
|
class Rss92 extends Rss20
|
||||||
|
@ -5,6 +5,7 @@ namespace PicoFeed\Parser;
|
|||||||
/**
|
/**
|
||||||
* XmlEntityException Exception.
|
* XmlEntityException Exception.
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Bernhard Posselt
|
* @author Bernhard Posselt
|
||||||
*/
|
*/
|
||||||
class XmlEntityException extends MalformedXmlException
|
class XmlEntityException extends MalformedXmlException
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
namespace PicoFeed\Parser;
|
namespace PicoFeed\Parser;
|
||||||
|
|
||||||
use DomDocument;
|
use DOMDocument;
|
||||||
use SimpleXmlElement;
|
use SimpleXMLElement;
|
||||||
|
use ZendXml\Exception\RuntimeException;
|
||||||
use ZendXml\Security;
|
use ZendXml\Security;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -12,6 +12,7 @@ use ZendXml\Security;
|
|||||||
*
|
*
|
||||||
* Checks for XML eXternal Entity (XXE) and XML Entity Expansion (XEE) attacks on XML documents
|
* Checks for XML eXternal Entity (XXE) and XML Entity Expansion (XEE) attacks on XML documents
|
||||||
*
|
*
|
||||||
|
* @package PicoFeed\Parser
|
||||||
* @author Frederic Guillot
|
* @author Frederic Guillot
|
||||||
*/
|
*/
|
||||||
class XmlParser
|
class XmlParser
|
||||||
@ -33,7 +34,7 @@ class XmlParser
|
|||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @param string $input XML content
|
* @param string $input XML content
|
||||||
* @return \DOMDocument
|
* @return DOMDocument
|
||||||
*/
|
*/
|
||||||
public static function getDomDocument($input)
|
public static function getDomDocument($input)
|
||||||
{
|
{
|
||||||
@ -52,18 +53,20 @@ class XmlParser
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Small wrapper around ZendXml to turn their exceptions into picoFeed
|
* Small wrapper around ZendXml to turn their exceptions into PicoFeed exceptions
|
||||||
* exceptions
|
|
||||||
*
|
*
|
||||||
* @param $input the xml to load
|
* @static
|
||||||
* @param $dom pass in a dom document or use null/omit if simpleXml should
|
* @access private
|
||||||
* be used
|
* @param string $input
|
||||||
|
* @param DOMDocument $dom
|
||||||
|
* @throws XmlEntityException
|
||||||
|
* @return SimpleXMLElement|DomDocument|boolean
|
||||||
*/
|
*/
|
||||||
private static function scan($input, $dom = null)
|
private static function scan($input, $dom = null)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
return Security::scan($input, $dom);
|
return Security::scan($input, $dom);
|
||||||
} catch(\ZendXml\Exception\RuntimeException $e) {
|
} catch(RuntimeException $e) {
|
||||||
throw new XmlEntityException($e->getMessage());
|
throw new XmlEntityException($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -72,8 +75,9 @@ class XmlParser
|
|||||||
* Load HTML document by using a DomDocument instance or return false on failure.
|
* Load HTML document by using a DomDocument instance or return false on failure.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
* @access public
|
||||||
* @param string $input XML content
|
* @param string $input XML content
|
||||||
* @return \DOMDocument
|
* @return DOMDocument
|
||||||
*/
|
*/
|
||||||
public static function getHtmlDocument($input)
|
public static function getHtmlDocument($input)
|
||||||
{
|
{
|
||||||
@ -98,9 +102,8 @@ class XmlParser
|
|||||||
* Convert a HTML document to XML.
|
* Convert a HTML document to XML.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
*
|
* @access public
|
||||||
* @param string $html HTML document
|
* @param string $html HTML document
|
||||||
*
|
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function htmlToXml($html)
|
public static function htmlToXml($html)
|
||||||
@ -113,6 +116,7 @@ class XmlParser
|
|||||||
* Get XML parser errors.
|
* Get XML parser errors.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
* @access public
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function getErrors()
|
public static function getErrors()
|
||||||
@ -135,6 +139,7 @@ class XmlParser
|
|||||||
* Get the encoding from a xml tag.
|
* Get the encoding from a xml tag.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
* @access public
|
||||||
* @param string $data Input data
|
* @param string $data Input data
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@ -162,6 +167,7 @@ class XmlParser
|
|||||||
* Get the charset from a meta tag.
|
* Get the charset from a meta tag.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
* @access public
|
||||||
* @param string $data Input data
|
* @param string $data Input data
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@ -179,6 +185,8 @@ class XmlParser
|
|||||||
/**
|
/**
|
||||||
* Rewrite XPath query to use namespace-uri and local-name derived from prefix.
|
* Rewrite XPath query to use namespace-uri and local-name derived from prefix.
|
||||||
*
|
*
|
||||||
|
* @static
|
||||||
|
* @access public
|
||||||
* @param string $query XPath query
|
* @param string $query XPath query
|
||||||
* @param array $ns Prefix to namespace URI mapping
|
* @param array $ns Prefix to namespace URI mapping
|
||||||
* @return string
|
* @return string
|
||||||
@ -199,10 +207,12 @@ class XmlParser
|
|||||||
/**
|
/**
|
||||||
* Get the result elements of a XPath query.
|
* Get the result elements of a XPath query.
|
||||||
*
|
*
|
||||||
* @param \SimpleXMLElement $xml XML element
|
* @static
|
||||||
|
* @access public
|
||||||
|
* @param SimpleXMLElement $xml XML element
|
||||||
* @param string $query XPath query
|
* @param string $query XPath query
|
||||||
* @param array $ns Prefix to namespace URI mapping
|
* @param array $ns Prefix to namespace URI mapping
|
||||||
* @return \SimpleXMLElement[]
|
* @return SimpleXMLElement[]
|
||||||
*/
|
*/
|
||||||
public static function getXPathResult(SimpleXMLElement $xml, $query, array $ns = array())
|
public static function getXPathResult(SimpleXMLElement $xml, $query, array $ns = array())
|
||||||
{
|
{
|
||||||
|
@ -6,6 +6,7 @@ return array(
|
|||||||
'test_url' => 'https://medium.com/lessons-learned/917b8b63ae3e',
|
'test_url' => 'https://medium.com/lessons-learned/917b8b63ae3e',
|
||||||
'body' => array(
|
'body' => array(
|
||||||
'//div[contains(@class, "post-field body")]',
|
'//div[contains(@class, "post-field body")]',
|
||||||
|
'//div[contains(@class, "section-inner layoutSingleColumn")]',
|
||||||
),
|
),
|
||||||
'strip' => array(
|
'strip' => array(
|
||||||
),
|
),
|
||||||
|
@ -4,14 +4,14 @@ return array(
|
|||||||
'%.*%' => array(
|
'%.*%' => array(
|
||||||
'test_url' => 'http://www.rugbyrama.fr/rugby/top-14/2015-2016/top-14-hayman-coupe-du-monde-finale-2012-lutte.-voici-levan-chilachava-toulon_sto5283863/story.shtml',
|
'test_url' => 'http://www.rugbyrama.fr/rugby/top-14/2015-2016/top-14-hayman-coupe-du-monde-finale-2012-lutte.-voici-levan-chilachava-toulon_sto5283863/story.shtml',
|
||||||
'body' => array(
|
'body' => array(
|
||||||
'//div[@class="story-simple-content"]',
|
'//div[@class="storyfull__content"]',
|
||||||
),
|
),
|
||||||
'strip' => array(
|
'strip' => array(
|
||||||
'//script',
|
'//script',
|
||||||
'//form',
|
'//form',
|
||||||
'//style',
|
'//style',
|
||||||
'//*[@class="share-buttons"]',
|
'//*[@class="share-buttons"]',
|
||||||
'//*[@class="show-mobile-block"]',
|
'//*[@class="ad"]',
|
||||||
'//*[@class="hide-desktop"]',
|
'//*[@class="hide-desktop"]',
|
||||||
'//*[@id="tracking_img"]',
|
'//*[@id="tracking_img"]',
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user