diff --git a/adm/_common.php b/adm/_common.php
index a61a0623a..aad9d14a9 100644
--- a/adm/_common.php
+++ b/adm/_common.php
@@ -7,4 +7,26 @@ if( isset($token) ){
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
}
+if( ! function_exists('check_data_htaccess_file') ) {
+ function check_data_htaccess_file() {
+ $save_path = G5_DATA_PATH.'/.htaccess';
+ if( file_exists($save_path) && is_writable($save_path) ) {
+ $code = file_get_contents($save_path);
+ $add_code = 'RedirectMatch 403 /session/.*';
+ if( strpos($code, $add_code) === false ){
+ $fp = fopen($save_path, "ab");
+ flock( $fp, LOCK_EX );
+
+ fwrite( $fp, "\n\n" );
+ fwrite( $fp, $add_code );
+ fwrite( $fp, "\n\n" );
+
+ flock( $fp, LOCK_UN );
+ fclose($fp);
+ }
+ }
+ }
+ check_data_htaccess_file();
+}
+
run_event('admin_common');
\ No newline at end of file
diff --git a/bbs/login_check.php b/bbs/login_check.php
index 38b216542..3942e91e5 100644
--- a/bbs/login_check.php
+++ b/bbs/login_check.php
@@ -64,6 +64,8 @@ run_event('login_session_before', $mb, $is_social_login);
set_session('ss_mb_id', $mb['mb_id']);
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
set_session('ss_mb_key', md5($mb['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']));
+// 회원의 토큰키를 세션에 저장한다. /common.php 에서 해당 회원의 토큰값을 검사한다.
+if(function_exists('update_auth_session_token')) update_auth_session_token($mb['mb_datetime']);
// 포인트 체크
if($config['cf_use_point']) {
diff --git a/bbs/register_form_update.php b/bbs/register_form_update.php
index 4374c6566..0cfbaddf5 100644
--- a/bbs/register_form_update.php
+++ b/bbs/register_form_update.php
@@ -303,8 +303,10 @@ if ($w == '') {
}
// 메일인증 사용하지 않는 경우에만 로그인
- if (!$config['cf_use_email_certify'])
+ if (!$config['cf_use_email_certify']) {
set_session('ss_mb_id', $mb_id);
+ if(function_exists('update_auth_session_token')) update_auth_session_token(G5_TIME_YMDHIS);
+ }
set_session('ss_mb_reg', $mb_id);
diff --git a/bbs/write_update.php b/bbs/write_update.php
index 08a568193..29daa0046 100644
--- a/bbs/write_update.php
+++ b/bbs/write_update.php
@@ -222,7 +222,7 @@ if (!isset($_POST['wr_subject']) || !trim($_POST['wr_subject']))
$wr_seo_title = exist_seo_title_recursive('bbs', generate_seo_title($wr_subject), $write_table, $wr_id);
$options = array($html,$secret,$mail);
-$wr_option = implode(',', array_filter($options, function($v) { return trim($v); }));
+$wr_option = implode(',', array_filter(array_map('trim', $options)));
if ($w == '' || $w == 'r') {
diff --git a/common.php b/common.php
index dd4c2e1af..6f2b363ed 100644
--- a/common.php
+++ b/common.php
@@ -208,7 +208,8 @@ if (file_exists($dbconfig_file)) {
@ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음
@ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
-session_save_path(G5_SESSION_PATH);
+// 세션파일 저장 디렉토리를 지정할 경우
+// session_save_path(G5_SESSION_PATH);
if (isset($SESSION_CACHE_LIMITER))
@session_cache_limiter($SESSION_CACHE_LIMITER);
@@ -232,8 +233,15 @@ function chrome_domain_session_name(){
'.maru.net', // 마루호스팅
);
- if(isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
- if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5PHPSESSID');
+ $add_str = '';
+ $document_root_path = str_replace('\\', '/', realpath($_SERVER['DOCUMENT_ROOT']));
+
+ if( G5_PATH !== $document_root_path ){
+ $add_str = substr_count(G5_PATH, '/').basename(dirname(__FILE__));
+ }
+
+ if($add_str || (isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])) ){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
+ if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5'.$add_str.'PHPSESSID');
@session_name(G5_SESSION_NAME);
}
}
@@ -243,8 +251,18 @@ chrome_domain_session_name();
if( ! class_exists('XenoPostToForm') ){
class XenoPostToForm
{
+ public static function g5_session_name(){
+ return (defined('G5_SESSION_NAME') && G5_SESSION_NAME) ? G5_SESSION_NAME : 'PHPSESSID';
+ }
+
+ public static function php52_request_check(){
+ $cookie_session_name = self::g5_session_name();
+ if (isset($_REQUEST[$cookie_session_name]) && $_REQUEST[$cookie_session_name] != session_id())
+ goto_url(G5_BBS_URL.'/logout.php');
+ }
+
public static function check() {
- $cookie_session_name = (defined('G5_SESSION_NAME') && G5_SESSION_NAME) ? G5_SESSION_NAME : 'PHPSESSID';
+ $cookie_session_name = self::g5_session_name();
return !isset($_COOKIE[$cookie_session_name]) && count($_POST) && ((isset($_SERVER['HTTP_REFERER']) && !preg_match('~^https://'.preg_quote($_SERVER['HTTP_HOST'], '~').'/~', $_SERVER['HTTP_REFERER']) || ! isset($_SERVER['HTTP_REFERER']) ));
}
@@ -351,8 +369,9 @@ if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER)
$headers = headers_list();
krsort($headers);
+ $cookie_session_name = method_exists('XenoPostToForm', 'g5_session_name') ? XenoPostToForm::g5_session_name() : 'PHPSESSID';
foreach ($headers as $header) {
- if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
+ if (!preg_match('~^Set-Cookie: '.$cookie_session_name.'=~', $header)) continue;
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
header($header, false);
$g5['session_cookie_samesite'] = 'none';
@@ -375,9 +394,8 @@ define('G5_CAPTCHA_DIR', !empty($config['cf_captcha']) ? $config['cf_captcha'
define('G5_CAPTCHA_URL', G5_PLUGIN_URL.'/'.G5_CAPTCHA_DIR);
define('G5_CAPTCHA_PATH', G5_PLUGIN_PATH.'/'.G5_CAPTCHA_DIR);
-// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다.
-if (isset($_REQUEST['PHPSESSID']) && $_REQUEST['PHPSESSID'] != session_id())
- goto_url(G5_BBS_URL.'/logout.php');
+// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다. php5.2 버전 이하에서만 해당되는 코드이며, 오히려 무한리다이렉트 오류가 일어날수 있으므로 주석처리합니다.
+// if( method_exists('XenoPostToForm', 'php52_request_check') ) XenoPostToForm::php52_request_check();
// QUERY_STRING
$qstr = '';
@@ -497,8 +515,8 @@ if (isset($_REQUEST['gr_id'])) {
if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이라면
$member = get_member($_SESSION['ss_mb_id']);
- // 차단된 회원이면 ss_mb_id 초기화
- if($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) {
+ // 차단된 회원이면 ss_mb_id 초기화, 또는 세션에 저장된 회원 토큰값을 비교하여 틀리면 초기화
+ if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) || (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime'])) ) {
set_session('ss_mb_id', '');
$member = array();
} else {
@@ -521,7 +539,7 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
$tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);
// 최고관리자는 자동로그인 금지
if (strtolower($tmp_mb_id) !== strtolower($config['cf_admin'])) {
- $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
+ $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify, mb_datetime from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
$row = sql_fetch($sql);
if($row['mb_password']){
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
@@ -534,6 +552,7 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
(!$config['cf_use_email_certify'] || preg_match('/[1-9]/', $row['mb_email_certify'])) ) {
// 세션에 회원아이디를 저장하여 로그인으로 간주
set_session('ss_mb_id', $tmp_mb_id);
+ if(function_exists('update_auth_session_token')) update_auth_session_token($row['mb_datetime']);
// 페이지를 재실행
echo "";
diff --git a/install/install_db.php b/install/install_db.php
index 33fd0a31c..53e5b1d0b 100644
--- a/install/install_db.php
+++ b/install/install_db.php
@@ -569,6 +569,7 @@ fwrite($f, "define('G5_MYSQL_PASSWORD', '".addcslashes($mysql_pass, "\\'")."');\
fwrite($f, "define('G5_MYSQL_DB', '".addcslashes($mysql_db, "\\'")."');\n");
fwrite($f, "define('G5_MYSQL_SET_MODE', {$mysql_set_mode});\n\n");
fwrite($f, "define('G5_TABLE_PREFIX', '{$table_prefix}');\n\n");
+fwrite($f, "define('G5_TOKEN_ENCRYPTION_KEY', '".get_random_token_string(16)."'); // 토큰 암호화에 사용할 키\n\n");
fwrite($f, "\$g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사\n\n");
fwrite($f, "\$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블\n");
fwrite($f, "\$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블\n");
@@ -648,6 +649,7 @@ $str = <<
+RedirectMatch 403 /session/.*
EOD;
fwrite($f, $str);
fclose($f);
diff --git a/lib/Cache/obj.class.php b/lib/Cache/obj.class.php
index b75cf0980..ee6bcebcf 100644
--- a/lib/Cache/obj.class.php
+++ b/lib/Cache/obj.class.php
@@ -6,7 +6,7 @@ Class G5_object_cache {
public $contents = array();
public $etcs = array();
- function get($type, $key, $group ='default') {
+ function get($type, $key, $group ='default') {
switch ($type) {
case 'bbs':
@@ -28,10 +28,10 @@ Class G5_object_cache {
}
return false;
- }
+ }
+
+ function exists($type, $key, $group = 'default' ) {
- function exists($type, $key, $group = 'default' ) {
-
$return_data = '';
switch ($type) {
@@ -47,9 +47,9 @@ Class G5_object_cache {
}
return isset($datas[$group]) && ( isset($datas[$group][$key]) || array_key_exists($key, $datas[$group]) );
- }
+ }
- function set($type, $key, $data=array(), $group='default') {
+ function set($type, $key, $data=array(), $group='default') {
if ( is_object( $data ) )
$data = clone $data;
@@ -65,10 +65,10 @@ Class G5_object_cache {
break;
}
- }
+ }
function delete($key, $group='default') {
- switch ($type) {
+ switch ($key) {
case 'bbs':
$datas = $this->writes;
break;
diff --git a/lib/common.lib.php b/lib/common.lib.php
index 8ef590f65..b9a879ae5 100644
--- a/lib/common.lib.php
+++ b/lib/common.lib.php
@@ -3924,6 +3924,38 @@ function is_include_path_check($path='', $is_input='')
return true;
}
+function check_auth_session_token($str=''){
+ if (get_session('ss_mb_token_key') === get_token_encryption_key($str)) {
+ return true;
+ }
+ return false;
+}
+
+function update_auth_session_token($str=''){
+ set_session('ss_mb_token_key', get_token_encryption_key($str));
+}
+
+function get_token_encryption_key($str=''){
+ $token = G5_TABLE_PREFIX.(defined('G5_SHOP_TABLE_PREFIX') ? G5_SHOP_TABLE_PREFIX : '').(defined('G5_TOKEN_ENCRYPTION_KEY') ? G5_TOKEN_ENCRYPTION_KEY : '').$str;
+
+ return md5($token);
+}
+
+function get_random_token_string($length=6)
+{
+ if(function_exists('random_bytes')){
+ return bin2hex(random_bytes($length));
+ }
+
+ $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+ $characters_length = strlen($characters);
+ $output = '';
+ for ($i = 0; $i < $length; $i++)
+ $output .= $characters[rand(0, $characters_length - 1)];
+
+ return bin2hex($output);
+}
+
function filter_input_include_path($path){
return str_replace('//', '/', $path);
}
diff --git a/plugin/PHPMailer/composer.json b/plugin/PHPMailer/composer.json
deleted file mode 100644
index a0ac29649..000000000
--- a/plugin/PHPMailer/composer.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "name": "phpmailer/phpmailer",
- "type": "library",
- "description": "PHPMailer is a full-featured email creation and transfer class for PHP",
- "authors": [
- {
- "name": "Marcus Bointon",
- "email": "phpmailer@synchromedia.co.uk"
- },
- {
- "name": "Jim Jagielski",
- "email": "jimjag@gmail.com"
- },
- {
- "name": "Andy Prevost",
- "email": "codeworxtech@users.sourceforge.net"
- },
- {
- "name": "Brent R. Matzelle"
- }
- ],
- "require": {
- "ext-ctype": "*",
- "php": ">=5.0.0"
- },
- "require-dev": {
- "doctrine/annotations": "1.2.*",
- "jms/serializer": "0.16.*",
- "phpdocumentor/phpdocumentor": "2.*",
- "phpunit/phpunit": "4.8.*",
- "symfony/debug": "2.8.*",
- "symfony/filesystem": "2.8.*",
- "symfony/translation": "2.8.*",
- "symfony/yaml": "2.8.*",
- "zendframework/zend-cache": "2.5.1",
- "zendframework/zend-config": "2.5.1",
- "zendframework/zend-eventmanager": "2.5.1",
- "zendframework/zend-filter": "2.5.1",
- "zendframework/zend-i18n": "2.5.1",
- "zendframework/zend-json": "2.5.1",
- "zendframework/zend-math": "2.5.1",
- "zendframework/zend-serializer": "2.5.*",
- "zendframework/zend-servicemanager": "2.5.*",
- "zendframework/zend-stdlib": "2.5.1"
- },
- "suggest": {
- "league/oauth2-google": "Needed for Google XOAUTH2 authentication"
- },
- "autoload": {
- "classmap": [
- "class.phpmailer.php",
- "class.phpmaileroauth.php",
- "class.phpmaileroauthgoogle.php",
- "class.smtp.php",
- "class.pop3.php",
- "extras/EasyPeasyICS.php",
- "extras/ntlm_sasl_client.php"
- ]
- },
- "license": "LGPL-2.1"
-}
diff --git a/plugin/PHPMailer/composer.lock b/plugin/PHPMailer/composer.lock
deleted file mode 100644
index 9808f2832..000000000
--- a/plugin/PHPMailer/composer.lock
+++ /dev/null
@@ -1,3593 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
- "This file is @generated automatically"
- ],
- "content-hash": "7e4b1bef833056eed0df39fad5399d7a",
- "packages": [],
- "packages-dev": [
- {
- "name": "cilex/cilex",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Cilex/Cilex.git",
- "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Cilex/Cilex/zipball/7acd965a609a56d0345e8b6071c261fbdb926cb5",
- "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5",
- "shasum": ""
- },
- "require": {
- "cilex/console-service-provider": "1.*",
- "php": ">=5.3.3",
- "pimple/pimple": "~1.0",
- "symfony/finder": "~2.1",
- "symfony/process": "~2.1"
- },
- "require-dev": {
- "phpunit/phpunit": "3.7.*",
- "symfony/validator": "~2.1"
- },
- "suggest": {
- "monolog/monolog": ">=1.0.0",
- "symfony/validator": ">=1.0.0",
- "symfony/yaml": ">=1.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Cilex": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "mike.vanriel@naenius.com"
- }
- ],
- "description": "The PHP micro-framework for Command line tools based on the Symfony2 Components",
- "homepage": "http://cilex.github.com",
- "keywords": [
- "cli",
- "microframework"
- ],
- "time": "2014-03-29T14:03:13+00:00"
- },
- {
- "name": "cilex/console-service-provider",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Cilex/console-service-provider.git",
- "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Cilex/console-service-provider/zipball/25ee3d1875243d38e1a3448ff94bdf944f70d24e",
- "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "pimple/pimple": "1.*@dev",
- "symfony/console": "~2.1"
- },
- "require-dev": {
- "cilex/cilex": "1.*@dev",
- "silex/silex": "1.*@dev"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Cilex\\Provider\\Console": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Beau Simensen",
- "email": "beau@dflydev.com",
- "homepage": "http://beausimensen.com"
- },
- {
- "name": "Mike van Riel",
- "email": "mike.vanriel@naenius.com"
- }
- ],
- "description": "Console Service Provider",
- "keywords": [
- "cilex",
- "console",
- "pimple",
- "service-provider",
- "silex"
- ],
- "time": "2012-12-19T10:50:58+00:00"
- },
- {
- "name": "doctrine/annotations",
- "version": "v1.2.7",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/annotations.git",
- "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
- "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
- "shasum": ""
- },
- "require": {
- "doctrine/lexer": "1.*",
- "php": ">=5.3.2"
- },
- "require-dev": {
- "doctrine/cache": "1.*",
- "phpunit/phpunit": "4.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Doctrine\\Common\\Annotations\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "Docblock Annotations Parser",
- "homepage": "http://www.doctrine-project.org",
- "keywords": [
- "annotations",
- "docblock",
- "parser"
- ],
- "time": "2015-08-31T12:32:49+00:00"
- },
- {
- "name": "doctrine/instantiator",
- "version": "1.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3,<8.0-DEV"
- },
- "require-dev": {
- "athletic/athletic": "~0.1.8",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "~2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "time": "2015-06-14T21:17:01+00:00"
- },
- {
- "name": "doctrine/lexer",
- "version": "v1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/lexer.git",
- "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
- "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Doctrine\\Common\\Lexer\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
- "homepage": "http://www.doctrine-project.org",
- "keywords": [
- "lexer",
- "parser"
- ],
- "time": "2014-09-09T13:34:57+00:00"
- },
- {
- "name": "erusev/parsedown",
- "version": "1.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/erusev/parsedown.git",
- "reference": "20ff8bbb57205368b4b42d094642a3e52dac85fb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/erusev/parsedown/zipball/20ff8bbb57205368b4b42d094642a3e52dac85fb",
- "reference": "20ff8bbb57205368b4b42d094642a3e52dac85fb",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "autoload": {
- "psr-0": {
- "Parsedown": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Emanuil Rusev",
- "email": "hello@erusev.com",
- "homepage": "http://erusev.com"
- }
- ],
- "description": "Parser for Markdown.",
- "homepage": "http://parsedown.org",
- "keywords": [
- "markdown",
- "parser"
- ],
- "time": "2016-11-02T15:56:58+00:00"
- },
- {
- "name": "herrera-io/json",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/kherge-php/json.git",
- "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/kherge-php/json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1",
- "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "justinrainbow/json-schema": ">=1.0,<2.0-dev",
- "php": ">=5.3.3",
- "seld/jsonlint": ">=1.0,<2.0-dev"
- },
- "require-dev": {
- "herrera-io/phpunit-test-case": "1.*",
- "mikey179/vfsstream": "1.1.0",
- "phpunit/phpunit": "3.7.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "files": [
- "src/lib/json_version.php"
- ],
- "psr-0": {
- "Herrera\\Json": "src/lib"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kevin Herrera",
- "email": "kevin@herrera.io",
- "homepage": "http://kevin.herrera.io/",
- "role": "Developer"
- }
- ],
- "description": "A library for simplifying JSON linting and validation.",
- "homepage": "http://herrera-io.github.com/php-json",
- "keywords": [
- "json",
- "lint",
- "schema",
- "validate"
- ],
- "abandoned": "kherge/json",
- "time": "2013-10-30T16:51:34+00:00"
- },
- {
- "name": "herrera-io/phar-update",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/kherge-abandoned/php-phar-update.git",
- "reference": "00a79e1d5b8cf3c080a2e3becf1ddf7a7fea025b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/kherge-abandoned/php-phar-update/zipball/00a79e1d5b8cf3c080a2e3becf1ddf7a7fea025b",
- "reference": "00a79e1d5b8cf3c080a2e3becf1ddf7a7fea025b",
- "shasum": ""
- },
- "require": {
- "herrera-io/json": "1.*",
- "kherge/version": "1.*",
- "php": ">=5.3.3"
- },
- "require-dev": {
- "herrera-io/phpunit-test-case": "1.*",
- "mikey179/vfsstream": "1.1.0",
- "phpunit/phpunit": "3.7.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "files": [
- "src/lib/constants.php"
- ],
- "psr-0": {
- "Herrera\\Phar\\Update": "src/lib"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kevin Herrera",
- "email": "kevin@herrera.io",
- "homepage": "http://kevin.herrera.io/",
- "role": "Developer"
- }
- ],
- "description": "A library for self-updating Phars.",
- "homepage": "http://herrera-io.github.com/php-phar-update",
- "keywords": [
- "phar",
- "update"
- ],
- "abandoned": true,
- "time": "2013-10-30T17:23:01+00:00"
- },
- {
- "name": "jms/metadata",
- "version": "1.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/metadata.git",
- "reference": "6a06970a10e0a532fb52d3959547123b84a3b3ab"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/6a06970a10e0a532fb52d3959547123b84a3b3ab",
- "reference": "6a06970a10e0a532fb52d3959547123b84a3b3ab",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "require-dev": {
- "doctrine/cache": "~1.0",
- "symfony/cache": "~3.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Metadata\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
- "authors": [
- {
- "name": "Johannes M. Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "Class/method/property metadata management in PHP",
- "keywords": [
- "annotations",
- "metadata",
- "xml",
- "yaml"
- ],
- "time": "2016-12-05T10:18:33+00:00"
- },
- {
- "name": "jms/parser-lib",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/parser-lib.git",
- "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d",
- "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d",
- "shasum": ""
- },
- "require": {
- "phpoption/phpoption": ">=0.9,<2.0-dev"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "JMS\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache2"
- ],
- "description": "A library for easily creating recursive-descent parsers.",
- "time": "2012-11-18T18:08:43+00:00"
- },
- {
- "name": "jms/serializer",
- "version": "0.16.0",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/serializer.git",
- "reference": "c8a171357ca92b6706e395c757f334902d430ea9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/c8a171357ca92b6706e395c757f334902d430ea9",
- "reference": "c8a171357ca92b6706e395c757f334902d430ea9",
- "shasum": ""
- },
- "require": {
- "doctrine/annotations": "1.*",
- "jms/metadata": "~1.1",
- "jms/parser-lib": "1.*",
- "php": ">=5.3.2",
- "phpcollection/phpcollection": "~0.1"
- },
- "require-dev": {
- "doctrine/orm": "~2.1",
- "doctrine/phpcr-odm": "~1.0.1",
- "jackalope/jackalope-doctrine-dbal": "1.0.*",
- "propel/propel1": "~1.7",
- "symfony/filesystem": "2.*",
- "symfony/form": "~2.1",
- "symfony/translation": "~2.0",
- "symfony/validator": "~2.0",
- "symfony/yaml": "2.*",
- "twig/twig": ">=1.8,<2.0-dev"
- },
- "suggest": {
- "symfony/yaml": "Required if you'd like to serialize data to YAML format."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.15-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "JMS\\Serializer": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache2"
- ],
- "authors": [
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com",
- "homepage": "https://github.com/schmittjoh",
- "role": "Developer of wrapped JMSSerializerBundle"
- }
- ],
- "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.",
- "homepage": "http://jmsyst.com/libs/serializer",
- "keywords": [
- "deserialization",
- "jaxb",
- "json",
- "serialization",
- "xml"
- ],
- "time": "2014-03-18T08:39:00+00:00"
- },
- {
- "name": "justinrainbow/json-schema",
- "version": "1.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/justinrainbow/json-schema.git",
- "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/cc84765fb7317f6b07bd8ac78364747f95b86341",
- "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.29"
- },
- "require-dev": {
- "json-schema/json-schema-test-suite": "1.1.0",
- "phpdocumentor/phpdocumentor": "~2",
- "phpunit/phpunit": "~3.7"
- },
- "bin": [
- "bin/validate-json"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "JsonSchema\\": "src/JsonSchema/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Bruno Prieto Reis",
- "email": "bruno.p.reis@gmail.com"
- },
- {
- "name": "Justin Rainbow",
- "email": "justin.rainbow@gmail.com"
- },
- {
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch"
- },
- {
- "name": "Robert Schönthal",
- "email": "seroscho@googlemail.com"
- }
- ],
- "description": "A library to validate a json schema.",
- "homepage": "https://github.com/justinrainbow/json-schema",
- "keywords": [
- "json",
- "schema"
- ],
- "time": "2016-01-25T15:43:01+00:00"
- },
- {
- "name": "kherge/version",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/kherge-abandoned/Version.git",
- "reference": "f07cf83f8ce533be8f93d2893d96d674bbeb7e30"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/kherge-abandoned/Version/zipball/f07cf83f8ce533be8f93d2893d96d674bbeb7e30",
- "reference": "f07cf83f8ce533be8f93d2893d96d674bbeb7e30",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "KevinGH\\Version": "src/lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kevin Herrera",
- "email": "me@kevingh.com",
- "homepage": "http://www.kevingh.com/"
- }
- ],
- "description": "A parsing and comparison library for semantic versioning.",
- "homepage": "http://github.com/kherge/Version",
- "abandoned": true,
- "time": "2012-08-16T17:13:03+00:00"
- },
- {
- "name": "monolog/monolog",
- "version": "1.22.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0",
- "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "^2.4.9 || ^3.0",
- "doctrine/couchdb": "~1.0@dev",
- "graylog2/gelf-php": "~1.0",
- "jakub-onderka/php-parallel-lint": "0.9",
- "php-amqplib/php-amqplib": "~2.4",
- "php-console/php-console": "^3.1.3",
- "phpunit/phpunit": "~4.5",
- "phpunit/phpunit-mock-objects": "2.3.0",
- "ruflin/elastica": ">=0.90 <3.0",
- "sentry/sentry": "^0.13",
- "swiftmailer/swiftmailer": "~5.3"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
- "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "php-console/php-console": "Allow sending log messages to Google Chrome",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
- "sentry/sentry": "Allow sending log messages to a Sentry server"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Monolog\\": "src/Monolog"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
- ],
- "time": "2017-03-13T07:08:03+00:00"
- },
- {
- "name": "nikic/php-parser",
- "version": "v1.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51",
- "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": ">=5.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "files": [
- "lib/bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Nikita Popov"
- }
- ],
- "description": "A PHP parser written in PHP",
- "keywords": [
- "parser",
- "php"
- ],
- "time": "2015-09-19T14:15:08+00:00"
- },
- {
- "name": "phpcollection/phpcollection",
- "version": "0.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/php-collection.git",
- "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6",
- "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6",
- "shasum": ""
- },
- "require": {
- "phpoption/phpoption": "1.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.4-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "PhpCollection": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache2"
- ],
- "authors": [
- {
- "name": "Johannes M. Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "General-Purpose Collection Library for PHP",
- "keywords": [
- "collection",
- "list",
- "map",
- "sequence",
- "set"
- ],
- "time": "2015-05-17T12:39:23+00:00"
- },
- {
- "name": "phpdocumentor/fileset",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/Fileset.git",
- "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/Fileset/zipball/bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0",
- "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "symfony/finder": "~2.1"
- },
- "require-dev": {
- "phpunit/phpunit": "~3.7"
- },
- "type": "library",
- "autoload": {
- "psr-0": {
- "phpDocumentor": [
- "src/",
- "tests/unit/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Fileset component for collecting a set of files given directories and file paths",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "files",
- "fileset",
- "phpdoc"
- ],
- "time": "2013-08-06T21:07:42+00:00"
- },
- {
- "name": "phpdocumentor/graphviz",
- "version": "1.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/GraphViz.git",
- "reference": "a906a90a9f230535f25ea31caf81b2323956283f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/GraphViz/zipball/a906a90a9f230535f25ea31caf81b2323956283f",
- "reference": "a906a90a9f230535f25ea31caf81b2323956283f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.0"
- },
- "type": "library",
- "autoload": {
- "psr-0": {
- "phpDocumentor": [
- "src/",
- "tests/unit"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "mike.vanriel@naenius.com"
- }
- ],
- "time": "2016-02-02T13:00:08+00:00"
- },
- {
- "name": "phpdocumentor/phpdocumentor",
- "version": "v2.9.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/phpDocumentor2.git",
- "reference": "be607da0eef9b9249c43c5b4820d25d631c73667"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor2/zipball/be607da0eef9b9249c43c5b4820d25d631c73667",
- "reference": "be607da0eef9b9249c43c5b4820d25d631c73667",
- "shasum": ""
- },
- "require": {
- "cilex/cilex": "~1.0",
- "erusev/parsedown": "~1.0",
- "herrera-io/phar-update": "1.0.3",
- "jms/serializer": ">=0.12",
- "monolog/monolog": "~1.6",
- "php": ">=5.3.3",
- "phpdocumentor/fileset": "~1.0",
- "phpdocumentor/graphviz": "~1.0",
- "phpdocumentor/reflection": "^3.0",
- "phpdocumentor/reflection-docblock": "~2.0",
- "symfony/config": "~2.3",
- "symfony/console": "~2.3",
- "symfony/event-dispatcher": "~2.1",
- "symfony/process": "~2.0",
- "symfony/stopwatch": "~2.3",
- "symfony/validator": "~2.2",
- "twig/twig": "~1.3",
- "zendframework/zend-cache": "~2.1",
- "zendframework/zend-config": "~2.1",
- "zendframework/zend-filter": "~2.1",
- "zendframework/zend-i18n": "~2.1",
- "zendframework/zend-serializer": "~2.1",
- "zendframework/zend-servicemanager": "~2.1",
- "zendframework/zend-stdlib": "~2.1",
- "zetacomponents/document": ">=1.3.1"
- },
- "require-dev": {
- "behat/behat": "~3.0",
- "mikey179/vfsstream": "~1.2",
- "mockery/mockery": "~0.9@dev",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "~1.4",
- "symfony/expression-language": "~2.4"
- },
- "suggest": {
- "ext-twig": "Enabling the twig extension improves the generation of twig based templates.",
- "ext-xslcache": "Enabling the XSLCache extension improves the generation of xml based templates."
- },
- "bin": [
- "bin/phpdoc.php",
- "bin/phpdoc"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-develop": "2.9-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "phpDocumentor": [
- "src/",
- "tests/unit/"
- ],
- "Cilex\\Provider": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Documentation Generator for PHP",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "api",
- "application",
- "dga",
- "documentation",
- "phpdoc"
- ],
- "time": "2016-05-22T09:50:56+00:00"
- },
- {
- "name": "phpdocumentor/reflection",
- "version": "3.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/Reflection.git",
- "reference": "793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d",
- "reference": "793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^1.0",
- "php": ">=5.3.3",
- "phpdocumentor/reflection-docblock": "~2.0",
- "psr/log": "~1.0"
- },
- "require-dev": {
- "behat/behat": "~2.4",
- "mockery/mockery": "~0.8",
- "phpunit/phpunit": "~4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "phpDocumentor": [
- "src/",
- "tests/unit/",
- "tests/mocks/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Reflection library to do Static Analysis for PHP Projects",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "time": "2016-05-21T08:42:32+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
- "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.0"
- },
- "suggest": {
- "dflydev/markdown": "~1.0",
- "erusev/parsedown": "~1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "phpDocumentor": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "mike.vanriel@naenius.com"
- }
- ],
- "time": "2015-02-03T12:10:50+00:00"
- },
- {
- "name": "phpoption/phpoption",
- "version": "1.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/php-option.git",
- "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed",
- "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "4.7.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "PhpOption\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache2"
- ],
- "authors": [
- {
- "name": "Johannes M. Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "Option Type for PHP",
- "keywords": [
- "language",
- "option",
- "php",
- "type"
- ],
- "time": "2015-07-25T16:39:46+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "v1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "93d39f1f7f9326d746203c7c056f300f7f126073"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073",
- "reference": "93d39f1f7f9326d746203c7c056f300f7f126073",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
- "sebastian/comparator": "^1.1|^2.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8 || ^5.6.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Prophecy\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "time": "2017-03-02T20:05:34+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "2.2.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
- "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "phpunit/php-file-iterator": "~1.3",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-token-stream": "~1.3",
- "sebastian/environment": "^1.3.2",
- "sebastian/version": "~1.0"
- },
- "require-dev": {
- "ext-xdebug": ">=2.1.4",
- "phpunit/phpunit": "~4"
- },
- "suggest": {
- "ext-dom": "*",
- "ext-xdebug": ">=2.2.1",
- "ext-xmlwriter": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "time": "2015-10-06T15:47:00+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "1.4.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
- "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "time": "2016-10-03T07:40:28+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "time": "2015-06-21T13:50:34+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "1.0.9",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
- "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "time": "2017-02-26T11:10:40+00:00"
- },
- {
- "name": "phpunit/php-token-stream",
- "version": "1.4.11",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7",
- "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "time": "2017-02-27T10:12:30+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "4.8.35",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87",
- "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "php": ">=5.3.3",
- "phpspec/prophecy": "^1.3.1",
- "phpunit/php-code-coverage": "~2.1",
- "phpunit/php-file-iterator": "~1.4",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-timer": "^1.0.6",
- "phpunit/phpunit-mock-objects": "~2.3",
- "sebastian/comparator": "~1.2.2",
- "sebastian/diff": "~1.2",
- "sebastian/environment": "~1.3",
- "sebastian/exporter": "~1.2",
- "sebastian/global-state": "~1.0",
- "sebastian/version": "~1.0",
- "symfony/yaml": "~2.1|~3.0"
- },
- "suggest": {
- "phpunit/php-invoker": "~1.1"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.8.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "time": "2017-02-06T05:18:07+00:00"
- },
- {
- "name": "phpunit/phpunit-mock-objects",
- "version": "2.3.8",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
- "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": ">=5.3.3",
- "phpunit/php-text-template": "~1.2",
- "sebastian/exporter": "~1.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4"
- },
- "suggest": {
- "ext-soap": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.3.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Mock Object library for PHPUnit",
- "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
- "keywords": [
- "mock",
- "xunit"
- ],
- "time": "2015-10-02T06:51:40+00:00"
- },
- {
- "name": "pimple/pimple",
- "version": "v1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/silexphp/Pimple.git",
- "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d",
- "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Pimple": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
- }
- ],
- "description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
- "homepage": "http://pimple.sensiolabs.org",
- "keywords": [
- "container",
- "dependency injection"
- ],
- "time": "2013-11-22T08:30:29+00:00"
- },
- {
- "name": "psr/log",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "time": "2016-10-10T12:19:37+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "1.2.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "sebastian/diff": "~1.2",
- "sebastian/exporter": "~1.2 || ~2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "http://www.github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "time": "2017-01-29T09:50:25+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "1.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
- "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.8"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff"
- ],
- "time": "2015-12-08T07:14:41+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "1.3.8",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
- "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8 || ^5.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "time": "2016-08-18T05:49:44+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "1.2.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
- "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "sebastian/recursion-context": "~1.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "~4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "time": "2016-06-17T09:04:28+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.2"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "time": "2015-10-12T03:26:01+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "1.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
- "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2016-10-03T07:41:43+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "1.0.6",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
- "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
- "shasum": ""
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "time": "2015-06-21T13:59:46+00:00"
- },
- {
- "name": "seld/jsonlint",
- "version": "1.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "791f8c594f300d246cdf01c6b3e1e19611e301d8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/791f8c594f300d246cdf01c6b3e1e19611e301d8",
- "reference": "791f8c594f300d246cdf01c6b3e1e19611e301d8",
- "shasum": ""
- },
- "require": {
- "php": "^5.3 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.5"
- },
- "bin": [
- "bin/jsonlint"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Seld\\JsonLint\\": "src/Seld/JsonLint/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "JSON Linter",
- "keywords": [
- "json",
- "linter",
- "parser",
- "validator"
- ],
- "time": "2017-03-06T16:42:24+00:00"
- },
- {
- "name": "symfony/config",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/config.git",
- "reference": "06ce6bb46c24963ec09323da45d0f4f85d3cecd2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/06ce6bb46c24963ec09323da45d0f4f85d3cecd2",
- "reference": "06ce6bb46c24963ec09323da45d0f4f85d3cecd2",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "symfony/filesystem": "~2.3|~3.0.0"
- },
- "require-dev": {
- "symfony/yaml": "~2.7|~3.0.0"
- },
- "suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Config\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Config Component",
- "homepage": "https://symfony.com",
- "time": "2017-03-01T18:13:50+00:00"
- },
- {
- "name": "symfony/console",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "81508e6fac4476771275a3f4f53c3fee9b956bfa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/81508e6fac4476771275a3f4f53c3fee9b956bfa",
- "reference": "81508e6fac4476771275a3f4f53c3fee9b956bfa",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "symfony/debug": "^2.7.2|~3.0.0",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/event-dispatcher": "~2.1|~3.0.0",
- "symfony/process": "~2.1|~3.0.0"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/process": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Console Component",
- "homepage": "https://symfony.com",
- "time": "2017-03-04T11:00:12+00:00"
- },
- {
- "name": "symfony/debug",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/debug.git",
- "reference": "e90099a2958d4833a02d05b504cc06e1c234abcc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/e90099a2958d4833a02d05b504cc06e1c234abcc",
- "reference": "e90099a2958d4833a02d05b504cc06e1c234abcc",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "psr/log": "~1.0"
- },
- "conflict": {
- "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
- },
- "require-dev": {
- "symfony/class-loader": "~2.2|~3.0.0",
- "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2|~3.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Debug\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Debug Component",
- "homepage": "https://symfony.com",
- "time": "2017-02-18T19:13:35+00:00"
- },
- {
- "name": "symfony/event-dispatcher",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bb4ec47e8e109c1c1172145732d0aa468d967cd0",
- "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^2.0.5|~3.0.0",
- "symfony/dependency-injection": "~2.6|~3.0.0",
- "symfony/expression-language": "~2.6|~3.0.0",
- "symfony/stopwatch": "~2.3|~3.0.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony EventDispatcher Component",
- "homepage": "https://symfony.com",
- "time": "2017-02-21T08:33:48+00:00"
- },
- {
- "name": "symfony/filesystem",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "e542d4765092d22552b1bf01ddccfb01d98ee325"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e542d4765092d22552b1bf01ddccfb01d98ee325",
- "reference": "e542d4765092d22552b1bf01ddccfb01d98ee325",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Filesystem Component",
- "homepage": "https://symfony.com",
- "time": "2017-02-18T17:06:33+00:00"
- },
- {
- "name": "symfony/finder",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "5fc4b5cab38b9d28be318fcffd8066988e7d9451"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/5fc4b5cab38b9d28be318fcffd8066988e7d9451",
- "reference": "5fc4b5cab38b9d28be318fcffd8066988e7d9451",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Finder\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Finder Component",
- "homepage": "https://symfony.com",
- "time": "2017-02-21T08:33:48+00:00"
- },
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4",
- "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2016-11-14T01:06:16+00:00"
- },
- {
- "name": "symfony/process",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "41336b20b52f5fd5b42a227e394e673c8071118f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/41336b20b52f5fd5b42a227e394e673c8071118f",
- "reference": "41336b20b52f5fd5b42a227e394e673c8071118f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Process Component",
- "homepage": "https://symfony.com",
- "time": "2017-03-04T12:20:59+00:00"
- },
- {
- "name": "symfony/stopwatch",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/stopwatch.git",
- "reference": "9e4369666d02ee9b8830da878b7f6a769eb96f4b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/9e4369666d02ee9b8830da878b7f6a769eb96f4b",
- "reference": "9e4369666d02ee9b8830da878b7f6a769eb96f4b",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Stopwatch\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Stopwatch Component",
- "homepage": "https://symfony.com",
- "time": "2017-02-18T17:06:33+00:00"
- },
- {
- "name": "symfony/translation",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/translation.git",
- "reference": "b538355bc99db2ec7cc35284ec76d92ae7d1d256"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/b538355bc99db2ec7cc35284ec76d92ae7d1d256",
- "reference": "b538355bc99db2ec7cc35284ec76d92ae7d1d256",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "conflict": {
- "symfony/config": "<2.7"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~2.8",
- "symfony/intl": "~2.7.25|^2.8.18|~3.2.5",
- "symfony/yaml": "~2.2|~3.0.0"
- },
- "suggest": {
- "psr/log": "To use logging capability in translator",
- "symfony/config": "",
- "symfony/yaml": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Translation\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Translation Component",
- "homepage": "https://symfony.com",
- "time": "2017-03-04T12:20:59+00:00"
- },
- {
- "name": "symfony/validator",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/validator.git",
- "reference": "8d4bfa7ec24e70ebc28d0cea5f2702d3f1257a63"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/8d4bfa7ec24e70ebc28d0cea5f2702d3f1257a63",
- "reference": "8d4bfa7ec24e70ebc28d0cea5f2702d3f1257a63",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/translation": "~2.4|~3.0.0"
- },
- "require-dev": {
- "doctrine/annotations": "~1.0",
- "doctrine/cache": "~1.0",
- "egulias/email-validator": "^1.2.1",
- "symfony/config": "~2.2|~3.0.0",
- "symfony/expression-language": "~2.4|~3.0.0",
- "symfony/http-foundation": "~2.3|~3.0.0",
- "symfony/intl": "~2.7.25|^2.8.18|~3.2.5",
- "symfony/property-access": "~2.3|~3.0.0",
- "symfony/yaml": "^2.0.5|~3.0.0"
- },
- "suggest": {
- "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
- "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
- "egulias/email-validator": "Strict (RFC compliant) email validation",
- "symfony/config": "",
- "symfony/expression-language": "For using the 2.4 Expression validator",
- "symfony/http-foundation": "",
- "symfony/intl": "",
- "symfony/property-access": "For using the 2.4 Validator API",
- "symfony/yaml": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Validator\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Validator Component",
- "homepage": "https://symfony.com",
- "time": "2017-02-28T02:24:56+00:00"
- },
- {
- "name": "symfony/yaml",
- "version": "v2.8.18",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "2a7bab3c16f6f452c47818fdd08f3b1e49ffcf7d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/2a7bab3c16f6f452c47818fdd08f3b1e49ffcf7d",
- "reference": "2a7bab3c16f6f452c47818fdd08f3b1e49ffcf7d",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Yaml Component",
- "homepage": "https://symfony.com",
- "time": "2017-03-01T18:13:50+00:00"
- },
- {
- "name": "twig/twig",
- "version": "v1.32.0",
- "source": {
- "type": "git",
- "url": "https://github.com/twigphp/Twig.git",
- "reference": "9935b662e24d6e634da88901ab534cc12e8c728f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/9935b662e24d6e634da88901ab534cc12e8c728f",
- "reference": "9935b662e24d6e634da88901ab534cc12e8c728f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.2.7"
- },
- "require-dev": {
- "psr/container": "^1.0",
- "symfony/debug": "~2.7",
- "symfony/phpunit-bridge": "~3.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.32-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Twig_": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
- },
- {
- "name": "Armin Ronacher",
- "email": "armin.ronacher@active-4.com",
- "role": "Project Founder"
- },
- {
- "name": "Twig Team",
- "homepage": "http://twig.sensiolabs.org/contributors",
- "role": "Contributors"
- }
- ],
- "description": "Twig, the flexible, fast, and secure template language for PHP",
- "homepage": "http://twig.sensiolabs.org",
- "keywords": [
- "templating"
- ],
- "time": "2017-02-27T00:07:03+00:00"
- },
- {
- "name": "zendframework/zend-cache",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-cache.git",
- "reference": "5999e5a03f7dcf82abbbe67eea74da641f959684"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-cache/zipball/5999e5a03f7dcf82abbbe67eea74da641f959684",
- "reference": "5999e5a03f7dcf82abbbe67eea74da641f959684",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-eventmanager": "~2.5",
- "zendframework/zend-serializer": "~2.5",
- "zendframework/zend-servicemanager": "~2.5",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-session": "~2.5"
- },
- "suggest": {
- "ext-apc": "APC >= 3.1.6 to use the APC storage adapter",
- "ext-dba": "DBA, to use the DBA storage adapter",
- "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter",
- "ext-mongo": "Mongo, to use MongoDb storage adapter",
- "ext-wincache": "WinCache, to use the WinCache storage adapter",
- "mongofill/mongofill": "Alternative to ext-mongo - a pure PHP implementation designed as a drop in replacement",
- "zendframework/zend-serializer": "Zend\\Serializer component",
- "zendframework/zend-session": "Zend\\Session component"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Cache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "provides a generic way to cache any data",
- "homepage": "https://github.com/zendframework/zend-cache",
- "keywords": [
- "cache",
- "zf2"
- ],
- "time": "2015-06-03T15:31:59+00:00"
- },
- {
- "name": "zendframework/zend-config",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-config.git",
- "reference": "ec49b1df1bdd9772df09dc2f612fbfc279bf4c27"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-config/zipball/ec49b1df1bdd9772df09dc2f612fbfc279bf4c27",
- "reference": "ec49b1df1bdd9772df09dc2f612fbfc279bf4c27",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-filter": "~2.5",
- "zendframework/zend-i18n": "~2.5",
- "zendframework/zend-json": "~2.5",
- "zendframework/zend-mvc": "~2.5",
- "zendframework/zend-servicemanager": "~2.5"
- },
- "suggest": {
- "zendframework/zend-filter": "Zend\\Filter component",
- "zendframework/zend-i18n": "Zend\\I18n component",
- "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes",
- "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Config\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "provides a nested object property based user interface for accessing this configuration data within application code",
- "homepage": "https://github.com/zendframework/zend-config",
- "keywords": [
- "config",
- "zf2"
- ],
- "time": "2015-06-03T15:32:00+00:00"
- },
- {
- "name": "zendframework/zend-eventmanager",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-eventmanager.git",
- "reference": "d94a16039144936f107f906896349900fd634443"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/d94a16039144936f107f906896349900fd634443",
- "reference": "d94a16039144936f107f906896349900fd634443",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\EventManager\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "homepage": "https://github.com/zendframework/zend-eventmanager",
- "keywords": [
- "eventmanager",
- "zf2"
- ],
- "time": "2015-06-03T15:32:01+00:00"
- },
- {
- "name": "zendframework/zend-filter",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-filter.git",
- "reference": "93e6990a198e6cdd811064083acac4693f4b29ae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/93e6990a198e6cdd811064083acac4693f4b29ae",
- "reference": "93e6990a198e6cdd811064083acac4693f4b29ae",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-config": "~2.5",
- "zendframework/zend-crypt": "~2.5",
- "zendframework/zend-i18n": "~2.5",
- "zendframework/zend-loader": "~2.5",
- "zendframework/zend-servicemanager": "~2.5",
- "zendframework/zend-uri": "~2.5"
- },
- "suggest": {
- "zendframework/zend-crypt": "Zend\\Crypt component",
- "zendframework/zend-i18n": "Zend\\I18n component",
- "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
- "zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Filter\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "provides a set of commonly needed data filters",
- "homepage": "https://github.com/zendframework/zend-filter",
- "keywords": [
- "filter",
- "zf2"
- ],
- "time": "2015-06-03T15:32:01+00:00"
- },
- {
- "name": "zendframework/zend-i18n",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-i18n.git",
- "reference": "509271eb7947e4aabebfc376104179cffea42696"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/509271eb7947e4aabebfc376104179cffea42696",
- "reference": "509271eb7947e4aabebfc376104179cffea42696",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-cache": "~2.5",
- "zendframework/zend-config": "~2.5",
- "zendframework/zend-eventmanager": "~2.5",
- "zendframework/zend-filter": "~2.5",
- "zendframework/zend-servicemanager": "~2.5",
- "zendframework/zend-validator": "~2.5",
- "zendframework/zend-view": "~2.5"
- },
- "suggest": {
- "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP",
- "zendframework/zend-cache": "Zend\\Cache component",
- "zendframework/zend-config": "Zend\\Config component",
- "zendframework/zend-eventmanager": "You should install this package to use the events in the translator",
- "zendframework/zend-filter": "You should install this package to use the provided filters",
- "zendframework/zend-resources": "Translation resources",
- "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
- "zendframework/zend-validator": "You should install this package to use the provided validators",
- "zendframework/zend-view": "You should install this package to use the provided view helpers"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\I18n\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "homepage": "https://github.com/zendframework/zend-i18n",
- "keywords": [
- "i18n",
- "zf2"
- ],
- "time": "2015-06-03T15:32:01+00:00"
- },
- {
- "name": "zendframework/zend-json",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-json.git",
- "reference": "c74eaf17d2dd37dc1e964be8dfde05706a821ebc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-json/zipball/c74eaf17d2dd37dc1e964be8dfde05706a821ebc",
- "reference": "c74eaf17d2dd37dc1e964be8dfde05706a821ebc",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-http": "~2.5",
- "zendframework/zend-server": "~2.5",
- "zendframework/zendxml": "~1.0"
- },
- "suggest": {
- "zendframework/zend-http": "Zend\\Http component",
- "zendframework/zend-server": "Zend\\Server component",
- "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Json\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP",
- "homepage": "https://github.com/zendframework/zend-json",
- "keywords": [
- "json",
- "zf2"
- ],
- "time": "2015-06-03T15:32:01+00:00"
- },
- {
- "name": "zendframework/zend-math",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-math.git",
- "reference": "9f02a1ac4d3374d3332c80f9215deec9c71558fc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-math/zipball/9f02a1ac4d3374d3332c80f9215deec9c71558fc",
- "reference": "9f02a1ac4d3374d3332c80f9215deec9c71558fc",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "ircmaxell/random-lib": "~1.1",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-servicemanager": "~2.5"
- },
- "suggest": {
- "ext-bcmath": "If using the bcmath 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",
- "zendframework/zend-servicemanager": ">= current version, if using the BigInteger::factory functionality"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Math\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "homepage": "https://github.com/zendframework/zend-math",
- "keywords": [
- "math",
- "zf2"
- ],
- "time": "2015-06-03T15:32:02+00:00"
- },
- {
- "name": "zendframework/zend-serializer",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-serializer.git",
- "reference": "b7208eb17dc4a4fb3a660b85e6c4af035eeed40c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/b7208eb17dc4a4fb3a660b85e6c4af035eeed40c",
- "reference": "b7208eb17dc4a4fb3a660b85e6c4af035eeed40c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23",
- "zendframework/zend-json": "~2.5",
- "zendframework/zend-math": "~2.5",
- "zendframework/zend-stdlib": "~2.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-servicemanager": "~2.5"
- },
- "suggest": {
- "zendframework/zend-servicemanager": "To support plugin manager support"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Serializer\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover",
- "homepage": "https://github.com/zendframework/zend-serializer",
- "keywords": [
- "serializer",
- "zf2"
- ],
- "time": "2015-06-03T15:32:02+00:00"
- },
- {
- "name": "zendframework/zend-servicemanager",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-servicemanager.git",
- "reference": "3b22c403e351d92526c642cba0bd810bc22e1c56"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/3b22c403e351d92526c642cba0bd810bc22e1c56",
- "reference": "3b22c403e351d92526c642cba0bd810bc22e1c56",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-di": "~2.5",
- "zendframework/zend-mvc": "~2.5"
- },
- "suggest": {
- "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services",
- "zendframework/zend-di": "Zend\\Di component"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\ServiceManager\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "homepage": "https://github.com/zendframework/zend-servicemanager",
- "keywords": [
- "servicemanager",
- "zf2"
- ],
- "time": "2015-06-03T15:32:02+00:00"
- },
- {
- "name": "zendframework/zend-stdlib",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-stdlib.git",
- "reference": "cc8e90a60dd5d44b9730b77d07b97550091da1ae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cc8e90a60dd5d44b9730b77d07b97550091da1ae",
- "reference": "cc8e90a60dd5d44b9730b77d07b97550091da1ae",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.23"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-config": "~2.5",
- "zendframework/zend-eventmanager": "~2.5",
- "zendframework/zend-filter": "~2.5",
- "zendframework/zend-inputfilter": "~2.5",
- "zendframework/zend-serializer": "~2.5",
- "zendframework/zend-servicemanager": "~2.5"
- },
- "suggest": {
- "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
- "zendframework/zend-filter": "To support naming strategy hydrator usage",
- "zendframework/zend-serializer": "Zend\\Serializer component",
- "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev",
- "dev-develop": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Zend\\Stdlib\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "homepage": "https://github.com/zendframework/zend-stdlib",
- "keywords": [
- "stdlib",
- "zf2"
- ],
- "time": "2015-06-03T15:32:03+00:00"
- },
- {
- "name": "zetacomponents/base",
- "version": "1.9",
- "source": {
- "type": "git",
- "url": "https://github.com/zetacomponents/Base.git",
- "reference": "f20df24e8de3e48b6b69b2503f917e457281e687"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zetacomponents/Base/zipball/f20df24e8de3e48b6b69b2503f917e457281e687",
- "reference": "f20df24e8de3e48b6b69b2503f917e457281e687",
- "shasum": ""
- },
- "require-dev": {
- "zetacomponents/unit-test": "*"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
- "authors": [
- {
- "name": "Sergey Alexeev"
- },
- {
- "name": "Sebastian Bergmann"
- },
- {
- "name": "Jan Borsodi"
- },
- {
- "name": "Raymond Bosman"
- },
- {
- "name": "Frederik Holljen"
- },
- {
- "name": "Kore Nordmann"
- },
- {
- "name": "Derick Rethans"
- },
- {
- "name": "Vadym Savchuk"
- },
- {
- "name": "Tobias Schlitt"
- },
- {
- "name": "Alexandru Stanoi"
- }
- ],
- "description": "The Base package provides the basic infrastructure that all packages rely on. Therefore every component relies on this package.",
- "homepage": "https://github.com/zetacomponents",
- "time": "2014-09-19T03:28:34+00:00"
- },
- {
- "name": "zetacomponents/document",
- "version": "1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zetacomponents/Document.git",
- "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zetacomponents/Document/zipball/688abfde573cf3fe0730f82538fbd7aa9fc95bc8",
- "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8",
- "shasum": ""
- },
- "require": {
- "zetacomponents/base": "*"
- },
- "require-dev": {
- "zetacomponents/unit-test": "dev-master"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann"
- },
- {
- "name": "Kore Nordmann"
- },
- {
- "name": "Derick Rethans"
- },
- {
- "name": "Tobias Schlitt"
- },
- {
- "name": "Alexandru Stanoi"
- }
- ],
- "description": "The Document components provides a general conversion framework for different semantic document markup languages like XHTML, Docbook, RST and similar.",
- "homepage": "https://github.com/zetacomponents",
- "time": "2013-12-19T11:40:00+00:00"
- }
- ],
- "aliases": [],
- "minimum-stability": "stable",
- "stability-flags": [],
- "prefer-stable": false,
- "prefer-lowest": false,
- "platform": {
- "php": ">=5.0.0"
- },
- "platform-dev": []
-}
diff --git a/plugin/kcaptcha/kcaptcha.lib.php b/plugin/kcaptcha/kcaptcha.lib.php
index 6354399b9..5c89dc783 100644
--- a/plugin/kcaptcha/kcaptcha.lib.php
+++ b/plugin/kcaptcha/kcaptcha.lib.php
@@ -274,9 +274,15 @@ function chk_captcha()
return false;
}
- if (!isset($_POST['captcha_key'])) return false;
- if (!trim($_POST['captcha_key'])) return false;
- if ($_POST['captcha_key'] != get_session('ss_captcha_key')) {
+ $post_captcha_key = (isset($_POST['captcha_key']) && $_POST['captcha_key']) ? trim($_POST['captcha_key']) : '';
+ if (!trim($post_captcha_key)) return false;
+
+ if( $post_captcha_key && function_exists('get_string_encrypt') ){
+ $ip = md5(sha1($_SERVER['REMOTE_ADDR']));
+ $post_captcha_key = get_string_encrypt($ip.$post_captcha_key);
+ }
+
+ if ($post_captcha_key != get_session('ss_captcha_key')) {
$_SESSION['ss_captcha_count'] = $captcha_count + 1;
return false;
}
diff --git a/plugin/kcaptcha/kcaptcha_image.php b/plugin/kcaptcha/kcaptcha_image.php
index 37bd3c205..fc74c95a4 100644
--- a/plugin/kcaptcha/kcaptcha_image.php
+++ b/plugin/kcaptcha/kcaptcha_image.php
@@ -3,6 +3,11 @@ include_once("_common.php");
include_once('captcha.lib.php');
$captcha = new KCAPTCHA();
-$captcha->setKeyString(get_session("ss_captcha_key"));
+$ss_captcha_key = get_session("ss_captcha_key");
+if( $ss_captcha_key && !preg_match('/^[0-9]/', $ss_captcha_key) && function_exists('get_string_decrypt') ){
+ $ip = md5(sha1($_SERVER['REMOTE_ADDR']));
+ $ss_captcha_key = str_replace($ip, '', get_string_decrypt($ss_captcha_key));
+}
+$captcha->setKeyString($ss_captcha_key);
$captcha->getKeyString();
$captcha->image();
\ No newline at end of file
diff --git a/plugin/kcaptcha/kcaptcha_mp3.php b/plugin/kcaptcha/kcaptcha_mp3.php
index 5672320a3..30961de77 100644
--- a/plugin/kcaptcha/kcaptcha_mp3.php
+++ b/plugin/kcaptcha/kcaptcha_mp3.php
@@ -8,6 +8,10 @@ function make_mp3()
$number = get_session("ss_captcha_key");
if ($number == "") return;
+ $ip = md5(sha1($_SERVER['REMOTE_ADDR']));
+ if( $number && function_exists('get_string_decrypt') ){
+ $number = str_replace($ip, '', get_string_decrypt($number));
+ }
if ($number == get_session("ss_captcha_save")) return;
$mp3s = array();
@@ -16,7 +20,6 @@ function make_mp3()
$mp3s[] = $file;
}
- $ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$mp3_file = 'cache/kcaptcha-'.$ip.'_'.G5_SERVER_TIME.'.mp3';
$contents = '';
@@ -35,6 +38,9 @@ function make_mp3()
}
}
+ if( $number && function_exists('get_string_encrypt') ){
+ $number = get_string_encrypt($ip.$number);
+ }
set_session("ss_captcha_save", $number);
return G5_DATA_URL.'/'.$mp3_file;
diff --git a/plugin/kcaptcha/kcaptcha_result.php b/plugin/kcaptcha/kcaptcha_result.php
index 0487fac3f..fe2f1fd90 100644
--- a/plugin/kcaptcha/kcaptcha_result.php
+++ b/plugin/kcaptcha/kcaptcha_result.php
@@ -9,5 +9,10 @@ if ($count >= 5) { // 설정값 이상이면 자동등록방지 입력 문자가
echo false;
} else {
set_session("ss_captcha_count", $count + 1);
+
+ if( $captcha_key && function_exists('get_string_encrypt') ){
+ $ip = md5(sha1($_SERVER['REMOTE_ADDR']));
+ $captcha_key = get_string_encrypt($ip.$captcha_key);
+ }
echo (get_session("ss_captcha_key") === $captcha_key) ? true : false;
}
\ No newline at end of file
diff --git a/plugin/kcaptcha/kcaptcha_session.php b/plugin/kcaptcha/kcaptcha_session.php
index e2cb80362..c9b527dd3 100644
--- a/plugin/kcaptcha/kcaptcha_session.php
+++ b/plugin/kcaptcha/kcaptcha_session.php
@@ -11,6 +11,11 @@ while(true){
if(!preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $keystring)) break;
}
+if( $keystring && function_exists('get_string_encrypt') ){
+ $ip = md5(sha1($_SERVER['REMOTE_ADDR']));
+ $keystring = get_string_encrypt($ip.$keystring);
+}
+
set_session("ss_captcha_count", 0);
set_session("ss_captcha_key", $keystring);
$captcha = new KCAPTCHA();
diff --git a/plugin/social/Hybrid/Storage.php b/plugin/social/Hybrid/Storage.php
index 16a2f6cb2..bc6e4f4ad 100644
--- a/plugin/social/Hybrid/Storage.php
+++ b/plugin/social/Hybrid/Storage.php
@@ -11,6 +11,7 @@ require_once realpath(dirname(__FILE__)) . "/StorageInterface.php";
* HybridAuth storage manager
*/
class Hybrid_Storage implements Hybrid_Storage_Interface {
+ public static $stores = array();
/**
* Constructor
@@ -37,11 +38,21 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$key = strtolower($key);
if ($value) {
- $_SESSION["HA::CONFIG"][$key] = serialize($value);
+ $serialize_value = function_exists('get_string_encrypt') ? get_string_encrypt(serialize($value)) : serialize($value);
+
+ if( in_array($key, array('php_session_id', 'config')) ){
+ $this->stores[$key] = $serialize_value;
+ } else {
+ $_SESSION["HA::CONFIG"][$key] = $serialize_value;
+ }
+ } elseif (isset($this->stores[$key])) {
+ $unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($this->stores[$key])) : unserialize($this->stores[$key]);
+ return $unserialize_value;
} elseif (isset($_SESSION["HA::CONFIG"][$key])) {
- return unserialize($_SESSION["HA::CONFIG"][$key]);
+ $unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($_SESSION["HA::CONFIG"][$key])) : unserialize($_SESSION["HA::CONFIG"][$key]);
+ return $unserialize_value;
}
-
+
return null;
}
@@ -55,7 +66,8 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$key = strtolower($key);
if (isset($_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key])) {
- return unserialize($_SESSION["HA::STORE"][$key]);
+ $unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($_SESSION["HA::STORE"][$key])) : unserialize($_SESSION["HA::STORE"][$key]);
+ return $unserialize_value;
}
return null;
@@ -70,7 +82,8 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
*/
public function set($key, $value) {
$key = strtolower($key);
- $_SESSION["HA::STORE"][$key] = serialize($value);
+ $serialize_value = function_exists('get_string_encrypt') ? get_string_encrypt(serialize($value)) : serialize($value);
+ $_SESSION["HA::STORE"][$key] = $serialize_value;
}
/**
@@ -138,4 +151,4 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$_SESSION["HA::STORE"] = unserialize($sessiondata);
}
-}
+}
\ No newline at end of file
diff --git a/plugin/social/includes/functions.php b/plugin/social/includes/functions.php
index fb8b11c4e..c7a8b45fd 100644
--- a/plugin/social/includes/functions.php
+++ b/plugin/social/includes/functions.php
@@ -391,7 +391,8 @@ function social_session_exists_check(){
}
if( $provider_name && isset($_SESSION['HA::STORE']['hauth_session.'.strtolower($provider_name).'.is_logged_in']) && !empty($_SESSION['sl_userprofile'][$provider_name]) ){
- return json_decode($_SESSION['sl_userprofile'][$provider_name]);
+ $decode_value = function_exists('get_string_decrypt') ? json_decode(get_string_decrypt($_SESSION['sl_userprofile'][$provider_name])) : json_decode($_SESSION['sl_userprofile'][$provider_name]);
+ return $decode_value;
}
return false;
@@ -485,8 +486,9 @@ function social_check_login_before($p_service=''){
$_SESSION['sl_userprofile'] = array();
}
- if( ! $is_member ){
- $_SESSION['sl_userprofile'][$provider_name] = json_encode( $user_profile );
+ if( ! $is_member ){
+ $encode_value = function_exists('get_string_encrypt') ? get_string_encrypt(json_encode($user_profile)) : json_encode($user_profile);
+ $_SESSION['sl_userprofile'][$provider_name] = $encode_value;
}
}
diff --git a/plugin/social/includes/g5_endpoint_class.php b/plugin/social/includes/g5_endpoint_class.php
index 95d085b8d..b3d2432d8 100644
--- a/plugin/social/includes/g5_endpoint_class.php
+++ b/plugin/social/includes/g5_endpoint_class.php
@@ -3,6 +3,40 @@ if (!defined('_GNUBOARD_')) exit;
class G5_Hybrid_Endpoint extends Hybrid_Endpoint
{
+ protected function authInit() {
+ if (!$this->initDone) {
+ $this->initDone = true;
+
+ // Init Hybrid_Auth
+ try {
+ if (!class_exists("Hybrid_Storage", false)) {
+ require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Storage.php";
+ }
+ if (!class_exists("Hybrid_Exception", false)) {
+ require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Exception.php";
+ }
+ if (!class_exists("Hybrid_Logger", false)) {
+ require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Logger.php";
+ }
+
+ $storage = new Hybrid_Storage();
+ $provider_id = ucfirst(trim(strip_tags($this->request["hauth_start"])));
+ if(!$provider_id) $provider_id = ucfirst(trim(strip_tags($this->request["hauth_done"])));
+
+ $storage->config("CONFIG", social_build_provider_config($provider_id));
+ // Check if Hybrid_Auth session already exist
+ if (!$storage->config("CONFIG")) {
+ $this->dieError("CONFIG FAILED: ", "Unable to get config", array());
+ }
+
+ Hybrid_Auth::initialize($storage->config("CONFIG"));
+ } catch (Exception $e) {
+ Hybrid_Logger::error("Endpoint: Error while trying to init Hybrid_Auth: " . $e->getMessage());
+ $this->dieError("Endpoint Error: ", $e->getMessage(), $e);
+ }
+ }
+ }
+
protected function processAuthStart(){
try {
parent::processAuthStart();
diff --git a/plugin/social/register_member_update.php b/plugin/social/register_member_update.php
index 4981031df..2c61e2a8b 100644
--- a/plugin/social/register_member_update.php
+++ b/plugin/social/register_member_update.php
@@ -226,6 +226,7 @@ if($result) {
//바로 로그인 처리
set_session('ss_mb_id', $mb['mb_id']);
+ if(function_exists('update_auth_session_token')) update_auth_session_token(G5_TIME_YMDHIS);
} else { // 메일인증을 사용한다면
$subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';
diff --git a/version.php b/version.php
index 58d3e1f1c..acb23a6ec 100644
--- a/version.php
+++ b/version.php
@@ -2,7 +2,7 @@
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
define('G5_VERSION', '그누보드5');
-define('G5_GNUBOARD_VER', '5.5.7.2');
+define('G5_GNUBOARD_VER', '5.5.7.5');
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
// 그누보드5.4.6 이상 버전 부터는 영카트를 그누보드에 포함하여 배포하므로 영카트5의 버전은 의미가 없습니다.