Commit 25aa7016 authored by dmorley's avatar dmorley

Merge branch 'develop' into 'master'

[2.6.2] - 2019-11-24

See merge request !245
parents 9b7f6936 4eebe5e3
Pipeline #2939 passed with stage
in 47 seconds
......@@ -9,6 +9,20 @@ The format is based on [Keep a Changelog] and this project adheres to [Semantic
### Fixed
### Security
## [2.6.2] - 2019-11-24
### Added
- Total rows count o loading screen as that is growing
- Status page timeout value is user set in config.php
### Changed
- Update backup meta if backup is a success
### Deprecated
### Removed
### Fixed
- Updated json pull for mastodon not having the full nodeinfo data
- Fix geoip if IP is not real
### Security
- Updated packages
## [2.6.1] - 2019-06-30
### Added
### Changed
......
......@@ -46,25 +46,25 @@
},
{
"name": "composer/ca-bundle",
"version": "1.1.4",
"version": "1.2.4",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
"reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d"
"reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d",
"reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d",
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/10bb96592168a0f8e8f6dcde3532d9fa50b0b527",
"reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527",
"shasum": ""
},
"require": {
"ext-openssl": "*",
"ext-pcre": "*",
"php": "^5.3.2 || ^7.0"
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5",
"phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8",
"psr/log": "^1.0",
"symfony/process": "^2.5 || ^3.0 || ^4.0"
},
......@@ -98,7 +98,7 @@
"ssl",
"tls"
],
"time": "2019-01-28T09:30:10+00:00"
"time": "2019-08-30T08:44:50+00:00"
},
{
"name": "detectlanguage/detectlanguage",
......@@ -149,16 +149,16 @@
},
{
"name": "gabordemooij/redbean",
"version": "v5.3",
"version": "v5.4",
"source": {
"type": "git",
"url": "https://github.com/gabordemooij/redbean.git",
"reference": "913c8072a13105d7d702ee88e762796773d212fe"
"reference": "931e4fa3d957a29fa2f67c543255f9fc1603fe0e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/gabordemooij/redbean/zipball/913c8072a13105d7d702ee88e762796773d212fe",
"reference": "913c8072a13105d7d702ee88e762796773d212fe",
"url": "https://api.github.com/repos/gabordemooij/redbean/zipball/931e4fa3d957a29fa2f67c543255f9fc1603fe0e",
"reference": "931e4fa3d957a29fa2f67c543255f9fc1603fe0e",
"shasum": ""
},
"require": {
......@@ -186,7 +186,7 @@
"keywords": [
"orm"
],
"time": "2019-03-15T09:34:00+00:00"
"time": "2019-09-24T20:36:43+00:00"
},
{
"name": "geoip2/geoip2",
......@@ -242,16 +242,16 @@
},
{
"name": "jaybizzle/crawler-detect",
"version": "v1.2.82",
"version": "v1.2.89",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
"reference": "48522d4b3495ac8eef2a7298f128f35d7ea3f49b"
"reference": "374d699ce4944107015eee0798eab072e3c47df9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/48522d4b3495ac8eef2a7298f128f35d7ea3f49b",
"reference": "48522d4b3495ac8eef2a7298f128f35d7ea3f49b",
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/374d699ce4944107015eee0798eab072e3c47df9",
"reference": "374d699ce4944107015eee0798eab072e3c47df9",
"shasum": ""
},
"require": {
......@@ -287,7 +287,52 @@
"crawlerdetect",
"php crawler detect"
],
"time": "2019-05-21T20:51:49+00:00"
"time": "2019-11-16T13:47:52+00:00"
},
{
"name": "kylekatarnls/update-helper",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/kylekatarnls/update-helper.git",
"reference": "5786fa188e0361b9adf9e8199d7280d1b2db165e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kylekatarnls/update-helper/zipball/5786fa188e0361b9adf9e8199d7280d1b2db165e",
"reference": "5786fa188e0361b9adf9e8199d7280d1b2db165e",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0.0",
"php": ">=5.3.0"
},
"require-dev": {
"codeclimate/php-test-reporter": "dev-master",
"composer/composer": "2.0.x-dev || ^2.0.0-dev",
"phpunit/phpunit": ">=4.8.35 <6.0"
},
"type": "composer-plugin",
"extra": {
"class": "UpdateHelper\\ComposerPlugin"
},
"autoload": {
"psr-0": {
"UpdateHelper\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kyle",
"email": "kylekatarnls@gmail.com"
}
],
"description": "Update helper",
"time": "2019-07-29T11:03:54+00:00"
},
{
"name": "longman/ip-tools",
......@@ -391,25 +436,26 @@
},
{
"name": "maxmind-db/reader",
"version": "v1.4.1",
"version": "v1.5.0",
"source": {
"type": "git",
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
"reference": "eb83d0ee1c1f9b8a340206302136bc81ee02ae74"
"reference": "bd436094fc0a9b0558a899fb80b0ae34fe1808a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/eb83d0ee1c1f9b8a340206302136bc81ee02ae74",
"reference": "eb83d0ee1c1f9b8a340206302136bc81ee02ae74",
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/bd436094fc0a9b0558a899fb80b0ae34fe1808a0",
"reference": "bd436094fc0a9b0558a899fb80b0ae34fe1808a0",
"shasum": ""
},
"require": {
"php": ">=5.4"
"php": ">=5.6"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "2.*",
"phpunit/phpunit": "4.* || 5.*",
"satooshi/php-coveralls": "1.0.*",
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpcov": "^3.0",
"phpunit/phpunit": "5.*",
"squizlabs/php_codesniffer": "3.*"
},
"suggest": {
......@@ -431,7 +477,7 @@
{
"name": "Gregory J. Oschwald",
"email": "goschwald@maxmind.com",
"homepage": "http://www.maxmind.com/"
"homepage": "https://www.maxmind.com/"
}
],
"description": "MaxMind DB Reader API",
......@@ -443,7 +489,7 @@
"geolocation",
"maxmind"
],
"time": "2019-01-04T19:55:56+00:00"
"time": "2019-09-30T22:56:38+00:00"
},
{
"name": "maxmind/web-service-common",
......@@ -493,31 +539,34 @@
},
{
"name": "nesbot/carbon",
"version": "1.37.1",
"version": "1.39.1",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "5be4fdf97076a685b23efdedfc2b73ad0c5eab70"
"reference": "4be0c005164249208ce1b5ca633cd57bdd42ff33"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/5be4fdf97076a685b23efdedfc2b73ad0c5eab70",
"reference": "5be4fdf97076a685b23efdedfc2b73ad0c5eab70",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4be0c005164249208ce1b5ca633cd57bdd42ff33",
"reference": "4be0c005164249208ce1b5ca633cd57bdd42ff33",
"shasum": ""
},
"require": {
"kylekatarnls/update-helper": "^1.1",
"php": ">=5.3.9",
"symfony/translation": "~2.6 || ~3.0 || ~4.0"
},
"require-dev": {
"composer/composer": "^1.2",
"friendsofphp/php-cs-fixer": "~2",
"phpunit/phpunit": "^4.8.35 || ^5.7"
},
"suggest": {
"friendsofphp/php-cs-fixer": "Needed for the `composer phpcs` command. Allow to automatically fix code style.",
"phpstan/phpstan": "Needed for the `composer phpstan` command. Allow to detect potential errors."
},
"bin": [
"bin/upgrade-carbon"
],
"type": "library",
"extra": {
"update-helper": "Carbon\\Upgrade",
"laravel": {
"providers": [
"Carbon\\Laravel\\ServiceProvider"
......@@ -547,7 +596,7 @@
"datetime",
"time"
],
"time": "2019-04-19T10:27:42+00:00"
"time": "2019-10-14T05:51:36+00:00"
},
{
"name": "noplanman/xec",
......@@ -678,89 +727,18 @@
],
"time": "2018-12-23T15:37:32+00:00"
},
{
"name": "symfony/contracts",
"version": "v1.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/contracts.git",
"reference": "d3636025e8253c6144358ec0a62773cae588395b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/contracts/zipball/d3636025e8253c6144358ec0a62773cae588395b",
"reference": "d3636025e8253c6144358ec0a62773cae588395b",
"shasum": ""
},
"require": {
"php": "^7.1.3"
},
"require-dev": {
"psr/cache": "^1.0",
"psr/container": "^1.0",
"symfony/polyfill-intl-idn": "^1.10"
},
"suggest": {
"psr/cache": "When using the Cache contracts",
"psr/container": "When using the Service contracts",
"symfony/cache-contracts-implementation": "",
"symfony/event-dispatcher-implementation": "",
"symfony/http-client-contracts-implementation": "",
"symfony/service-contracts-implementation": "",
"symfony/translation-contracts-implementation": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\": ""
},
"exclude-from-classmap": [
"**/Tests/"
]
},
"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": "A set of abstractions extracted out of the Symfony components",
"homepage": "https://symfony.com",
"keywords": [
"abstractions",
"contracts",
"decoupling",
"interfaces",
"interoperability",
"standards"
],
"time": "2019-04-27T14:29:50+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.11.0",
"version": "v1.12.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "fe5e94c604826c35a32fa832f35bd036b6799609"
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609",
"reference": "fe5e94c604826c35a32fa832f35bd036b6799609",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"shasum": ""
},
"require": {
......@@ -772,7 +750,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.11-dev"
"dev-master": "1.12-dev"
}
},
"autoload": {
......@@ -806,26 +784,26 @@
"portable",
"shim"
],
"time": "2019-02-06T07:57:58+00:00"
"time": "2019-08-06T08:03:45+00:00"
},
{
"name": "symfony/translation",
"version": "v4.2.8",
"version": "v4.3.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "181a426dd129cb496f12d7e7555f6d0b37a7615b"
"reference": "bbce239b35b0cd47bd75848b23e969f17dd970e7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/181a426dd129cb496f12d7e7555f6d0b37a7615b",
"reference": "181a426dd129cb496f12d7e7555f6d0b37a7615b",
"url": "https://api.github.com/repos/symfony/translation/zipball/bbce239b35b0cd47bd75848b23e969f17dd970e7",
"reference": "bbce239b35b0cd47bd75848b23e969f17dd970e7",
"shasum": ""
},
"require": {
"php": "^7.1.3",
"symfony/contracts": "^1.0.2",
"symfony/polyfill-mbstring": "~1.0"
"symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^1.1.6"
},
"conflict": {
"symfony/config": "<3.4",
......@@ -833,7 +811,7 @@
"symfony/yaml": "<3.4"
},
"provide": {
"symfony/translation-contracts-implementation": "1.0"
"symfony/translation-implementation": "1.0"
},
"require-dev": {
"psr/log": "~1.0",
......@@ -843,6 +821,7 @@
"symfony/finder": "~2.8|~3.0|~4.0",
"symfony/http-kernel": "~3.4|~4.0",
"symfony/intl": "~3.4|~4.0",
"symfony/service-contracts": "^1.1.2",
"symfony/var-dumper": "~3.4|~4.0",
"symfony/yaml": "~3.4|~4.0"
},
......@@ -854,7 +833,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.2-dev"
"dev-master": "4.3-dev"
}
},
"autoload": {
......@@ -881,22 +860,79 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2019-05-01T12:55:36+00:00"
"time": "2019-11-06T23:21:49+00:00"
},
{
"name": "symfony/translation-contracts",
"version": "v1.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "364518c132c95642e530d9b2d217acbc2ccac3e6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/364518c132c95642e530d9b2d217acbc2ccac3e6",
"reference": "364518c132c95642e530d9b2d217acbc2ccac3e6",
"shasum": ""
},
"require": {
"php": "^7.1.3"
},
"suggest": {
"symfony/translation-implementation": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Translation\\": ""
}
},
"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": "Generic abstractions related to translation",
"homepage": "https://symfony.com",
"keywords": [
"abstractions",
"contracts",
"decoupling",
"interfaces",
"interoperability",
"standards"
],
"time": "2019-09-17T11:12:18+00:00"
}
],
"packages-dev": [
{
"name": "squizlabs/php_codesniffer",
"version": "3.4.2",
"version": "3.5.2",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
"reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8"
"reference": "65b12cdeaaa6cd276d4c3033a95b9b88b12701e7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8",
"reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8",
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/65b12cdeaaa6cd276d4c3033a95b9b88b12701e7",
"reference": "65b12cdeaaa6cd276d4c3033a95b9b88b12701e7",
"shasum": ""
},
"require": {
......@@ -934,7 +970,7 @@
"phpcs",
"standards"
],
"time": "2019-04-10T23:49:02+00:00"
"time": "2019-10-28T04:36:32+00:00"
}
],
"aliases": [],
......
......@@ -35,6 +35,9 @@ return [
//DNS server for dnssec testing. 1.1.1.1 tests the best
'dnsserver' => '',
//Number of minutes to report on status.php that the run is still green
'status_green' => '',
//CA for curl to use - full file path
'cafullpath' => '',
......
......@@ -233,16 +233,16 @@ a {
}
.signal {
border: 6px solid #ffffff;
border: 4px solid #ffffff;
border-radius: 50px;
height: 40px;
left: 5%;
left: 520px;
margin: -20px 0 0 -20px;
opacity: 0;
position: absolute;
top: 24%;
top: 197px;
width: 40px;
animation: pulsate 2s ease-in-out;
animation: pulsate 5s ease-out;
animation-iteration-count: infinite;
}
......
......@@ -26,6 +26,11 @@ system(sprintf(
c('pgdb'),
$backup_file
), $exit_code);
if ($exit_code === 0) {
updateMeta('backup');
}
debug(" %s\n", $exit_code === 0 ? 'Success!' : 'Failed.');
$dirh = dir(c('backup_dir'));
......@@ -48,5 +53,3 @@ while ($entry = $dirh->read()) {
unlink($file) ? 'Success!' : 'Failed.'
);
}
updateMeta('backup');
......@@ -99,8 +99,12 @@ if ('save' === $_action) {
?>
<script>
window.onload = function() {
$("#weight").ionRangeSlider();
$("#podmin_notify_level").ionRangeSlider();
$("#weight").ionRangeSlider({
skin: "big"
});
$("#podmin_notify_level").ionRangeSlider({
skin: "big"
});
}
</script>
Authorized to edit <b><?php echo $_domain; ?></b> for <?php echo (new Carbon($pod['tokenexpire']))->diffForHumans(null, true); ?><br>
......
......@@ -25,15 +25,15 @@ foreach ($softwares as $software => $details) {
$cjson = curl('https://' . $details['gitsite'] . '/repos/' . $details['repo'] . '/commits/' . $details['devbranch']);
$commitjson = json_decode($cjson['body'] ?: '');
}
if ($masterversion = $releasejson->tag_name ? str_replace('v', '', $releasejson->tag_name) : '') {
if (isset($releasejson->tag_name) && $masterversion = $releasejson->tag_name ? str_replace('v', '', $releasejson->tag_name) : '') {
try {
$m = R::dispense('masterversions');
$m['software'] = $software;
$m['version'] = $masterversion;
if ($releasedate = $releasejson ? $releasejson->published_at : '') {
if (isset($releasejson->published_at) && $releasedate = $releasejson ? $releasejson->published_at : '') {
$m['releasedate'] = $releasedate;
}
if ($devlastcommit = $commitjson ? $commitjson->commit->author->date : '') {
if (isset($commitjson->commit->author->date) && $devlastcommit = $commitjson ? $commitjson->commit->author->date : '') {
$m['devlastcommit'] = $devlastcommit;
}
R::store($m);
......@@ -48,15 +48,15 @@ foreach ($softwares as $software => $details) {
$cjson = curl('https://' . $details['gitsite'] . '/api/v4/projects/' . $details['repo'] . '/repository/commits/' . $details['devbranch']);
$commitjson = json_decode($cjson['body'] ?: '');
}
if ($masterversion = $releasejson[0]->name ? str_replace('v', '', $releasejson[0]->name) : '') {
if (isset($releasejson[0]->name) && $masterversion = $releasejson[0]->name ? str_replace('v', '', $releasejson[0]->name) : '') {
try {
$m = R::dispense('masterversions');
$m['software'] = $software;
$m['version'] = $masterversion;
if ($releasedate = $releasejson[0] ? $releasejson[0]->commit->created_at : '') {
if (isset($releasejson[0]->commit->created_at) && $releasedate = $releasejson[0] ? $releasejson[0]->commit->created_at : '') {
$m['releasedate'] = $releasedate;
}
if ($devlastcommit = $commitjson ? $commitjson->created_at : '') {
if (isset($commitjson->created_at) && $devlastcommit = $commitjson ? $commitjson->created_at : '') {
$m['devlastcommit'] = $devlastcommit;
}
R::store($m);
......
......@@ -160,8 +160,12 @@ foreach ($pods as $pod) {
$service_xmpp = ($jsonssl->metadata->xmppChat ?? false) === true;
if (json_last_error() === 0) {
(!$jsonssl->software->version) || $score += 1;
if (is_array($jsonssl->services->outbound)) {
$services = json_encode($jsonssl->services->outbound);
if (isset($jsonssl->services)) {
if (is_array($jsonssl->services->outbound)) {
$services = json_encode($jsonssl->services->outbound);
}
} else {
$services = "{}";
}
if (is_array($jsonssl->protocols)) {
$protocols = json_encode($jsonssl->protocols);
......@@ -334,7 +338,11 @@ foreach ($pods as $pod) {
// todo: Temporary workaround (see https://github.com/akalongman/php-ip-tools/issues/8)
if (Ip::isValid($ip) && Ip::isRemote($ip) && $ip != '0.0.0.0') {
$geo = $reader->city($ip);
try {
$geo = $reader->city($ip);
} catch (\GeoIp2\Exception\AddressNotFoundException $e) {
} catch (\MaxMind\Db\Reader\InvalidDatabaseException $e) {
}
$countryname = ($geo->country->name ?? null) ?: null;
$country = ($geo->country->isoCode ?? null) ?: null;
$city = ($geo->city->name ?? null) ?: null;
......
......@@ -33,7 +33,6 @@ $fullview = false;
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="css/poduptime.css"/>
<link rel="stylesheet" href="node_modules/ion-rangeslider/css/ion.rangeSlider.css"/>
<link rel="stylesheet" href="node_modules/ion-rangeslider/css/ion.rangeSlider.skinHTML5.css"/>
<link rel="stylesheet" href="node_modules/featherlight/release/featherlight.min.css"/>
<link rel="stylesheet" href="node_modules/tablesorter/dist/css/theme.bootstrap_4.min.css"/>
<link rel="stylesheet" href="node_modules/@fortawesome/fontawesome-free/css/all.min.css"/>
......
......@@ -63,9 +63,9 @@ $(document).ready(function () {
columns[8] = '';
}
$('table').trigger('search', [columns]);
$('.pagerhidden').delay(300).show(800);
$('.pagerhidden').delay(30).show(800);
$('[data-toggle="tooltip"]').tooltip();
$('.loadingtable').delay(300).hide(300);
$('.loadingtable').delay(30).hide(300);