From b057d1c3c0ceb390ae12a55861c44f8312ccd2cf Mon Sep 17 00:00:00 2001 From: jekkos Date: Thu, 20 Apr 2017 00:10:26 +0200 Subject: [PATCH] Overload existing env vars with .env contents (#974) Add error handling if .env is not present --- README.md | 13 +- application/config/.env.example | 4 +- application/config/config.php | 1 + application/config/database.php | 8 +- application/config/hooks.php | 8 +- application/controllers/Config.php | 9 +- composer.json | 8 +- composer.lock | 318 --------------------- public/license/bower.LICENSES | 26 +- vendor/autoload.php | 2 +- vendor/composer/LICENSE | 444 ++--------------------------- vendor/composer/autoload_real.php | 29 +- vendor/composer/installed.json | 2 +- 13 files changed, 72 insertions(+), 800 deletions(-) delete mode 100644 composer.lock diff --git a/README.md b/README.md index 0fc210145..fb43e54d4 100644 --- a/README.md +++ b/README.md @@ -81,15 +81,14 @@ Local install 1. Create/locate a new mysql database to install open source point of sale into 2. Execute the file database/database.sql to create the tables needed 3. unzip and upload Open Source Point of Sale files to web server -4. Copy application/config/.env.example to application/config/.env -5. Modify database settings in application/config/.env to connect to your database -6. Modify encryption key in application/config/.env with your own -7. Go to your point of sale install public dir via the browser -8. LOGIN using +4. Modify application/config/database.php and modify credentials if needed to connect to your database +5. Modify application/config/config.php encryption key with your own +6. Go to your point of sale install public dir via the browser +7. LOGIN using * username: admin * password: pointofsale -9. Enjoy -10. Oops an issue? Please read the FAQ first thing :-) +8. Enjoy +9. Oops an issue? Please read the FAQ and check the issue list on github. PHP display_errors is disabled by default. Create a application/config/.env file from the .env.example to enable it in a development environment. Local install using Docker -------------------------- diff --git a/application/config/.env.example b/application/config/.env.example index e470567ed..449d80bf5 100644 --- a/application/config/.env.example +++ b/application/config/.env.example @@ -1,6 +1,4 @@ -CI_ENV="production" - -ENCRYPTION_KEY="" +CI_ENV="development" #Database Settings MYSQL_HOST_NAME="localhost" diff --git a/application/config/config.php b/application/config/config.php index 75545fb3c..cf9f35cbd 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -511,6 +511,7 @@ $config['csrf_exclude_uris'] = array(); */ $config['compress_output'] = FALSE; + /* |-------------------------------------------------------------------------- | Master Time Reference diff --git a/application/config/database.php b/application/config/database.php index de70432df..720bdb732 100644 --- a/application/config/database.php +++ b/application/config/database.php @@ -75,10 +75,10 @@ $query_builder = TRUE; $db['default'] = array( 'dsn' => '', - 'hostname' => getenv('MYSQL_HOST_NAME') ? getenv('MYSQL_HOST_NAME') : '', - 'username' => getenv('MYSQL_USERNAME') ? getenv('MYSQL_USERNAME') : '', - 'password' => getenv('MYSQL_PASSWORD') ? getenv('MYSQL_PASSWORD') : '', - 'database' => getenv('MYSQL_DB_NAME') ? getenv('MYSQL_DB_NAME') : '', + 'hostname' => !empty(getenv('MYSQL_HOST_NAME')) ? getenv('MYSQL_HOST_NAME') : 'localhost', + 'username' => !empty(getenv('MYSQL_USERNAME')) ? getenv('MYSQL_USERNAME') : 'admin', + 'password' => !empty(getenv('MYSQL_PASSWORD')) ? getenv('MYSQL_PASSWORD') : 'pointofsale', + 'database' => !empty(getenv('MYSQL_DB_NAME')) ? getenv('MYSQL_DB_NAME') : 'ospos', 'dbdriver' => 'mysqli', 'dbprefix' => 'ospos_', 'pconnect' => FALSE, diff --git a/application/config/hooks.php b/application/config/hooks.php index 037c85a6e..d2e43329d 100644 --- a/application/config/hooks.php +++ b/application/config/hooks.php @@ -35,6 +35,10 @@ $hook['post_controller'] = array( $hook['pre_system'] = function() { $config_path = APPPATH . 'config/'; - $dotenv = new Dotenv\Dotenv($config_path); - $dotenv->load(); + try { + $dotenv = new Dotenv\Dotenv($config_path); + $dotenv->overload(); + } catch(Exception $e) { + // continue, .env file not present + } }; \ No newline at end of file diff --git a/application/controllers/Config.php b/application/controllers/Config.php index 339b4fdc2..708d86c93 100644 --- a/application/controllers/Config.php +++ b/application/controllers/Config.php @@ -664,14 +664,7 @@ class Config extends Secure_Controller $this->config->set_item('encryption_key', $key); // replace the empty placeholder with a real randomly generated encryption key - if($encryption_key == '') - { - $config = str_replace("['encryption_key'] = '';", "['encryption_key'] = '" . $key . "';", $config); - } - else - { - $config = str_replace("['encryption_key'] = 'YOUR KEY';", "['encryption_key'] = '" . $key . "';", $config); - } + $config = preg_replace("/(.*encryption_key.*)('');/", "$1'$key';", $config); $result = FALSE; diff --git a/composer.json b/composer.json index 3ca280395..ef5389f93 100644 --- a/composer.json +++ b/composer.json @@ -18,12 +18,12 @@ "homepage": "https://github.com/jekkos/opensourcepos", "require": { "php": "^5.5 || ^7.0", - "codeigniter/framework": "^3.1", + "codeigniter/framework": "^3.1.2", "ins0/google-measurement-php-client": "dev-master#2b3aef2375837339f5b2bfe88e76994481f86264", - "dompdf/dompdf": "^0.7.0", - "vlucas/phpdotenv": "^2.4" + "dompdf/dompdf": "^0.7.0" }, "require-dev": { - "mikey179/vfsStream": "1.1.*" + "mikey179/vfsStream": "1.1.*", + "vlucas/phpdotenv": "^2.4" } } diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 923e55489..000000000 --- a/composer.lock +++ /dev/null @@ -1,318 +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" - ], - "hash": "69501c018b057a249944072b172211c8", - "content-hash": "d4832d21deaba922e934cbc70b36be0f", - "packages": [ - { - "name": "codeigniter/framework", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/bcit-ci/CodeIgniter.git", - "reference": "2afa6b6b58a73fa26a7a93045ccb1fc8a087a141" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/2afa6b6b58a73fa26a7a93045ccb1fc8a087a141", - "reference": "2afa6b6b58a73fa26a7a93045ccb1fc8a087a141", - "shasum": "" - }, - "require": { - "php": ">=5.2.4" - }, - "require-dev": { - "mikey179/vfsstream": "1.1.*" - }, - "suggest": { - "paragonie/random_compat": "Provides better randomness in PHP 5.x" - }, - "type": "project", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The CodeIgniter framework", - "homepage": "https://codeigniter.com", - "time": "2016-10-28 15:13:14" - }, - { - "name": "dompdf/dompdf", - "version": "v0.7.0", - "source": { - "type": "git", - "url": "https://github.com/dompdf/dompdf.git", - "reference": "5c98652b1a5beb7e3cc8ec35419b2828dd63ab14" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/5c98652b1a5beb7e3cc8ec35419b2828dd63ab14", - "reference": "5c98652b1a5beb7e3cc8ec35419b2828dd63ab14", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-gd": "*", - "ext-mbstring": "*", - "phenx/php-font-lib": "0.4.*", - "phenx/php-svg-lib": "0.1.*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.7-dev" - } - }, - "autoload": { - "psr-4": { - "Dompdf\\": "src/" - }, - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - }, - { - "name": "Brian Sweeney", - "email": "eclecticgeek@gmail.com" - }, - { - "name": "Gabriel Bull", - "email": "me@gabrielbull.com" - } - ], - "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", - "homepage": "https://github.com/dompdf/dompdf", - "time": "2016-05-11 00:36:29" - }, - { - "name": "ins0/google-measurement-php-client", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/ins0/google-measurement-php-client.git", - "reference": "2b3aef2375837339f5b2bfe88e76994481f86264" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ins0/google-measurement-php-client/zipball/2b3aef2375837339f5b2bfe88e76994481f86264", - "reference": "2b3aef2375837339f5b2bfe88e76994481f86264", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpmd/phpmd": "~2.1", - "phpunit/phpunit": "4.0.*", - "squizlabs/php_codesniffer": "~2.0.0@RC" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Racecore\\GATracking": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Marco Rieger", - "email": "rieger@racecore.de" - } - ], - "description": "Server-Side PHP Client to communicate to Google Analytics over the Google Measurement Protocol", - "homepage": "http://www.racecore.de/", - "keywords": [ - "analytics", - "client", - "google", - "measurement" - ], - "time": "2016-09-07 19:39:27" - }, - { - "name": "phenx/php-font-lib", - "version": "0.4", - "source": { - "type": "git", - "url": "https://github.com/PhenX/php-font-lib.git", - "reference": "b8af0cacdc3cbf1e41a586fcb78f506f4121a088" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/b8af0cacdc3cbf1e41a586fcb78f506f4121a088", - "reference": "b8af0cacdc3cbf1e41a586fcb78f506f4121a088", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "FontLib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", - "time": "2015-05-06 20:02:39" - }, - { - "name": "phenx/php-svg-lib", - "version": "0.1", - "source": { - "type": "git", - "url": "https://github.com/PhenX/php-svg-lib.git", - "reference": "b419766515b3426c6da74b0e29e93d71c4f17099" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/b419766515b3426c6da74b0e29e93d71c4f17099", - "reference": "b419766515b3426c6da74b0e29e93d71c4f17099", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Svg\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", - "time": "2015-05-06 18:49:49" - }, - { - "name": "vlucas/phpdotenv", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c", - "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause-Attribution" - ], - "authors": [ - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "http://www.vancelucas.com" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "time": "2016-09-01 10:05:43" - } - ], - "packages-dev": [ - { - "name": "mikey179/vfsStream", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/mikey179/vfsStream.git", - "reference": "fc0fe8f4d0b527254a2dc45f0c265567c881d07e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/fc0fe8f4d0b527254a2dc45f0c265567c881d07e", - "reference": "fc0fe8f4d0b527254a2dc45f0c265567c881d07e", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "org\\bovigo\\vfs": "src/main/php" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "homepage": "http://vfs.bovigo.org/", - "time": "2012-08-25 12:49:29" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "ins0/google-measurement-php-client": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.5" - }, - "platform-dev": [] -} diff --git a/public/license/bower.LICENSES b/public/license/bower.LICENSES index ce73f29a0..a109f110f 100644 --- a/public/license/bower.LICENSES +++ b/public/license/bower.LICENSES @@ -71,18 +71,18 @@ "licenses": "UNKNOWN", "homepage": "https://github.com/malsup/form" }, - "js-cookie@2.1.4": { - "licenses": [ - "MIT" - ], - "homepage": "https://github.com/js-cookie/js-cookie" - }, "jspdf@1.0.272": { "licenses": [ "MIT" ], "homepage": "https://github.com/mrrio/jspdf" }, + "js-cookie@2.1.4": { + "licenses": [ + "MIT" + ], + "homepage": "https://github.com/js-cookie/js-cookie" + }, "moment@2.18.1": { "licenses": [ "MIT" @@ -95,13 +95,6 @@ ], "homepage": "https://github.com/hhurz/tableExport.jquery.plugin" }, - "bootstrap-daterangepicker@2.1.25": { - "licenses": [ - "MIT" - ], - "homepage": "https://github.com/dangrossman/bootstrap-daterangepicker", - "repository": "git+https://github.com/dangrossman/bootstrap-daterangepicker" - }, "bootstrap@3.3.7": { "licenses": [ "MIT" @@ -109,6 +102,13 @@ "homepage": "http://getbootstrap.com", "repository": "git+https://github.com/twbs/bootstrap" }, + "bootstrap-daterangepicker@2.1.25": { + "licenses": [ + "MIT" + ], + "homepage": "https://github.com/dangrossman/bootstrap-daterangepicker", + "repository": "git+https://github.com/dangrossman/bootstrap-daterangepicker" + }, "html2canvas@0.4.1": { "licenses": [ "MIT" diff --git a/vendor/autoload.php b/vendor/autoload.php index 255f41407..f55b9817a 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -2,6 +2,6 @@ // autoload.php @generated by Composer -require_once __DIR__ . '/composer/autoload_real.php'; +require_once __DIR__ . '/composer' . '/autoload_real.php'; return ComposerAutoloaderInit4fe73a8b8bda5131fdc94f85e4d193c1::getLoader(); diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE index ee274f1d3..1a2812488 100644 --- a/vendor/composer/LICENSE +++ b/vendor/composer/LICENSE @@ -1,433 +1,21 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: Composer -Upstream-Contact: Jordi Boggiano -Source: https://github.com/composer/composer -Files: * -Copyright: 2016, Nils Adermann - 2016, Jordi Boggiano -License: Expat +Copyright (c) 2016 Nils Adermann, Jordi Boggiano -Files: res/cacert.pem -Copyright: 2015, Mozilla Foundation -License: MPL-2.0 +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: -Files: src/Composer/Util/RemoteFilesystem.php - src/Composer/Util/TlsHelper.php -Copyright: 2016, Nils Adermann - 2016, Jordi Boggiano - 2013, Evan Coury -License: Expat and BSD-2-Clause +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -License: BSD-2-Clause - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - . - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is furnished - to do so, subject to the following conditions: - . - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - -License: MPL-2.0 - 1. Definitions - -------------- - . - 1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - . - 1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - . - 1.3. "Contribution" - means Covered Software of a particular Contributor. - . - 1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - . - 1.5. "Incompatible With Secondary Licenses" - means - . - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - . - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - . - 1.6. "Executable Form" - means any form of the work other than Source Code Form. - . - 1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - . - 1.8. "License" - means this document. - . - 1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - . - 1.10. "Modifications" - means any of the following: - . - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - . - (b) any new file in Source Code Form that contains any Covered - Software. - . - 1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - . - 1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - . - 1.13. "Source Code Form" - means the form of the work preferred for making modifications. - . - 1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - . - 2. License Grants and Conditions - -------------------------------- - . - 2.1. Grants - . - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - . - (a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - . - (b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - . - 2.2. Effective Date - . - The licenses granted in Section 2.1 with respect to any Contribution - become effective for each Contribution on the date the Contributor first - distributes such Contribution. - . - 2.3. Limitations on Grant Scope - . - The licenses granted in this Section 2 are the only rights granted under - this License. No additional rights or licenses will be implied from the - distribution or licensing of Covered Software under this License. - Notwithstanding Section 2.1(b) above, no patent license is granted by a - Contributor: - . - (a) for any code that a Contributor has removed from Covered Software; - or - . - (b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - . - (c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - . - This License does not grant any rights in the trademarks, service marks, - or logos of any Contributor (except as may be necessary to comply with - the notice requirements in Section 3.4). - . - 2.4. Subsequent Licenses - . - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this - License (see Section 10.2) or under the terms of a Secondary License (if - permitted under the terms of Section 3.3). - . - 2.5. Representation - . - Each Contributor represents that the Contributor believes its - Contributions are its original creation(s) or it has sufficient rights - to grant the rights to its Contributions conveyed by this License. - . - 2.6. Fair Use - . - This License is not intended to limit any rights You have under - applicable copyright doctrines of fair use, fair dealing, or other - equivalents. - . - 2.7. Conditions - . - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted - in Section 2.1. - . - 3. Responsibilities - ------------------- - . - 3.1. Distribution of Source Form - . - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under - the terms of this License. You must inform recipients that the Source - Code Form of the Covered Software is governed by the terms of this - License, and how they can obtain a copy of this License. You may not - attempt to alter or restrict the recipients' rights in the Source Code - Form. - . - 3.2. Distribution of Executable Form - . - If You distribute Covered Software in Executable Form then: - . - (a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - . - (b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - . - 3.3. Distribution of a Larger Work - . - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for - the Covered Software. If the Larger Work is a combination of Covered - Software with a work governed by one or more Secondary Licenses, and the - Covered Software is not Incompatible With Secondary Licenses, this - License permits You to additionally distribute such Covered Software - under the terms of such Secondary License(s), so that the recipient of - the Larger Work may, at their option, further distribute the Covered - Software under the terms of either this License or such Secondary - License(s). - . - 3.4. Notices - . - You may not remove or alter the substance of any license notices - (including copyright notices, patent notices, disclaimers of warranty, - or limitations of liability) contained within the Source Code Form of - the Covered Software, except that You may alter any license notices to - the extent required to remedy known factual inaccuracies. - . - 3.5. Application of Additional Terms - . - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on - behalf of any Contributor. You must make it absolutely clear that any - such warranty, support, indemnity, or liability obligation is offered by - You alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - . - 4. Inability to Comply Due to Statute or Regulation - --------------------------------------------------- - . - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Software due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description must - be placed in a text file included with all distributions of the Covered - Software under this License. Except to the extent prohibited by statute - or regulation, such description must be sufficiently detailed for a - recipient of ordinary skill to be able to understand it. - . - 5. Termination - -------------- - . - 5.1. The rights granted under this License will terminate automatically - if You fail to comply with any of its terms. However, if You become - compliant, then the rights granted under this License from a particular - Contributor are reinstated (a) provisionally, unless and until such - Contributor explicitly and finally terminates Your grants, and (b) on an - ongoing basis, if such Contributor fails to notify You of the - non-compliance by some reasonable means prior to 60 days after You have - come back into compliance. Moreover, Your grants from a particular - Contributor are reinstated on an ongoing basis if such Contributor - notifies You of the non-compliance by some reasonable means, this is the - first time You have received notice of non-compliance with this License - from such Contributor, and You become compliant prior to 30 days after - Your receipt of the notice. - . - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, - counter-claims, and cross-claims) alleging that a Contributor Version - directly or indirectly infringes any patent, then the rights granted to - You by any and all Contributors for the Covered Software under Section - 2.1 of this License shall terminate. - . - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all - end user license agreements (excluding distributors and resellers) which - have been validly granted by You or Your distributors under this License - prior to termination shall survive termination. - . - ************************************************************************ - * * - * 6. Disclaimer of Warranty * - * ------------------------- * - * * - * Covered Software is provided under this License on an "as is" * - * basis, without warranty of any kind, either expressed, implied, or * - * statutory, including, without limitation, warranties that the * - * Covered Software is free of defects, merchantable, fit for a * - * particular purpose or non-infringing. The entire risk as to the * - * quality and performance of the Covered Software is with You. * - * Should any Covered Software prove defective in any respect, You * - * (not any Contributor) assume the cost of any necessary servicing, * - * repair, or correction. This disclaimer of warranty constitutes an * - * essential part of this License. No use of any Covered Software is * - * authorized under this License except under this disclaimer. * - * * - ************************************************************************ - . - ************************************************************************ - * * - * 7. Limitation of Liability * - * -------------------------- * - * * - * Under no circumstances and under no legal theory, whether tort * - * (including negligence), contract, or otherwise, shall any * - * Contributor, or anyone who distributes Covered Software as * - * permitted above, be liable to You for any direct, indirect, * - * special, incidental, or consequential damages of any character * - * including, without limitation, damages for lost profits, loss of * - * goodwill, work stoppage, computer failure or malfunction, or any * - * and all other commercial damages or losses, even if such party * - * shall have been informed of the possibility of such damages. This * - * limitation of liability shall not apply to liability for death or * - * personal injury resulting from such party's negligence to the * - * extent applicable law prohibits such limitation. Some * - * jurisdictions do not allow the exclusion or limitation of * - * incidental or consequential damages, so this exclusion and * - * limitation may not apply to You. * - * * - ************************************************************************ - . - 8. Litigation - ------------- - . - Any litigation relating to this License may be brought only in the - courts of a jurisdiction where the defendant maintains its principal - place of business and such litigation shall be governed by laws of that - jurisdiction, without reference to its conflict-of-law provisions. - Nothing in this Section shall prevent a party's ability to bring - cross-claims or counter-claims. - . - 9. Miscellaneous - ---------------- - . - This License represents the complete agreement concerning the subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. Any law or regulation which provides - that the language of a contract shall be construed against the drafter - shall not be used to construe this License against a Contributor. - . - 10. Versions of the License - --------------------------- - . - 10.1. New Versions - . - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - . - 10.2. Effect of New Versions - . - You may distribute the Covered Software under the terms of the version - of the License under which You originally received the Covered Software, - or under the terms of any subsequent version published by the license - steward. - . - 10.3. Modified Versions - . - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a - modified version of this License if you rename the license and remove - any references to the name of the license steward (except to note that - such modified license differs from this License). - . - 10.4. Distributing Source Code Form that is Incompatible With Secondary - Licenses - . - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - . - Exhibit A - Source Code Form License Notice - ------------------------------------------- - . - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - . - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to look - for such a notice. - . - You may add additional accurate notices of copyright ownership. - . - Exhibit B - "Incompatible With Secondary Licenses" Notice - --------------------------------------------------------- - . - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 6f220a064..9bc87b8db 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -23,19 +23,26 @@ class ComposerAutoloaderInit4fe73a8b8bda5131fdc94f85e4d193c1 self::$loader = $loader = new \Composer\Autoload\ClassLoader(); spl_autoload_unregister(array('ComposerAutoloaderInit4fe73a8b8bda5131fdc94f85e4d193c1', 'loadClassLoader')); - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION'); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } + call_user_func(\Composer\Autoload\ComposerStaticInit4fe73a8b8bda5131fdc94f85e4d193c1::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } } $loader->register(true); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 8938591d8..05899b2ce 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -42,7 +42,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ins0/google-measurement-php-client/zipball/415cabca0c6d83cd0bd6a8ed6fb695b35f892018", + "url": "https://api.github.com/repos/ins0/google-measurement-php-client/zipball/2b3aef2375837339f5b2bfe88e76994481f86264", "reference": "2b3aef2375837339f5b2bfe88e76994481f86264", "shasum": "" },