988635dcf3
Add transformation from legacy items to FeedItems, before transforming items to the desired format. This allows using legacy bridges alongside bridges that return FeedItems. As discussed in #940, instead of throwing exceptions on invalid parameters, add messages to the debug log instead Add support for strings to setTimestamp(). If the provided timestamp is a string, automatically try to parse it using strtotime(). This allows bridges to simply use `$item['timestamp'] = $timestamp;` instead of `$item['timestamp'] = strtotime($timestamp);` Support simple_html_dom_node as input paramter for setURI Support simple_html_dom_node as input parameter for setContent
80 lines
2.4 KiB
PHP
80 lines
2.4 KiB
PHP
<?php
|
|
/**
|
|
* This file is part of RSS-Bridge, a PHP project capable of generating RSS and
|
|
* Atom feeds for websites that don't have one.
|
|
*
|
|
* For the full license information, please view the UNLICENSE file distributed
|
|
* with this source code.
|
|
*
|
|
* @package Core
|
|
* @license http://unlicense.org/ UNLICENSE
|
|
* @link https://github.com/rss-bridge/rss-bridge
|
|
*/
|
|
|
|
/** Path to the root folder of RSS-Bridge (where index.php is located) */
|
|
define('PATH_ROOT', __DIR__ . '/../');
|
|
|
|
/** Path to the core library */
|
|
define('PATH_LIB', __DIR__ . '/../lib/'); // Path to core library
|
|
|
|
/** Path to the vendor library */
|
|
define('PATH_LIB_VENDOR', __DIR__ . '/../vendor/');
|
|
|
|
/** Path to the bridges library */
|
|
define('PATH_LIB_BRIDGES', __DIR__ . '/../bridges/');
|
|
|
|
/** Path to the formats library */
|
|
define('PATH_LIB_FORMATS', __DIR__ . '/../formats/');
|
|
|
|
/** Path to the caches library */
|
|
define('PATH_LIB_CACHES', __DIR__ . '/../caches/');
|
|
|
|
/** Path to the cache folder */
|
|
define('PATH_CACHE', __DIR__ . '/../cache/');
|
|
|
|
/** Path to the whitelist file */
|
|
define('WHITELIST', __DIR__ . '/../whitelist.txt');
|
|
|
|
/** URL to the RSS-Bridge repository */
|
|
define('REPOSITORY', 'https://github.com/RSS-Bridge/rss-bridge/');
|
|
|
|
// Interfaces
|
|
require_once PATH_LIB . 'BridgeInterface.php';
|
|
require_once PATH_LIB . 'CacheInterface.php';
|
|
require_once PATH_LIB . 'FormatInterface.php';
|
|
|
|
// Classes
|
|
require_once PATH_LIB . 'FeedItem.php';
|
|
require_once PATH_LIB . 'Debug.php';
|
|
require_once PATH_LIB . 'Exceptions.php';
|
|
require_once PATH_LIB . 'Format.php';
|
|
require_once PATH_LIB . 'FormatAbstract.php';
|
|
require_once PATH_LIB . 'Bridge.php';
|
|
require_once PATH_LIB . 'BridgeAbstract.php';
|
|
require_once PATH_LIB . 'FeedExpander.php';
|
|
require_once PATH_LIB . 'Cache.php';
|
|
require_once PATH_LIB . 'Authentication.php';
|
|
require_once PATH_LIB . 'Configuration.php';
|
|
require_once PATH_LIB . 'BridgeCard.php';
|
|
require_once PATH_LIB . 'BridgeList.php';
|
|
require_once PATH_LIB . 'ParameterValidator.php';
|
|
|
|
// Functions
|
|
require_once PATH_LIB . 'html.php';
|
|
require_once PATH_LIB . 'error.php';
|
|
require_once PATH_LIB . 'contents.php';
|
|
|
|
// Vendor
|
|
require_once PATH_LIB_VENDOR . 'simplehtmldom/simple_html_dom.php';
|
|
require_once PATH_LIB_VENDOR . 'php-urljoin/src/urljoin.php';
|
|
|
|
// Initialize static members
|
|
try {
|
|
Bridge::setWorkingDir(PATH_LIB_BRIDGES);
|
|
Format::setWorkingDir(PATH_LIB_FORMATS);
|
|
Cache::setWorkingDir(PATH_LIB_CACHES);
|
|
} catch(Exception $e) {
|
|
error_log($e);
|
|
header('Content-type: text/plain', true, 500);
|
|
die($e->getMessage());
|
|
}
|