mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-22 22:33:55 -07:00
Реализация Dependency Injection от @VasyOk #55
This commit is contained in:
parent
cb28304866
commit
071dc63669
9 changed files with 880 additions and 655 deletions
57
common.php
57
common.php
|
@ -15,11 +15,41 @@ if (!defined('BB_ROOT')) define('BB_ROOT', './');
|
||||||
|
|
||||||
header('X-Frame-Options: SAMEORIGIN');
|
header('X-Frame-Options: SAMEORIGIN');
|
||||||
|
|
||||||
// Get initial config
|
// Cloudflare
|
||||||
require(BB_ROOT . 'library/config.php');
|
if (isset($_SERVER['HTTP_CF_CONNECTING_IP']))
|
||||||
|
{
|
||||||
|
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get all constants
|
||||||
|
require_once(BB_ROOT . 'library/defines.php');
|
||||||
|
|
||||||
// Composer
|
// Composer
|
||||||
require(BB_ROOT . 'vendor/autoload.php');
|
require_once(BB_ROOT . 'vendor/autoload.php');
|
||||||
|
|
||||||
|
// Get initial config
|
||||||
|
require_once(BB_ROOT . 'library/config.php');
|
||||||
|
|
||||||
|
$di = new \TorrentPier\Di();
|
||||||
|
|
||||||
|
$di->register(new \TorrentPier\ServiceProviders\ConfigServiceProvider, [
|
||||||
|
'config.file.system.main' => __DIR__ . '/library/config.php',
|
||||||
|
'config.file.local.main' => __DIR__ . '/library/config.local.php',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$di->register(new \TorrentPier\ServiceProviders\DbServiceProvider, [
|
||||||
|
'config.db' => $di->config->db->toArray()
|
||||||
|
]);
|
||||||
|
|
||||||
|
$di->register(new \TorrentPier\ServiceProviders\SphinxServiceProvider, [
|
||||||
|
'config.sphinx' => $di->config->sphinx->toArray()
|
||||||
|
]);
|
||||||
|
|
||||||
|
$bb_cfg = $di->config->toArray();
|
||||||
|
$page_cfg = $di->config->page->toArray();
|
||||||
|
$tr_cfg = $di->config->tracker->toArray();
|
||||||
|
$rating_limits = $di->config->rating->toArray();
|
||||||
|
define('BB_CFG_LOADED', true);
|
||||||
|
|
||||||
// Load Zend Framework
|
// Load Zend Framework
|
||||||
use Zend\Loader\StandardAutoloader;
|
use Zend\Loader\StandardAutoloader;
|
||||||
|
@ -65,12 +95,29 @@ define('BOT_UID', -746);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Database
|
* Database
|
||||||
|
* TODO: @deprecated
|
||||||
*/
|
*/
|
||||||
// Core DB class
|
// Core DB class
|
||||||
require(CORE_DIR . 'dbs.php');
|
require(CORE_DIR . 'dbs.php');
|
||||||
$DBS = new DBS($bb_cfg);
|
|
||||||
|
|
||||||
function DB ($db_alias = 'db1')
|
$DBS = new DBS([
|
||||||
|
'db' => [
|
||||||
|
'db' => [
|
||||||
|
$di->config->db->hostname,
|
||||||
|
$di->config->db->database,
|
||||||
|
$di->config->db->username,
|
||||||
|
$di->config->db->password,
|
||||||
|
$di->config->db->charset,
|
||||||
|
false
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'db_alias' => $bb_cfg['db_alias']
|
||||||
|
]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: @deprecated
|
||||||
|
*/
|
||||||
|
function DB ($db_alias = 'db')
|
||||||
{
|
{
|
||||||
global $DBS;
|
global $DBS;
|
||||||
return $DBS->get_db_obj($db_alias);
|
return $DBS->get_db_obj($db_alias);
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"ext-tidy": "*",
|
"ext-tidy": "*",
|
||||||
"google/recaptcha": "^1.0",
|
"google/recaptcha": "^1.0",
|
||||||
|
"pimple/pimple": "^3.0",
|
||||||
|
"ripaclub/sphinxsearch": "^0.8.0",
|
||||||
"rych/bencode": "^1.0",
|
"rych/bencode": "^1.0",
|
||||||
"twig/twig": "^1.0",
|
"twig/twig": "^1.0",
|
||||||
"zendframework/zend-authentication": "^2.5",
|
"zendframework/zend-authentication": "^2.5",
|
||||||
|
@ -42,7 +44,7 @@
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"TorrentPier\\": "library/"
|
"TorrentPier\\": "src/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
|
|
261
composer.lock
generated
261
composer.lock
generated
|
@ -4,8 +4,8 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"hash": "9a65af4ba5edfe73ffdded1ea1b995f7",
|
"hash": "09e2f9365f7a987928608af980f09b8d",
|
||||||
"content-hash": "0074d54ee83fdffa1dec1fba0adc560d",
|
"content-hash": "4d4d55beee675a5de5092ad5692e9449",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "container-interop/container-interop",
|
"name": "container-interop/container-interop",
|
||||||
|
@ -79,6 +79,117 @@
|
||||||
],
|
],
|
||||||
"time": "2015-09-02 17:23:59"
|
"time": "2015-09-02 17:23:59"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "pimple/pimple",
|
||||||
|
"version": "v3.0.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/silexphp/Pimple.git",
|
||||||
|
"reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/silexphp/Pimple/zipball/a30f7d6e57565a2e1a316e1baf2a483f788b258a",
|
||||||
|
"reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Pimple": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Pimple, a simple Dependency Injection Container",
|
||||||
|
"homepage": "http://pimple.sensiolabs.org",
|
||||||
|
"keywords": [
|
||||||
|
"container",
|
||||||
|
"dependency injection"
|
||||||
|
],
|
||||||
|
"time": "2015-09-11 15:10:35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ripaclub/sphinxsearch",
|
||||||
|
"version": "0.8.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/ripaclub/sphinxsearch.git",
|
||||||
|
"reference": "f9d7550b6250519785e4db15c32b23865f2d49f3"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/ripaclub/sphinxsearch/zipball/f9d7550b6250519785e4db15c32b23865f2d49f3",
|
||||||
|
"reference": "f9d7550b6250519785e4db15c32b23865f2d49f3",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5",
|
||||||
|
"zendframework/zend-db": "~2.4",
|
||||||
|
"zendframework/zend-servicemanager": "~2.4",
|
||||||
|
"zendframework/zend-stdlib": "~2.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "~4.3",
|
||||||
|
"satooshi/php-coveralls": "dev-master"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ripaclub/zf2-sphinxsearch": "ZF2 integration module for SphinxSearch library",
|
||||||
|
"ripaclub/zf2-sphinxsearch-tool": "Utility that provides a set of tools to create and handle Sphinx Search configs and sources"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"SphinxSearch\\": "library",
|
||||||
|
"SphinxSearchTest\\": "tests"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-2-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Leonardo Grasso",
|
||||||
|
"email": "me@leonardograsso.com",
|
||||||
|
"homepage": "http://github.com/leogr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Leo Di Donato",
|
||||||
|
"email": "leodidonato@gmail.com",
|
||||||
|
"homepage": "http://github.com/leodido"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Sphinx Search library provides SphinxQL indexing and searching features",
|
||||||
|
"homepage": "https://github.com/ripaclub/sphinxsearch",
|
||||||
|
"keywords": [
|
||||||
|
"indexing",
|
||||||
|
"pdo",
|
||||||
|
"query builder",
|
||||||
|
"search",
|
||||||
|
"search engine",
|
||||||
|
"sphinx",
|
||||||
|
"sphinxql",
|
||||||
|
"zf2"
|
||||||
|
],
|
||||||
|
"time": "2015-06-22 18:12:29"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "rych/bencode",
|
"name": "rych/bencode",
|
||||||
"version": "v1.0.0",
|
"version": "v1.0.0",
|
||||||
|
@ -318,30 +429,29 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-config",
|
"name": "zendframework/zend-config",
|
||||||
"version": "2.5.1",
|
"version": "2.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-config.git",
|
"url": "https://github.com/zendframework/zend-config.git",
|
||||||
"reference": "ec49b1df1bdd9772df09dc2f612fbfc279bf4c27"
|
"reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-config/zipball/ec49b1df1bdd9772df09dc2f612fbfc279bf4c27",
|
"url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d",
|
||||||
"reference": "ec49b1df1bdd9772df09dc2f612fbfc279bf4c27",
|
"reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.23",
|
"php": "^5.5 || ^7.0",
|
||||||
"zendframework/zend-stdlib": "~2.5"
|
"zendframework/zend-stdlib": "^2.7 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fabpot/php-cs-fixer": "1.7.*",
|
"fabpot/php-cs-fixer": "1.7.*",
|
||||||
"phpunit/phpunit": "~4.0",
|
"phpunit/phpunit": "~4.0",
|
||||||
"zendframework/zend-filter": "~2.5",
|
"zendframework/zend-filter": "^2.6",
|
||||||
"zendframework/zend-i18n": "~2.5",
|
"zendframework/zend-i18n": "^2.5",
|
||||||
"zendframework/zend-json": "~2.5",
|
"zendframework/zend-json": "^2.6.1",
|
||||||
"zendframework/zend-mvc": "~2.5",
|
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
|
||||||
"zendframework/zend-servicemanager": "~2.5"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"zendframework/zend-filter": "Zend\\Filter component",
|
"zendframework/zend-filter": "Zend\\Filter component",
|
||||||
|
@ -352,8 +462,8 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.5-dev",
|
"dev-master": "2.6-dev",
|
||||||
"dev-develop": "2.6-dev"
|
"dev-develop": "2.7-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -371,32 +481,31 @@
|
||||||
"config",
|
"config",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2015-06-03 15:32:00"
|
"time": "2016-02-04 23:01:10"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-crypt",
|
"name": "zendframework/zend-crypt",
|
||||||
"version": "2.5.2",
|
"version": "2.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-crypt.git",
|
"url": "https://github.com/zendframework/zend-crypt.git",
|
||||||
"reference": "b7a5f99f530e7f77762e3eb4011ed1029ffc062f"
|
"reference": "1b2f5600bf6262904167116fa67b58ab1457036d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-crypt/zipball/b7a5f99f530e7f77762e3eb4011ed1029ffc062f",
|
"url": "https://api.github.com/repos/zendframework/zend-crypt/zipball/1b2f5600bf6262904167116fa67b58ab1457036d",
|
||||||
"reference": "b7a5f99f530e7f77762e3eb4011ed1029ffc062f",
|
"reference": "1b2f5600bf6262904167116fa67b58ab1457036d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.5",
|
"container-interop/container-interop": "~1.0",
|
||||||
"zendframework/zend-math": "~2.5",
|
"php": "^5.5 || ^7.0",
|
||||||
"zendframework/zend-servicemanager": "~2.5",
|
"zendframework/zend-math": "^2.6",
|
||||||
"zendframework/zend-stdlib": "~2.5"
|
"zendframework/zend-stdlib": "^2.7 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fabpot/php-cs-fixer": "1.7.*",
|
"fabpot/php-cs-fixer": "1.7.*",
|
||||||
"phpunit/phpunit": "~4.0",
|
"phpunit/phpunit": "~4.0"
|
||||||
"zendframework/zend-config": "~2.5"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-mcrypt": "Required for most features of Zend\\Crypt"
|
"ext-mcrypt": "Required for most features of Zend\\Crypt"
|
||||||
|
@ -404,8 +513,8 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.5-dev",
|
"dev-master": "2.6-dev",
|
||||||
"dev-develop": "2.6-dev"
|
"dev-develop": "2.7-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -422,7 +531,7 @@
|
||||||
"crypt",
|
"crypt",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2015-11-23 16:35:19"
|
"time": "2016-02-03 23:46:30"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-db",
|
"name": "zendframework/zend-db",
|
||||||
|
@ -580,43 +689,41 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-filter",
|
"name": "zendframework/zend-filter",
|
||||||
"version": "2.5.1",
|
"version": "2.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-filter.git",
|
"url": "https://github.com/zendframework/zend-filter.git",
|
||||||
"reference": "93e6990a198e6cdd811064083acac4693f4b29ae"
|
"reference": "8682c12e9870c431cf29cbb7010627f3fa88dec8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-filter/zipball/93e6990a198e6cdd811064083acac4693f4b29ae",
|
"url": "https://api.github.com/repos/zendframework/zend-filter/zipball/8682c12e9870c431cf29cbb7010627f3fa88dec8",
|
||||||
"reference": "93e6990a198e6cdd811064083acac4693f4b29ae",
|
"reference": "8682c12e9870c431cf29cbb7010627f3fa88dec8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.23",
|
"php": "^5.5 || ^7.0",
|
||||||
"zendframework/zend-stdlib": "~2.5"
|
"zendframework/zend-stdlib": "^2.7 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fabpot/php-cs-fixer": "1.7.*",
|
"fabpot/php-cs-fixer": "1.7.*",
|
||||||
|
"pear/archive_tar": "^1.4",
|
||||||
"phpunit/phpunit": "~4.0",
|
"phpunit/phpunit": "~4.0",
|
||||||
"zendframework/zend-config": "~2.5",
|
"zendframework/zend-crypt": "^2.6",
|
||||||
"zendframework/zend-crypt": "~2.5",
|
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
|
||||||
"zendframework/zend-i18n": "~2.5",
|
"zendframework/zend-uri": "^2.5"
|
||||||
"zendframework/zend-loader": "~2.5",
|
|
||||||
"zendframework/zend-servicemanager": "~2.5",
|
|
||||||
"zendframework/zend-uri": "~2.5"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"zendframework/zend-crypt": "Zend\\Crypt component",
|
"zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters",
|
||||||
"zendframework/zend-i18n": "Zend\\I18n component",
|
"zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality",
|
||||||
"zendframework/zend-servicemanager": "Zend\\ServiceManager component",
|
"zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality",
|
||||||
"zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter"
|
"zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.5-dev",
|
"dev-master": "2.6-dev",
|
||||||
"dev-develop": "2.6-dev"
|
"dev-develop": "2.7-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -634,7 +741,7 @@
|
||||||
"filter",
|
"filter",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2015-06-03 15:32:01"
|
"time": "2016-02-04 19:52:41"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-hydrator",
|
"name": "zendframework/zend-hydrator",
|
||||||
|
@ -694,33 +801,33 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-json",
|
"name": "zendframework/zend-json",
|
||||||
"version": "2.6.0",
|
"version": "2.6.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-json.git",
|
"url": "https://github.com/zendframework/zend-json.git",
|
||||||
"reference": "e2945611a98e1fefcaaf69969350a0bfa6a8d574"
|
"reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-json/zipball/e2945611a98e1fefcaaf69969350a0bfa6a8d574",
|
"url": "https://api.github.com/repos/zendframework/zend-json/zipball/4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28",
|
||||||
"reference": "e2945611a98e1fefcaaf69969350a0bfa6a8d574",
|
"reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.5"
|
"php": "^5.5 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fabpot/php-cs-fixer": "1.7.*",
|
"fabpot/php-cs-fixer": "1.7.*",
|
||||||
"phpunit/phpunit": "~4.0",
|
"phpunit/phpunit": "~4.0",
|
||||||
"zendframework/zend-http": "~2.5",
|
"zendframework/zend-http": "^2.5.4",
|
||||||
"zendframework/zend-server": "~2.5",
|
"zendframework/zend-server": "^2.6.1",
|
||||||
"zendframework/zend-stdlib": "~2.5",
|
"zendframework/zend-stdlib": "^2.5 || ^3.0",
|
||||||
"zendframework/zendxml": "~1.0"
|
"zendframework/zendxml": "^1.0.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"zendframework/zend-http": "Zend\\Http component",
|
"zendframework/zend-http": "Zend\\Http component, required to use Zend\\Json\\Server",
|
||||||
"zendframework/zend-server": "Zend\\Server component",
|
"zendframework/zend-server": "Zend\\Server component, required to use Zend\\Json\\Server",
|
||||||
"zendframework/zend-stdlib": "To use the cache for Zend\\Server",
|
"zendframework/zend-stdlib": "Zend\\Stdlib component, for use with caching Zend\\Json\\Server responses",
|
||||||
"zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage"
|
"zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
|
@ -745,7 +852,7 @@
|
||||||
"json",
|
"json",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2015-11-18 13:59:33"
|
"time": "2016-02-04 21:20:26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-loader",
|
"name": "zendframework/zend-loader",
|
||||||
|
@ -848,38 +955,36 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-math",
|
"name": "zendframework/zend-math",
|
||||||
"version": "2.5.2",
|
"version": "2.6.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-math.git",
|
"url": "https://github.com/zendframework/zend-math.git",
|
||||||
"reference": "2648ee3cce39aa3876788c837e3b58f198dc8a78"
|
"reference": "395ebb981e01f2fc708ba07d8ee0d86f6e3e9ed6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-math/zipball/2648ee3cce39aa3876788c837e3b58f198dc8a78",
|
"url": "https://api.github.com/repos/zendframework/zend-math/zipball/395ebb981e01f2fc708ba07d8ee0d86f6e3e9ed6",
|
||||||
"reference": "2648ee3cce39aa3876788c837e3b58f198dc8a78",
|
"reference": "395ebb981e01f2fc708ba07d8ee0d86f6e3e9ed6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.5"
|
"php": "^5.5 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fabpot/php-cs-fixer": "1.7.*",
|
"fabpot/php-cs-fixer": "1.7.*",
|
||||||
"ircmaxell/random-lib": "~1.1",
|
"ircmaxell/random-lib": "~1.1",
|
||||||
"phpunit/phpunit": "~4.0",
|
"phpunit/phpunit": "~4.0"
|
||||||
"zendframework/zend-servicemanager": "~2.5"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-bcmath": "If using the bcmath functionality",
|
"ext-bcmath": "If using the bcmath functionality",
|
||||||
"ext-gmp": "If using the gmp functionality",
|
"ext-gmp": "If using the gmp functionality",
|
||||||
"ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
|
"ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable"
|
||||||
"zendframework/zend-servicemanager": ">= current version, if using the BigInteger::factory functionality"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.5-dev",
|
"dev-master": "2.6-dev",
|
||||||
"dev-develop": "2.6-dev"
|
"dev-develop": "2.7-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -896,7 +1001,7 @@
|
||||||
"math",
|
"math",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2015-12-17 15:31:58"
|
"time": "2016-02-02 23:15:14"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-mime",
|
"name": "zendframework/zend-mime",
|
||||||
|
@ -949,16 +1054,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-servicemanager",
|
"name": "zendframework/zend-servicemanager",
|
||||||
"version": "2.7.4",
|
"version": "2.7.5",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zendframework/zend-servicemanager.git",
|
"url": "https://github.com/zendframework/zend-servicemanager.git",
|
||||||
"reference": "846f8a4f9c2e438e45d2de5cec11509cb7e08d79"
|
"reference": "fb5b54db5ead533b38e311f14e9c01a79218bf2b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/846f8a4f9c2e438e45d2de5cec11509cb7e08d79",
|
"url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/fb5b54db5ead533b38e311f14e9c01a79218bf2b",
|
||||||
"reference": "846f8a4f9c2e438e45d2de5cec11509cb7e08d79",
|
"reference": "fb5b54db5ead533b38e311f14e9c01a79218bf2b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -997,7 +1102,7 @@
|
||||||
"servicemanager",
|
"servicemanager",
|
||||||
"zf2"
|
"zf2"
|
||||||
],
|
],
|
||||||
"time": "2016-01-19 21:01:21"
|
"time": "2016-02-02 14:11:46"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zendframework/zend-session",
|
"name": "zendframework/zend-session",
|
||||||
|
|
File diff suppressed because it is too large
Load diff
64
library/defines.php
Normal file
64
library/defines.php
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||||
|
|
||||||
|
// Ratio limits
|
||||||
|
define('TR_RATING_LIMITS', true); // ON/OFF
|
||||||
|
define('MIN_DL_FOR_RATIO', 10737418240); // 10 GB in bytes, 0 - disable
|
||||||
|
|
||||||
|
// Path (trailing slash '/' at the end: XX_PATH - without, XX_DIR - with)
|
||||||
|
define('BB_PATH', realpath(BB_ROOT) );
|
||||||
|
define('ADMIN_DIR', BB_PATH .'/admin/' );
|
||||||
|
define('DATA_DIR', BB_PATH .'/data/' );
|
||||||
|
define('INT_DATA_DIR', BB_PATH .'/internal_data/' );
|
||||||
|
define('AJAX_HTML_DIR', BB_ROOT .'/internal_data/ajax_html/' );
|
||||||
|
define('CACHE_DIR', BB_PATH .'/internal_data/cache/' );
|
||||||
|
define('LOG_DIR', BB_PATH .'/internal_data/log/' );
|
||||||
|
define('SITEMAP_DIR', BB_PATH .'/internal_data/sitemap/' );
|
||||||
|
define('TRIGGERS_DIR', BB_PATH .'/internal_data/triggers/' );
|
||||||
|
define('AJAX_DIR', BB_ROOT .'/library/ajax/' );
|
||||||
|
define('CFG_DIR', BB_PATH .'/library/config/' );
|
||||||
|
define('INC_DIR', BB_PATH .'/library/includes/' );
|
||||||
|
define('CLASS_DIR', BB_PATH .'/library/includes/classes/');
|
||||||
|
define('CORE_DIR', BB_PATH .'/library/includes/core/' );
|
||||||
|
define('UCP_DIR', BB_PATH .'/library/includes/ucp/' );
|
||||||
|
define('LANG_ROOT_DIR', BB_PATH .'/library/language/' );
|
||||||
|
define('IMAGES_DIR', BB_PATH .'/styles/images/' );
|
||||||
|
define('TEMPLATES_DIR', BB_PATH .'/styles/templates/' );
|
||||||
|
|
||||||
|
// Templates
|
||||||
|
define('ADMIN_TPL_DIR', TEMPLATES_DIR .'/admin/');
|
||||||
|
|
||||||
|
// Debug
|
||||||
|
define('DBG_LOG', false); // enable forum debug (off on production)
|
||||||
|
define('DBG_TRACKER', false); // enable tracker debug (off on production)
|
||||||
|
define('COOKIE_DBG', 'bb_dbg'); // debug cookie name
|
||||||
|
define('SQL_DEBUG', true); // enable forum sql & cache debug
|
||||||
|
define('SQL_LOG_ERRORS', true); // all SQL_xxx options enabled only if SQL_DEBUG == TRUE
|
||||||
|
define('SQL_CALC_QUERY_TIME', true); // for stats
|
||||||
|
define('SQL_LOG_SLOW_QUERIES', true); // log sql slow queries
|
||||||
|
define('SQL_SLOW_QUERY_TIME', 10); // slow query in seconds
|
||||||
|
define('SQL_PREPEND_SRC_COMM', false); // prepend source file comment to sql query
|
||||||
|
|
||||||
|
// Log options
|
||||||
|
define('LOG_EXT', 'log');
|
||||||
|
define('LOG_SEPR', ' | ');
|
||||||
|
define('LOG_LF', "\n");
|
||||||
|
define('LOG_MAX_SIZE', 1048576); // bytes
|
||||||
|
|
||||||
|
// Error reporting
|
||||||
|
ini_set('error_reporting', E_ALL);
|
||||||
|
ini_set('display_errors', 0);
|
||||||
|
ini_set('log_errors', 1);
|
||||||
|
ini_set('error_log', LOG_DIR .'php_err.log');
|
||||||
|
|
||||||
|
// Triggers
|
||||||
|
define('BB_ENABLED', TRIGGERS_DIR .'$on');
|
||||||
|
define('BB_DISABLED', TRIGGERS_DIR .'$off');
|
||||||
|
define('CRON_ALLOWED', TRIGGERS_DIR .'cron_allowed');
|
||||||
|
define('CRON_RUNNING', TRIGGERS_DIR .'cron_running');
|
||||||
|
|
||||||
|
// Misc
|
||||||
|
define('MEM_USAGE', function_exists('memory_get_usage'));
|
||||||
|
|
||||||
|
define('GZIP_OUTPUT_ALLOWED', (extension_loaded('zlib') && !ini_get('zlib.output_compression')));
|
40
src/Di.php
Normal file
40
src/Di.php
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace TorrentPier;
|
||||||
|
|
||||||
|
use Pimple\Container;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Di
|
||||||
|
* Dependency Injection Container
|
||||||
|
*
|
||||||
|
* @package TorrentPier
|
||||||
|
*/
|
||||||
|
class Di extends Container
|
||||||
|
{
|
||||||
|
private static $instance;
|
||||||
|
|
||||||
|
public function __construct(array $values = [])
|
||||||
|
{
|
||||||
|
parent::__construct($values);
|
||||||
|
static::$instance = $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getInstance()
|
||||||
|
{
|
||||||
|
if (static::$instance instanceof Container) {
|
||||||
|
return static::$instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new \Exception('The container has not been initialized');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __get($id)
|
||||||
|
{
|
||||||
|
if ($this->offsetExists($id)) {
|
||||||
|
return $this->offsetGet($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new \Exception("Service '{$id}' is not registered in the container");
|
||||||
|
}
|
||||||
|
}
|
26
src/ServiceProviders/ConfigServiceProvider.php
Normal file
26
src/ServiceProviders/ConfigServiceProvider.php
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace TorrentPier\ServiceProviders;
|
||||||
|
|
||||||
|
use Pimple\Container;
|
||||||
|
use Pimple\ServiceProviderInterface;
|
||||||
|
use Zend\Config\Factory;
|
||||||
|
|
||||||
|
class ConfigServiceProvider implements ServiceProviderInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function register(Container $container)
|
||||||
|
{
|
||||||
|
$container['config'] = function($container) {
|
||||||
|
$config = Factory::fromFile($container['config.file.system.main'], true);
|
||||||
|
|
||||||
|
if (isset($container['config.file.local.main']) && file_exists($container['config.file.local.main'])) {
|
||||||
|
$config->merge(Factory::fromFile($container['config.file.local.main'], true));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $config;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
22
src/ServiceProviders/DbServiceProvider.php
Normal file
22
src/ServiceProviders/DbServiceProvider.php
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace TorrentPier\ServiceProviders;
|
||||||
|
|
||||||
|
use Pimple\Container;
|
||||||
|
use Pimple\ServiceProviderInterface;
|
||||||
|
use Zend\Db\Adapter\Adapter;
|
||||||
|
|
||||||
|
class DbServiceProvider implements ServiceProviderInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function register(Container $container)
|
||||||
|
{
|
||||||
|
$container['db'] = function($container) {
|
||||||
|
$adapter = new Adapter($container['config.db']);
|
||||||
|
unset($container['config.db']);
|
||||||
|
return $adapter;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
41
src/ServiceProviders/SphinxServiceProvider.php
Normal file
41
src/ServiceProviders/SphinxServiceProvider.php
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace TorrentPier\ServiceProviders;
|
||||||
|
|
||||||
|
use Pimple\Container;
|
||||||
|
use Pimple\ServiceProviderInterface;
|
||||||
|
use SphinxSearch\Db\Adapter\Driver\Pdo\Statement;
|
||||||
|
use SphinxSearch\Db\Adapter\Exception\UnsupportedDriverException;
|
||||||
|
use SphinxSearch\Db\Adapter\Platform\SphinxQL;
|
||||||
|
use Zend\Db\Adapter\Adapter;
|
||||||
|
use Zend\Db\Adapter\Driver\Mysqli\Mysqli;
|
||||||
|
use Zend\Db\Adapter\Driver\Pdo\Pdo;
|
||||||
|
|
||||||
|
class SphinxServiceProvider implements ServiceProviderInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function register(Container $container)
|
||||||
|
{
|
||||||
|
$container['sphinx'] = function($container) {
|
||||||
|
$platform = new SphinxQL();
|
||||||
|
$adapter = new Adapter($container['config.sphinx']);
|
||||||
|
|
||||||
|
$driver = $adapter->getDriver();
|
||||||
|
// Check driver
|
||||||
|
if ($driver instanceof Pdo && $driver->getDatabasePlatformName(Pdo::NAME_FORMAT_CAMELCASE) == 'Mysql' ) {
|
||||||
|
$driver->registerStatementPrototype(new Statement());
|
||||||
|
} elseif (!$driver instanceof Mysqli) {
|
||||||
|
$class = get_class($driver);
|
||||||
|
throw new UnsupportedDriverException(
|
||||||
|
$class . ' not supported. Use Zend\Db\Adapter\Driver\Pdo\Pdo or Zend\Db\Adapter\Driver\Mysqli\Mysqli'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$platform->setDriver($adapter->getDriver());
|
||||||
|
unset($container['config.sphinx']);
|
||||||
|
return $adapter;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue