Now browser notifications are disabled by default. Issue #156.

This commit is contained in:
Dmitry Khomutov 2018-04-29 12:08:44 +07:00
parent ddc5cd6a25
commit 84b2fefd19
No known key found for this signature in database
GPG Key ID: EC19426474B37AAC
6 changed files with 50 additions and 25 deletions

View File

@ -39,6 +39,8 @@ php-censor:
log:
rotate: true
max_files: 10
notifications:
enabled: false # notify.js notifications to browser
ssh:
strength: 4096 # SSH keys strength (default: 2048)
comment: admin@php-censor.info # SSH keys comment (default: admin@php-censor)

View File

@ -164,13 +164,15 @@ var PHPCensor = {
error: PHPCensor.handleFailedAjax
});
$.ajax({
url: APP_URL + 'web-notifications/builds-updated',
success: function (data) {
PHPCensor.showWebNotification(data);
},
error: PHPCensor.handleFailedAjax
});
if (NOTIFICATIONS) {
$.ajax({
url: APP_URL + 'web-notifications/builds-updated',
success: function (data) {
PHPCensor.showWebNotification(data);
},
error: PHPCensor.handleFailedAjax
});
}
},
getProjectBuilds: function () {

View File

@ -34,15 +34,17 @@ PHPCensor.widgets.allProjects = {
error: PHPCensor.handleFailedAjax
});
$.ajax({
url: APP_URL +
if (NOTIFICATIONS) {
$.ajax({
url: APP_URL +
'web-notifications/widgets-all-projects-update/' +
projectId,
success: function (data) {
PHPCensor.showWebNotification(data);
},
error: PHPCensor.handleFailedAjax
});
projectId,
success: function (data) {
PHPCensor.showWebNotification(data);
},
error: PHPCensor.handleFailedAjax
});
}
});
}
};

View File

@ -258,13 +258,16 @@ class InstallCommand extends Command
'rotate' => false,
'max_files' => 0,
],
'notifications' => [
'enabled' => false,
],
'email_settings' => [
'from_address' => 'PHP Censor <no-reply@php-censor.local>',
'smtp_address' => null,
'smtp_port' => null,
'smtp_username' => null,
'smtp_password' => null,
'smtp_encryption' => false,
'from_address' => 'PHP Censor <no-reply@php-censor.local>',
'smtp_address' => null,
'smtp_port' => null,
'smtp_username' => null,
'smtp_password' => null,
'smtp_encryption' => false,
],
'ssh' => [
'strength' => 2048,

View File

@ -2,8 +2,20 @@
use PHPCensor\Helper\Lang;
/**
* @var \PHPCensor\Model\User $user
*/
$user = $this->getUser();
/**
* @var string $title
* @var string $subtitle
* @var string $version
* @var string $content
* @var string $skin
* @var bool $notifications
*/
?>
<!DOCTYPE html>
<html>
@ -35,7 +47,8 @@ $user = $this->getUser();
<script src="<?= APP_URL; ?>assets/vendor/notifyjs/dist/notify.js" type="text/javascript"></script>
<script>
var APP_URL = '<?= APP_URL; ?>';
var APP_URL = '<?= APP_URL; ?>';
var NOTIFICATIONS = <?= ($notifications ? 'true' : 'false'); ?>;
var LANGUAGE = '<?= Lang::getLanguage(); ?>';
<?php if (defined('JSON_UNESCAPED_UNICODE')): ?>

View File

@ -48,9 +48,12 @@ abstract class WebController extends Controller
if (!empty($this->layoutName)) {
$this->layout = new View($this->layoutName);
$this->layout->title = 'PHP Censor';
$this->layout->breadcrumb = [];
$this->layout->version = trim(file_get_contents(ROOT_DIR . 'VERSION.md'));
$notifications = (bool)Config::getInstance()->get('php-censor.notifications.enabled', false);
$this->layout->title = 'PHP Censor';
$this->layout->breadcrumb = [];
$this->layout->version = trim(file_get_contents(ROOT_DIR . 'VERSION.md'));
$this->layout->notifications = $notifications;
$groups = [];
$groupStore = Factory::getStore('ProjectGroup');