From 06fc7e536022adea2aba3de4873b765b118da097 Mon Sep 17 00:00:00 2001 From: Miguel Nogueira Date: Thu, 7 Jun 2018 10:56:13 +0000 Subject: [PATCH] Add all code files from IDE --- .gitignore | 1 + README.md | 30 + composer.json | 22 + composer.lock | 2065 +++++++++++++++++ hello-world.php | 11 + php.ini | 1662 +++++++++++++ php_errors.log | 229 ++ phpinfo.php | 3 + public/index.php | 6 + source/boot.php | 10 + source/config.php | 50 + source/dbtools/Application.php | 103 + source/dbtools/ApplicationApiTools.php | 56 + source/dbtools/Customer.php | 97 + source/defs/Auth/Authentication.php | 30 + source/defs/Emailer/PHPMail.php | 85 + source/defs/Hookmanager/Hookmanager.php | 55 + source/defs/Package/Package.php | 64 + source/defs/RenderEngine/Render.php | 44 + source/defs/Virtualmin/Virtualmin.php | 113 + .../accountBillingInformation.twig | 34 + .../accountCancellationNotice.twig | 36 + .../accountInformationUpdated.twig | 25 + .../emailTemplates/accountInstallation.twig | 39 + source/emailTemplates/accountRefunded.twig | 30 + .../accountSubscriptionPaymentFailed.twig | 28 + source/helpers/ConfigHelper/class.Config.php | 25 + testing/index.php | 3 + 28 files changed, 4956 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 hello-world.php create mode 100644 php.ini create mode 100644 php_errors.log create mode 100644 phpinfo.php create mode 100644 public/index.php create mode 100644 source/boot.php create mode 100644 source/config.php create mode 100644 source/dbtools/Application.php create mode 100644 source/dbtools/ApplicationApiTools.php create mode 100644 source/dbtools/Customer.php create mode 100644 source/defs/Auth/Authentication.php create mode 100644 source/defs/Emailer/PHPMail.php create mode 100644 source/defs/Hookmanager/Hookmanager.php create mode 100644 source/defs/Package/Package.php create mode 100644 source/defs/RenderEngine/Render.php create mode 100644 source/defs/Virtualmin/Virtualmin.php create mode 100644 source/emailTemplates/accountBillingInformation.twig create mode 100644 source/emailTemplates/accountCancellationNotice.twig create mode 100644 source/emailTemplates/accountInformationUpdated.twig create mode 100644 source/emailTemplates/accountInstallation.twig create mode 100644 source/emailTemplates/accountRefunded.twig create mode 100644 source/emailTemplates/accountSubscriptionPaymentFailed.twig create mode 100644 source/helpers/ConfigHelper/class.Config.php create mode 100644 testing/index.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..140fada --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +vendor/* diff --git a/README.md b/README.md new file mode 100644 index 0000000..1e4969c --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ + + ,-----.,--. ,--. ,---. ,--.,------. ,------. + ' .--./| | ,---. ,--.,--. ,-| || o \ | || .-. \ | .---' + | | | || .-. || || |' .-. |`..' | | || | \ :| `--, + ' '--'\| |' '-' '' '' '\ `-' | .' / | || '--' /| `---. + `-----'`--' `---' `----' `---' `--' `--'`-------' `------' + ----------------------------------------------------------------- + + +Hi there! Welcome to Cloud9 IDE! + +To get you started, we have created a small hello world application. + +1) Open the hello-world.php file + +2) Follow the run instructions in the file's comments + +3) If you want to look at the Apache logs, check out ~/lib/apache2/log + +And that's all there is to it! Just have fun. Go ahead and edit the code, +or add new files. It's all up to you! + +Happy coding! +The Cloud9 IDE team + + +## Support & Documentation + +Visit http://docs.c9.io for support, or to learn more about using Cloud9 IDE. +To watch some training videos, visit http://www.youtube.com/user/c9ide diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..7394156 --- /dev/null +++ b/composer.json @@ -0,0 +1,22 @@ +{ + "require": { + "slim/slim": "^3.9", + "hnhdigital-os/php-virtualmin-api": "^1.0", + "curl/curl": "^1.9", + "pimple/pimple": "^3.2", + "cilex/cilex": "^2.0", + "paragonie/easydb": "^2.6", + "twig/twig": "^2.4", + "byjg/mailwrapper": "2.0.*", + "analog/analog": "^1.0", + "yadakhov/json": "^2.0", + "ircmaxell/random-lib": "^1.2" + }, + + + "autoload": { + "classmap": ["source/"] + } + + +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..5471857 --- /dev/null +++ b/composer.lock @@ -0,0 +1,2065 @@ +{ + "_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": "ba0ba3b7cbb249a42fded868264fdbce", + "packages": [ + { + "name": "analog/analog", + "version": "1.0.10-stable", + "source": { + "type": "git", + "url": "https://github.com/jbroadway/analog.git", + "reference": "65dce6b5aff8c77307c783e607c04a35df8259d6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jbroadway/analog/zipball/65dce6b5aff8c77307c783e607c04a35df8259d6", + "reference": "65dce6b5aff8c77307c783e607c04a35df8259d6", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "psr/log": "1.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "Analog": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Johnny Broadway", + "email": "johnny@johnnybroadway.com", + "homepage": "http://www.johnnybroadway.com/" + } + ], + "description": "PHP logging class that can be extended via closures. Includes several pre-built handlers including file, mail, syslog, HTTP post, and MongoDB.", + "homepage": "https://github.com/jbroadway/analog", + "keywords": [ + "alerts", + "debug", + "debugging", + "error", + "log", + "logger", + "logging", + "syslog" + ], + "time": "2017-09-17T02:30:30+00:00" + }, + { + "name": "aws/aws-sdk-php", + "version": "3.60.0", + "source": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "172ed6346ab4d1df075f5106098ed5b6e653c934" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/172ed6346ab4d1df075f5106098ed5b6e653c934", + "reference": "172ed6346ab4d1df075f5106098ed5b6e653c934", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "guzzlehttp/guzzle": "^5.3.1|^6.2.1", + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "^1.4.1", + "mtdowling/jmespath.php": "~2.2", + "php": ">=5.5" + }, + "require-dev": { + "andrewsville/php-token-reflection": "^1.4", + "aws/aws-php-sns-message-validator": "~1.0", + "behat/behat": "~3.0", + "doctrine/cache": "~1.4", + "ext-dom": "*", + "ext-openssl": "*", + "nette/neon": "^2.3", + "phpunit/phpunit": "^4.8.35|^5.4.3", + "psr/cache": "^1.0" + }, + "suggest": { + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", + "doctrine/cache": "To use the DoctrineCacheAdapter", + "ext-curl": "To send requests using cURL", + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Aws\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Amazon Web Services", + "homepage": "http://aws.amazon.com" + } + ], + "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", + "homepage": "http://aws.amazon.com/sdkforphp", + "keywords": [ + "amazon", + "aws", + "cloud", + "dynamodb", + "ec2", + "glacier", + "s3", + "sdk" + ], + "time": "2018-06-01T20:17:58+00:00" + }, + { + "name": "byjg/convert", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/byjg/convert.git", + "reference": "b23381f3fcbe41d23d9fefa32f26918250f33efd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/byjg/convert/zipball/b23381f3fcbe41d23d9fefa32f26918250f33efd", + "reference": "b23381f3fcbe41d23d9fefa32f26918250f33efd", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": ">5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "ByJG\\Convert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "João Gilberto Magalhães", + "email": "joao@byjg.com.br" + } + ], + "description": "A lightweight utility for string conversion between text from UTF8 to a lot of formats and vice-versa. ", + "time": "2018-03-09T02:04:48+00:00" + }, + { + "name": "byjg/mailwrapper", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/byjg/mailwrapper.git", + "reference": "03cf0e49110022202739daeb7c9a8ece2011b8b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/byjg/mailwrapper/zipball/03cf0e49110022202739daeb7c9a8ece2011b8b0", + "reference": "03cf0e49110022202739daeb7c9a8ece2011b8b0", + "shasum": "" + }, + "require": { + "aws/aws-sdk-php": "~3.20", + "byjg/convert": "1.0.*", + "byjg/uri": "1.0.*", + "byjg/webrequest": "1.0.*", + "ext-curl": "*", + "php": ">=5.5.0", + "phpmailer/phpmailer": "^6.0.3" + }, + "require-dev": { + "phpunit/phpunit": ">5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "ByJG\\Mail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "João Gilberto Magalhães", + "email": "joao@byjg.com.br" + } + ], + "description": "A lightweight wrapper for send mail. The interface is tottaly decoupled from the sender. The sender availables are: PHP Mailer, AWS SES Api, Mandril Api.", + "time": "2018-03-12T21:31:22+00:00" + }, + { + "name": "byjg/uri", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/byjg/uri.git", + "reference": "d252f70ca1f866e3c1c33d56c284c1d9da481959" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/byjg/uri/zipball/d252f70ca1f866e3c1c33d56c284c1d9da481959", + "reference": "d252f70ca1f866e3c1c33d56c284c1d9da481959", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": ">5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "ByJG\\Util\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "João Gilberto Magalhães", + "email": "joao@byjg.com.br" + } + ], + "description": "An implementation of PSR UriInterface ", + "time": "2018-03-09T01:56:58+00:00" + }, + { + "name": "byjg/webrequest", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/byjg/webrequest.git", + "reference": "a307e4e21525c9dc0f116b5cf8657318ef2a44e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/byjg/webrequest/zipball/a307e4e21525c9dc0f116b5cf8657318ef2a44e8", + "reference": "a307e4e21525c9dc0f116b5cf8657318ef2a44e8", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": ">5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "ByJG\\Util\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "João Gilberto Magalhães", + "email": "joao@byjg.com.br" + } + ], + "description": "A lightweight and highly customized CURL wrapper for making RESt calls and a wrapper for call dynamically SOAP requests.", + "time": "2018-03-09T02:53:33+00:00" + }, + { + "name": "cilex/cilex", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/Cilex/Cilex.git", + "reference": "c5612545cceac9fadc6ad6dcf6ba28fb0c80c460" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Cilex/Cilex/zipball/c5612545cceac9fadc6ad6dcf6ba28fb0c80c460", + "reference": "c5612545cceac9fadc6ad6dcf6ba28fb0c80c460", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "pimple/pimple": "^3.0", + "silex/api": "^2.0", + "symfony/console": "^2.7 || ^3.0", + "symfony/event-dispatcher": "^2.7 || ^3.0", + "symfony/process": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "~3.7" + }, + "suggest": { + "symfony/validator": "^2.7 || ^3.0", + "symfony/yaml": "^2.7 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Cilex\\": "src/Cilex" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "The PHP micro-framework for Command line tools based on the Symfony2 Components", + "homepage": "http://cilex.github.com", + "keywords": [ + "cli", + "microframework" + ], + "time": "2016-11-20T14:31:12+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "curl/curl", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/php-mod/curl.git", + "reference": "958363d1fed599aa24efb2221e2c1e6c61711464" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-mod/curl/zipball/958363d1fed599aa24efb2221e2c1e6c61711464", + "reference": "958363d1fed599aa24efb2221e2c1e6c61711464", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*", + "squizlabs/php_codesniffer": "~2.1" + }, + "type": "library", + "autoload": { + "psr-0": { + "Curl": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Hassan Amouhzi", + "email": "hassan@anezi.net", + "homepage": "http://hassan.amouhzi.com" + }, + { + "name": "php-curl-class", + "homepage": "https://github.com/php-curl-class" + }, + { + "name": "user52", + "homepage": "https://github.com/user52" + } + ], + "description": "cURL class for PHP", + "homepage": "https://github.com/php-mod/curl", + "keywords": [ + "curl", + "dot" + ], + "time": "2018-05-23T20:32:06+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "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": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2017-07-22T12:18:28+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2018-04-22T15:46:56+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "hnhdigital-os/php-virtualmin-api", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/hnhdigital-os/php-virtualmin-api.git", + "reference": "a39bd89fadf63758c368fbb24945593e313e92a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hnhdigital-os/php-virtualmin-api/zipball/a39bd89fadf63758c368fbb24945593e313e92a3", + "reference": "a39bd89fadf63758c368fbb24945593e313e92a3", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "HnhDigital\\Virtualmin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rocco Howard", + "email": "rocco@hnh.digital" + } + ], + "description": "Provides an interface for accessing Virtualmin's API", + "keywords": [ + "api", + "php", + "virtualmin" + ], + "time": "2018-01-03T10:25:57+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v5.5.40", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "04fbae936ed14e673dddd18a39662f49e7d199f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/04fbae936ed14e673dddd18a39662f49e7d199f5", + "reference": "04fbae936ed14e673dddd18a39662f49e7d199f5", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/container": "~1.0", + "psr/simple-cache": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.5-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "time": "2018-03-20T15:34:35+00:00" + }, + { + "name": "illuminate/support", + "version": "v5.5.40", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "5d2ccb17e526ad537bffc16abc1d516457ae5587" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/5d2ccb17e526ad537bffc16abc1d516457ae5587", + "reference": "5d2ccb17e526ad537bffc16abc1d516457ae5587", + "shasum": "" + }, + "require": { + "doctrine/inflector": "~1.1", + "ext-mbstring": "*", + "illuminate/contracts": "5.5.*", + "nesbot/carbon": "^1.24.1", + "php": ">=7.0" + }, + "replace": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (5.5.*).", + "symfony/process": "Required to use the composer class (~3.3).", + "symfony/var-dumper": "Required to use the dd function (~3.3)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.5-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "time": "2018-03-10T15:44:32+00:00" + }, + { + "name": "ircmaxell/random-lib", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/RandomLib.git", + "reference": "e9e0204f40e49fa4419946c677eccd3fa25b8cf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/RandomLib/zipball/e9e0204f40e49fa4419946c677eccd3fa25b8cf4", + "reference": "e9e0204f40e49fa4419946c677eccd3fa25b8cf4", + "shasum": "" + }, + "require": { + "ircmaxell/security-lib": "^1.1", + "php": ">=5.3.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.11", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.8|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "RandomLib": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@ircmaxell.com", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A Library For Generating Secure Random Numbers", + "homepage": "https://github.com/ircmaxell/RandomLib", + "keywords": [ + "cryptography", + "random", + "random-numbers", + "random-strings" + ], + "time": "2016-09-07T15:52:06+00:00" + }, + { + "name": "ircmaxell/security-lib", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/SecurityLib.git", + "reference": "f3db6de12c20c9bcd1aa3db4353a1bbe0e44e1b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/SecurityLib/zipball/f3db6de12c20c9bcd1aa3db4353a1bbe0e44e1b5", + "reference": "f3db6de12c20c9bcd1aa3db4353a1bbe0e44e1b5", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "mikey179/vfsstream": "1.1.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "SecurityLib": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@ircmaxell.com", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A Base Security Library", + "homepage": "https://github.com/ircmaxell/SecurityLib", + "time": "2015-03-20T14:31:23+00:00" + }, + { + "name": "mtdowling/jmespath.php", + "version": "2.4.0", + "source": { + "type": "git", + "url": "https://github.com/jmespath/jmespath.php.git", + "reference": "adcc9531682cf87dfda21e1fd5d0e7a41d292fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/adcc9531682cf87dfda21e1fd5d0e7a41d292fac", + "reference": "adcc9531682cf87dfda21e1fd5d0e7a41d292fac", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "bin": [ + "bin/jp.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "JmesPath\\": "src/" + }, + "files": [ + "src/JmesPath.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Declaratively specify how to extract elements from a JSON document", + "keywords": [ + "json", + "jsonpath" + ], + "time": "2016-12-03T22:08:25+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.29.2", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "ed6aa898982f441ccc9b2acdec51490f2bc5d337" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ed6aa898982f441ccc9b2acdec51490f2bc5d337", + "reference": "ed6aa898982f441ccc9b2acdec51490f2bc5d337", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/translation": "~2.6 || ~3.0 || ~4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "^4.8.35 || ^5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2018-05-29T15:23:46+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "FastRoute\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "time": "2018-02-13T20:26:39+00:00" + }, + { + "name": "paragonie/easydb", + "version": "v2.6.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/easydb.git", + "reference": "500d85b55972d78d1716da58aedc7444d5ffa64c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/easydb/zipball/500d85b55972d78d1716da58aedc7444d5ffa64c", + "reference": "500d85b55972d78d1716da58aedc7444d5ffa64c", + "shasum": "" + }, + "require": { + "ext-pdo": "*", + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "^5", + "squizlabs/php_codesniffer": "^2.7", + "vimeo/psalm": "1.1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\EasyDB\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Scott Arciszewski", + "email": "scott@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Developer" + }, + { + "name": "Woody Gilk", + "homepage": "https://github.com/shadowhand", + "role": "Contributor" + }, + { + "name": "SignpostMarv", + "homepage": "https://github.com/SignpostMarv", + "role": "Contributor" + } + ], + "description": "Easy-to-use database abstraction", + "keywords": [ + "database", + "pdo", + "security", + "sql" + ], + "time": "2018-05-01T06:22:41+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.0.5", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "cb3ea134d4d3729e7857737d5f320cce9caf4d32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/cb3ea134d4d3729e7857737d5f320cce9caf4d32", + "reference": "cb3ea134d4d3729e7857737d5f320cce9caf4d32", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "doctrine/annotations": "1.2.*", + "friendsofphp/php-cs-fixer": "^2.2", + "phpdocumentor/phpdocumentor": "2.*", + "phpunit/phpunit": "^4.8 || ^5.7", + "zendframework/zend-eventmanager": "3.0.*", + "zendframework/zend-i18n": "2.7.3", + "zendframework/zend-serializer": "2.7.*" + }, + "suggest": { + "ext-mbstring": "Needed to send email in multibyte encoding charset", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "time": "2018-03-27T13:49:45+00:00" + }, + { + "name": "pimple/pimple", + "version": "v3.2.3", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32", + "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/container": "^1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2018-01-21T07:42:36+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+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": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "silex/api", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Silex-Api.git", + "reference": "757a88ba20ad9f60f4e62b9edb53c3dd5552ab4c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Silex-Api/zipball/757a88ba20ad9f60f4e62b9edb53c3dd5552ab4c", + "reference": "757a88ba20ad9f60f4e62b9edb53c3dd5552ab4c", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "pimple/pimple": "~3.0" + }, + "suggest": { + "silex/silex": "For BootableProviderInterface and ControllerProviderInterface", + "symfony/event-dispatcher": "For EventListenerProviderInterface" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Silex\\Api\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "The Silex interfaces", + "homepage": "http://silex.sensiolabs.org", + "keywords": [ + "microframework" + ], + "time": "2018-02-25T11:23:38+00:00" + }, + { + "name": "slim/slim", + "version": "3.9.2", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim.git", + "reference": "4086d0106cf5a7135c69fce4161fe355a8feb118" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/4086d0106cf5a7135c69fce4161fe355a8feb118", + "reference": "4086d0106cf5a7135c69fce4161fe355a8feb118", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.2", + "nikic/fast-route": "^1.0", + "php": ">=5.5.0", + "pimple/pimple": "^3.0", + "psr/container": "^1.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\": "Slim" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "http://akrabat.com" + }, + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "https://joshlockhart.com" + }, + { + "name": "Gabriel Manricks", + "email": "gmanricks@me.com", + "homepage": "http://gabrielmanricks.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "http://silentworks.co.uk" + } + ], + "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", + "homepage": "https://slimframework.com", + "keywords": [ + "api", + "framework", + "micro", + "router" + ], + "time": "2017-11-26T19:13:09+00:00" + }, + { + "name": "symfony/console", + "version": "v3.4.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/36f83f642443c46f3cf751d4d2ee5d047d757a27", + "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-05-16T08:49:21+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.4.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/b28fd73fefbac341f673f5efd707d539d6a19f68", + "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "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/http-kernel": "~2.8|~3.0|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-05-16T14:03:39+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.4.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fdd5abcebd1061ec647089c6c41a07ed60af09f8", + "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-04-06T07:35:25+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "3296adf6a6454a050679cde90f95350ad604b171" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", + "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-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": "2018-04-26T10:06:28+00:00" + }, + { + "name": "symfony/process", + "version": "v3.4.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/4cbf2db9abcb01486a21b7a059e03a62fae63187", + "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-05-16T08:49:21+00:00" + }, + { + "name": "symfony/translation", + "version": "v3.4.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "7047f725e35eab768137c677f8c38e4a2a8e38fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/7047f725e35eab768137c677f8c38e4a2a8e38fb", + "reference": "7047f725e35eab768137c677f8c38e4a2a8e38fb", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/intl": "^2.8.18|^3.2.5|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-05-21T10:06:52+00:00" + }, + { + "name": "twig/twig", + "version": "v2.4.8", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "7b604c89da162034bdf4bb66310f358d313dd16d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/7b604c89da162034bdf4bb66310f358d313dd16d", + "reference": "7b604c89da162034bdf4bb66310f358d313dd16d", + "shasum": "" + }, + "require": { + "php": "^7.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "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": "2018-04-02T09:24:19+00:00" + }, + { + "name": "yadakhov/json", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/yadakhov/json.git", + "reference": "5332232dd324b1ca9d709d4dfe30e8d9e2992627" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yadakhov/json/zipball/5332232dd324b1ca9d709d4dfe30e8d9e2992627", + "reference": "5332232dd324b1ca9d709d4dfe30e8d9e2992627", + "shasum": "" + }, + "require": { + "illuminate/support": "~5.0", + "php": ">=5.6.0" + }, + "require-dev": { + "phpunit/phpunit": "~5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Yadakhov\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Yada Khov", + "email": "yada.khov@gmail.com" + } + ], + "description": "A simple wrapper class to work with json in PHP.", + "homepage": "https://github.com/yadakhov/json", + "keywords": [ + "api", + "json" + ], + "time": "2016-12-31T15:41:18+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/hello-world.php b/hello-world.php new file mode 100644 index 0000000..a1a1db6 --- /dev/null +++ b/hello-world.php @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/php.ini b/php.ini new file mode 100644 index 0000000..c82b437 --- /dev/null +++ b/php.ini @@ -0,0 +1,1662 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://www.php.net/manual/en/configuration.file.php + +; The syntax of the file is extremely simple. Whitespace and Lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://www.php.net/manual/en/ini.sections.php + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it's +; much more verbose when it comes to errors. We recommending using the +; development version only in development environments as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This 2 files are provided, by RPM, in /usr/share/doc/php-common-*/ +; File used by RPM (the /etc/php.ini) is mainly the php.ini-production + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; allow_call_time_pass_reference +; Default Value: On +; Development Value: Off +; Production Value: Off + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE +; Development Value: E_ALL | E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED + +; html_errors +; Default Value: On +; Development Value: On +; Production value: Off + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; magic_quotes_gpc +; Default Value: On +; Development Value: Off +; Production Value: Off + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; register_long_arrays +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.bug_compat_42 +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.bug_compat_warn +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.hash_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; url_rewriter.tags +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://www.php.net/manual/en/apache.configuration.php#ini.engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It's been +; recommended for several years that you not use the short tag "short cut" and +; instead to use the full tag combination. With the wide spread use +; of XML and use of these tags by other languages, the server can become easily +; confused and end up parsing the wrong code in the wrong context. But because +; this short cut has been a feature for such a long time, it's currently still +; supported for backwards compatibility, but we recommend you don't use them. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag +short_open_tag = Off + +; Allow ASP-style <% %> tags. +; http://www.php.net/manual/en/ini.core.php#ini.asp-tags +asp_tags = Off + +; The number of significant digits displayed in floating point numbers. +; http://www.php.net/manual/en/ini.core.php#ini.precision +precision = 14 + +; Enforce year 2000 compliance (will cause problems with non-compliant browsers) +; http://www.php.net/manual/en/ini.core.php#ini.y2k-compliance +y2k_compliance = On + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; Turning on this setting and managing its maximum buffer size can yield some +; interesting side-effects depending on your application and web server. +; You may be able to send headers and cookies after you've already sent output +; through print or echo. You also may see performance benefits if your server is +; emitting less packets due to buffered output versus PHP streaming the output +; as it gets it. On production servers, 4096 bytes is a good setting for performance +; reasons. +; Note: Output buffering can also be controlled via Output Buffering Control +; functions. +; Possible Values: +; On = Enabled and buffer is unlimited. (Use with caution) +; Off = Disabled +; Integer = Enables the buffer and sets its maximum size in bytes. +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 +; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering +output_buffering = 4096 + +; You can redirect all of the output of your scripts to a function. For +; example, if you set output_handler to "mb_output_handler", character +; encoding will be transparently converted to the specified encoding. +; Setting any output handler automatically turns on output buffering. +; Note: People who wrote portable scripts should not depend on this ini +; directive. Instead, explicitly set the output handler using ob_start(). +; Using this ini directive may cause problems unless you know what script +; is doing. +; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" +; and you cannot use both "ob_gzhandler" and "zlib.output_compression". +; Note: output_handler must be empty if this is set 'On' !!!! +; Instead you must use zlib.output_handler. +; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-handler +;output_handler = + +; Transparent output compression using the zlib library +; Valid values for this option are 'off', 'on', or a specific buffer size +; to be used for compression (default is 4KB) +; Note: Resulting chunk size may vary due to nature of compression. PHP +; outputs chunks that are few hundreds bytes each as a result of +; compression. If you prefer a larger chunk size for better +; performance, enable output_buffering in addition. +; Note: You need to use zlib.output_handler instead of the standard +; output_handler, or otherwise the output will be corrupted. +; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression +zlib.output_compression = Off + +; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression-level +;zlib.output_compression_level = -1 + +; You cannot specify additional output handlers if zlib.output_compression +; is activated here. This setting does the same as output_handler but in +; a different order. +; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-handler +;zlib.output_handler = + +; Implicit flush tells PHP to tell the output layer to flush itself +; automatically after every output block. This is equivalent to calling the +; PHP function flush() after each and every call to print() or echo() and each +; and every HTML block. Turning this option on has serious performance +; implications and is generally recommended for debugging purposes only. +; http://www.php.net/manual/en/outcontrol.configuration.php#ini.implicit-flush +implicit_flush = Off + +; The unserialize callback function will be called (with the undefined class' +; name as parameter), if the unserializer finds an undefined class +; which should be instantiated. A warning appears if the specified function is +; not defined, or if the function doesn't include/implement the missing class. +; So only set this entry, if you really want to implement such a +; callback-function. +unserialize_callback_func = + +; When floats & doubles are serialized store serialize_precision significant +; digits after the floating point. The default value ensures that when floats +; are decoded with unserialize, the data will remain the same. +serialize_precision = 100 + +; This directive allows you to enable and disable warnings which PHP will issue +; if you pass a value by reference at function call time. Passing values by +; reference at function call time is a deprecated feature which will be removed +; from PHP at some point in the near future. The acceptable method for passing a +; value by reference to a function is by declaring the reference in the functions +; definition, not at call time. This directive does not disable this feature, it +; only determines whether PHP will warn you about it or not. These warnings +; should enabled in development environments only. +; Default Value: On (Suppress warnings) +; Development Value: Off (Issue warnings) +; Production Value: Off (Issue warnings) +; http://www.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-reference +allow_call_time_pass_reference = Off + +; Safe Mode +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode +safe_mode = Off + +; By default, Safe Mode does a UID compare check when +; opening files. If you want to relax this to a GID compare, +; then turn on safe_mode_gid. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-gid +safe_mode_gid = Off + +; When safe_mode is on, UID/GID checks are bypassed when +; including files from this directory and its subdirectories. +; (directory must also be in include_path or full path must +; be used when including) +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-include-dir +safe_mode_include_dir = + +; When safe_mode is on, only executables located in the safe_mode_exec_dir +; will be allowed to be executed via the exec family of functions. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir +safe_mode_exec_dir = + +; Setting certain environment variables may be a potential security breach. +; This directive contains a comma-delimited list of prefixes. In Safe Mode, +; the user may only alter environment variables whose names begin with the +; prefixes supplied here. By default, users will only be able to set +; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). +; Note: If this directive is empty, PHP will let the user modify ANY +; environment variable! +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars +safe_mode_allowed_env_vars = PHP_ + +; This directive contains a comma-delimited list of environment variables that +; the end user won't be able to change using putenv(). These variables will be +; protected even if safe_mode_allowed_env_vars is set to allow to change them. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars +safe_mode_protected_env_vars = LD_LIBRARY_PATH + +; open_basedir, if set, limits all file operations to the defined directory +; and below. This directive makes most sense if used in a per-directory +; or per-virtualhost web server configuration file. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.open-basedir +;open_basedir = + +; This directive allows you to disable certain functions for security reasons. +; It receives a comma-delimited list of function names. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions +disable_functions = + +; This directive allows you to disable certain classes for security reasons. +; It receives a comma-delimited list of class names. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-classes +disable_classes = + +; Colors for Syntax Highlighting mode. Anything that's acceptable in +; would work. +; http://www.php.net/manual/en/misc.configuration.php#ini.syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.bg = #FFFFFF +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size +;realpath_cache_size = 16k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl +;realpath_cache_ttl = 120 + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://www.php.net/manual/en/ini.core.php#ini.expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level +;max_input_nesting_level = 64 + +; Maximum amount of memory a script may consume (128MB) +; http://www.php.net/manual/en/ini.core.php#ini.memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it's automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) +; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) +; Default Value: E_ALL & ~E_NOTICE +; Development Value: E_ALL | E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting +error_reporting = E_ALL & ~E_DEPRECATED + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; It's recommended that errors be logged on production servers rather than +; having the errors sent to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. But, it's strongly recommended that you +; leave this setting off on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of inserting html +; links to documentation related to that error. This directive controls whether +; those HTML links appear in error messages or not. For performance and security +; reasons, it's recommended you disable this on production servers. +; Default Value: On +; Development Value: On +; Production value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.html-errors +html_errors = Off + +; If html_errors is set On PHP produces clickable error messages that direct +; to a page describing the error or function causing the error in detail. +; You can download a copy of the PHP manual from http://www.php.net/docs.php +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty. +; Note: Never use this feature for production boxes. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log +; Example: +error_log = ../php_errors.log +; Log errors to syslog (Event Log on NT, not valid in Windows 95). +;error_log = syslog + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. If the register_globals directive is enabled, it also determines +; what order variables are populated into the global space. G,P,C,E & S are +; abbreviations for the following respective super globals: GET, POST, COOKIE, +; ENV and SERVER. There is a performance penalty paid for the registration of +; these arrays and because ENV is not as commonly used as the others, ENV is +; is not recommended on productions servers. You can still get access to +; the environment variables through getenv() should you need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://www.php.net/manual/en/ini.core.php#ini.variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P,C,E & S) should +; be registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive are +; specified in the same manner as the variables_order directive, EXCEPT one. +; Leaving this value empty will cause PHP to use the value set in the +; variables_order directive. It does not mean it will leave the super globals +; array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://www.php.net/manual/en/ini.core.php#ini.request-order +request_order = "GP" + +; Whether or not to register the EGPCS variables as global variables. You may +; want to turn this off if you don't want to clutter your scripts' global scope +; with user data. This makes most sense when coupled with track_vars - in which +; case you can access all of the GPC variables through the $HTTP_*_VARS[], +; variables. +; You should do your best to write your scripts so that they do not require +; register_globals to be on; Using form variables as globals can easily lead +; to possible security problems, if the code is not very well thought of. +; http://www.php.net/manual/en/ini.core.php#ini.register-globals +register_globals = Off + +; Determines whether the deprecated long $HTTP_*_VARS type predefined variables +; are registered by PHP or not. As they are deprecated, we obviously don't +; recommend you use them. They are on by default for compatibility reasons but +; they are not recommended on production servers. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/ini.core.php#ini.register-long-arrays +register_long_arrays = Off + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv +register_argc_argv = Off + +; When enabled, the SERVER and ENV variables are created when they're first +; used (Just In Time) instead of when the script starts. If these variables +; are not used within a script, having this directive on will result in a +; performance gain. The PHP directives register_globals, register_long_arrays, +; and register_argc_argv must be disabled for this directive to have any affect. +; http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit +auto_globals_jit = On + +; Maximum size of POST data that PHP will accept. +; http://www.php.net/manual/en/ini.core.php#ini.post-max-size +post_max_size = 8M + +; Magic quotes are a preprocessing feature of PHP where PHP will attempt to +; escape any character sequences in GET, POST, COOKIE and ENV data which might +; otherwise corrupt data being placed in resources such as databases before +; making that data available to you. Because of character encoding issues and +; non-standard SQL implementations across many databases, it's not currently +; possible for this feature to be 100% accurate. PHP's default behavior is to +; enable the feature. We strongly recommend you use the escaping mechanisms +; designed specifically for the database your using instead of relying on this +; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is +; scheduled for removal in PHP 6. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc +magic_quotes_gpc = Off + +; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. +; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime +magic_quotes_runtime = Off + +; Use Sybase-style magic quotes (escape ' with '' instead of \'). +; http://www.php.net/manual/en/sybase.configuration.php#ini.magic-quotes-sybase +magic_quotes_sybase = Off + +; Automatically add files before PHP document. +; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://www.php.net/manual/en/ini.core.php#ini.auto-append-file +auto_append_file = + +; As of 4.0b4, PHP always outputs a character encoding by default in +; the Content-type: header. To disable sending of the charset, simply +; set it to be empty. +; +; PHP's built-in default is text/html +; http://www.php.net/manual/en/ini.core.php#ini.default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to empty. +; http://www.php.net/manual/en/ini.core.php#ini.default-charset +;default_charset = "iso-8859-1" + +; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is +; to disable this feature. +; http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data +;always_populate_raw_post_data = On + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://www.php.net/manual/en/ini.core.php#ini.include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://www.php.net/manual/en/ini.core.php#ini.doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://www.php.net/manual/en/ini.core.php#ini.user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://www.php.net/manual/en/ini.core.php#ini.extension-dir +; extension_dir = "./" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://www.php.net/manual/en/ini.core.php#ini.cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://www.php.net/manual/en/ini.core.php#ini.cgi.redirect-status-env +;cgi.redirect_status_env = ; + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://www.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate +;fastcgi.impersonate = 1; + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If it's set 0 PHP sends Status: header that +; is supported by Apache. When this option is set to 1 PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://www.php.net/manual/en/ini.core.php#ini.cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://www.php.net/manual/en/ini.core.php#ini.file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize +upload_max_filesize = 2M + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://www.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example +; +; extension=msql.so +; +; ... or with a path: +; +; extension=/path/to/extension/msql.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. + +;;;; +; Note: packaged extension modules are now loaded via the .ini files +; found in the directory /etc/php.d; these are loaded by default. +;;;; + +extension=gnupg.so + +zend_extension = /usr/lib/php/20151012/xdebug.so + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[Date] +; Defines the default timezone used by the date functions +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone +;date.timezone = + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-latitude +;date.default_latitude = 31.7667 + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-longitude +;date.default_longitude = 35.2333 + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default +;filter.default = unsafe_raw + +; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default-flags +;filter.default_flags = + +[iconv] +;iconv.input_encoding = ISO-8859-1 +;iconv.internal_encoding = ISO-8859-1 +;iconv.output_encoding = ISO-8859-1 + +[intl] +;intl.default_locale = + +[sqlite] +; http://www.php.net/manual/en/sqlite.configuration.php#ini.sqlite.assoc-case +;sqlite.assoc_case = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit +;pcre.recursion_limit=100000 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://www.php.net/manual/en/ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +[Phar] +; http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly +;phar.readonly = On + +; http://www.php.net/manual/en/phar.configuration.php#ini.phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[Syslog] +; Whether or not to define the various syslog variables (e.g. $LOG_PID, +; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In +; runtime, you can define these variables by calling define_syslog_variables(). +; http://www.php.net/manual/en/network.configuration.php#ini.define-syslog-variables +define_syslog_variables = Off + +[mail function] +; For Win32 only. +; http://www.php.net/manual/en/mail.configuration.php#ini.smtp +SMTP = localhost +; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port +smtp_port = 25 + +; For Win32 only. +; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path +sendmail_path = /usr/sbin/sendmail -t -i + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(), even in safe mode. +;mail.force_extra_parameters = + +; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; Log all mail() calls including the full path of the script, line #, to address and headers +;mail.log = + +[SQL] +; http://www.php.net/manual/en/ini.core.php#ini.sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-db +;odbc.default_db = Not yet implemented + +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-user +;odbc.default_user = Not yet implemented + +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-pw +;odbc.default_pw = Not yet implemented + +; Allow or prevent persistent links. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of uodbc.defaultlrl and uodbc.defaultbinmode +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[MySQL] +; Allow or prevent persistent links. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.allow-persistent +mysql.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-persistent +mysql.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-links +mysql.max_links = -1 + +; Default port number for mysql_connect(). If unset, mysql_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-port +mysql.default_port = + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket +mysql.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-host +mysql.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-user +mysql.default_user = + +; Default password for mysql_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-password +mysql.default_password = + +; Maximum time (in seconds) for connect timeout. -1 means no limit +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout +mysql.connect_timeout = 60 + +; Trace mode. When trace_mode is active (=On), warnings for table/index scans and +; SQL-Errors will be displayed. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.trace-mode +mysql.trace_mode = Off + +[MySQLi] + +; Maximum number of links. -1 means no limit. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[PostgresSQL] +; Allow or prevent persistent links. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Noitce message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.log-notice +pgsql.log_notice = 0 + +[Sybase-CT] +; Allow or prevent persistent links. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.allow-persistent +sybct.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-persistent +sybct.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-links +sybct.max_links = -1 + +; Minimum server message severity to display. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-server-severity +sybct.min_server_severity = 10 + +; Minimum client message severity to display. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-client-severity +sybct.min_client_severity = 10 + +; Set per-context timeout +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.timeout +;sybct.timeout= + +;sybct.packet_size + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://www.php.net/manual/en/misc.configuration.php#ini.browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; As of PHP 4.0.1, you can define the path as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if you +; or your OS have problems with lots of files in one directory, and is +; a more efficient layout for servers that handle lots of sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://www.php.net/manual/en/session.configuration.php#ini.session.save-path +; session.save_path = "../sessions" + +; Whether to use cookies. +; http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies +session.use_cookies = 1 + +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combatting +; session hijacking when not specifying and managing your own session id. It is +; not the end all be all of session hijacking defense, but it's a good start. +; http://www.php.net/manual/en/session.configuration.php#ini.session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://www.php.net/manual/en/session.configuration.php#ini.session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://www.php.net/manual/en/session.configuration.php#ini.session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; cd /path/to/sessions; find -cmin +24 | xargs rm + +; PHP 4.2 and less have an undocumented feature/bug that allows you to +; to initialize a session variable in the global scope, even when register_globals +; is disabled. PHP 4.3 and later will warn you, if this feature is used. +; You can disable the feature and the warning separately. At this time, +; the warning is only displayed, if bug_compat_42 is enabled. This feature +; introduces some serious security problems if not handled correctly. It's +; recommended that you do not use this feature on production servers. But you +; should enable this on development servers and enable the warning as well. If you +; do not enable the feature on development servers, you won't be warned when it's +; used and debugging errors caused by this can be difficult to track down. +; Default Value: On +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42 +session.bug_compat_42 = Off + +; This setting controls whether or not you are warned by PHP when initializing a +; session value into the global space. session.bug_compat_42 must be enabled before +; these warnings can be issued by PHP. See the directive above for more information. +; Default Value: On +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-warn +session.bug_compat_warn = Off + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check +session.referer_check = + +; How many bytes to read from the file. +; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length +session.entropy_length = 0 + +; Specified here to create the session id. +; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file +;session.entropy_file = /dev/urandom +session.entropy_file = + +; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length +;session.entropy_length = 16 + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publically accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid +session.use_trans_sid = 0 + +; Select a hash function for use in generating session ids. +; Possible Values +; 0 (MD5 128 bits) +; 1 (SHA-1 160 bits) +; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function +session.hash_function = 0 + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-bits-per-character +session.hash_bits_per_character = 5 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; form/fieldset are special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. If you want XHTML conformity, remove the form entry. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; http://www.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags +url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" + +[MSSQL] +; Allow or prevent persistent links. +mssql.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +mssql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +mssql.max_links = -1 + +; Minimum error severity to display. +mssql.min_error_severity = 10 + +; Minimum message severity to display. +mssql.min_message_severity = 10 + +; Compatibility mode with old versions of PHP 3.0. +mssql.compatability_mode = Off + +; Connect timeout +;mssql.connect_timeout = 5 + +; Query timeout +;mssql.timeout = 60 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textlimit = 4096 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textsize = 4096 + +; Limits the number of records in each batch. 0 = all records in one batch. +;mssql.batchsize = 0 + +; Specify how datetime and datetim4 columns are returned +; On => Returns data converted to SQL server settings +; Off => Returns values as YYYY-MM-DD hh:mm:ss +;mssql.datetimeconvert = On + +; Use NT authentication when connecting to the server +mssql.secure_connection = Off + +; Specify max number of processes. -1 = library default +; msdlib defaults to 25 +; FreeTDS defaults to 4096 +;mssql.max_procs = -1 + +; Specify client character set. +; If empty or not set the client charset from freetds.comf is used +; This is only used when compiled with FreeTDS +;mssql.charset = "ISO-8859-1" + +[Assertion] +; Assert(expr); active by default. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.active +;assert.active = On + +; Issue a PHP warning for each failed assertion. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://www.php.net/manual/en/info.configuration.php#ini.assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://www.php.net/manual/en/com.configuration.php#ini.com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://www.php.net/manual/en/com.configuration.php#ini.com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-verbose +;com.autoregister_verbose = true + +[mbstring] +; language for internal character representation. +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.language +;mbstring.language = Japanese + +; internal/script encoding. +; Some encoding cannot work as internal encoding. +; (e.g. SJIS, BIG5, ISO-2022-*) +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding +;mbstring.internal_encoding = EUC-JP + +; http input encoding. +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-input +;mbstring.http_input = auto + +; http output encoding. mb_output_handler must be +; registered as output buffer to function +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-output +;mbstring.http_output = SJIS + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; auto means +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.substitute-character +;mbstring.substitute_character = none; + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +;mbstring.strict_detection = Off + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 0 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-jis +;exif.encode_jis = + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + + +; Local Variables: +; tab-width: 4 +; End: diff --git a/php_errors.log b/php_errors.log new file mode 100644 index 0000000..907fa10 --- /dev/null +++ b/php_errors.log @@ -0,0 +1,229 @@ +[12-Apr-2018 09:01:21 UTC] PHP Warning: require(source/boot.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/testing/index.php on line 3 +[12-Apr-2018 09:01:21 UTC] PHP Stack trace: +[12-Apr-2018 09:01:21 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:01:21 UTC] PHP Fatal error: require(): Failed opening required 'source/boot.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/testing/index.php on line 3 +[12-Apr-2018 09:01:21 UTC] PHP Stack trace: +[12-Apr-2018 09:01:21 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:01:51 UTC] PHP Fatal error: Class 'Encryption' not found in /home/ubuntu/workspace/testing/index.php on line 6 +[12-Apr-2018 09:01:51 UTC] PHP Stack trace: +[12-Apr-2018 09:01:51 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:11:50 UTC] PHP Warning: include(/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:11:50 UTC] PHP Stack trace: +[12-Apr-2018 09:11:50 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:11:50 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:11:50 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:11:50 UTC] PHP 4. Encryption::loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:11:50 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:11:50 UTC] PHP Warning: include(): Failed opening '/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:11:50 UTC] PHP Stack trace: +[12-Apr-2018 09:11:50 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:11:50 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:11:50 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:11:50 UTC] PHP 4. Encryption::loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:11:50 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:11:50 UTC] PHP Fatal error: Using $this when not in object context in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 23 +[12-Apr-2018 09:11:50 UTC] PHP Stack trace: +[12-Apr-2018 09:11:50 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:11:50 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:11:50 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:11:50 UTC] PHP 4. Encryption::loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:13:01 UTC] PHP Warning: include(/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:13:01 UTC] PHP Stack trace: +[12-Apr-2018 09:13:01 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:13:01 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:13:01 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:13:01 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:13:01 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:13:01 UTC] PHP Warning: include(): Failed opening '/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:13:01 UTC] PHP Stack trace: +[12-Apr-2018 09:13:01 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:13:01 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:13:01 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:13:01 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:13:01 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:13:01 UTC] PHP Fatal error: Class 'gnupg' not found in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 24 +[12-Apr-2018 09:13:01 UTC] PHP Stack trace: +[12-Apr-2018 09:13:01 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:13:01 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:13:01 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:13:01 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:13:05 UTC] PHP Warning: include(/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:13:05 UTC] PHP Stack trace: +[12-Apr-2018 09:13:05 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:13:05 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:13:05 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:13:05 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:13:05 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:13:05 UTC] PHP Warning: include(): Failed opening '/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:13:05 UTC] PHP Stack trace: +[12-Apr-2018 09:13:05 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:13:05 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:13:05 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:13:05 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:13:05 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:13:05 UTC] PHP Fatal error: Class 'gnupg' not found in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 24 +[12-Apr-2018 09:13:05 UTC] PHP Stack trace: +[12-Apr-2018 09:13:05 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:13:05 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:13:05 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:13:05 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:20:48 UTC] PHP Warning: include(/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:20:48 UTC] PHP Stack trace: +[12-Apr-2018 09:20:48 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:20:48 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:20:48 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:20:48 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:20:48 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:20:48 UTC] PHP Warning: include(): Failed opening '/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:20:48 UTC] PHP Stack trace: +[12-Apr-2018 09:20:48 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:20:48 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:20:48 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:20:48 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:20:48 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:20:49 UTC] PHP Fatal error: Using $this when not in object context in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 22 +[12-Apr-2018 09:20:49 UTC] PHP Stack trace: +[12-Apr-2018 09:20:49 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:20:49 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:20:49 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:20:49 UTC] PHP 4. Config::getConfig() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:33 +[12-Apr-2018 09:32:35 UTC] PHP Warning: include(/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:32:35 UTC] PHP Stack trace: +[12-Apr-2018 09:32:35 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:32:35 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:32:35 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:32:35 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:32:35 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:32:35 UTC] PHP Warning: include(): Failed opening '/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:32:35 UTC] PHP Stack trace: +[12-Apr-2018 09:32:35 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:32:35 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:32:35 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:32:35 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:32:35 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:32:35 UTC] PHP Fatal error: Using $this when not in object context in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 22 +[12-Apr-2018 09:32:35 UTC] PHP Stack trace: +[12-Apr-2018 09:32:35 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:32:35 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:32:35 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:32:35 UTC] PHP 4. Config::getConfig() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:33 +[12-Apr-2018 09:37:22 UTC] PHP Warning: include(/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:37:22 UTC] PHP Stack trace: +[12-Apr-2018 09:37:22 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:37:22 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:37:22 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:37:22 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:37:22 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:37:22 UTC] PHP Warning: include(): Failed opening '/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:37:22 UTC] PHP Stack trace: +[12-Apr-2018 09:37:22 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:37:22 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:37:22 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:37:22 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:37:22 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:37:23 UTC] PHP Warning: gnupg::import() expects exactly 1 parameter, 2 given in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 33 +[12-Apr-2018 09:37:23 UTC] PHP Stack trace: +[12-Apr-2018 09:37:23 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:37:23 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:37:23 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:37:23 UTC] PHP 4. gnupg->import() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:33 +[12-Apr-2018 09:37:23 UTC] PHP Warning: gnupg::import() expects exactly 1 parameter, 2 given in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 34 +[12-Apr-2018 09:37:23 UTC] PHP Stack trace: +[12-Apr-2018 09:37:23 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:37:23 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:37:23 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:37:23 UTC] PHP 4. gnupg->import() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:34 +[12-Apr-2018 09:38:08 UTC] PHP Warning: include(/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:38:08 UTC] PHP Stack trace: +[12-Apr-2018 09:38:08 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:38:08 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:38:08 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:38:08 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:38:08 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:38:08 UTC] PHP Warning: include(): Failed opening '/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:38:08 UTC] PHP Stack trace: +[12-Apr-2018 09:38:08 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:38:08 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:38:08 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:38:08 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:38:08 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:38:09 UTC] PHP Warning: gnupg::import() expects exactly 1 parameter, 2 given in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 33 +[12-Apr-2018 09:38:09 UTC] PHP Stack trace: +[12-Apr-2018 09:38:09 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:38:09 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:38:09 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:38:09 UTC] PHP 4. gnupg->import() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:33 +[12-Apr-2018 09:38:09 UTC] PHP Warning: gnupg::import() expects exactly 1 parameter, 2 given in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 34 +[12-Apr-2018 09:38:09 UTC] PHP Stack trace: +[12-Apr-2018 09:38:09 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:38:09 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:38:09 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:38:09 UTC] PHP 4. gnupg->import() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:34 +[12-Apr-2018 09:40:27 UTC] PHP Warning: include(/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:40:27 UTC] PHP Stack trace: +[12-Apr-2018 09:40:27 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:40:27 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:40:27 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:40:27 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:40:27 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 09:40:27 UTC] PHP Warning: include(): Failed opening '/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 09:40:27 UTC] PHP Stack trace: +[12-Apr-2018 09:40:27 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 09:40:27 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 09:40:27 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 09:40:27 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 09:40:27 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 12:12:04 UTC] PHP Warning: include(/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php): failed to open stream: No such file or directory in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 12:12:04 UTC] PHP Stack trace: +[12-Apr-2018 12:12:04 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 12:12:04 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 12:12:04 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 12:12:04 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 12:12:04 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 12:12:04 UTC] PHP Warning: include(): Failed opening '/home/ubuntu/workspace/spacejewel-ipn-communicator/source/config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/source/helpers/ConfigHelper/class.Config.php on line 13 +[12-Apr-2018 12:12:04 UTC] PHP Stack trace: +[12-Apr-2018 12:12:04 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 12:12:04 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 12:12:04 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 12:12:04 UTC] PHP 4. Encryption->loadPGP() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:31 +[12-Apr-2018 12:12:04 UTC] PHP 5. Config->__construct() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:23 +[12-Apr-2018 12:14:49 UTC] PHP Fatal error: Call to a member function getConfig() on a non-object in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 31 +[12-Apr-2018 12:14:49 UTC] PHP Stack trace: +[12-Apr-2018 12:14:49 UTC] PHP 1. {main}() /home/ubuntu/workspace/testing/index.php:0 +[12-Apr-2018 12:14:49 UTC] PHP 2. Encryption->init() /home/ubuntu/workspace/testing/index.php:8 +[12-Apr-2018 12:14:49 UTC] PHP 3. Encryption->loadKeys() /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:18 +[12-Apr-2018 12:29:30 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:29:47 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:29:47 UTC] PHP Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/php/PEAR/Frontend.php on line 91 +[12-Apr-2018 12:30:16 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:30:17 UTC] PHP Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/php/PEAR/Frontend.php on line 91 +[12-Apr-2018 12:30:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:30:22 UTC] PHP Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/php/PEAR/Frontend.php on line 91 +[12-Apr-2018 12:31:03 UTC] PHP Fatal error: Uncaught Error: Class 'gnupg' not found in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:24 +Stack trace: +#0 /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php(32): Encryption->loadPGP() +#1 /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php(18): Encryption->loadKeys() +#2 /home/ubuntu/workspace/testing/index.php(8): Encryption->init() +#3 {main} + thrown in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 24 +[12-Apr-2018 12:31:34 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:32:59 UTC] PHP Fatal error: Uncaught Error: Class 'gnupg' not found in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:24 +Stack trace: +#0 /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php(32): Encryption->loadPGP() +#1 /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php(18): Encryption->loadKeys() +#2 /home/ubuntu/workspace/testing/index.php(8): Encryption->init() +#3 {main} + thrown in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 24 +[12-Apr-2018 12:34:57 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:35:19 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gnupg.so' - /usr/lib/php/20151012/gnupg.so: cannot open shared object file: No such file or directory in Unknown on line 0 +[12-Apr-2018 12:37:45 UTC] PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 +[12-Apr-2018 12:41:11 UTC] PHP Fatal error: Uncaught Error: Class 'gnupg' not found in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php:24 +Stack trace: +#0 /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php(32): Encryption->loadPGP() +#1 /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php(18): Encryption->loadKeys() +#2 /home/ubuntu/workspace/testing/index.php(8): Encryption->init() +#3 {main} + thrown in /home/ubuntu/workspace/source/helpers/EncryptionHelper/class.Encryption.php on line 24 +[12-Apr-2018 12:48:43 UTC] PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 +[12-Apr-2018 12:48:45 UTC] PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 +[12-Apr-2018 12:48:51 UTC] PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 diff --git a/phpinfo.php b/phpinfo.php new file mode 100644 index 0000000..f35a8ef --- /dev/null +++ b/phpinfo.php @@ -0,0 +1,3 @@ +post("/api/paddle/{authkey}/hook"); \ No newline at end of file diff --git a/source/boot.php b/source/boot.php new file mode 100644 index 0000000..b2792f4 --- /dev/null +++ b/source/boot.php @@ -0,0 +1,10 @@ + + [ + "appname" => "SG-Gateway", + "appversion" => "alpha 1.0", + "operationmode" => "development" + ], + + "core" => + [ + "database" => + [ + "username" => "", + "password" => "password", + "hostname" => "hostname", + "port" => "port", + "dbname" => "db" + ], + "virtualmin" => + [ + "vmin-url" => "", + "password" => "", + "username" => "" + ], + + "templates" => + [ + + "templateDirectory" => $_SERVER['DOCUMENT_ROOT'] . '/source/emailTemplates' + + ], + + "mailer" => + [ + + "username" => "0bffccb77f9228", + "password" => "bbd994d1500dab", + "hostname" => " smtp.mailtrap.io", + "port" => 2525 + + + ] + ] + + ]; \ No newline at end of file diff --git a/source/dbtools/Application.php b/source/dbtools/Application.php new file mode 100644 index 0000000..226a9c6 --- /dev/null +++ b/source/dbtools/Application.php @@ -0,0 +1,103 @@ +database['username'] = $config['core']['database']['username']; + $this->database['password'] = $config['core']['database']['password']; + $this->database['hostname'] = $config['core']['database']['hostname']; + $this->database['dbname'] = $config['core']['database']['dbname']; + + $this->db = instDB(); + + } + + protected function instDB() + { + + return \ParagonIE\EasyDB\Factory::create( + 'mysql:host=' . $this->database['hostname'] . ';dbname=' . $this->database['dbname'], + $this->database['username'], + $this->database['password'] + ); + } + // + public function Exists($Table, $IDRowColumnName, $SearchValue) + { + $exists = $db->cell( + "SELECT count(ID) FROM $Table WHERE $IDRowColumnName = ?", + $SearhValue + ); + + // Query might not return what we're looking for, an integer. Use vardump if otherwise. + return ($exists == 1) ? true : false; + } + + public function adminExists($AdminID) + { + $this->Exists("Administrators", "ID", $ID); + } + + + public function addAdministrator($Username, $Name, $Email, $Password, $KeyID) + { + $this->db->insert('Administrators', [ + 'AdministratorName' => $Name, + 'AdministratorUsername' => $Username, + 'AdministratorEmail' => $Email, + 'AdministratorPassword' => $Password + ]); + } + + public function listAdminsByName($AdminUsername) + { + $Admin = $this->db->row( + "SELECT * FROM Administrators WHERE Username = ?", + $Username + ); + } + + + public function addKey($AdminID, $Keyname) + { + $key = password_hash(openssl_random_pseudo_bytes(32), PASSWORD_BCYPT); + + $this->db->insert('APIKeys', [ + 'AdminID' => $AdminID, + 'Keyname' => $Keyname, + 'Keytext' => $key + ]); + + return $key; + + } + + public function ApiKeyExists($AdminID) + { + $this->Exists("APIKeys", "AdminID", $AdminID); + + } + + public function ApiKeyToAdminId($Key) + { + $apiKey = $this->db->row( + "SELECT * FROM APIKeys WHERE Keytext = ?", + $Key + ); + + // Expecting an array. Var dump if else + if ($apiKey == null && !is_array($apiKey)) + { + throw new LogicException("Illegal data from DB: ApiKeyToAdminId"); + } + } + + +} \ No newline at end of file diff --git a/source/dbtools/ApplicationApiTools.php b/source/dbtools/ApplicationApiTools.php new file mode 100644 index 0000000..e946fec --- /dev/null +++ b/source/dbtools/ApplicationApiTools.php @@ -0,0 +1,56 @@ +AdminID = $AdminID; + + $this->gDatabase = parent::instDB(); + + + if (!$this->ApiKeyExists($AdminID)) + { + throw new LogicException("This administrator doesn't have an API key."); + } + } + + private function getKeyRecord() + { + $AdminID = $this->AdminID; + + $record = $this->gDatabase->row( + "SELECT * FROM APIKeys WHERE AdminID = ?", + $AdminID + ); + + return $record; + } + + public function keysMatch($givenKey) + { + + return (password_verify($givenKey, $this->getKeyRecord()['Keytext'])) ? true : false; + } + + + + + +} \ No newline at end of file diff --git a/source/dbtools/Customer.php b/source/dbtools/Customer.php new file mode 100644 index 0000000..16def46 --- /dev/null +++ b/source/dbtools/Customer.php @@ -0,0 +1,97 @@ +Virtualmin = new VirtualminHandler(); + } + + // By default, this function sets the customer as inactive (e.g. newly created, awating payment) + // Returns the customer's hosting password + public function newCustomer($Domain, $Name, $Email, $CheckoutID, $SubscriptionStatus, $Package, $PaddleSubscriptionID, $SystemStatus, $GDPRConsent, $hasVirtualServer = false, $attachedVServerID = null) + { + $passwordFactory = new RandomLib\Factory(); + $pGen = $passwordFactory->getLowStrengthGenerator(); + + $this->db->insert('Customers', [ + 'CustomerName' => $Name, + 'CustomerEmail' => $Email, + 'CustomerCheckoutID' => $CheckoutID, + 'Package' => $Package, + 'SubscriptionStatus' => $SubscriptionStatus, + 'PaddleSubscriptionID' => $PaddleSubscriptionID, + 'SystemStatus' => $SystemStatus, + 'GDPRConsent' => $GDPRConsent, + 'hasVirtualServer' => $hasVirtualServer, + 'attachedVServerID' => $attachedVServerID, + 'PAC' => $pGen->generate(4) + ]); + + $cPassword = $pGen->generate(16); + $this->Virtualmin->CreateVirtualServer($Domain, $cPassword); + + + return $cPassword; + } + + public function updateCustomerInformation($CustomerID, $UpdateField, $NewValue) + { + $db->update('Customers', [ + $UpdateField => $NewValue + ], [ + 'ID' => $CustomerID + ]); + } + + public function eraseCustomer($CustomerID) + { + // Virtualmin: Delete virutal server attached to customer + $db->delete('Customers', [ + 'ID' => $CustomerID + ]); + } + + public function listCustomersByEmail($CEmail) + { + $Customer = $this->db->row( + "SELECT * FROM Customers WHERE CustomerEmail = ?", + $CEmail + ); + + return $Customer + } + + public function translateEmailToID($Email) + { + $Customer = $this->listCustomersByEmail($Email); + + return $Customer['ID']; + } + + public function customerExists($CustomerEmail) + { + + return $this->Exists("Customers", "CustomerEmail", $CustomerEmail); + + } + + + public function getCustomerGDPRConsent($CustomerEmail) + { + $Customer = $this->listCustomersByEmail($CustomerEmail); + + // assume this returns an array. do var_dump($Customer) if not + return $Customer['GDPRConsent']; + } + + public function populate + + + +} \ No newline at end of file diff --git a/source/defs/Auth/Authentication.php b/source/defs/Auth/Authentication.php new file mode 100644 index 0000000..be3e57a --- /dev/null +++ b/source/defs/Auth/Authentication.php @@ -0,0 +1,30 @@ +ApiTools = new ApplicationAPI($AdminID); + $this->AdminID = $AdminID; + } + + public function Auth($key) + { + if ($this->ApiTools->keysMatch($key)) + { + return true; + } + else + { + throw new Exception("FATAL: Invalid API key"); + } + } + +} \ No newline at end of file diff --git a/source/defs/Emailer/PHPMail.php b/source/defs/Emailer/PHPMail.php new file mode 100644 index 0000000..2ed1a74 --- /dev/null +++ b/source/defs/Emailer/PHPMail.php @@ -0,0 +1,85 @@ +Customer = new Customer(); + + // WARNIMG: Function might return wrong data, use var_dump to inspect + $CID = $this->Customer->translateEmailToID($CustomerEmail); + $this->CustomerId = $CID; + // We might want to use $CID in this method, so shortening isn't feasible here + + + if(!$this->Customer->customerExists($CustomerEmail)) + { + // Customer doesn't exist, fail here + throw new Exception("Fatal error! Sending an email to an unregistered person is not allowed (GDPR Error Code: #1). A customer can be registered by purchasing a subscription"); + } + + $this->prepareMailerEnvelope(); + + } + + private function prepareMailerEnvelope() + { + $config = new Config(); + + $username = $Config['mailer']['username']; + $password = $Config['mailer']['password']; + $hostname = $Config['mailer']['hostname']; + $port = $Config['mailer']['port']; + + $connStr = 'tls://' . $username . ":" . $password . "@" . $hostname . ":" . $port; + + $this->Envelope = new ByJG\Mail\Envelope(); + + \ByJG\Mail\MailerFactory::registerMailer('smtp', \ByJG\Mail\Wrapper\PHPMailerWrapper::class); + $this->Mailer = \ByJG\Mail\MailerFactory::create($connStr); + + $this->Mailer->setFrom("noreply@spacejewel.ga", "Spacejewel Billing System"); + $this->Mailer->addTo($this->CustomerEmail); + + } + + public function addSubject($subject) + { + + $this->Mailer->setSubject($subject); + + } + + public function setBody($body) + { + $this->Mailer->setBody($body); + } + + public function sendEnvelope() + { + $Mailer->send($this->Envelope); + } +} \ No newline at end of file diff --git a/source/defs/Hookmanager/Hookmanager.php b/source/defs/Hookmanager/Hookmanager.php new file mode 100644 index 0000000..cdd8278 --- /dev/null +++ b/source/defs/Hookmanager/Hookmanager.php @@ -0,0 +1,55 @@ +AdminID = $AdminID; + + } + + + public function getDefaultOptionsArray() + { + return + [ + + "desc" => "Created by Spacejewel Billing System", + "dir", + "unix", + "webmin", + "web", + "dns", + "mail", + "ssl", + "spam", + "virus" + "limits-from-plan" + + ]; + + } + +} \ No newline at end of file diff --git a/source/defs/RenderEngine/Render.php b/source/defs/RenderEngine/Render.php new file mode 100644 index 0000000..13bea3b --- /dev/null +++ b/source/defs/RenderEngine/Render.php @@ -0,0 +1,44 @@ +twig = new Twig_Environment($loader); + + } + + public function renderTemplate($Tmpl, Array $Data) + { + // $Data is an associative array of data + if(!in_array($this->templateList, $Tmpl)) + { + throw new Exception("WARNING: Selected template not available"); + } + else + { + return $this->twig->render($Tmpl, $Data); + } + + } +} \ No newline at end of file diff --git a/source/defs/Virtualmin/Virtualmin.php b/source/defs/Virtualmin/Virtualmin.php new file mode 100644 index 0000000..d27f270 --- /dev/null +++ b/source/defs/Virtualmin/Virtualmin.php @@ -0,0 +1,113 @@ +virtualmin = new Virtualmin\VirtualServersClient($url, $username, $password); + } + + // Creates a domain with the specified password. The username will be the domain with the .tld removed. + // The features array will be populated when the method is exposed with the correct package name provided. + public function CreateVirtualServer($DomainName, $Password, Array $Features = []) + { + return $this->virtualmin->create($DomainName, $Password, $Features); + } + + public function DeleteVirtualServer($DomainName) + { + + + return $this->virtualmin->delete($DomainName); + + } + + // NOTICE! This deletes all domain names linked to a user account. This action is IRREVERSIBLE! + public function DeleteAllFromUser($User) + { + + return $this->virtualmin->deleteByUser($User); + + } + + public function SuspendVirtualServer($DomainName, $SuspensionReason) + { + // TODO: Flag account as inactive within system's database (At Hookmanager class) + + return $this->virtualmin->suspend($DomainName, $SuspensionReason); + + } + + + public function DisableFeature($DomainName, $FeatureName) + { + + return $this->virtualmin->disableFeatureByDomain($DomainName, $FeatureName); + + } + + // Deattaches all features from all domains by this user + public function DisableFeaturesByUser($Username, $Features) + { + + return $this->virtualmin->disableFeatureByUser($Username, $Feature); + + } + + public function DisableFeatureFromAllDomains($FeatureName) + { + + + return $this->virtualmin->disableFeatureAllDomains($Feature); + + } + + + public function EnableFeatureByDomain($Domain, $Feature) + { + + return $this->virtualmin->enableFeatureByDomain($Domain, $Feature); + + } + + public function enableFeatureByUser($User, $Feature) + { + + return $this->virtualmin->enableFeatureByUser($User, $Feature); + + } + + public function enableFeatureAllDomains($Feature) + { + + return $this->virtualmin->enableFeatureAllDomains($Feature); + + } + + // SPECIAL: GDPR READINESS + + // This + public function modifyDomain($Domain, Array $ModifiableOptions) + { + $optionsArr = + [ + "domain" => $Domain + ] + return $this->virtualmin->modifyDomain(array_merge($optionsArr, $ModifiableOptions)); + } + +} + + diff --git a/source/emailTemplates/accountBillingInformation.twig b/source/emailTemplates/accountBillingInformation.twig new file mode 100644 index 0000000..4341771 --- /dev/null +++ b/source/emailTemplates/accountBillingInformation.twig @@ -0,0 +1,34 @@ + + + + + + Spacejewel Hosting - Hosting Account Installation + + + + + + + + Hello {{ Name }}, + + As per your subscription at Spacejewel Hosting, here are some critial pieces of information you might need: + + Your subscription ID: {{ SubscriptionID }} + Price per month: {{ MonthlyPrice }} + Status: {{ SubscriptionStatus }} + Personal Access Code (PAC): {{ PAC }} + + Manage your subscription: {{ SubscriptionManageLink }} + + You will need your subscription ID and your personal access code to access the subscription mangement system. + + + Warm regards, + Spacejewel Billing System + + + + + \ No newline at end of file diff --git a/source/emailTemplates/accountCancellationNotice.twig b/source/emailTemplates/accountCancellationNotice.twig new file mode 100644 index 0000000..b6e293a --- /dev/null +++ b/source/emailTemplates/accountCancellationNotice.twig @@ -0,0 +1,36 @@ + + + + + Spacejewel Hosting - Account Cancellation + + + + + + Hello there {{ Name }}, + + Unfortunately, we have received a request to cancel your account. + You will not be billed anymore after the end of this billing period, at which your account will be permanently + suspended. + + It is worth noting that all of your website data will be deleted after thirty days. + + + NOTE: Your account may also have been suspended due to lack of payment during three consecutive days. Other suspension + reasons include requesting a chargeback from your bank (All chargebacks are treated as fraudulent and reported to the authorities). + You can reactivate your account in this case my messaging support. + + Your subscription ID: {{ SubscriptionID }} + + We hope to see you again! Your GDPR consent has also been removed. + + + + Kind regards, + Spacejewel Billing System + + + + + \ No newline at end of file diff --git a/source/emailTemplates/accountInformationUpdated.twig b/source/emailTemplates/accountInformationUpdated.twig new file mode 100644 index 0000000..4903c00 --- /dev/null +++ b/source/emailTemplates/accountInformationUpdated.twig @@ -0,0 +1,25 @@ + + + + + Spacejewel Hosting - Account Information Updated + + + + + +
+            
+            Hello there {{ Name }},
+            
+            We have received a request to update your customer information present in our database.
+            The information you updated previously has been refreshed on all our services.
+            
+            Regards,
+            Spacejewel Billing System
+            
+        
+ + + + \ No newline at end of file diff --git a/source/emailTemplates/accountInstallation.twig b/source/emailTemplates/accountInstallation.twig new file mode 100644 index 0000000..d503b73 --- /dev/null +++ b/source/emailTemplates/accountInstallation.twig @@ -0,0 +1,39 @@ + + + + + + Spacejewel Hosting - Hosting Account Installation + + + + + +

Well hello there, {{ Name }}! It seems you have purchased a Spacejewel Hosting subscription ({{ PackageName }}). Thank you!

+ +
+            
+        You can now login to your Hosting control panel (Virtualmin) with the following credentials. 
+            Username: {{ Username }}
+            Password: {{ Password }}
+            
+            Login link: {{ Loginlink }}
+            Webmail link: {{ WebmailLink }}
+            
+            Please note that you will be forced to change your password when you first login. This is for security purposes, 
+            since sending passwords over email isn't a very good idea.
+            
+            Please note that our system (webmin@spacejewel.ga) will send you an email shortly about your new account, so don't worry about it.
+            Welcome on board by the way! If you have any questions, don't hesitate to contact support, either by mailing the friendly folks over at
+            support@spacejewel.ga or using the nifty chat balloon at our website.
+            
+            P.S. Our billing system will send you an email again about your subscription information, so that you can cancel anytime you wish or consult information.
+            
+            
+            Warm regards,
+            Spacejewel Billing System
+        
+ + + + \ No newline at end of file diff --git a/source/emailTemplates/accountRefunded.twig b/source/emailTemplates/accountRefunded.twig new file mode 100644 index 0000000..86c2afd --- /dev/null +++ b/source/emailTemplates/accountRefunded.twig @@ -0,0 +1,30 @@ + + + + + Spacejewel Hosting - Refund Request + + + + + + Hello there {{ Name }}, + + Unfortunately, we have received a request to issue a refund. + + Please note that refund requests are manually verified by Spacejewel staff and approved accordingly. + This may take up to 24 hours to complete. + + If your refund is approved, it may take 48 hours for the funds to be credited into your Paypal account + or three to four business day in the case you used a credit card. + Usually, all refunds are approved but this is not always the case. + + + + Kind regards, + Spacejewel Billing System + + + + + \ No newline at end of file diff --git a/source/emailTemplates/accountSubscriptionPaymentFailed.twig b/source/emailTemplates/accountSubscriptionPaymentFailed.twig new file mode 100644 index 0000000..c7e5e18 --- /dev/null +++ b/source/emailTemplates/accountSubscriptionPaymentFailed.twig @@ -0,0 +1,28 @@ + + + + + Spacejewel Hosting - Subscription Renewel Failed + + + + + +
+            
+            Hello there {{ Name }},
+            
+            We have attempted to charge your credit card in order to regularize your subscription ID {{ SubscriptionID }}.
+            The credit card was declined (Or the Paypal account did not have enough funds).
+            
+            Please be advised that after three failed attempts over three days will result in account suspension.
+            
+            
+            Regards,
+            Spacejewel Billing System
+            
+        
+ + + + \ No newline at end of file diff --git a/source/helpers/ConfigHelper/class.Config.php b/source/helpers/ConfigHelper/class.Config.php new file mode 100644 index 0000000..7506f8b --- /dev/null +++ b/source/helpers/ConfigHelper/class.Config.php @@ -0,0 +1,25 @@ +config = $c; + + + + } + + public function getConfig() + { + return $this->config; + } + +} diff --git a/testing/index.php b/testing/index.php new file mode 100644 index 0000000..5818903 --- /dev/null +++ b/testing/index.php @@ -0,0 +1,3 @@ +