diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index 1804aaee..0c9f6850 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -13,8 +13,8 @@ error_reporting(-1); putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); -$DEVILBOX_VERSION = 'v0.14'; -$DEVILBOX_DATE = '2018-05-05'; +$DEVILBOX_VERSION = 'v0.15'; +$DEVILBOX_DATE = '2018-05-12'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/.devilbox/www/include/lib/Helper.php b/.devilbox/www/include/lib/Helper.php index 4c3526be..d1750554 100644 --- a/.devilbox/www/include/lib/Helper.php +++ b/.devilbox/www/include/lib/Helper.php @@ -92,7 +92,7 @@ class Helper $output = array(); // Translate PHP Docker environmental variables to $ENV - exec('env', $output); + exec('/usr/bin/env', $output); foreach ($output as $var) { $tmp = explode('=', $var); diff --git a/.devilbox/www/include/lib/Mail.php b/.devilbox/www/include/lib/Mail.php index bab4634c..8a1353b7 100644 --- a/.devilbox/www/include/lib/Mail.php +++ b/.devilbox/www/include/lib/Mail.php @@ -85,27 +85,33 @@ class Mail } // Optionally sort messages - if (is_array($sort) && (array_values($sort)[0] == 'ASC' || array_values($sort)[0] == 'DESC')) { - $key = array_keys($sort)[0]; - $order = array_values($sort)[0]; + if (is_array($sort)) { + $array_values = array_values($sort); + $array_value = $array_values[0]; + if ($array_value == 'ASC' || $array_value == 'DESC') { + $key = array_keys($sort); + $key = $key[0]; + $order = array_values($sort); + $order = $order[0]; - $sorter = function ($a, $b) use ($key, $order) { - $val1 = $a['decoded']->headers[$key]; - $val2 = $b['decoded']->headers[$key]; + $sorter = function ($a, $b) use ($key, $order) { + $val1 = $a['decoded']->headers[$key]; + $val2 = $b['decoded']->headers[$key]; - // Convert date strings to timestamps for comparison - if (strtotime($val1) !== false && strtotime($val2) !== false) { - $val1 = strtotime($val1); - $val2 = strtotime($val2); - } + // Convert date strings to timestamps for comparison + if (strtotime($val1) !== false && strtotime($val2) !== false) { + $val1 = strtotime($val1); + $val2 = strtotime($val2); + } - if ($order === 'ASC') { - return (strcmp($val1, $val2) > 0); - } else { - return (strcmp($val1, $val2) <= 0); - } - }; - usort($messages, $sorter); + if ($order === 'ASC') { + return (strcmp($val1, $val2) > 0); + } else { + return (strcmp($val1, $val2) <= 0); + } + }; + usort($messages, $sorter); + } } return $messages; diff --git a/.devilbox/www/include/lib/container/Mongo.php b/.devilbox/www/include/lib/container/Mongo.php index d7d9ca92..a78b241d 100644 --- a/.devilbox/www/include/lib/container/Mongo.php +++ b/.devilbox/www/include/lib/container/Mongo.php @@ -115,12 +115,22 @@ class Mongo extends BaseClass implements BaseInterface $databases = array(); $tmp = $this->command(array('listDatabases' => true)); if (isset($tmp[0])) { - foreach ($tmp[0]->databases as $db) { - $databases[] = array( - 'name' => $db->name, - 'size' => $db->sizeOnDisk, - 'empty' => $db->empty - ); + if (is_array($tmp[0])) { + foreach ($tmp[0]['databases'] as $db) { + $databases[] = array( + 'name' => $db->name, + 'size' => $db->sizeOnDisk, + 'empty' => $db->empty + ); + } + } else { + foreach ($tmp[0]->databases as $db) { + $databases[] = array( + 'name' => $db->name, + 'size' => $db->sizeOnDisk, + 'empty' => $db->empty + ); + } } } diff --git a/.devilbox/www/include/lib/container/Mysql.php b/.devilbox/www/include/lib/container/Mysql.php index 677485df..031c8050 100644 --- a/.devilbox/www/include/lib/container/Mysql.php +++ b/.devilbox/www/include/lib/container/Mysql.php @@ -207,7 +207,8 @@ class Mysql extends BaseClass implements BaseInterface $val = $this->select($sql, $callback); if (is_array($val) && $val) { - return array_values($val)[0]; + $array_values = array_values($val); + return $array_values[0]; } else { return $val; } diff --git a/.travis.yml b/.travis.yml index fe2df271..91386b5a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,190 +24,63 @@ env: ### PHP vs WWW ### # PHP vs Apache 2.2 + - S1=PHP V1=5.3 S2=HTTPD V2=apache-2.2 - S1=PHP V1=5.4 S2=HTTPD V2=apache-2.2 - S1=PHP V1=5.5 S2=HTTPD V2=apache-2.2 - S1=PHP V1=5.6 S2=HTTPD V2=apache-2.2 - S1=PHP V1=7.0 S2=HTTPD V2=apache-2.2 - S1=PHP V1=7.1 S2=HTTPD V2=apache-2.2 - S1=PHP V1=7.2 S2=HTTPD V2=apache-2.2 - #- S1=PHP V1=hhvm-latest S2=HTTPD V2=apache-2.2 # PHP vs Apache 2.4 + - S1=PHP V1=5.3 S2=HTTPD V2=apache-2.4 - S1=PHP V1=5.4 S2=HTTPD V2=apache-2.4 - S1=PHP V1=5.5 S2=HTTPD V2=apache-2.4 - S1=PHP V1=5.6 S2=HTTPD V2=apache-2.4 - S1=PHP V1=7.0 S2=HTTPD V2=apache-2.4 - S1=PHP V1=7.1 S2=HTTPD V2=apache-2.4 - S1=PHP V1=7.2 S2=HTTPD V2=apache-2.4 - #- S1=PHP V1=hhvm-latest S2=HTTPD V2=apache-2.4 # PHP vs Nginx stable + - S1=PHP V1=5.3 S2=HTTPD V2=nginx-stable - S1=PHP V1=5.4 S2=HTTPD V2=nginx-stable - S1=PHP V1=5.5 S2=HTTPD V2=nginx-stable - S1=PHP V1=5.6 S2=HTTPD V2=nginx-stable - S1=PHP V1=7.0 S2=HTTPD V2=nginx-stable - S1=PHP V1=7.1 S2=HTTPD V2=nginx-stable - S1=PHP V1=7.2 S2=HTTPD V2=nginx-stable - #- S1=PHP V1=hhvm-latest S2=HTTPD V2=nginx-stable # PHP vs Nginx mainline + - S1=PHP V1=5.3 S2=HTTPD V2=nginx-mainline - S1=PHP V1=5.4 S2=HTTPD V2=nginx-mainline - S1=PHP V1=5.5 S2=HTTPD V2=nginx-mainline - S1=PHP V1=5.6 S2=HTTPD V2=nginx-mainline - S1=PHP V1=7.0 S2=HTTPD V2=nginx-mainline - S1=PHP V1=7.1 S2=HTTPD V2=nginx-mainline - S1=PHP V1=7.2 S2=HTTPD V2=nginx-mainline - #- S1=PHP V1=hhvm-latest S2=HTTPD V2=nginx-mainline ### - ### PHP vs MYSQL + ### MYSQL ### - # PHP vs MySQL 5.5 - - S1=PHP V1=5.4 S2=MYSQL V2=mysql-5.5 - - S1=PHP V1=5.5 S2=MYSQL V2=mysql-5.5 - - S1=PHP V1=5.6 S2=MYSQL V2=mysql-5.5 - - S1=PHP V1=7.0 S2=MYSQL V2=mysql-5.5 - - S1=PHP V1=7.1 S2=MYSQL V2=mysql-5.5 - S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.5 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mysql-5.5 - # PHP vs MySQL 5.6 - - S1=PHP V1=5.4 S2=MYSQL V2=mysql-5.6 - - S1=PHP V1=5.5 S2=MYSQL V2=mysql-5.6 - - S1=PHP V1=5.6 S2=MYSQL V2=mysql-5.6 - - S1=PHP V1=7.0 S2=MYSQL V2=mysql-5.6 - - S1=PHP V1=7.1 S2=MYSQL V2=mysql-5.6 - S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.6 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mysql-5.6 - # PHP vs MySQL 5.7 - - S1=PHP V1=5.4 S2=MYSQL V2=mysql-5.7 - - S1=PHP V1=5.5 S2=MYSQL V2=mysql-5.7 - - S1=PHP V1=5.6 S2=MYSQL V2=mysql-5.7 - - S1=PHP V1=7.0 S2=MYSQL V2=mysql-5.7 - - S1=PHP V1=7.1 S2=MYSQL V2=mysql-5.7 - S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.7 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mysql-5.7 - # PHP vs MySQL 8.0 - - S1=PHP V1=5.4 S2=MYSQL V2=mysql-8.0 - - S1=PHP V1=5.5 S2=MYSQL V2=mysql-8.0 - - S1=PHP V1=5.6 S2=MYSQL V2=mysql-8.0 - - S1=PHP V1=7.0 S2=MYSQL V2=mysql-8.0 - - S1=PHP V1=7.1 S2=MYSQL V2=mysql-8.0 - S1=PHP V1=7.2 S2=MYSQL V2=mysql-8.0 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mysql-8.0 - # PHP vs MariaDB 5.5 - - S1=PHP V1=5.4 S2=MYSQL V2=mariadb-5.5 - - S1=PHP V1=5.5 S2=MYSQL V2=mariadb-5.5 - - S1=PHP V1=5.6 S2=MYSQL V2=mariadb-5.5 - - S1=PHP V1=7.0 S2=MYSQL V2=mariadb-5.5 - - S1=PHP V1=7.1 S2=MYSQL V2=mariadb-5.5 - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-5.5 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mariadb-5.5 - # PHP vs MariaDB 10.0 - - S1=PHP V1=5.4 S2=MYSQL V2=mariadb-10.0 - - S1=PHP V1=5.5 S2=MYSQL V2=mariadb-10.0 - - S1=PHP V1=5.6 S2=MYSQL V2=mariadb-10.0 - - S1=PHP V1=7.0 S2=MYSQL V2=mariadb-10.0 - - S1=PHP V1=7.1 S2=MYSQL V2=mariadb-10.0 - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.0 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mariadb-10.0 - # PHP vs MariaDB 10.1 - - S1=PHP V1=5.4 S2=MYSQL V2=mariadb-10.1 - - S1=PHP V1=5.5 S2=MYSQL V2=mariadb-10.1 - - S1=PHP V1=5.6 S2=MYSQL V2=mariadb-10.1 - - S1=PHP V1=7.0 S2=MYSQL V2=mariadb-10.1 - - S1=PHP V1=7.1 S2=MYSQL V2=mariadb-10.1 - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.1 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mariadb-10.1 - # PHP vs MariaDB 10.2 - - S1=PHP V1=5.4 S2=MYSQL V2=mariadb-10.2 - - S1=PHP V1=5.5 S2=MYSQL V2=mariadb-10.2 - - S1=PHP V1=5.6 S2=MYSQL V2=mariadb-10.2 - - S1=PHP V1=7.0 S2=MYSQL V2=mariadb-10.2 - - S1=PHP V1=7.1 S2=MYSQL V2=mariadb-10.2 - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.2 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mariadb-10.2 - # PHP vs MariaDB 10.3 - - S1=PHP V1=5.4 S2=MYSQL V2=mariadb-10.3 - - S1=PHP V1=5.5 S2=MYSQL V2=mariadb-10.3 - - S1=PHP V1=5.6 S2=MYSQL V2=mariadb-10.3 - - S1=PHP V1=7.0 S2=MYSQL V2=mariadb-10.3 - - S1=PHP V1=7.1 S2=MYSQL V2=mariadb-10.3 - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.3 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=mariadb-10.3 - # PHP vs PerconaDB 5.5 - - S1=PHP V1=5.4 S2=MYSQL V2=percona-5.5 - - S1=PHP V1=5.5 S2=MYSQL V2=percona-5.5 - - S1=PHP V1=5.6 S2=MYSQL V2=percona-5.5 - - S1=PHP V1=7.0 S2=MYSQL V2=percona-5.5 - - S1=PHP V1=7.1 S2=MYSQL V2=percona-5.5 - S1=PHP V1=7.2 S2=MYSQL V2=percona-5.5 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=percona-5.5 - # PHP vs PerconaDB 5.6 - - S1=PHP V1=5.4 S2=MYSQL V2=percona-5.6 - - S1=PHP V1=5.5 S2=MYSQL V2=percona-5.6 - - S1=PHP V1=5.6 S2=MYSQL V2=percona-5.6 - - S1=PHP V1=7.0 S2=MYSQL V2=percona-5.6 - - S1=PHP V1=7.1 S2=MYSQL V2=percona-5.6 - S1=PHP V1=7.2 S2=MYSQL V2=percona-5.6 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=percona-5.6 - # PHP vs PerconaDB 5.7 - - S1=PHP V1=5.4 S2=MYSQL V2=percona-5.7 - - S1=PHP V1=5.5 S2=MYSQL V2=percona-5.7 - - S1=PHP V1=5.6 S2=MYSQL V2=percona-5.7 - - S1=PHP V1=7.0 S2=MYSQL V2=percona-5.7 - - S1=PHP V1=7.1 S2=MYSQL V2=percona-5.7 - S1=PHP V1=7.2 S2=MYSQL V2=percona-5.7 - #- S1=PHP V1=hhvm-latest S2=MYSQL V2=percona-5.7 - ### - ### PHP vs PostgreSQL + ### PostgreSQL ### - # PHP vs PgSQL 9.2 - - S1=PHP V1=5.4 S2=PGSQL V2=9.2 - - S1=PHP V1=5.5 S2=PGSQL V2=9.2 - - S1=PHP V1=5.6 S2=PGSQL V2=9.2 - - S1=PHP V1=7.0 S2=PGSQL V2=9.2 - - S1=PHP V1=7.1 S2=PGSQL V2=9.2 - S1=PHP V1=7.2 S2=PGSQL V2=9.2 - #- S1=PHP V1=hhvm-latest S2=PGSQL V2=9.2 - # PHP vs PgSQL 9.3 - - S1=PHP V1=5.4 S2=PGSQL V2=9.3 - - S1=PHP V1=5.5 S2=PGSQL V2=9.3 - - S1=PHP V1=5.6 S2=PGSQL V2=9.3 - - S1=PHP V1=7.0 S2=PGSQL V2=9.3 - - S1=PHP V1=7.1 S2=PGSQL V2=9.3 - S1=PHP V1=7.2 S2=PGSQL V2=9.3 - #- S1=PHP V1=hhvm-latest S2=PGSQL V2=9.3 - # PHP vs PgSQL 9.4 - - S1=PHP V1=5.4 S2=PGSQL V2=9.4 - - S1=PHP V1=5.5 S2=PGSQL V2=9.4 - - S1=PHP V1=5.6 S2=PGSQL V2=9.4 - - S1=PHP V1=7.0 S2=PGSQL V2=9.4 - - S1=PHP V1=7.1 S2=PGSQL V2=9.4 - S1=PHP V1=7.2 S2=PGSQL V2=9.4 - #- S1=PHP V1=hhvm-latest S2=PGSQL V2=9.4 - # PHP vs PgSQL 9.5 - - S1=PHP V1=5.4 S2=PGSQL V2=9.5 - - S1=PHP V1=5.5 S2=PGSQL V2=9.5 - - S1=PHP V1=5.6 S2=PGSQL V2=9.5 - - S1=PHP V1=7.0 S2=PGSQL V2=9.5 - - S1=PHP V1=7.1 S2=PGSQL V2=9.5 - S1=PHP V1=7.2 S2=PGSQL V2=9.5 - #- S1=PHP V1=hhvm-latest S2=PGSQL V2=9.5 - # PHP vs PgSQL 9.6 - - S1=PHP V1=5.4 S2=PGSQL V2=9.6 - - S1=PHP V1=5.5 S2=PGSQL V2=9.6 - - S1=PHP V1=5.6 S2=PGSQL V2=9.6 - - S1=PHP V1=7.0 S2=PGSQL V2=9.6 - - S1=PHP V1=7.1 S2=PGSQL V2=9.6 - S1=PHP V1=7.2 S2=PGSQL V2=9.6 - #- S1=PHP V1=hhvm-latest S2=PGSQL V2=9.6 - # PHP vs PgSQL 10.0 - - S1=PHP V1=5.4 S2=PGSQL V2=10.0 - - S1=PHP V1=5.5 S2=PGSQL V2=10.0 - - S1=PHP V1=5.6 S2=PGSQL V2=10.0 - - S1=PHP V1=7.0 S2=PGSQL V2=10.0 - - S1=PHP V1=7.1 S2=PGSQL V2=10.0 - S1=PHP V1=7.2 S2=PGSQL V2=10.0 - #- S1=PHP V1=hhvm-latest S2=PGSQL V2=10.0 ### diff --git a/README.md b/README.md index c8f7979b..16ed4dc4 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ Every single attachable container comes with many different versions. In order t