diff --git a/assets/js/src/form/fields/checkbox.jsx b/assets/js/src/form/fields/checkbox.jsx index f28e40b12a..1eefd2ef90 100644 --- a/assets/js/src/form/fields/checkbox.jsx +++ b/assets/js/src/form/fields/checkbox.jsx @@ -1,31 +1,31 @@ define([ - 'react', - 'react-checkbox-group' + 'react' ], function( - React, - CheckboxGroup + React ) { - var FormFieldCheckbox = React.createClass({ + const FormFieldCheckbox = React.createClass({ + onValueChange: function(e) { + e.target.value = this.refs.checkbox.checked ? '1' : ''; + return this.props.onValueChange(e); + }, render: function() { - var selected_values = this.props.item[this.props.field.name] || ''; - if( - selected_values !== undefined - && selected_values.constructor !== Array - ) { - selected_values = selected_values.split(';').map(function(value) { - return value.trim(); - }); - } - var count = Object.keys(this.props.field.values).length; + const isChecked = !!(this.props.item[this.props.field.name]); - var options = Object.keys(this.props.field.values).map( + const options = Object.keys(this.props.field.values).map( function(value, index) { return (

); @@ -33,30 +33,10 @@ function( ); return ( - +
{ options } - +
); - }, - handleValueChange: function() { - var field = this.props.field.name; - var group = this.refs[field]; - var selected_values = []; - - if(group !== undefined) { - selected_values = group.getCheckedValues(); - } - - return this.props.onValueChange({ - target: { - name: field, - value: selected_values.join(';') - } - }); } }); diff --git a/assets/js/src/form/fields/date.jsx b/assets/js/src/form/fields/date.jsx new file mode 100644 index 0000000000..af655086da --- /dev/null +++ b/assets/js/src/form/fields/date.jsx @@ -0,0 +1,181 @@ +define([ + 'react', + 'moment', +], function( + React, + Moment +) { + class FormFieldDateYear extends React.Component { + render() { + const years = []; + const currentYear = Moment().year(); + for (let i = currentYear; i >= currentYear - 100; i--) { + years.push(( + + )); + } + return ( + + ); + } + } + + class FormFieldDateMonth extends React.Component { + render() { + const months = []; + for (let i = 1; i <= 12; i++) { + months.push(( + + )); + } + return ( + + ); + } + } + + class FormFieldDateDay extends React.Component { + render() { + const days = []; + for (let i = 1; i <= 31; i++) { + days.push(( + + )); + } + + return ( + + ); + } + } + + class FormFieldDate extends React.Component { + constructor(props) { + super(props); + this.state = { + year: Moment().year(), + month: 1, + day: 1 + } + } + componentDidMount() { + } + componentDidUpdate(prevProps, prevState) { + if( + (this.props.item !== undefined && prevProps.item !== undefined) + && (this.props.item.id !== prevProps.item.id) + ) { + this.extractTimeStamp(); + } + } + extractTimeStamp() { + const timeStamp = parseInt(this.props.item[this.props.field.name], 10); + + this.setState({ + year: Moment.unix(timeStamp).year(), + month: Moment.unix(timeStamp).month() + 1, + day: Moment.unix(timeStamp).date() + }); + } + onValueChange(e) { + // extract property from name + const matches = e.target.name.match(/.*?\[(.*?)\]/); + let property = null; + if(matches !== null && matches.length === 2) { + property = matches[1]; + } + let value = parseInt(e.target.value, 10); + + switch(property) { + case 'year': + this.setState({ year: value }); + break; + + case 'month': + this.setState({ month: value }); + break; + + case 'day': + this.setState({ day: value }); + break; + } + } + render() { + const monthNames = window.mailpoet_month_names || []; + + const dateType = this.props.field.params.date_type; + + const dateSelects = dateType.split('_'); + + const fields = dateSelects.map(type => { + switch(type) { + case 'year': + return (); + break; + + case 'month': + return (); + break; + + case 'day': + return (); + break; + } + }); + + return ( +
+ {fields} +
+ ); + } + }; + + return FormFieldDate; +}); \ No newline at end of file diff --git a/assets/js/src/form/fields/field.jsx b/assets/js/src/form/fields/field.jsx index 535077b9dc..757f42cbe4 100644 --- a/assets/js/src/form/fields/field.jsx +++ b/assets/js/src/form/fields/field.jsx @@ -5,7 +5,8 @@ define([ 'form/fields/select.jsx', 'form/fields/radio.jsx', 'form/fields/checkbox.jsx', - 'form/fields/selection.jsx' + 'form/fields/selection.jsx', + 'form/fields/date.jsx', ], function( React, @@ -14,7 +15,8 @@ function( FormFieldSelect, FormFieldRadio, FormFieldCheckbox, - FormFieldSelection + FormFieldSelection, + FormFieldDate ) { var FormField = React.createClass({ renderField: function(data, inline = false) { @@ -55,6 +57,10 @@ function( case 'selection': field = (); break; + + case 'date': + field = (); + break; } if(inline === true) { @@ -66,10 +72,10 @@ function( ); } else { return ( -

+

{ field } { description } -

+
); } }, diff --git a/assets/js/src/form/fields/radio.jsx b/assets/js/src/form/fields/radio.jsx index 072855e407..3589705d89 100644 --- a/assets/js/src/form/fields/radio.jsx +++ b/assets/js/src/form/fields/radio.jsx @@ -7,7 +7,6 @@ function( var FormFieldRadio = React.createClass({ render: function() { var selected_value = this.props.item[this.props.field.name]; - var count = Object.keys(this.props.field.values).length; var options = Object.keys(this.props.field.values).map( function(value, index) { @@ -20,7 +19,7 @@ function( value={ value } onChange={ this.props.onValueChange } name={ this.props.field.name } /> -  { this.props.field.values[value] } + { this.props.field.values[value] }

); diff --git a/assets/js/src/subscribers/form.jsx b/assets/js/src/subscribers/form.jsx index c1dd81907e..9a6492a7e3 100644 --- a/assets/js/src/subscribers/form.jsx +++ b/assets/js/src/subscribers/form.jsx @@ -51,6 +51,28 @@ define( } ]; + var custom_fields = window.mailpoet_custom_fields || []; + custom_fields.map(custom_field => { + if(custom_field.type === 'input') { + custom_field.type = 'text'; + } + + let field = { + name: 'cf_' + custom_field.id, + label: custom_field.name, + type: custom_field.type + }; + if(custom_field.params) { + field.params = custom_field.params; + } + + if(custom_field.params.values) { + field.values = custom_field.params.values; + } + + fields.push(field); + }); + var messages = { onUpdate: function() { MailPoet.Notice.success('Subscriber successfully updated!'); diff --git a/composer.lock b/composer.lock index cc7edccffa..9061f0f817 100644 --- a/composer.lock +++ b/composer.lock @@ -9,16 +9,16 @@ "packages": [ { "name": "cerdic/css-tidy", - "version": "v1.5.3", + "version": "v1.5.5", "source": { "type": "git", "url": "https://github.com/Cerdic/CSSTidy.git", - "reference": "f8635ca50e479ddbb5d1d922d8f38ba67e781e15" + "reference": "b0c1bda3be5a35da44ba1ac28cc61c67d2ada465" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Cerdic/CSSTidy/zipball/f8635ca50e479ddbb5d1d922d8f38ba67e781e15", - "reference": "f8635ca50e479ddbb5d1d922d8f38ba67e781e15", + "url": "https://api.github.com/repos/Cerdic/CSSTidy/zipball/b0c1bda3be5a35da44ba1ac28cc61c67d2ada465", + "reference": "b0c1bda3be5a35da44ba1ac28cc61c67d2ada465", "shasum": "" }, "type": "library", @@ -38,7 +38,7 @@ } ], "description": "CSSTidy is a CSS minifier", - "time": "2014-10-26 15:28:55" + "time": "2015-11-28 21:47:43" }, { "name": "j4mie/idiorm", @@ -312,16 +312,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "a74aa9efbe61430fcb60157c8e025a48ec8ff604" + "reference": "ba6fb78f727cd09f2a649113b95468019e490585" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/a74aa9efbe61430fcb60157c8e025a48ec8ff604", - "reference": "a74aa9efbe61430fcb60157c8e025a48ec8ff604", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ba6fb78f727cd09f2a649113b95468019e490585", + "reference": "ba6fb78f727cd09f2a649113b95468019e490585", "shasum": "" }, "require": { @@ -337,8 +337,7 @@ "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.", - "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 5.0.0." + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." }, "type": "library", "autoload": { @@ -347,9 +346,6 @@ } }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "phpseclib/" - ], "license": [ "MIT" ], @@ -373,6 +369,11 @@ "name": "Hans-Jürgen Petrich", "email": "petrich@tronic-media.com", "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" } ], "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", @@ -396,7 +397,7 @@ "x.509", "x509" ], - "time": "2015-08-04 04:48:03" + "time": "2016-01-18 17:07:21" }, { "name": "sunra/php-simple-html-dom-parser", @@ -495,30 +496,90 @@ "time": "2015-06-06 14:19:39" }, { - "name": "symfony/translation", - "version": "v2.7.7", + "name": "symfony/polyfill-mbstring", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "e4ecb9c3ba1304eaf24de15c2d7a428101c1982f" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e4ecb9c3ba1304eaf24de15c2d7a428101c1982f", - "reference": "e4ecb9c3ba1304eaf24de15c2d7a428101c1982f", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/49ff736bd5d41f45240cec77b44967d76e0c3d25", + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-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": "2015-11-20 09:19:13" + }, + { + "name": "symfony/translation", + "version": "v2.8.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "bc0b666903944858f4ffec01c4e50c63e5c276c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/bc0b666903944858f4ffec01c4e50c63e5c276c0", + "reference": "bc0b666903944858f4ffec01c4e50c63e5c276c0", + "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.7", - "symfony/intl": "~2.4", - "symfony/yaml": "~2.2" + "symfony/config": "~2.8", + "symfony/intl": "~2.4|~3.0.0", + "symfony/yaml": "~2.2|~3.0.0" }, "suggest": { "psr/log": "To use logging capability in translator", @@ -528,7 +589,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -555,20 +616,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2015-11-18 13:41:01" + "time": "2016-01-03 15:33:41" }, { "name": "tburry/pquery", - "version": "v1.1.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/tburry/pquery.git", - "reference": "f2d6fad99ebfbde6df56931f5f496b035f9e46f9" + "reference": "872339ffd38d261c4417ea1855428b1b4ff9abf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tburry/pquery/zipball/f2d6fad99ebfbde6df56931f5f496b035f9e46f9", - "reference": "f2d6fad99ebfbde6df56931f5f496b035f9e46f9", + "url": "https://api.github.com/repos/tburry/pquery/zipball/872339ffd38d261c4417ea1855428b1b4ff9abf1", + "reference": "872339ffd38d261c4417ea1855428b1b4ff9abf1", "shasum": "" }, "require": { @@ -607,20 +668,20 @@ "ganon", "php" ], - "time": "2014-07-16 14:43:04" + "time": "2016-01-14 20:55:00" }, { "name": "twig/twig", - "version": "v1.23.1", + "version": "v1.23.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "d9b6333ae8dd2c8e3fd256e127548def0bc614c6" + "reference": "ae53fc2c312fdee63773b75cb570304f85388b08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/d9b6333ae8dd2c8e3fd256e127548def0bc614c6", - "reference": "d9b6333ae8dd2c8e3fd256e127548def0bc614c6", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ae53fc2c312fdee63773b75cb570304f85388b08", + "reference": "ae53fc2c312fdee63773b75cb570304f85388b08", "shasum": "" }, "require": { @@ -668,22 +729,22 @@ "keywords": [ "templating" ], - "time": "2015-11-05 12:49:06" + "time": "2016-01-11 14:02:19" } ], "packages-dev": [ { "name": "codeception/codeception", - "version": "2.1.4", + "version": "2.1.5", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "6a812e8a0d1b1db939a29b4dc14cb398b21b6112" + "reference": "4ee562f421fd404139dd7b73ae46d075396a4baf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/6a812e8a0d1b1db939a29b4dc14cb398b21b6112", - "reference": "6a812e8a0d1b1db939a29b4dc14cb398b21b6112", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/4ee562f421fd404139dd7b73ae46d075396a4baf", + "reference": "4ee562f421fd404139dd7b73ae46d075396a4baf", "shasum": "" }, "require": { @@ -694,13 +755,13 @@ "guzzlehttp/psr7": "~1.0", "php": ">=5.4.0", "phpunit/phpunit": "~4.8.0", - "symfony/browser-kit": "~2.4", - "symfony/console": "~2.4", - "symfony/css-selector": "~2.4", - "symfony/dom-crawler": "~2.4,!=2.4.5", - "symfony/event-dispatcher": "~2.4", - "symfony/finder": "~2.4", - "symfony/yaml": "~2.4" + "symfony/browser-kit": ">=2.4|<3.1", + "symfony/console": ">=2.4|<3.1", + "symfony/css-selector": ">=2.4|<3.1", + "symfony/dom-crawler": ">=2.4|<3.1", + "symfony/event-dispatcher": ">=2.4|<3.1", + "symfony/finder": ">=2.4|<3.1", + "symfony/yaml": ">=2.4|<3.1" }, "require-dev": { "codeception/specify": "~0.3", @@ -750,24 +811,24 @@ "functional testing", "unit testing" ], - "time": "2015-11-12 03:57:06" + "time": "2015-12-20 12:11:42" }, { "name": "codeception/verify", - "version": "0.2.7", + "version": "0.3.0", "source": { "type": "git", "url": "https://github.com/Codeception/Verify.git", - "reference": "66e5074905f4d9590ddb805d123fe632f4baa488" + "reference": "d3721cfc668d96b41acbda3ecd01d3499381db64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Verify/zipball/66e5074905f4d9590ddb805d123fe632f4baa488", - "reference": "66e5074905f4d9590ddb805d123fe632f4baa488", + "url": "https://api.github.com/repos/Codeception/Verify/zipball/d3721cfc668d96b41acbda3ecd01d3499381db64", + "reference": "d3721cfc668d96b41acbda3ecd01d3499381db64", "shasum": "" }, "require-dev": { - "phpunit/phpunit": "3.7.*" + "phpunit/phpunit": "~4.0" }, "type": "library", "autoload": { @@ -779,12 +840,11 @@ "authors": [ { "name": "Michael Bodnarchuk", - "email": "davert.php@mailican.com", - "homepage": "http://codeception.com" + "email": "davert.php@mailican.com" } ], "description": "BDD assertion library for PHPUnit", - "time": "2014-01-22 14:40:33" + "time": "2015-11-26 23:23:25" }, { "name": "codegyre/robo", @@ -894,16 +954,16 @@ }, { "name": "facebook/webdriver", - "version": "1.0.4", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/facebook/php-webdriver.git", - "reference": "a6e209a309bf7cd71acf15476f40b11a25d5a79d" + "reference": "1c98108ba3eb435b681655764de11502a0653705" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/a6e209a309bf7cd71acf15476f40b11a25d5a79d", - "reference": "a6e209a309bf7cd71acf15476f40b11a25d5a79d", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/1c98108ba3eb435b681655764de11502a0653705", + "reference": "1c98108ba3eb435b681655764de11502a0653705", "shasum": "" }, "require": { @@ -933,7 +993,7 @@ "selenium", "webdriver" ], - "time": "2015-11-03 22:17:22" + "time": "2015-12-31 15:58:49" }, { "name": "guzzlehttp/guzzle", @@ -1145,16 +1205,18 @@ ], "authors": [ { - "name": "Yaroslav Kiliba", - "email": "om.dattaya@gmail.com" + "name": "Henrik Bjornskov", + "email": "henrik@bjrnskov.dk", + "homepage": "http://henrik.bjrnskov.dk" }, { "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com" + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" }, { - "name": "Henrik Bjrnskov", - "email": "henrik@bjrnskov.dk" + "name": "Yaroslav Kiliba", + "email": "om.dattaya@gmail.com" } ], "description": "Resource Watcher.", @@ -1516,16 +1578,16 @@ }, { "name": "phpunit/phpunit", - "version": "4.8.18", + "version": "4.8.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "fa33d4ad96481b91df343d83e8c8aabed6b1dfd3" + "reference": "ea76b17bced0500a28098626b84eda12dbcf119c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fa33d4ad96481b91df343d83e8c8aabed6b1dfd3", - "reference": "fa33d4ad96481b91df343d83e8c8aabed6b1dfd3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea76b17bced0500a28098626b84eda12dbcf119c", + "reference": "ea76b17bced0500a28098626b84eda12dbcf119c", "shasum": "" }, "require": { @@ -1584,7 +1646,7 @@ "testing", "xunit" ], - "time": "2015-11-11 11:32:49" + "time": "2015-12-12 07:45:58" }, { "name": "phpunit/phpunit-mock-objects", @@ -1808,28 +1870,28 @@ }, { "name": "sebastian/diff", - "version": "1.3.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "~4.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -1852,24 +1914,24 @@ } ], "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff" ], - "time": "2015-02-22 15:13:53" + "time": "2015-12-08 07:14:41" }, { "name": "sebastian/environment", - "version": "1.3.2", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" + "reference": "6e7133793a8e5a5714a551a8324337374be209df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e7133793a8e5a5714a551a8324337374be209df", + "reference": "6e7133793a8e5a5714a551a8324337374be209df", "shasum": "" }, "require": { @@ -1906,7 +1968,7 @@ "environment", "hhvm" ], - "time": "2015-08-03 06:14:51" + "time": "2015-12-02 08:37:27" }, { "name": "sebastian/exporter", @@ -2027,16 +2089,16 @@ }, { "name": "sebastian/recursion-context", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", "shasum": "" }, "require": { @@ -2076,7 +2138,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-06-21 08:04:50" + "time": "2015-11-11 19:50:13" }, { "name": "sebastian/version", @@ -2115,25 +2177,25 @@ }, { "name": "symfony/browser-kit", - "version": "v2.7.7", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "bd28847ea2193916074c7b11d4fdd78570049694" + "reference": "334a58c0def6dfcbe4bb57c6d2a8c06c6cc77679" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/bd28847ea2193916074c7b11d4fdd78570049694", - "reference": "bd28847ea2193916074c7b11d4fdd78570049694", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/334a58c0def6dfcbe4bb57c6d2a8c06c6cc77679", + "reference": "334a58c0def6dfcbe4bb57c6d2a8c06c6cc77679", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/dom-crawler": "~2.0,>=2.0.5" + "php": ">=5.5.9", + "symfony/dom-crawler": "~2.8|~3.0" }, "require-dev": { - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/process": "~2.3.34|~2.7,>=2.7.6" + "symfony/css-selector": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" }, "suggest": { "symfony/process": "" @@ -2141,7 +2203,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2168,30 +2230,30 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2015-11-02 20:20:53" + "time": "2015-12-26 13:39:53" }, { "name": "symfony/config", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "61973327bfb054f6f470de7be033a28b76c1dc20" + "reference": "41ee6c70758f40fa1dbf90d019ae0a66c4a09e74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/61973327bfb054f6f470de7be033a28b76c1dc20", - "reference": "61973327bfb054f6f470de7be033a28b76c1dc20", + "url": "https://api.github.com/repos/symfony/config/zipball/41ee6c70758f40fa1dbf90d019ae0a66c4a09e74", + "reference": "41ee6c70758f40fa1dbf90d019ae0a66c4a09e74", "shasum": "" }, "require": { "php": ">=5.3.9", - "symfony/filesystem": "~2.3" + "symfony/filesystem": "~2.3|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2218,29 +2280,30 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2015-11-02 20:20:53" + "time": "2016-01-03 15:33:41" }, { "name": "symfony/console", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "16bb1cb86df43c90931df65f529e7ebd79636750" + "reference": "d0239fb42f98dd02e7d342f793c5d2cdee0c478d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/16bb1cb86df43c90931df65f529e7ebd79636750", - "reference": "16bb1cb86df43c90931df65f529e7ebd79636750", + "url": "https://api.github.com/repos/symfony/console/zipball/d0239fb42f98dd02e7d342f793c5d2cdee0c478d", + "reference": "d0239fb42f98dd02e7d342f793c5d2cdee0c478d", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/process": "~2.1" + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" }, "suggest": { "psr/log": "For using the console logger", @@ -2250,7 +2313,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2277,29 +2340,29 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2015-11-18 09:54:26" + "time": "2016-01-14 08:33:16" }, { "name": "symfony/css-selector", - "version": "v2.7.7", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "abb47717fb88aebd9437da2fc8bb01a50a36679f" + "reference": "4613311fd46e146f506403ce2f8a0c71d402d2a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/abb47717fb88aebd9437da2fc8bb01a50a36679f", - "reference": "abb47717fb88aebd9437da2fc8bb01a50a36679f", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/4613311fd46e146f506403ce2f8a0c71d402d2a3", + "reference": "4613311fd46e146f506403ce2f8a0c71d402d2a3", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2330,27 +2393,28 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2015-10-30 20:10:21" + "time": "2015-12-05 17:45:07" }, { "name": "symfony/dom-crawler", - "version": "v2.7.7", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "b33593cbfe1d81b50d48353f338aca76a08658d8" + "reference": "7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b33593cbfe1d81b50d48353f338aca76a08658d8", - "reference": "b33593cbfe1d81b50d48353f338aca76a08658d8", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d", + "reference": "7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "~2.3" + "symfony/css-selector": "~2.8|~3.0" }, "suggest": { "symfony/css-selector": "" @@ -2358,7 +2422,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2385,20 +2449,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2015-11-02 20:20:53" + "time": "2015-12-26 13:42:31" }, { "name": "symfony/event-dispatcher", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "7e2f9c31645680026c2372edf66f863fc7757af5" + "reference": "ee278f7c851533e58ca307f66305ccb9188aceda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7e2f9c31645680026c2372edf66f863fc7757af5", - "reference": "7e2f9c31645680026c2372edf66f863fc7757af5", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ee278f7c851533e58ca307f66305ccb9188aceda", + "reference": "ee278f7c851533e58ca307f66305ccb9188aceda", "shasum": "" }, "require": { @@ -2406,10 +2470,10 @@ }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/stopwatch": "~2.3" + "symfony/config": "~2.0,>=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": "", @@ -2418,7 +2482,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2445,20 +2509,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2015-10-30 20:10:21" + "time": "2016-01-13 10:28:07" }, { "name": "symfony/filesystem", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8e173509d7fdbbba3cf34d6d072f2073c0210c1d" + "reference": "637b64d0ee10f44ae98dbad651b1ecdf35a11e8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8e173509d7fdbbba3cf34d6d072f2073c0210c1d", - "reference": "8e173509d7fdbbba3cf34d6d072f2073c0210c1d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/637b64d0ee10f44ae98dbad651b1ecdf35a11e8c", + "reference": "637b64d0ee10f44ae98dbad651b1ecdf35a11e8c", "shasum": "" }, "require": { @@ -2467,7 +2531,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2494,20 +2558,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2015-11-18 13:41:01" + "time": "2016-01-13 10:28:07" }, { "name": "symfony/finder", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "a06a0c0ff7db3736a50d530c908cca547bf13da9" + "reference": "c90fabdd97e431ee19b6383999cf35334dff27da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a06a0c0ff7db3736a50d530c908cca547bf13da9", - "reference": "a06a0c0ff7db3736a50d530c908cca547bf13da9", + "url": "https://api.github.com/repos/symfony/finder/zipball/c90fabdd97e431ee19b6383999cf35334dff27da", + "reference": "c90fabdd97e431ee19b6383999cf35334dff27da", "shasum": "" }, "require": { @@ -2516,7 +2580,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2543,28 +2607,29 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2015-10-30 20:10:21" + "time": "2016-01-14 08:26:52" }, { "name": "symfony/form", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "0a2c2ce0d4bd3c50bb0ae4e75ac27e5274c25e81" + "reference": "7fd5e4034cb8e215887136f5e176430bbf5ef085" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/0a2c2ce0d4bd3c50bb0ae4e75ac27e5274c25e81", - "reference": "0a2c2ce0d4bd3c50bb0ae4e75ac27e5274c25e81", + "url": "https://api.github.com/repos/symfony/form/zipball/7fd5e4034cb8e215887136f5e176430bbf5ef085", + "reference": "7fd5e4034cb8e215887136f5e176430bbf5ef085", "shasum": "" }, "require": { "php": ">=5.3.9", - "symfony/event-dispatcher": "~2.1", - "symfony/intl": "~2.4", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/intl": "~2.4|~3.0.0", "symfony/options-resolver": "~2.6", - "symfony/property-access": "~2.3" + "symfony/polyfill-mbstring": "~1.0", + "symfony/property-access": "~2.3|~3.0.0" }, "conflict": { "symfony/doctrine-bridge": "<2.7", @@ -2573,11 +2638,12 @@ }, "require-dev": { "doctrine/collections": "~1.0", - "symfony/http-foundation": "~2.2", - "symfony/http-kernel": "~2.4", - "symfony/security-csrf": "~2.4", - "symfony/translation": "~2.0,>=2.0.5", - "symfony/validator": "~2.6,>=2.6.8" + "symfony/dependency-injection": "~2.3|~3.0.0", + "symfony/http-foundation": "~2.2|~3.0.0", + "symfony/http-kernel": "~2.4|~3.0.0", + "symfony/security-csrf": "~2.4|~3.0.0", + "symfony/translation": "~2.0,>=2.0.5|~3.0.0", + "symfony/validator": "~2.8|~3.0.0" }, "suggest": { "symfony/framework-bundle": "For templating with PHP.", @@ -2588,7 +2654,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2615,27 +2681,28 @@ ], "description": "Symfony Form Component", "homepage": "https://symfony.com", - "time": "2015-11-23 10:34:14" + "time": "2016-01-12 17:46:01" }, { "name": "symfony/intl", - "version": "v2.7.7", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "6c6c3aa69f68aff72e48a9bfc11f24680e23eb2d" + "reference": "9abd5cd590211c35cda87591f0dee856b7a16125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/6c6c3aa69f68aff72e48a9bfc11f24680e23eb2d", - "reference": "6c6c3aa69f68aff72e48a9bfc11f24680e23eb2d", + "url": "https://api.github.com/repos/symfony/intl/zipball/9abd5cd590211c35cda87591f0dee856b7a16125", + "reference": "9abd5cd590211c35cda87591f0dee856b7a16125", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9", + "symfony/polyfill-intl-icu": "~1.0" }, "require-dev": { - "symfony/filesystem": "~2.1" + "symfony/filesystem": "~2.8|~3.0" }, "suggest": { "ext-intl": "to use the component with locales other than \"en\"" @@ -2643,7 +2710,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2653,9 +2720,6 @@ "classmap": [ "Resources/stubs" ], - "files": [ - "Resources/stubs/functions.php" - ], "exclude-from-classmap": [ "/Tests/" ] @@ -2692,20 +2756,20 @@ "l10n", "localization" ], - "time": "2015-11-18 13:41:01" + "time": "2015-12-05 11:13:14" }, { "name": "symfony/options-resolver", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "d6b7d3452b4cfff89b642993e02fea7cc254530e" + "reference": "b98ca04f85240531b9ea8a0f00a21f2ecfbdfa51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/d6b7d3452b4cfff89b642993e02fea7cc254530e", - "reference": "d6b7d3452b4cfff89b642993e02fea7cc254530e", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b98ca04f85240531b9ea8a0f00a21f2ecfbdfa51", + "reference": "b98ca04f85240531b9ea8a0f00a21f2ecfbdfa51", "shasum": "" }, "require": { @@ -2714,7 +2778,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2746,20 +2810,75 @@ "configuration", "options" ], - "time": "2015-11-18 13:41:01" + "time": "2016-01-03 15:33:41" }, { - "name": "symfony/process", - "version": "v2.7.7", + "name": "symfony/polyfill-intl-icu", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "f6290983c8725d0afa29bdc3e5295879de3e58f5" + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "2deb44160e1c886241c06602b12b98779f728177" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f6290983c8725d0afa29bdc3e5295879de3e58f5", - "reference": "f6290983c8725d0afa29bdc3e5295879de3e58f5", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/2deb44160e1c886241c06602b12b98779f728177", + "reference": "2deb44160e1c886241c06602b12b98779f728177", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "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 intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/process", + "version": "v2.8.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "6f1979c3b0f4c22c77a8a8971afaa7dd07f082ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/6f1979c3b0f4c22c77a8a8971afaa7dd07f082ac", + "reference": "6f1979c3b0f4c22c77a8a8971afaa7dd07f082ac", "shasum": "" }, "require": { @@ -2768,7 +2887,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2795,29 +2914,29 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2015-11-19 16:11:24" + "time": "2016-01-06 09:59:23" }, { "name": "symfony/property-access", - "version": "v2.7.7", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "49d76463a54d8b3005fa58f3b8df41d0ae206eaa" + "reference": "9bb9f79ade13196fadd0b98504117f117d8221ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/49d76463a54d8b3005fa58f3b8df41d0ae206eaa", - "reference": "49d76463a54d8b3005fa58f3b8df41d0ae206eaa", + "url": "https://api.github.com/repos/symfony/property-access/zipball/9bb9f79ade13196fadd0b98504117f117d8221ad", + "reference": "9bb9f79ade13196fadd0b98504117f117d8221ad", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2855,20 +2974,20 @@ "property path", "reflection" ], - "time": "2015-11-18 13:41:01" + "time": "2015-12-23 08:00:11" }, { "name": "symfony/routing", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "7450f6196711b124fb8b04a12286d01a0401ddfe" + "reference": "5451a8a1874fd4e6a4dd347ea611d86cd8441735" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/7450f6196711b124fb8b04a12286d01a0401ddfe", - "reference": "7450f6196711b124fb8b04a12286d01a0401ddfe", + "url": "https://api.github.com/repos/symfony/routing/zipball/5451a8a1874fd4e6a4dd347ea611d86cd8441735", + "reference": "5451a8a1874fd4e6a4dd347ea611d86cd8441735", "shasum": "" }, "require": { @@ -2881,21 +3000,22 @@ "doctrine/annotations": "~1.0", "doctrine/common": "~2.2", "psr/log": "~1.0", - "symfony/config": "~2.7", - "symfony/expression-language": "~2.4", - "symfony/http-foundation": "~2.3", - "symfony/yaml": "~2.0,>=2.0.5" + "symfony/config": "~2.7|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/http-foundation": "~2.3|~3.0.0", + "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" }, "suggest": { "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", "symfony/expression-language": "For using expression matching", "symfony/yaml": "For using the YAML loader" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -2928,20 +3048,20 @@ "uri", "url" ], - "time": "2015-11-18 13:41:01" + "time": "2016-01-11 16:43:36" }, { "name": "symfony/twig-bridge", - "version": "v2.7.7", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "7c491aa71af4320747f81ab0140eac4f0ad5509b" + "reference": "e33b512de4b769a1c728cd6775e22668ae89fca9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/7c491aa71af4320747f81ab0140eac4f0ad5509b", - "reference": "7c491aa71af4320747f81ab0140eac4f0ad5509b", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/e33b512de4b769a1c728cd6775e22668ae89fca9", + "reference": "e33b512de4b769a1c728cd6775e22668ae89fca9", "shasum": "" }, "require": { @@ -2949,21 +3069,21 @@ "twig/twig": "~1.23|~2.0" }, "require-dev": { - "symfony/asset": "~2.7", - "symfony/console": "~2.7", - "symfony/expression-language": "~2.4", - "symfony/finder": "~2.3", - "symfony/form": "~2.7,>=2.7.6", - "symfony/http-kernel": "~2.3", - "symfony/intl": "~2.3", - "symfony/routing": "~2.2", - "symfony/security": "~2.6", - "symfony/security-acl": "~2.6", - "symfony/stopwatch": "~2.2", - "symfony/templating": "~2.1", - "symfony/translation": "~2.7", - "symfony/var-dumper": "~2.6", - "symfony/yaml": "~2.0,>=2.0.5" + "symfony/asset": "~2.7|~3.0.0", + "symfony/console": "~2.8|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/finder": "~2.3|~3.0.0", + "symfony/form": "~2.8", + "symfony/http-kernel": "~2.8|~3.0.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/routing": "~2.2|~3.0.0", + "symfony/security": "~2.6|~3.0.0", + "symfony/security-acl": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.2|~3.0.0", + "symfony/templating": "~2.1|~3.0.0", + "symfony/translation": "~2.7|~3.0.0", + "symfony/var-dumper": "~2.6|~3.0.0", + "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" }, "suggest": { "symfony/asset": "For using the AssetExtension", @@ -2982,7 +3102,7 @@ "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -3009,29 +3129,29 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2015-11-02 20:25:31" + "time": "2016-01-12 17:46:01" }, { "name": "symfony/yaml", - "version": "v2.7.7", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4cfcd7a9fceba662b3c036b7d9a91f6197af046c" + "reference": "3df409958a646dad2bc5046c3fb671ee24a1a691" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4cfcd7a9fceba662b3c036b7d9a91f6197af046c", - "reference": "4cfcd7a9fceba662b3c036b7d9a91f6197af046c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/3df409958a646dad2bc5046c3fb671ee24a1a691", + "reference": "3df409958a646dad2bc5046c3fb671ee24a1a691", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -3058,7 +3178,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2015-11-18 13:41:01" + "time": "2015-12-26 13:39:53" }, { "name": "twig/extensions", @@ -3163,28 +3283,28 @@ }, { "name": "vlucas/phpdotenv", - "version": "v2.1.0", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "c10040e0df17d2ee88e9212b50cbe9319e878f59" + "reference": "9caf304153dc2288e4970caec6f1f3b3bc205412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/c10040e0df17d2ee88e9212b50cbe9319e878f59", - "reference": "c10040e0df17d2ee88e9212b50cbe9319e878f59", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/9caf304153dc2288e4970caec6f1f3b3bc205412", + "reference": "9caf304153dc2288e4970caec6f1f3b3bc205412", "shasum": "" }, "require": { "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "^4.8|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "autoload": { @@ -3210,7 +3330,7 @@ "env", "environment" ], - "time": "2015-10-28 18:53:35" + "time": "2015-12-29 15:10:30" } ], "aliases": [], diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index 95eb8aff0c..f9f0a0c351 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -296,7 +296,7 @@ class Menu { } else { // check if users can register $flags['registration_enabled'] = - (bool) get_option('users_can_register', false); + (bool)get_option('users_can_register', false); } return $flags; @@ -307,6 +307,29 @@ class Menu { $data['segments'] = Segment::findArray(); + $data['custom_fields'] = array_map(function($field) { + $field['params'] = unserialize($field['params']); + + if(!empty($field['params']['values'])) { + $values = array(); + + foreach($field['params']['values'] as $value) { + $values[$value['value']] = $value['value']; + } + $field['params']['values'] = $values; + } + return $field; + }, CustomField::findArray()); + + $data['date_formats'] = Block\Date::getDateFormats(); + $data['month_names'] = Block\Date::getMonthNames(); + + + // print "
";
+    // print_r($data['custom_fields']);
+    // print "
"; + // exit; + echo $this->renderer->render('subscribers/subscribers.html', $data); } diff --git a/lib/Form/Block/Checkbox.php b/lib/Form/Block/Checkbox.php index 07a3b527eb..61b9b34c13 100644 --- a/lib/Form/Block/Checkbox.php +++ b/lib/Form/Block/Checkbox.php @@ -13,7 +13,12 @@ class Checkbox extends Base { $html .= static::renderLabel($block); - foreach($block['params']['values'] as $option) { + $options = (!empty($block['params']['values']) + ? $block['params']['values'] + : array() + ); + + foreach($options as $option) { $html .= '