mirror of
https://github.com/CachetHQ/Cachet.git
synced 2025-01-16 13:09:06 +01:00
Install Laravel 5.6
This commit is contained in:
parent
bdacc81b8d
commit
57aef06927
@ -50,6 +50,9 @@ class StatusComposer
|
|||||||
*/
|
*/
|
||||||
public function compose(View $view)
|
public function compose(View $view)
|
||||||
{
|
{
|
||||||
$view->with($this->system->getStatus());
|
$status = $this->system->getStatus();
|
||||||
|
|
||||||
|
$view->withSystemStatus(array_get($status, 'system_status'));
|
||||||
|
$view->withSystemMessage(array_get($status, 'system_message'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,8 +61,8 @@ class ComponentController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
View::share([
|
View::share([
|
||||||
'sub_menu' => $this->subMenu,
|
'subMenu' => $this->subMenu,
|
||||||
'sub_title' => trans_choice('dashboard.components.components', 2),
|
'subTitle' => trans_choice('dashboard.components.components', 2),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ class IncidentController extends Controller
|
|||||||
$this->auth = $auth;
|
$this->auth = $auth;
|
||||||
$this->system = $system;
|
$this->system = $system;
|
||||||
|
|
||||||
View::share('sub_title', trans('dashboard.incidents.title'));
|
View::share('subTitle', trans('dashboard.incidents.title'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,7 +42,7 @@ class ScheduleController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
View::share('sub_title', trans('dashboard.schedule.title'));
|
View::share('subTitle', trans('dashboard.schedule.title'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -116,8 +116,8 @@ class SettingsController extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
View::share([
|
View::share([
|
||||||
'sub_title' => trans('dashboard.settings.settings'),
|
'subTitle' => trans('dashboard.settings.settings'),
|
||||||
'sub_menu' => $this->subMenu,
|
'subMenu' => $this->subMenu,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,19 @@
|
|||||||
|
|
||||||
namespace CachetHQ\Cachet\Http;
|
namespace CachetHQ\Cachet\Http;
|
||||||
|
|
||||||
|
use AltThree\Throttle\ThrottlingMiddleware;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\Admin;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\ApiAuthentication;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\Authenticate;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\Localize;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\ReadyForUse;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\RedirectIfAuthenticated;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\SetupAlreadyCompleted;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\SubscribersConfigured;
|
||||||
|
use CachetHQ\Cachet\Http\Middleware\TrustProxies;
|
||||||
|
use Illuminate\Auth\Middleware\Authorize;
|
||||||
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||||
|
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode;
|
||||||
|
|
||||||
class Kernel extends HttpKernel
|
class Kernel extends HttpKernel
|
||||||
{
|
{
|
||||||
@ -21,8 +33,8 @@ class Kernel extends HttpKernel
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $middleware = [
|
protected $middleware = [
|
||||||
'Fideloper\Proxy\TrustProxies',
|
TrustProxies::class,
|
||||||
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
|
CheckForMaintenanceMode::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -31,15 +43,15 @@ class Kernel extends HttpKernel
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $routeMiddleware = [
|
protected $routeMiddleware = [
|
||||||
'admin' => 'CachetHQ\Cachet\Http\Middleware\Admin',
|
'admin' => Admin::class,
|
||||||
'can' => 'Illuminate\Auth\Middleware\Authorize',
|
'can' => Authorize::class,
|
||||||
'auth' => 'CachetHQ\Cachet\Http\Middleware\Authenticate',
|
'auth' => Authenticate::class,
|
||||||
'auth.api' => 'CachetHQ\Cachet\Http\Middleware\ApiAuthentication',
|
'auth.api' => ApiAuthentication::class,
|
||||||
'guest' => 'CachetHQ\Cachet\Http\Middleware\RedirectIfAuthenticated',
|
'guest' => RedirectIfAuthenticated::class,
|
||||||
'localize' => 'CachetHQ\Cachet\Http\Middleware\Localize',
|
'localize' => Localize::class,
|
||||||
'ready' => 'CachetHQ\Cachet\Http\Middleware\ReadyForUse',
|
'ready' => ReadyForUse::class,
|
||||||
'setup' => 'CachetHQ\Cachet\Http\Middleware\SetupAlreadyCompleted',
|
'setup' => SetupAlreadyCompleted::class,
|
||||||
'subscribers' => 'CachetHQ\Cachet\Http\Middleware\SubscribersConfigured',
|
'subscribers' => SubscribersConfigured::class,
|
||||||
'throttle' => 'AltThree\Throttle\ThrottlingMiddleware',
|
'throttle' => ThrottlingMiddleware::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
47
app/Http/Middleware/TrustProxies.php
Normal file
47
app/Http/Middleware/TrustProxies.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Cachet.
|
||||||
|
*
|
||||||
|
* (c) Alt Three Services Limited
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace CachetHQ\Cachet\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Fideloper\Proxy\TrustProxies as Middleware;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the trust proxies middleware class.
|
||||||
|
*
|
||||||
|
* @author James Brooks <james@alt-three.com>
|
||||||
|
*/
|
||||||
|
class TrustProxies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The trusted proxies for this application.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $proxies;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The headers that should be used to detect proxies.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $headers = Request::HEADER_X_FORWARDED_ALL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create new trust proxies instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->proxies = empty(env('TRUSTED_PROXIES')) ? '*' : explode(',', trim(env('TRUSTED_PROXIES')));
|
||||||
|
}
|
||||||
|
}
|
@ -26,7 +26,7 @@ $app->singleton(Illuminate\Contracts\Http\Kernel::class, CachetHQ\Cachet\Http\Ke
|
|||||||
|
|
||||||
$app->singleton(Illuminate\Contracts\Console\Kernel::class, CachetHQ\Cachet\Console\Kernel::class);
|
$app->singleton(Illuminate\Contracts\Console\Kernel::class, CachetHQ\Cachet\Console\Kernel::class);
|
||||||
|
|
||||||
$app->singleton(Illuminate\Contracts\Debug\ExceptionHandler::class, GrahamCampbell\Exceptions\NewExceptionHandler::class);
|
$app->singleton(Illuminate\Contracts\Debug\ExceptionHandler::class, GrahamCampbell\Exceptions\ExceptionHandler::class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
@ -25,45 +25,44 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.6.4",
|
"php": "^7.0",
|
||||||
"ext-xml": "*",
|
"ext-xml": "*",
|
||||||
"alt-three/badger": "^3.1",
|
"alt-three/badger": "^5.0",
|
||||||
"alt-three/bus": "^2.0",
|
"alt-three/bus": "^4.0",
|
||||||
"alt-three/emoji": "^4.1",
|
"alt-three/emoji": "^6.0",
|
||||||
"alt-three/logger": "^1.3",
|
"alt-three/throttle": "^3.0",
|
||||||
"alt-three/throttle": "^1.0",
|
"alt-three/twitter": "^3.0",
|
||||||
"alt-three/twitter": "^1.0",
|
"alt-three/validator": "^4.0",
|
||||||
"alt-three/validator": "^2.0",
|
|
||||||
"aws/aws-sdk-php": "^3.7",
|
"aws/aws-sdk-php": "^3.7",
|
||||||
"backup-manager/laravel": "dev-master#df53f9c9d8c6be5d7a2638f45d54b8fb7bc51e2b",
|
"barryvdh/laravel-cors": "^0.11.0",
|
||||||
"barryvdh/laravel-cors": "^0.8",
|
|
||||||
"doctrine/dbal": "2.5.13",
|
"doctrine/dbal": "2.5.13",
|
||||||
"fideloper/proxy": "^3.1",
|
"fideloper/proxy": "^4.0",
|
||||||
"graham-campbell/binput": "^3.5",
|
"graham-campbell/binput": "^5.0",
|
||||||
"graham-campbell/exceptions": "^9.1",
|
"graham-campbell/exceptions": "^11.0",
|
||||||
"graham-campbell/markdown": "^7.1",
|
"graham-campbell/markdown": "^10.0",
|
||||||
"guzzlehttp/guzzle": "^6.2.1",
|
"guzzlehttp/guzzle": "^6.2.1",
|
||||||
"jenssegers/date": "^3.2",
|
"jenssegers/date": "^3.2",
|
||||||
"laravel/framework": "^5.4",
|
"laravel/framework": "5.6.*",
|
||||||
"laravel/tinker": "^1.0",
|
"laravel/tinker": "^1.0",
|
||||||
"laravolt/avatar": "^1.8",
|
"laravolt/avatar": "^1.8",
|
||||||
"mccool/laravel-auto-presenter": "^5.0",
|
"mccool/laravel-auto-presenter": "^7.0",
|
||||||
"nexmo/client": "@beta",
|
"nexmo/client": "@beta",
|
||||||
"pragmarx/google2fa": "^0.7.1",
|
"pragmarx/google2fa": "^0.7.1",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1",
|
||||||
"roumen/feed": "^2.10",
|
"roumen/feed": "^2.10",
|
||||||
|
"spatie/laravel-backup": "^5.9",
|
||||||
"twig/twig": "^1.26.1"
|
"twig/twig": "^1.26.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"ext-sqlite3": "*",
|
"ext-sqlite3": "*",
|
||||||
"alt-three/testbench": "^1.11",
|
"alt-three/testbench": "^1.11",
|
||||||
"barryvdh/laravel-debugbar": "^2.4",
|
"barryvdh/laravel-debugbar": "^3.0",
|
||||||
"filp/whoops": "^2.1",
|
"filp/whoops": "^2.1",
|
||||||
"fzaninotto/faker": "^1.6",
|
"fzaninotto/faker": "^1.6",
|
||||||
"graham-campbell/testbench-core": "^1.1",
|
"graham-campbell/testbench-core": "^1.1",
|
||||||
"mockery/mockery": "0.9.9",
|
"mockery/mockery": "0.9.9",
|
||||||
"nikic/php-parser": "^3.0",
|
"nikic/php-parser": "^3.0",
|
||||||
"phpunit/phpunit": "5.7.20",
|
"phpunit/phpunit": "^7.0",
|
||||||
"symfony/css-selector": "^3.1",
|
"symfony/css-selector": "^3.1",
|
||||||
"symfony/dom-crawler": "^3.1",
|
"symfony/dom-crawler": "^3.1",
|
||||||
"tightenco/mailthief": "^0.3.2"
|
"tightenco/mailthief": "^0.3.2"
|
||||||
@ -104,9 +103,6 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"platform": {
|
|
||||||
"php": "5.6.4"
|
|
||||||
},
|
|
||||||
"preferred-install": "dist",
|
"preferred-install": "dist",
|
||||||
"sort-packages": true,
|
"sort-packages": true,
|
||||||
"optimize-autoloader": true
|
"optimize-autoloader": true
|
||||||
|
2355
composer.lock
generated
2355
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -175,12 +175,9 @@ return [
|
|||||||
*/
|
*/
|
||||||
AltThree\Badger\BadgerServiceProvider::class,
|
AltThree\Badger\BadgerServiceProvider::class,
|
||||||
AltThree\Emoji\EmojiServiceProvider::class,
|
AltThree\Emoji\EmojiServiceProvider::class,
|
||||||
AltThree\Logger\LoggerServiceProvider::class,
|
|
||||||
AltThree\Twitter\TwitterServiceProvider::class,
|
AltThree\Twitter\TwitterServiceProvider::class,
|
||||||
BackupManager\Laravel\Laravel5ServiceProvider::class,
|
|
||||||
Barryvdh\Cors\ServiceProvider::class,
|
Barryvdh\Cors\ServiceProvider::class,
|
||||||
env('APP_DEBUG') ? Barryvdh\Debugbar\ServiceProvider::class : null,
|
env('APP_DEBUG') ? Barryvdh\Debugbar\ServiceProvider::class : null,
|
||||||
Fideloper\Proxy\TrustedProxyServiceProvider::class,
|
|
||||||
GrahamCampbell\Binput\BinputServiceProvider::class,
|
GrahamCampbell\Binput\BinputServiceProvider::class,
|
||||||
GrahamCampbell\Exceptions\ExceptionsServiceProvider::class,
|
GrahamCampbell\Exceptions\ExceptionsServiceProvider::class,
|
||||||
GrahamCampbell\Markdown\MarkdownServiceProvider::class,
|
GrahamCampbell\Markdown\MarkdownServiceProvider::class,
|
||||||
@ -190,6 +187,7 @@ return [
|
|||||||
Laravolt\Avatar\ServiceProvider::class,
|
Laravolt\Avatar\ServiceProvider::class,
|
||||||
McCool\LaravelAutoPresenter\AutoPresenterServiceProvider::class,
|
McCool\LaravelAutoPresenter\AutoPresenterServiceProvider::class,
|
||||||
PragmaRX\Google2FA\Vendor\Laravel\ServiceProvider::class,
|
PragmaRX\Google2FA\Vendor\Laravel\ServiceProvider::class,
|
||||||
|
Spatie\Backup\BackupServiceProvider::class,
|
||||||
Roumen\Feed\FeedServiceProvider::class,
|
Roumen\Feed\FeedServiceProvider::class,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Cachet.
|
|
||||||
*
|
|
||||||
* (c) Alt Three Services Limited
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
return [
|
|
||||||
'local' => [
|
|
||||||
'type' => 'Local',
|
|
||||||
'root' => database_path('backups'),
|
|
||||||
],
|
|
||||||
's3' => [
|
|
||||||
'type' => 'AwsS3',
|
|
||||||
'key' => '',
|
|
||||||
'secret' => '',
|
|
||||||
'region' => 'us-east-1',
|
|
||||||
'bucket' => '',
|
|
||||||
'root' => '',
|
|
||||||
],
|
|
||||||
'gcs' => [
|
|
||||||
'type' => 'Gcs',
|
|
||||||
'key' => '',
|
|
||||||
'secret' => '',
|
|
||||||
'bucket' => '',
|
|
||||||
'root' => '',
|
|
||||||
],
|
|
||||||
'rackspace' => [
|
|
||||||
'type' => 'Rackspace',
|
|
||||||
'username' => '',
|
|
||||||
'key' => '',
|
|
||||||
'container' => '',
|
|
||||||
'zone' => '',
|
|
||||||
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
|
|
||||||
'root' => '',
|
|
||||||
],
|
|
||||||
'dropbox' => [
|
|
||||||
'type' => 'Dropbox',
|
|
||||||
'token' => '',
|
|
||||||
'key' => '',
|
|
||||||
'secret' => '',
|
|
||||||
'app' => '',
|
|
||||||
'root' => '',
|
|
||||||
],
|
|
||||||
'ftp' => [
|
|
||||||
'type' => 'Ftp',
|
|
||||||
'host' => '',
|
|
||||||
'username' => '',
|
|
||||||
'password' => '',
|
|
||||||
'port' => 21,
|
|
||||||
'passive' => true,
|
|
||||||
'ssl' => true,
|
|
||||||
'timeout' => 30,
|
|
||||||
'root' => '',
|
|
||||||
],
|
|
||||||
'sftp' => [
|
|
||||||
'type' => 'Sftp',
|
|
||||||
'host' => '',
|
|
||||||
'username' => '',
|
|
||||||
'password' => '',
|
|
||||||
'port' => 21,
|
|
||||||
'timeout' => 10,
|
|
||||||
'privateKey' => '',
|
|
||||||
'root' => '',
|
|
||||||
],
|
|
||||||
];
|
|
196
config/backup.php
Normal file
196
config/backup.php
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Cachet.
|
||||||
|
*
|
||||||
|
* (c) Alt Three Services Limited
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
'backup' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The name of this application. You can use this name to monitor
|
||||||
|
* the backups.
|
||||||
|
*/
|
||||||
|
'name' => config('app.name'),
|
||||||
|
|
||||||
|
'source' => [
|
||||||
|
|
||||||
|
'files' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The list of directories and files that will be included in the backup.
|
||||||
|
*/
|
||||||
|
'include' => [
|
||||||
|
base_path(),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These directories and files will be excluded from the backup.
|
||||||
|
*
|
||||||
|
* Directories used by the backup process will automatically be excluded.
|
||||||
|
*/
|
||||||
|
'exclude' => [
|
||||||
|
base_path('vendor'),
|
||||||
|
base_path('node_modules'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Determines if symlinks should be followed.
|
||||||
|
*/
|
||||||
|
'followLinks' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The names of the connections to the databases that should be backed up
|
||||||
|
* MySQL, PostgreSQL, SQLite and Mongo databases are supported.
|
||||||
|
*/
|
||||||
|
'databases' => [
|
||||||
|
'mysql',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The database dump can be gzipped to decrease diskspace usage.
|
||||||
|
*/
|
||||||
|
'gzip_database_dump' => false,
|
||||||
|
|
||||||
|
'destination' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The filename prefix used for the backup zip file.
|
||||||
|
*/
|
||||||
|
'filename_prefix' => '',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The disk names on which the backups will be stored.
|
||||||
|
*/
|
||||||
|
'disks' => [
|
||||||
|
'database',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The directory where the temporary files will be stored.
|
||||||
|
*/
|
||||||
|
'temporary_directory' => storage_path('app/backup-temp'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
|
||||||
|
* For Slack you need to install guzzlehttp/guzzle.
|
||||||
|
*
|
||||||
|
* You can also use your own notification classes, just make sure the class is named after one of
|
||||||
|
* the `Spatie\Backup\Events` classes.
|
||||||
|
*/
|
||||||
|
'notifications' => [
|
||||||
|
|
||||||
|
'notifications' => [
|
||||||
|
\Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail'],
|
||||||
|
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail'],
|
||||||
|
\Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail'],
|
||||||
|
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail'],
|
||||||
|
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail'],
|
||||||
|
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['mail'],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Here you can specify the notifiable to which the notifications should be sent. The default
|
||||||
|
* notifiable will use the variables specified in this config file.
|
||||||
|
*/
|
||||||
|
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
|
||||||
|
|
||||||
|
'mail' => [
|
||||||
|
'to' => 'your@example.com',
|
||||||
|
],
|
||||||
|
|
||||||
|
'slack' => [
|
||||||
|
'webhook_url' => '',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If this is set to null the default channel of the webhook will be used.
|
||||||
|
*/
|
||||||
|
'channel' => null,
|
||||||
|
|
||||||
|
'username' => null,
|
||||||
|
|
||||||
|
'icon' => null,
|
||||||
|
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Here you can specify which backups should be monitored.
|
||||||
|
* If a backup does not meet the specified requirements the
|
||||||
|
* UnHealthyBackupWasFound event will be fired.
|
||||||
|
*/
|
||||||
|
'monitorBackups' => [
|
||||||
|
[
|
||||||
|
'name' => config('app.name'),
|
||||||
|
'disks' => ['local'],
|
||||||
|
'newestBackupsShouldNotBeOlderThanDays' => 1,
|
||||||
|
'storageUsedMayNotBeHigherThanMegabytes' => 5000,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
[
|
||||||
|
'name' => 'name of the second app',
|
||||||
|
'disks' => ['local', 's3'],
|
||||||
|
'newestBackupsShouldNotBeOlderThanDays' => 1,
|
||||||
|
'storageUsedMayNotBeHigherThanMegabytes' => 5000,
|
||||||
|
],
|
||||||
|
*/
|
||||||
|
],
|
||||||
|
|
||||||
|
'cleanup' => [
|
||||||
|
/*
|
||||||
|
* The strategy that will be used to cleanup old backups. The default strategy
|
||||||
|
* will keep all backups for a certain amount of days. After that period only
|
||||||
|
* a daily backup will be kept. After that period only weekly backups will
|
||||||
|
* be kept and so on.
|
||||||
|
*
|
||||||
|
* No matter how you configure it the default strategy will never
|
||||||
|
* delete the newest backup.
|
||||||
|
*/
|
||||||
|
'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
|
||||||
|
|
||||||
|
'defaultStrategy' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The number of days for which backups must be kept.
|
||||||
|
*/
|
||||||
|
'keepAllBackupsForDays' => 7,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The number of days for which daily backups must be kept.
|
||||||
|
*/
|
||||||
|
'keepDailyBackupsForDays' => 16,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The number of weeks for which one weekly backup must be kept.
|
||||||
|
*/
|
||||||
|
'keepWeeklyBackupsForWeeks' => 8,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The number of months for which one monthly backup must be kept.
|
||||||
|
*/
|
||||||
|
'keepMonthlyBackupsForMonths' => 4,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The number of years for which one yearly backup must be kept.
|
||||||
|
*/
|
||||||
|
'keepYearlyBackupsForYears' => 2,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* After cleaning up the backups remove the oldest backup until
|
||||||
|
* this amount of megabytes has been reached.
|
||||||
|
*/
|
||||||
|
'deleteOldestBackupsWhenUsingMoreMegabytesThan' => 5000,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
@ -57,6 +57,11 @@ return [
|
|||||||
'root' => storage_path('app'),
|
'root' => storage_path('app'),
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'database' => [
|
||||||
|
'driver' => 'local',
|
||||||
|
'root' => database_path('backups'),
|
||||||
|
],
|
||||||
|
|
||||||
'public' => [
|
'public' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('app/public'),
|
'root' => storage_path('app/public'),
|
||||||
|
61
config/hashing.php
Normal file
61
config/hashing.php
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Cachet.
|
||||||
|
*
|
||||||
|
* (c) Alt Three Services Limited
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Hash Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default hash driver that will be used to hash
|
||||||
|
| passwords for your application. By default, the bcrypt algorithm is
|
||||||
|
| used; however, you remain free to modify this option if you wish.
|
||||||
|
|
|
||||||
|
| Supported: "bcrypt", "argon"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => 'bcrypt',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Bcrypt Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the configuration options that should be used when
|
||||||
|
| passwords are hashed using the Bcrypt algorithm. This will allow you
|
||||||
|
| to control the amount of time it takes to hash the given password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'bcrypt' => [
|
||||||
|
'rounds' => env('BCRYPT_ROUNDS', 10),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Argon Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the configuration options that should be used when
|
||||||
|
| passwords are hashed using the Argon algorithm. These will allow you
|
||||||
|
| to control the amount of time it takes to hash the given password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'argon' => [
|
||||||
|
'memory' => 1024,
|
||||||
|
'threads' => 2,
|
||||||
|
'time' => 2,
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
@ -1,27 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Cachet.
|
|
||||||
*
|
|
||||||
* (c) Alt Three Services Limited
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
return [
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Loggers
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Here are each of the loggers to call under the hood while logging.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'loggers' => [
|
|
||||||
'Illuminate\Log\Writer' => ['warning', 'error', 'critical', 'alert', 'emergency'],
|
|
||||||
],
|
|
||||||
|
|
||||||
];
|
|
90
config/logging.php
Normal file
90
config/logging.php
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Cachet.
|
||||||
|
*
|
||||||
|
* (c) Alt Three Services Limited
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
use Monolog\Handler\StreamHandler;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Log Channel
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option defines the default log channel that gets used when writing
|
||||||
|
| messages to the logs. The name specified in this option should match
|
||||||
|
| one of the channels defined in the "channels" configuration array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('LOG_CHANNEL', 'stack'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log Channels
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure the log channels for your application. Out of
|
||||||
|
| the box, Laravel uses the Monolog PHP logging library. This gives
|
||||||
|
| you a variety of powerful log handlers / formatters to utilize.
|
||||||
|
|
|
||||||
|
| Available Drivers: "single", "daily", "slack", "syslog",
|
||||||
|
| "errorlog", "monolog",
|
||||||
|
| "custom", "stack"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'channels' => [
|
||||||
|
'stack' => [
|
||||||
|
'driver' => 'stack',
|
||||||
|
'channels' => ['single'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'single' => [
|
||||||
|
'driver' => 'single',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => 'debug',
|
||||||
|
],
|
||||||
|
|
||||||
|
'daily' => [
|
||||||
|
'driver' => 'daily',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => 'debug',
|
||||||
|
'days' => 7,
|
||||||
|
],
|
||||||
|
|
||||||
|
'slack' => [
|
||||||
|
'driver' => 'slack',
|
||||||
|
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||||
|
'username' => 'Laravel Log',
|
||||||
|
'emoji' => ':boom:',
|
||||||
|
'level' => 'critical',
|
||||||
|
],
|
||||||
|
|
||||||
|
'stderr' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'handler' => StreamHandler::class,
|
||||||
|
'with' => [
|
||||||
|
'stream' => 'php://stderr',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'syslog' => [
|
||||||
|
'driver' => 'syslog',
|
||||||
|
'level' => 'debug',
|
||||||
|
],
|
||||||
|
|
||||||
|
'errorlog' => [
|
||||||
|
'driver' => 'errorlog',
|
||||||
|
'level' => 'debug',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Cachet.
|
|
||||||
*
|
|
||||||
* (c) Alt Three Services Limited
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
return [
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Trusted Proxies
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Set trusted proxy IP addresses. Both IPv4 and IPv6 addresses are
|
|
||||||
| supported, along with CIDR notation. The "*" character is syntactic sugar
|
|
||||||
| within TrustedProxy to trust any proxy; a requirement when you cannot
|
|
||||||
| know the address of your proxy (e.g. if using Rackspace balancers).
|
|
||||||
|
|
|
||||||
| By default, we are trusting local IPs and CloudFlare only.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'proxies' => empty(env('TRUSTED_PROXIES')) ? '*' : explode(',', trim(env('TRUSTED_PROXIES'))),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Respected Headers
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Change these if the proxy does not send the default header names. Note
|
|
||||||
| that headers such as X-Forwarded-For are transformed to
|
|
||||||
| HTTP_X_FORWARDED_FOR format.
|
|
||||||
|
|
|
||||||
| By default, we are using the Symfony defaults.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'headers' => [
|
|
||||||
Request::HEADER_CLIENT_IP => 'X_FORWARDED_FOR',
|
|
||||||
Request::HEADER_CLIENT_HOST => 'X_FORWARDED_HOST',
|
|
||||||
Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
|
|
||||||
Request::HEADER_CLIENT_PORT => 'X_FORWARDED_PORT',
|
|
||||||
],
|
|
||||||
|
|
||||||
];
|
|
@ -65,7 +65,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<input type="hidden" name="component[user_id]" value="{{ $component->agent_id || $current_user->id }}">
|
<input type="hidden" name="component[user_id]" value="{{ $component->agent_id || $currentUser->id }}">
|
||||||
<input type="hidden" name="component[order]" value="{{ $component->order ?: 0 }}">
|
<input type="hidden" name="component[order]" value="{{ $component->order ?: 0 }}">
|
||||||
|
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header">
|
<div class="header sub-header">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header">
|
<div class="header sub-header">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@if(!$notifications_enabled)
|
@if(!$notificationsEnabled)
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
{{ trans('forms.incidents.notify_disabled') }}
|
{{ trans('forms.incidents.notify_disabled') }}
|
||||||
</div>
|
</div>
|
||||||
@ -23,12 +23,12 @@
|
|||||||
<form class="form-vertical" name="IncidentForm" role="form" method="POST" autocomplete="off">
|
<form class="form-vertical" name="IncidentForm" role="form" method="POST" autocomplete="off">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@if($incident_templates->count() > 0)
|
@if($incidentTemplates->count() > 0)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="incident-template">{{ trans('forms.incidents.templates.template') }}</label>
|
<label for="incident-template">{{ trans('forms.incidents.templates.template') }}</label>
|
||||||
<select class="form-control" name="template" v-model="template">
|
<select class="form-control" name="template" v-model="template">
|
||||||
<option selected></option>
|
<option selected></option>
|
||||||
@foreach($incident_templates as $tpl)
|
@foreach($incidentTemplates as $tpl)
|
||||||
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -75,19 +75,19 @@
|
|||||||
<option value="0" selected>{{ trans('forms.incidents.not_stickied') }}</option>
|
<option value="0" selected>{{ trans('forms.incidents.not_stickied') }}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@if(!$components_in_groups->isEmpty() || !$components_out_groups->isEmpty())
|
@if(!$componentsInGroups->isEmpty() || !$componentsOutGroups->isEmpty())
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.incidents.component') }}</label> <small class="text-muted">{{ trans('forms.optional') }}</small>
|
<label>{{ trans('forms.incidents.component') }}</label> <small class="text-muted">{{ trans('forms.optional') }}</small>
|
||||||
<select name="component_id" class="form-control" v-model="component.id">
|
<select name="component_id" class="form-control" v-model="component.id">
|
||||||
<option value="" selected></option>
|
<option value="" selected></option>
|
||||||
@foreach($components_in_groups as $group)
|
@foreach($componentsInGroups as $group)
|
||||||
<optgroup label="{{ $group->name }}">
|
<optgroup label="{{ $group->name }}">
|
||||||
@foreach($group->components as $component)
|
@foreach($group->components as $component)
|
||||||
<option value="{{ $component->id }}">{{ $component->name }}</option>
|
<option value="{{ $component->id }}">{{ $component->name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</optgroup>
|
</optgroup>
|
||||||
@endforeach
|
@endforeach
|
||||||
@foreach($components_out_groups as $component)
|
@foreach($componentsOutGroups as $component)
|
||||||
<option value="{{ $component->id }}">{{ $component->name }}</option>
|
<option value="{{ $component->id }}">{{ $component->name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -120,7 +120,7 @@
|
|||||||
<label>{{ trans('forms.incidents.occurred_at') }}</label> <small class="text-muted">{{ trans('forms.optional') }}</small>
|
<label>{{ trans('forms.incidents.occurred_at') }}</label> <small class="text-muted">{{ trans('forms.optional') }}</small>
|
||||||
<input type="text" name="occurred_at" class="form-control" rel="datepicker-custom" data-date-format="YYYY-MM-DD HH:mm" placeholder="{{ trans('forms.optional') }}">
|
<input type="text" name="occurred_at" class="form-control" rel="datepicker-custom" data-date-format="YYYY-MM-DD HH:mm" placeholder="{{ trans('forms.optional') }}">
|
||||||
</div>
|
</div>
|
||||||
@if($notifications_enabled)
|
@if($notificationsEnabled)
|
||||||
<input type="hidden" name="notify" value="0">
|
<input type="hidden" name="notify" value="0">
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@if(!$notifications_enabled)
|
@if(!$notificationsEnabled)
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
{{ trans('forms.incidents.notify_disabled') }}
|
{{ trans('forms.incidents.notify_disabled') }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header">
|
<div class="header sub-header">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@if(!$notifications_enabled)
|
@if(!$notificationsEnabled)
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
{{ trans('forms.incidents.notify_disabled') }}
|
{{ trans('forms.incidents.notify_disabled') }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@if(!$notifications_enabled)
|
@if(!$notificationsEnabled)
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
{{ trans('forms.incidents.notify_disabled') }}
|
{{ trans('forms.incidents.notify_disabled') }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
@extends('layout.dashboard')
|
@extends('layout.dashboard')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div>
|
<dashboard inline-template :welcome-user="{{ $welcomeUser ? 'true' : 'false' }}">
|
||||||
<div class="header">
|
<div>
|
||||||
<div class="sidebar-toggler visible-xs">
|
<div class="header">
|
||||||
<i class="ion ion-navicon"></i>
|
<div class="sidebar-toggler visible-xs">
|
||||||
|
<i class="ion ion-navicon"></i>
|
||||||
|
</div>
|
||||||
|
<span class="uppercase">
|
||||||
|
<i class="ion ion-speedometer"></i> {{ trans('dashboard.dashboard') }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
<i class="ion ion-speedometer"></i> {{ trans('dashboard.dashboard') }}
|
<i class="ion ion-speedometer"></i> {{ trans('dashboard.dashboard') }}
|
||||||
@ -20,7 +25,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="section-components no-select">
|
<div class="section-components no-select">
|
||||||
@if(!$component_groups->isEmpty() || !$ungrouped_components->isEmpty())
|
@if(!$componentGroups->isEmpty() || !$ungroupedComponents->isEmpty())
|
||||||
@include('dashboard.partials.components')
|
@include('dashboard.partials.components')
|
||||||
@else
|
@else
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
@ -87,7 +92,7 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
@includeWhen($welcomeUser, 'dashboard.partials.welcome-modal')
|
||||||
</div>
|
</div>
|
||||||
@includeWhen($welcome_user, 'dashboard.partials.welcome-modal')
|
|
||||||
</div>
|
</div>
|
||||||
@stop
|
@stop
|
||||||
|
@ -17,12 +17,12 @@
|
|||||||
<form class="form-vertical" name="ScheduleForm" role="form" method="POST" autocomplete="off">
|
<form class="form-vertical" name="ScheduleForm" role="form" method="POST" autocomplete="off">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@if($incident_templates->count() > 0)
|
@if($incidentTemplates->count() > 0)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="incident-template">{{ trans('forms.schedules.templates.template') }}</label>
|
<label for="incident-template">{{ trans('forms.schedules.templates.template') }}</label>
|
||||||
<select class="form-control" name="template">
|
<select class="form-control" name="template">
|
||||||
<option selected></option>
|
<option selected></option>
|
||||||
@foreach($incident_templates as $tpl)
|
@foreach($incidentTemplates as $tpl)
|
||||||
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
@ -18,12 +18,12 @@
|
|||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||||
<input type="hidden" name="visible" value="1">
|
<input type="hidden" name="visible" value="1">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@if($incident_templates->count() > 0)
|
@if($incidentTemplates->count() > 0)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="incident-template">{{ trans('forms.schedules.templates.template') }}</label>
|
<label for="incident-template">{{ trans('forms.schedules.templates.template') }}</label>
|
||||||
<select class="form-control" name="template">
|
<select class="form-control" name="template">
|
||||||
<option selected></option>
|
<option selected></option>
|
||||||
@foreach($incident_templates as $tpl)
|
@foreach($incidentTemplates as $tpl)
|
||||||
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header">
|
<div class="header sub-header">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="metric-places">{{ trans('forms.metrics.threshold') }}</label>
|
<label for="metric-places">{{ trans('forms.metrics.threshold') }}</label>
|
||||||
<select name="metric[threshold]" class="form-control" required>
|
<select name="metric[threshold]" class="form-control" required>
|
||||||
@foreach ($acceptable_thresholds as $threshold)
|
@foreach ($acceptableThresholds as $threshold)
|
||||||
<option {{ (int) Binput::old('metric.threshold') === $threshold ? 'selected' : null }}>{{ $threshold }}</option>
|
<option {{ (int) Binput::old('metric.threshold') === $threshold ? 'selected' : null }}>{{ $threshold }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="metric-places">{{ trans('forms.metrics.threshold') }}</label>
|
<label for="metric-places">{{ trans('forms.metrics.threshold') }}</label>
|
||||||
<select name="threshold" class="form-control" required>
|
<select name="threshold" class="form-control" required>
|
||||||
@foreach ($acceptable_thresholds as $threshold)
|
@foreach ($acceptableThresholds as $threshold)
|
||||||
<option {{ (int) Binput::old('metric.threshold') === $threshold || $metric->threshold === $threshold ? 'selected' : null }}>{{ $threshold }}</option>
|
<option {{ (int) Binput::old('metric.threshold') === $threshold || $metric->threshold === $threshold ? 'selected' : null }}>{{ $threshold }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@if($component_groups->count() > 0)
|
@if($componentGroups->count() > 0)
|
||||||
@foreach($component_groups as $componentGroup)
|
@foreach($componentGroups as $componentGroup)
|
||||||
@if($componentGroup->enabled_components->count() > 0)
|
@if($componentGroup->enabled_components->count() > 0)
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
<li class="list-group-item group-name">
|
<li class="list-group-item group-name">
|
||||||
@ -16,14 +16,14 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($ungrouped_components->count() > 0)
|
@if($ungroupedComponents->count() > 0)
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
@if($component_groups->count() > 0)
|
@if($componentGroups->count() > 0)
|
||||||
<li class="list-group-item group-name">
|
<li class="list-group-item group-name">
|
||||||
<span class="component-group-other">{{ trans('cachet.components.group.other') }}</span>
|
<span class="component-group-other">{{ trans('cachet.components.group.other') }}</span>
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
@foreach($ungrouped_components as $component)
|
@foreach($ungroupedComponents as $component)
|
||||||
@include('dashboard.partials.component', compact($component))
|
@include('dashboard.partials.component', compact($component))
|
||||||
@endforeach
|
@endforeach
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
<div class="sidebar-inner">
|
<div class="sidebar-inner">
|
||||||
<div class="profile">
|
<div class="profile">
|
||||||
<a href="{{ cachet_route('dashboard.user') }}">
|
<a href="{{ cachet_route('dashboard.user') }}">
|
||||||
<span class="avatar"><img src="{{ $current_user->avatar }}"></span>
|
<span class="avatar"><img src="{{ $currentUser->avatar }}"></span>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ cachet_route('dashboard.user') }}">
|
<a href="{{ cachet_route('dashboard.user') }}">
|
||||||
<h4 class="username">{{ $current_user->username }}</h4>
|
<h4 class="username">{{ $currentUser->username }}</h4>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
@ -26,28 +26,28 @@
|
|||||||
<a href="{{ cachet_route('dashboard.incidents') }}">
|
<a href="{{ cachet_route('dashboard.incidents') }}">
|
||||||
<i class="ion ion-ios-information-outline"></i>
|
<i class="ion ion-ios-information-outline"></i>
|
||||||
<span>{{ trans('dashboard.incidents.incidents') }}</span>
|
<span>{{ trans('dashboard.incidents.incidents') }}</span>
|
||||||
<span class="label label-info">{{ $incident_count }}</span>
|
<span class="label label-info">{{ $incidentCount }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li {!! set_active('dashboard/templates*') !!}>
|
<li {!! set_active('dashboard/templates*') !!}>
|
||||||
<a href="{{ cachet_route('dashboard.templates') }}">
|
<a href="{{ cachet_route('dashboard.templates') }}">
|
||||||
<i class="ion ion-ios-paper-outline"></i>
|
<i class="ion ion-ios-paper-outline"></i>
|
||||||
<span>{{ trans('dashboard.incidents.incident-templates') }}</span>
|
<span>{{ trans('dashboard.incidents.incident-templates') }}</span>
|
||||||
<span class="label label-info">{{ $incident_template_count }}</span>
|
<span class="label label-info">{{ $incidentTemplateCount }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li {!! set_active('dashboard/schedule*') !!}>
|
<li {!! set_active('dashboard/schedule*') !!}>
|
||||||
<a href="{{ cachet_route('dashboard.schedule') }}">
|
<a href="{{ cachet_route('dashboard.schedule') }}">
|
||||||
<i class="ion ion-android-calendar"></i>
|
<i class="ion ion-android-calendar"></i>
|
||||||
<span>{{ trans('dashboard.schedule.schedule') }}</span>
|
<span>{{ trans('dashboard.schedule.schedule') }}</span>
|
||||||
<span class="label label-info">{{ $schedule_count }}</span>
|
<span class="label label-info">{{ $scheduleCount }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li {!! set_active('dashboard/components*') !!}>
|
<li {!! set_active('dashboard/components*') !!}>
|
||||||
<a href="{{ cachet_route('dashboard.components') }}">
|
<a href="{{ cachet_route('dashboard.components') }}">
|
||||||
<i class="ion ion-ios-browsers-outline"></i>
|
<i class="ion ion-ios-browsers-outline"></i>
|
||||||
<span>{{ trans('dashboard.components.components') }}</span>
|
<span>{{ trans('dashboard.components.components') }}</span>
|
||||||
<span class="label label-info">{{ $component_count }}</span>
|
<span class="label label-info">{{ $componentCount }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li {!! set_active('dashboard/metrics*') !!}>
|
<li {!! set_active('dashboard/metrics*') !!}>
|
||||||
@ -60,7 +60,7 @@
|
|||||||
<a href="{{ cachet_route('dashboard.subscribers') }}">
|
<a href="{{ cachet_route('dashboard.subscribers') }}">
|
||||||
<i class="ion ion-ios-email-outline"></i>
|
<i class="ion ion-ios-email-outline"></i>
|
||||||
<span>{{ trans('dashboard.subscribers.subscribers') }}</span>
|
<span>{{ trans('dashboard.subscribers.subscribers') }}</span>
|
||||||
<span class="label label-info">{{ $subscriber_count }}</span>
|
<span class="label label-info">{{ $subscriberCount }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li {!! set_active('dashboard/team*') !!}>
|
<li {!! set_active('dashboard/team*') !!}>
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
<div class="sidebar-toggler visible-xs">
|
<div class="sidebar-toggler visible-xs">
|
||||||
<i class="ion ion-navicon"></i>
|
<i class="ion ion-navicon"></i>
|
||||||
</div>
|
</div>
|
||||||
<h3>{{ $sub_title }}</h3>
|
<h3>{{ $subTitle }}</h3>
|
||||||
<hr>
|
<hr>
|
||||||
<ul class="menu">
|
<ul class="menu">
|
||||||
@foreach($sub_menu as $key => $item)
|
@foreach($subMenu as $key => $item)
|
||||||
<li><a href="{{ $item['url'] }}" class="{{ $item['active'] ? 'active' : null }}"><i class="ion {{ $item['icon'] }}"></i> {{ $item['title'] }}</a></li>
|
<li><a href="{{ $item['url'] }}" class="{{ $item['active'] ? 'active' : null }}"><i class="ion {{ $item['icon'] }}"></i> {{ $item['title'] }}</a></li>
|
||||||
@endforeach
|
@endforeach
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<header>
|
<header>
|
||||||
{{ trans('dashboard.welcome.welcome', ['username' => $current_user->username]) }}
|
{{ trans('dashboard.welcome.welcome', ['username' => $currentUser->username]) }}
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.analytics.analytics_google') }}</label>
|
<label>{{ trans('forms.settings.analytics.analytics_google') }}</label>
|
||||||
<input type="text" name="app_analytics" class="form-control" value="{{ $app_analytics }}" placeholder="UA-12345-12">
|
<input type="text" name="app_analytics" class="form-control" value="{{ $appAnalytics }}" placeholder="UA-12345-12">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.analytics.analytics_gosquared') }}</label>
|
<label>{{ trans('forms.settings.analytics.analytics_gosquared') }}</label>
|
||||||
<input type="text" name="app_analytics_go_squared" class="form-control" value="{{ $app_analytics_go_squared }}" placeholder="GSN-12345-A">
|
<input type="text" name="app_analytics_go_squared" class="form-control" value="{{ $appAnalyticsGoSquared }}" placeholder="GSN-12345-A">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.analytics.analytics_piwik_url') }}</label>
|
<label>{{ trans('forms.settings.analytics.analytics_piwik_url') }}</label>
|
||||||
<input type="text" name="app_analytics_piwik_url" class="form-control" value="{{ $app_analytics_piwik_url }}" placeholder="{{ trans('forms.settings.analytics.analytics_piwik_url') }}">
|
<input type="text" name="app_analytics_piwik_url" class="form-control" value="{{ $appAnalyticsPiwikURL }}" placeholder="{{ trans('forms.settings.analytics.analytics_piwik_url') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.analytics.analytics_piwik_siteid') }}</label>
|
<label>{{ trans('forms.settings.analytics.analytics_piwik_siteid') }}</label>
|
||||||
<input type="number" min="1" max="100" name="app_analytics_piwik_site_id" class="form-control" value="{{ $app_analytics_piwik_site_id }}" placeholder="{{ trans('forms.settings.analytics.analytics_piwik_siteid') }}">
|
<input type="number" min="1" max="100" name="app_analytics_piwik_site_id" class="form-control" value="{{ $appAnalyticsPiwikSiteID }}" placeholder="{{ trans('forms.settings.analytics.analytics_piwik_siteid') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.app-setup.site-name') }}</label>
|
<label>{{ trans('forms.settings.app-setup.site-name') }}</label>
|
||||||
<input type="text" class="form-control" name="app_name" value="{{ $app_name }}" required placeholder="{{ trans('forms.settings.app-setup.site-name') }}">
|
<input type="text" class="form-control" name="app_name" value="{{ $appName }}" required placeholder="{{ trans('forms.settings.app-setup.site-name') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.app-setup.site-url') }}</label>
|
<label>{{ trans('forms.settings.app-setup.site-url') }}</label>
|
||||||
<input type="text" class="form-control" name="app_domain" value="{{ $app_domain }}" required placeholder="{{ trans('forms.settings.app-setup.site-url') }}">
|
<input type="text" class="form-control" name="app_domain" value="{{ $appDomain }}" required placeholder="{{ trans('forms.settings.app-setup.site-url') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.app-setup.about-this-page') }}</label>
|
<label>{{ trans('forms.settings.app-setup.about-this-page') }}</label>
|
||||||
<div class='markdown-control'>
|
<div class='markdown-control'>
|
||||||
<textarea name="app_about" class="form-control autosize" rows="4" placeholder="{{ trans('forms.settings.app-setup.about-this-page') }}">{{ $raw_app_about }}</textarea>
|
<textarea name="app_about" class="form-control autosize" rows="4" placeholder="{{ trans('forms.settings.app-setup.about-this-page') }}">{{ $rawAppAbout }}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -103,7 +103,7 @@
|
|||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="display_graphs">
|
<input type="hidden" value="0" name="display_graphs">
|
||||||
<input type="checkbox" value="1" name="display_graphs" {{ $app_graphs ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="display_graphs" {{ $appGraphs ? 'checked' : null }}>
|
||||||
{{ trans('forms.settings.app-setup.display-graphs') }}
|
{{ trans('forms.settings.app-setup.display-graphs') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -114,7 +114,7 @@
|
|||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="show_support">
|
<input type="hidden" value="0" name="show_support">
|
||||||
<input type="checkbox" value="1" name="show_support" {{ $show_support ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="show_support" {{ $showSupport ? 'checked' : null }}>
|
||||||
{{ trans('setup.show_support') }}
|
{{ trans('setup.show_support') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -125,7 +125,7 @@
|
|||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="enable_external_dependencies">
|
<input type="hidden" value="0" name="enable_external_dependencies">
|
||||||
<input type="checkbox" value="1" name="enable_external_dependencies" {{ $enable_external_dependencies ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="enable_external_dependencies" {{ $enableExternalDependencies ? 'checked' : null }}>
|
||||||
{{ trans('forms.settings.app-setup.enable_external_dependencies') }}
|
{{ trans('forms.settings.app-setup.enable_external_dependencies') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -136,7 +136,7 @@
|
|||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="show_timezone">
|
<input type="hidden" value="0" name="show_timezone">
|
||||||
<input type="checkbox" value="1" name="show_timezone" {{ $show_timezone ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="show_timezone" {{ $showTimezone ? 'checked' : null }}>
|
||||||
{{ trans('forms.settings.app-setup.show_timezone') }}
|
{{ trans('forms.settings.app-setup.show_timezone') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -147,7 +147,7 @@
|
|||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="only_disrupted_days">
|
<input type="hidden" value="0" name="only_disrupted_days">
|
||||||
<input type="checkbox" value="1" name="only_disrupted_days" {{ $only_disrupted_days ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="only_disrupted_days" {{ $onlyDisruptedDays ? 'checked' : null }}>
|
||||||
{{ trans('forms.settings.app-setup.only_disrupted_days') }}
|
{{ trans('forms.settings.app-setup.only_disrupted_days') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
@ -63,7 +63,7 @@
|
|||||||
<select name="app_locale" class="form-control" required>
|
<select name="app_locale" class="form-control" required>
|
||||||
<option value="">Select Language</option>
|
<option value="">Select Language</option>
|
||||||
@foreach($langs as $key => $lang)
|
@foreach($langs as $key => $lang)
|
||||||
<option value="{{ $key }}" @if($app_locale === $key) selected @endif>
|
<option value="{{ $key }}" @if($appLocale === $key) selected @endif>
|
||||||
{{ $lang['name'] }}
|
{{ $lang['name'] }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@ -76,7 +76,7 @@
|
|||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="automatic_localization">
|
<input type="hidden" value="0" name="automatic_localization">
|
||||||
<input type="checkbox" value="1" name="automatic_localization" {{ $automatic_localization ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="automatic_localization" {{ $automaticLocalization ? 'checked' : null }}>
|
||||||
{{ trans('forms.settings.app-setup.automatic_localization') }}
|
{{ trans('forms.settings.app-setup.automatic_localization') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="application-setup">
|
<div class="header sub-header" id="application-setup">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<label>{{ trans('forms.setup.mail_driver') }}</label>
|
<label>{{ trans('forms.setup.mail_driver') }}</label>
|
||||||
<select name="config[mail_driver]" class="form-control" required>
|
<select name="config[mail_driver]" class="form-control" required>
|
||||||
<option disabled>{{ trans('forms.setup.mail_driver') }}</option>
|
<option disabled>{{ trans('forms.setup.mail_driver') }}</option>
|
||||||
@foreach($mail_drivers as $driver => $driverName)
|
@foreach($mailDrivers as $driver => $driverName)
|
||||||
<option value="{{ $driver }}" {{ Binput::old('config.mail_driver', $config['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
<option value="{{ $driver }}" {{ Binput::old('config.mail_driver', $config['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="security">
|
<div class="header sub-header" id="security">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
@ -48,13 +48,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if(!$unsecure_users->isEmpty())
|
@if(!$unsecureUsers->isEmpty())
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="panel panel-danger">
|
<div class="panel panel-danger">
|
||||||
<div class="panel-heading">{{ trans('dashboard.settings.security.two-factor') }}</div>
|
<div class="panel-heading">{{ trans('dashboard.settings.security.two-factor') }}</div>
|
||||||
<div class="list-group">
|
<div class="list-group">
|
||||||
@foreach($unsecure_users as $user)
|
@foreach($unsecureUsers as $user)
|
||||||
<div class="list-group-item">
|
<div class="list-group-item">
|
||||||
<strong>{{ $user->username }}</strong>
|
<strong>{{ $user->username }}</strong>
|
||||||
<span class="label label-danger pull-right"><i class="ion ion-ios-unlocked"></i></span>
|
<span class="label label-danger pull-right"><i class="ion ion-ios-unlocked"></i></span>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="stylesheet">
|
<div class="header sub-header" id="stylesheet">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-panel">
|
<div class="content-panel">
|
||||||
@includeWhen(isset($sub_menu), 'dashboard.partials.sub-sidebar')
|
@includeWhen(isset($subMenu), 'dashboard.partials.sub-sidebar')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="header sub-header" id="theme">
|
<div class="header sub-header" id="theme">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
@ -18,9 +18,9 @@
|
|||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.app-setup.banner') }}</label>
|
<label>{{ trans('forms.settings.app-setup.banner') }}</label>
|
||||||
@if($app_banner)
|
@if($appBanner)
|
||||||
<div id="banner-view" class="well">
|
<div id="banner-view" class="well">
|
||||||
<img src="data:{{ $app_banner_type }};base64,{{ $app_banner }}" style="max-width: 100%">
|
<img src="data:{{ $app_banner_type }};base64,{{ $appBanner }}" style="max-width: 100%">
|
||||||
<br><br>
|
<br><br>
|
||||||
<button id="remove-banner" class="btn btn-danger">{{ trans('forms.remove') }}</button>
|
<button id="remove-banner" class="btn btn-danger">{{ trans('forms.remove') }}</button>
|
||||||
</div>
|
</div>
|
||||||
@ -37,13 +37,13 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.background-color') }}</label>
|
<label>{{ trans('forms.settings.theme.background-color') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.background_color" value="{{ $theme_background_color }}" placeholder="{{ trans('forms.settings.theme.background-color') }}">
|
<input type="text" class="form-control color-code" name="style.background_color" value="{{ $themeBackgroundColor }}" placeholder="{{ trans('forms.settings.theme.background-color') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.text-color') }}</label>
|
<label>{{ trans('forms.settings.theme.text-color') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.text_color" value="{{ $theme_text_color }}" placeholder="{{ trans('forms.settings.theme.text-color') }}">
|
<input type="text" class="form-control color-code" name="style.text_color" value="{{ $themeTextColor }}" placeholder="{{ trans('forms.settings.theme.text-color') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -52,20 +52,20 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.banner-background-color') }}</label>
|
<label>{{ trans('forms.settings.theme.banner-background-color') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.banner_background_color" value="{{ $theme_banner_background_color }}" placeholder="{{ trans('forms.settings.theme.banner-background-color') }}">
|
<input type="text" class="form-control color-code" name="style.banner_background_color" value="{{ $themeBannerBackgroundColor }}" placeholder="{{ trans('forms.settings.theme.banner-background-color') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.banner-padding') }}</label>
|
<label>{{ trans('forms.settings.theme.banner-padding') }}</label>
|
||||||
<input type="text" class="form-control" name="style.banner_padding" value="{{ $theme_banner_padding }}" placeholder="{{ trans('forms.settings.theme.banner-padding') }}">
|
<input type="text" class="form-control" name="style.banner_padding" value="{{ $themeBannerPadding }}" placeholder="{{ trans('forms.settings.theme.banner-padding') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="hidden" value="0" name="style.fullwidth_header">
|
<input type="hidden" value="0" name="style.fullwidth_header">
|
||||||
<input type="checkbox" value="1" name="style.fullwidth_header" {{ $app_banner_style_full_width ? 'checked' : null }}>
|
<input type="checkbox" value="1" name="style.fullwidth_header" {{ $appBannerStyleFullWidth ? 'checked' : null }}>
|
||||||
{{ trans('forms.settings.theme.fullwidth-banner') }}
|
{{ trans('forms.settings.theme.fullwidth-banner') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -76,13 +76,13 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.reds') }}</label>
|
<label>{{ trans('forms.settings.theme.reds') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.reds" value="{{ $theme_reds }}" placeholder="{{ trans('forms.settings.theme.reds') }}">
|
<input type="text" class="form-control color-code" name="style.reds" value="{{ $themeReds }}" placeholder="{{ trans('forms.settings.theme.reds') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.blues') }}</label>
|
<label>{{ trans('forms.settings.theme.blues') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.blues" value="{{ $theme_blues }}" placeholder="{{ trans('forms.settings.theme.blues') }}">
|
<input type="text" class="form-control color-code" name="style.blues" value="{{ $themeBlues }}" placeholder="{{ trans('forms.settings.theme.blues') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -90,13 +90,13 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.greens') }}</label>
|
<label>{{ trans('forms.settings.theme.greens') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.greens" value="{{ $theme_greens }}" placeholder="{{ trans('forms.settings.theme.greens') }}">
|
<input type="text" class="form-control color-code" name="style.greens" value="{{ $themeGreens }}" placeholder="{{ trans('forms.settings.theme.greens') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.yellows') }}</label>
|
<label>{{ trans('forms.settings.theme.yellows') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.yellows" value="{{ $theme_yellows }}" placeholder="{{ trans('forms.settings.theme.yellows') }}">
|
<input type="text" class="form-control color-code" name="style.yellows" value="{{ $themeYellows }}" placeholder="{{ trans('forms.settings.theme.yellows') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -104,13 +104,13 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.oranges') }}</label>
|
<label>{{ trans('forms.settings.theme.oranges') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.oranges" value="{{ $theme_oranges }}" placeholder="{{ trans('forms.settings.theme.oranges') }}">
|
<input type="text" class="form-control color-code" name="style.oranges" value="{{ $themeOranges }}" placeholder="{{ trans('forms.settings.theme.oranges') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.metrics') }}</label>
|
<label>{{ trans('forms.settings.theme.metrics') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.metrics" value="{{ $theme_metrics }}" placeholder="{{ trans('forms.settings.theme.metrics') }}">
|
<input type="text" class="form-control color-code" name="style.metrics" value="{{ $themeMetrics }}" placeholder="{{ trans('forms.settings.theme.metrics') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -118,13 +118,13 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.links') }}</label>
|
<label>{{ trans('forms.settings.theme.links') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.links" value="{{ $theme_links }}" placeholder="{{ trans('forms.settings.theme.links') }}">
|
<input type="text" class="form-control color-code" name="style.links" value="{{ $themeLinks }}" placeholder="{{ trans('forms.settings.theme.links') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.settings.theme.background-fills') }}</label>
|
<label>{{ trans('forms.settings.theme.background-fills') }}</label>
|
||||||
<input type="text" class="form-control color-code" name="style.background_fills" value="{{ $theme_background_fills }}" placeholder="{{ trans('forms.settings.theme.background-fills') }}">
|
<input type="text" class="form-control color-code" name="style.background_fills" value="{{ $themeBackgroundFills }}" placeholder="{{ trans('forms.settings.theme.background-fills') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
<i class="ion ion-ios-email-outline"></i> {{ trans('dashboard.subscribers.subscribers') }}
|
<i class="ion ion-ios-email-outline"></i> {{ trans('dashboard.subscribers.subscribers') }}
|
||||||
</span>
|
</span>
|
||||||
@if($current_user->isAdmin && $enable_subscribers)
|
@if($currentUser->isAdmin && $enableSubscribers)
|
||||||
<a class="btn btn-md btn-success pull-right" href="{{ cachet_route('dashboard.subscribers.create') }}">
|
<a class="btn btn-md btn-success pull-right" href="{{ cachet_route('dashboard.subscribers.create') }}">
|
||||||
{{ trans('dashboard.subscribers.add.title') }}
|
{{ trans('dashboard.subscribers.add.title') }}
|
||||||
</a>
|
</a>
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<p class="lead">
|
<p class="lead">
|
||||||
@if($enable_subscribers)
|
@if($enableSubscribers)
|
||||||
{{ trans('dashboard.subscribers.description') }}
|
{{ trans('dashboard.subscribers.description') }}
|
||||||
@else
|
@else
|
||||||
{{ trans('dashboard.subscribers.description_disabled') }}
|
{{ trans('dashboard.subscribers.description_disabled') }}
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
<input type="password" class="form-control password-strength" name="password" value="" placeholder="{{ trans('forms.user.password') }}">
|
<input type="password" class="form-control password-strength" name="password" value="" placeholder="{{ trans('forms.user.password') }}">
|
||||||
<div class="strengthify-wrapper"></div>
|
<div class="strengthify-wrapper"></div>
|
||||||
</div>
|
</div>
|
||||||
@if($current_user->isAdmin)
|
@if($currentUser->isAdmin)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.user_level') }}</label>
|
<label>{{ trans('forms.user.user_level') }}</label>
|
||||||
<select name="level" class="form-control">
|
<select name="level" class="form-control">
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.password') }}</label>
|
<label>{{ trans('forms.user.password') }}</label>
|
||||||
<input type="password" class="form-control password-strength" name="password" value="" {{ !$current_user->isAdmin ? "disabled": "" }} placeholder="{{ trans('forms.user.password') }}">
|
<input type="password" class="form-control password-strength" name="password" value="" {{ !$currentUser->isAdmin ? "disabled": "" }} placeholder="{{ trans('forms.user.password') }}">
|
||||||
<div class="strengthify-wrapper"></div>
|
<div class="strengthify-wrapper"></div>
|
||||||
</div>
|
</div>
|
||||||
@if($current_user->isAdmin)
|
@if($currentUser->isAdmin)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.user_level') }}</label>
|
<label>{{ trans('forms.user.user_level') }}</label>
|
||||||
<select name="level" class="form-control">
|
<select name="level" class="form-control">
|
||||||
@ -42,9 +42,9 @@
|
|||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<button type="submit" class="btn btn-success">{{ trans('forms.update') }}</button>
|
<button type="submit" class="btn btn-success">{{ trans('forms.update') }}</button>
|
||||||
@if($current_user->isAdmin)
|
@if($currentUser->isAdmin)
|
||||||
<a class="btn btn-info" href="{{ cachet_route('dashboard.user.api.regen', [$user->id]) }}">{{ trans('cachet.api.revoke') }}</a>
|
<a class="btn btn-info" href="{{ cachet_route('dashboard.user.api.regen', [$user->id]) }}">{{ trans('cachet.api.revoke') }}</a>
|
||||||
@if($current_user->id != $user->id)
|
@if($currentUser->id != $user->id)
|
||||||
<a class="btn btn-danger confirm-action" href="{{ cachet_route('dashboard.team.delete', [$user->id], 'delete') }}" data-method="DELETE">{{ trans('forms.delete') }}</a>
|
<a class="btn btn-danger confirm-action" href="{{ cachet_route('dashboard.team.delete', [$user->id], 'delete') }}" data-method="DELETE">{{ trans('forms.delete') }}</a>
|
||||||
@endif
|
@endif
|
||||||
@endif
|
@endif
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
<i class="ion ion-ios-people-outline"></i> {{ trans('dashboard.team.team') }}
|
<i class="ion ion-ios-people-outline"></i> {{ trans('dashboard.team.team') }}
|
||||||
</span>
|
</span>
|
||||||
@if($current_user->isAdmin)
|
@if($currentUser->isAdmin)
|
||||||
<div class="button-group pull-right">
|
<div class="button-group pull-right">
|
||||||
<a class="btn btn-sm btn-success" href="{{ cachet_route('dashboard.team.invite') }}">
|
<a class="btn btn-sm btn-success" href="{{ cachet_route('dashboard.team.invite') }}">
|
||||||
{{ trans('dashboard.team.invite.title') }}
|
{{ trans('dashboard.team.invite.title') }}
|
||||||
@ -26,9 +26,9 @@
|
|||||||
<p class="lead">{{ trans('dashboard.team.description') }}</p>
|
<p class="lead">{{ trans('dashboard.team.description') }}</p>
|
||||||
|
|
||||||
<div class="user-grid">
|
<div class="user-grid">
|
||||||
@foreach($team_members as $member)
|
@foreach($teamMembers as $member)
|
||||||
<div class="user col-sm-3 col-xs-6">
|
<div class="user col-sm-3 col-xs-6">
|
||||||
<a href="@if($current_user->id == $member->id) {{ url('dashboard/user') }} @else /dashboard/team/{{ $member->id }} @endif">
|
<a href="@if($currentUser->id == $member->id) {{ url('dashboard/user') }} @else /dashboard/team/{{ $member->id }} @endif">
|
||||||
<img src="{{ $member->avatar }}">
|
<img src="{{ $member->avatar }}">
|
||||||
</a>
|
</a>
|
||||||
<div class="name">{{ $member->username }}</div>
|
<div class="name">{{ $member->username }}</div>
|
||||||
|
@ -33,10 +33,10 @@ window.addEventListener("DOMContentLoaded", function(e) {
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@if($updated_template = Session::get('updated_template'))
|
@if($updatedTemplate = Session::get('updated_template'))
|
||||||
<div class="alert alert-{{ ($template_errors = Session::get('template_errors')) ? 'danger' : 'success' }}">
|
<div class="alert alert-{{ ($templateErrors = Session::get('template_errors')) ? 'danger' : 'success' }}">
|
||||||
@if($template_errors)
|
@if($templateErrors)
|
||||||
{{ sprintf("%s - %s", trans('dashboard.notifications.whoops'), trans('dashboard.incidents.templates.edit.failure').' '.$template_errors) }}
|
{{ sprintf("%s - %s", trans('dashboard.notifications.whoops'), trans('dashboard.incidents.templates.edit.failure').' '.$templateErrors) }}
|
||||||
@else
|
@else
|
||||||
{{ sprintf("%s - %s", trans('dashboard.notifications.awesome'), trans('dashboard.incidents.templates.edit.success')) }}
|
{{ sprintf("%s - %s", trans('dashboard.notifications.awesome'), trans('dashboard.incidents.templates.edit.success')) }}
|
||||||
@endif
|
@endif
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
@include('partials.errors')
|
@include('partials.errors')
|
||||||
<div class="striped-list">
|
<div class="striped-list">
|
||||||
@forelse($incident_templates as $template)
|
@forelse($incidentTemplates as $template)
|
||||||
<div class="row striped-list-item">
|
<div class="row striped-list-item">
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<strong>{{ $template->name }}</strong>
|
<strong>{{ $template->name }}</strong>
|
||||||
|
@ -19,15 +19,15 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<a href="https://gravatar.com"><img src="{{ $current_user->avatar }}" class="img-responsive img-thumbnail" title="{{ trans('forms.user.gravatar') }}" data-toggle="tooltip"></a>
|
<a href="https://gravatar.com"><img src="{{ $currentUser->avatar }}" class="img-responsive img-thumbnail" title="{{ trans('forms.user.gravatar') }}" data-toggle="tooltip"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.username') }}</label>
|
<label>{{ trans('forms.user.username') }}</label>
|
||||||
<input type="text" class="form-control" name="username" value="{{ $current_user->username }}" required placeholder="{{ trans('forms.user.username') }}">
|
<input type="text" class="form-control" name="username" value="{{ $currentUser->username }}" required placeholder="{{ trans('forms.user.username') }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.email') }}</label>
|
<label>{{ trans('forms.user.email') }}</label>
|
||||||
<input type="email" class="form-control" name="email" value="{{ $current_user->email }}" required placeholder="{{ trans('forms.user.email') }}">
|
<input type="email" class="form-control" name="email" value="{{ $currentUser->email }}" required placeholder="{{ trans('forms.user.email') }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.password') }}</label>
|
<label>{{ trans('forms.user.password') }}</label>
|
||||||
@ -38,8 +38,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.user.api-token') }}</label>
|
<label>{{ trans('forms.user.api-token') }}</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" name="api_key" readonly value="{{ $current_user->api_key }}" placeholder="{{ trans('forms.user.api-token') }}">
|
<input type="text" class="form-control" name="api_key" readonly value="{{ $currentUser->api_key }}" placeholder="{{ trans('forms.user.api-token') }}">
|
||||||
<a href="{{ cachet_route('dashboard.user.api.regen', [$current_user->id]) }}" class="input-group-addon btn btn-danger">{{ trans('cachet.api.regenerate') }}</a>
|
<a href="{{ cachet_route('dashboard.user.api.regen', [$currentUser->id]) }}" class="input-group-addon btn btn-danger">{{ trans('cachet.api.regenerate') }}</a>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block">{{ trans('forms.user.api-token-help') }}</span>
|
<span class="help-block">{{ trans('forms.user.api-token-help') }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -47,17 +47,17 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="checkbox-inline">
|
<label class="checkbox-inline">
|
||||||
<input type="hidden" name="google2fa" value="0">
|
<input type="hidden" name="google2fa" value="0">
|
||||||
<input type='checkbox' name="google2fa" value="1" {{ $current_user->hasTwoFactor ? "checked" : "" }}>
|
<input type='checkbox' name="google2fa" value="1" {{ $currentUser->hasTwoFactor ? "checked" : "" }}>
|
||||||
{{ trans('forms.setup.enable_google2fa') }}
|
{{ trans('forms.setup.enable_google2fa') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@if($current_user->hasTwoFactor)
|
@if($currentUser->hasTwoFactor)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<?php
|
<?php
|
||||||
$google2fa_url = PragmaRX\Google2FA\Vendor\Laravel\Facade::getQRCodeGoogleUrl(
|
$google2fa_url = PragmaRX\Google2FA\Vendor\Laravel\Facade::getQRCodeGoogleUrl(
|
||||||
'Cachet',
|
'Cachet',
|
||||||
$current_user->email,
|
$currentUser->email,
|
||||||
$current_user->google_2fa_secret
|
$currentUser->google_2fa_secret
|
||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
<img src="{{ $google2fa_url }}" class="img-responsive">
|
<img src="{{ $google2fa_url }}" class="img-responsive">
|
||||||
|
@ -20,10 +20,10 @@
|
|||||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
|
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
|
||||||
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
|
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
|
||||||
|
|
||||||
<title>{{ $page_title or $site_title }}</title>
|
<title>{{ $pageTitle or $siteTitle }}</title>
|
||||||
|
|
||||||
@if($enable_external_dependencies)
|
@if($enableExternalDependencies)
|
||||||
{{-- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css"> --}}
|
{{-- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $fontSubset }}" rel="stylesheet" type="text/css"> --}}
|
||||||
@endif
|
@endif
|
||||||
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
|
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
|
||||||
@yield('css')
|
@yield('css')
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var Global = {};
|
var Global = {};
|
||||||
Global.locale = '{{ $app_locale }}';
|
Global.locale = '{{ $appLocale }}';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="{{ mix('dist/js/manifest.js') }}"></script>
|
<script src="{{ mix('dist/js/manifest.js') }}"></script>
|
||||||
|
@ -20,16 +20,16 @@
|
|||||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
|
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
|
||||||
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
|
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
|
||||||
|
|
||||||
<title>{{ $page_title or $site_title }}</title>
|
<title>{{ $pageTitle or $siteTitle }}</title>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
window.Global = {}
|
window.Global = {}
|
||||||
Global.locale = '{{ $app_locale }}';
|
Global.locale = '{{ $appLocale }}';
|
||||||
Global.csrfToken = '{{ csrf_token() }}';
|
Global.csrfToken = '{{ csrf_token() }}';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@if($enable_external_dependencies)
|
@if($enableExternalDependencies)
|
||||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
|
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $fontSubset }}" rel="stylesheet" type="text/css">
|
||||||
@endif
|
@endif
|
||||||
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
|
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
|
||||||
@yield('css')
|
@yield('css')
|
||||||
@ -42,11 +42,11 @@
|
|||||||
|
|
||||||
<body class="dashboard">
|
<body class="dashboard">
|
||||||
<div class="wrapper" id="app">
|
<div class="wrapper" id="app">
|
||||||
<dashboard inline-template :user="{{ $current_user }}">
|
<dashboard inline-template :user="{{ $currentUser }}">
|
||||||
<div>
|
<div>
|
||||||
@include('dashboard.partials.sidebar')
|
@include('dashboard.partials.sidebar')
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
@if(!$is_writeable)
|
@if(!$isWriteable)
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
|
@ -7,25 +7,25 @@
|
|||||||
<meta name="env" content="{{ app('env') }}">
|
<meta name="env" content="{{ app('env') }}">
|
||||||
<meta name="token" content="{{ csrf_token() }}">
|
<meta name="token" content="{{ csrf_token() }}">
|
||||||
|
|
||||||
<link rel="alternate" type="application/atom+xml" href="{{ cachet_route('feed.atom') }}" title="{{ $site_title }} - Atom Feed">
|
<link rel="alternate" type="application/atom+xml" href="{{ cachet_route('feed.atom') }}" title="{{ $siteTitle }} - Atom Feed">
|
||||||
<link rel="alternate" type="application/rss+xml" href="{{ cachet_route('feed.rss') }}" title="{{ $site_title }} - RSS Feed">
|
<link rel="alternate" type="application/rss+xml" href="{{ cachet_route('feed.rss') }}" title="{{ $siteTitle }} - RSS Feed">
|
||||||
|
|
||||||
<!-- Mobile friendliness -->
|
<!-- Mobile friendliness -->
|
||||||
<meta name="HandheldFriendly" content="True">
|
<meta name="HandheldFriendly" content="True">
|
||||||
<meta name="MobileOptimized" content="320">
|
<meta name="MobileOptimized" content="320">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="description" content="@yield('description', trans('cachet.meta.description.overview', ['app' => $app_name]))">
|
<meta name="description" content="@yield('description', trans('cachet.meta.description.overview', ['app' => $appName]))">
|
||||||
|
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:title" content="{{ $site_title }}">
|
<meta property="og:title" content="{{ $siteTitle }}">
|
||||||
<meta property="og:image" content="/img/favicon.png">
|
<meta property="og:image" content="/img/favicon.png">
|
||||||
<meta property="og:description" content="@yield('description', trans('cachet.meta.description.overview', ['app' => $app_name]))">
|
<meta property="og:description" content="@yield('description', trans('cachet.meta.description.overview', ['app' => $appName]))">
|
||||||
|
|
||||||
<!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading -->
|
<!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading -->
|
||||||
<meta http-equiv="cleartype" content="on">
|
<meta http-equiv="cleartype" content="on">
|
||||||
|
|
||||||
<meta name="msapplication-TileColor" content="{{ $theme_greens }}" />
|
<meta name="msapplication-TileColor" content="{{ $themeGreens }}" />
|
||||||
<meta name="msapplication-TileImage" content="{{ asset('/img/favicon.png') }}" />
|
<meta name="msapplication-TileImage" content="{{ asset('/img/favicon.png') }}" />
|
||||||
|
|
||||||
@if (isset($favicon))
|
@if (isset($favicon))
|
||||||
@ -44,10 +44,10 @@
|
|||||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
|
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
|
||||||
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
|
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
|
||||||
|
|
||||||
<title>@yield('title', $site_title)</title>
|
<title>@yield('title', $siteTitle)</title>
|
||||||
|
|
||||||
@if($enable_external_dependencies)
|
@if($enableExternalDependencies)
|
||||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
|
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $fontSubset }}" rel="stylesheet" type="text/css">
|
||||||
@endif
|
@endif
|
||||||
<link rel="stylesheet" href="{{ mix('dist/css/app.css') }}">
|
<link rel="stylesheet" href="{{ mix('dist/css/app.css') }}">
|
||||||
|
|
||||||
@ -55,26 +55,25 @@
|
|||||||
|
|
||||||
@include('partials.crowdin')
|
@include('partials.crowdin')
|
||||||
|
|
||||||
@if($app_stylesheet)
|
@if($appStylesheet)
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
{!! $app_stylesheet !!}
|
{!! $appStylesheet !!}
|
||||||
</style>
|
</style>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var Global = {};
|
var Global = {};
|
||||||
|
var refreshRate = parseInt("{{ $appRefreshRate }}");
|
||||||
var refreshRate = parseInt("{{ $app_refresh_rate }}");
|
|
||||||
|
|
||||||
function refresh() {
|
function refresh() {
|
||||||
window.location.reload(true);
|
window.location.reload(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(refreshRate > 0) {
|
if (refreshRate > 0) {
|
||||||
setTimeout(refresh, refreshRate * 1000);
|
setTimeout(refresh, refreshRate * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
Global.locale = '{{ $app_locale }}';
|
Global.locale = '{{ $appLocale }}';
|
||||||
</script>
|
</script>
|
||||||
<script src="{{ mix('dist/js/manifest.js') }}"></script>
|
<script src="{{ mix('dist/js/manifest.js') }}"></script>
|
||||||
<script src="{{ mix('dist/js/vendor.js') }}"></script>
|
<script src="{{ mix('dist/js/vendor.js') }}"></script>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@if($about_app)
|
@if($aboutApp)
|
||||||
<div class="about-app">
|
<div class="about-app">
|
||||||
<h2>{{ trans('cachet.about_this_site') }}</h2>
|
<h2>{{ trans('cachet.about_this_site') }}</h2>
|
||||||
{!! $about_app !!}
|
{!! $aboutApp !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
@if($enable_external_dependencies)
|
@if($enableExternalDependencies)
|
||||||
@if($app_analytics)
|
@if($appAnalytics)
|
||||||
<script>
|
<script>
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||||
ga('create', '{{ $app_analytics }}', 'auto');
|
ga('create', '{{ $appAnalytics }}', 'auto');
|
||||||
ga('send', 'pageview');
|
ga('send', 'pageview');
|
||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
@if($app_analytics_go_squared)
|
@if($appAnalyticsGoSquared)
|
||||||
<script>
|
<script>
|
||||||
!function(g,s,q,r,d){r=g[r]=g[r]||function(){(r.q=r.q||[]).push(
|
!function(g,s,q,r,d){r=g[r]=g[r]||function(){(r.q=r.q||[]).push(
|
||||||
arguments)};d=s.createElement(q);q=s.getElementsByTagName(q)[0];
|
arguments)};d=s.createElement(q);q=s.getElementsByTagName(q)[0];
|
||||||
d.src='https://d1l6p2sc9645hc.cloudfront.net/tracker.js';q.parentNode.
|
d.src='https://d1l6p2sc9645hc.cloudfront.net/tracker.js';q.parentNode.
|
||||||
insertBefore(d,q)}(window,document,'script','_gs');
|
insertBefore(d,q)}(window,document,'script','_gs');
|
||||||
_gs('{{ $app_analytics_go_squared }}');
|
_gs('{{ $appAnalyticsGoSquared }}');
|
||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
@if($app_analytics_piwik_url)
|
@if($appAnalyticsPiwikUrl)
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var _paq = _paq || [];
|
var _paq = _paq || [];
|
||||||
_paq.push(['trackPageView']);
|
_paq.push(['trackPageView']);
|
||||||
_paq.push(['enableLinkTracking']);
|
_paq.push(['enableLinkTracking']);
|
||||||
(function() {
|
(function() {
|
||||||
var u="{{ $app_analytics_piwik_url }}";
|
var u="{{ $appAnalyticsPiwikUrl }}";
|
||||||
_paq.push(['setTrackerUrl', u+'/piwik.php']);
|
_paq.push(['setTrackerUrl', u+'/piwik.php']);
|
||||||
_paq.push(['setSiteId', {{ $app_analytics_piwik_site_id }}]);
|
_paq.push(['setSiteId', {{ $appAnalyticsPiwikSiteID }}]);
|
||||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'/piwik.js'; s.parentNode.insertBefore(g,s);
|
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'/piwik.js'; s.parentNode.insertBefore(g,s);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<noscript><p><img src="{{ $app_analytics_piwik_url }}/piwik.php?idsite={{ $app_analytics_piwik_site_id }}" style="border:0;" alt="" /></p></noscript>
|
<noscript><p><img src="{{ $appAnalyticsPiwikUrl }}/piwik.php?idsite={{ $appAnalyticsPiwikSiteID }}" style="border:0;" alt="" /></p></noscript>
|
||||||
@endif
|
@endif
|
||||||
@endif
|
@endif
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
@if($app_header)
|
@if($appHeader)
|
||||||
{!! $app_header !!}
|
{!! $appHeader !!}
|
||||||
@else
|
@else
|
||||||
@if($app_banner)
|
@if($appBanner)
|
||||||
<div @if($app_banner_style_full_width)class="app-banner"@endif>
|
<div @if($appBannerStyleFullWidth)class="app-banner"@endif>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row app-banner-padding @if(!$app_banner_style_full_width) app-banner @endif">
|
<div class="row app-banner-padding @if(!$appBannerStyleFullWidth) app-banner @endif">
|
||||||
<div class="col-md-12 text-center">
|
<div class="col-md-12 text-center">
|
||||||
@if($app_domain)
|
@if($appDomain)
|
||||||
<a href="{{ $app_domain }}" class="links"><img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive"></a>
|
<a href="{{ $appDomain }}" class="links"><img src="data:{{ $app_banner_type }};base64, {{ $appBanner }}" class="banner-image img-responsive"></a>
|
||||||
@else
|
@else
|
||||||
<img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive">
|
<img src="data:{{ $appBannerType }};base64, {{ $appBanner }}" class="banner-image img-responsive">
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@if($component_groups->isNotEmpty())
|
@if($componentGroups->isNotEmpty())
|
||||||
@foreach($component_groups as $componentGroup)
|
@foreach($componentGroups as $componentGroup)
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
@if($componentGroup->enabled_components->isNotEmpty())
|
@if($componentGroup->enabled_components->isNotEmpty())
|
||||||
<li class="list-group-item group-name">
|
<li class="list-group-item group-name">
|
||||||
@ -19,16 +19,16 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($ungrouped_components->isNotEmpty())
|
@if($ungroupedComponents->isNotEmpty())
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
<li class="list-group-item group-name">
|
<li class="list-group-item group-name">
|
||||||
<strong>{{ trans('cachet.components.group.other') }}</strong>
|
<strong>{{ trans('cachet.components.group.other') }}</strong>
|
||||||
|
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<i class="ion ion-ios-circle-filled text-component-{{ $ungrouped_components->max('status') }} {{ $ungrouped_components->sortByDesc('status')->first()->status_color }}" data-toggle="tooltip" title="{{ $ungrouped_components->sortByDesc('status')->first()->human_status }}"></i>
|
<i class="ion ion-ios-circle-filled text-component-{{ $ungroupedComponents->max('status') }} {{ $ungroupedComponents->sortByDesc('status')->first()->status_color }}" data-toggle="tooltip" title="{{ $ungroupedComponents->sortByDesc('status')->first()->human_status }}"></i>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@each('partials.component', $ungrouped_components, 'component')
|
@each('partials.component', $ungroupedComponents, 'component')
|
||||||
</ul>
|
</ul>
|
||||||
@endif
|
@endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@if($component_groups->isNotEmpty())
|
@if($componentGroups->isNotEmpty())
|
||||||
@foreach($component_groups as $componentGroup)
|
@foreach($componentGroups as $componentGroup)
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
@if($componentGroup->enabled_components->isNotEmpty())
|
@if($componentGroup->enabled_components->isNotEmpty())
|
||||||
<li class="list-group-item group-name">
|
<li class="list-group-item group-name">
|
||||||
@ -21,12 +21,12 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($ungrouped_components->isNotEmpty())
|
@if($ungroupedComponents->isNotEmpty())
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
<li class="list-group-item group-name">
|
<li class="list-group-item group-name">
|
||||||
<strong>{{ trans('cachet.components.group.other') }}</strong>
|
<strong>{{ trans('cachet.components.group.other') }}</strong>
|
||||||
</li>
|
</li>
|
||||||
@foreach($ungrouped_components as $component)
|
@foreach($ungroupedComponents as $component)
|
||||||
@include('partials.component_input', compact($component))
|
@include('partials.component_input', compact($component))
|
||||||
@endforeach
|
@endforeach
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@if($app_locale === 'en-UD' && $enable_external_dependencies)
|
@if($appLocale === 'en-UD' && $enableExternalDependencies)
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var _jipt = [];
|
var _jipt = [];
|
||||||
_jipt.push(['project', 'cachet']);
|
_jipt.push(['project', 'cachet']);
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
@if($app_footer)
|
@if($appFooter)
|
||||||
{!! $app_footer !!}
|
{!! $appFooter !!}
|
||||||
@else
|
@else
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
@if($show_support)
|
@if($showSupport)
|
||||||
<p>
|
<p>
|
||||||
{!! trans('cachet.powered_by') !!}
|
{!! trans('cachet.powered_by') !!}
|
||||||
@if($show_timezone)
|
@if($showTimezone)
|
||||||
{{ trans('cachet.timezone', ['timezone' => $timezone]) }}
|
{{ trans('cachet.timezone', ['timezone' => $timezone]) }}
|
||||||
@endif
|
@endif
|
||||||
</p>
|
</p>
|
||||||
@ -16,12 +16,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<ul class="list-inline">
|
<ul class="list-inline">
|
||||||
@if($current_user || $dashboard_link)
|
@if($currentUser || $dashboardLink)
|
||||||
<li>
|
<li>
|
||||||
<a class="btn btn-link" href="{{ cachet_route('dashboard') }}">{{ trans('dashboard.dashboard') }}</a>
|
<a class="btn btn-link" href="{{ cachet_route('dashboard') }}">{{ trans('dashboard.dashboard') }}</a>
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
@if($current_user)
|
@if($currentUser)
|
||||||
<li>
|
<li>
|
||||||
<a class="btn btn-link" href="{{ cachet_route('auth.logout') }}">{{ trans('dashboard.logout') }}</a>
|
<a class="btn btn-link" href="{{ cachet_route('auth.logout') }}">{{ trans('dashboard.logout') }}</a>
|
||||||
</li>
|
</li>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<a class="btn btn-link" href="{{ cachet_route('feed.atom') }}">{{ trans('cachet.atom-feed') }}</a>
|
<a class="btn btn-link" href="{{ cachet_route('feed.atom') }}">{{ trans('cachet.atom-feed') }}</a>
|
||||||
</li>
|
</li>
|
||||||
@if($enable_subscribers)
|
@if($enableSubscribers)
|
||||||
<li>
|
<li>
|
||||||
<a class="btn btn-success btn-outline" href="{{ cachet_route('subscribe') }}">{{ trans('cachet.subscriber.button') }}</a>
|
<a class="btn btn-success btn-outline" href="{{ cachet_route('subscribe') }}">{{ trans('cachet.subscriber.button') }}</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<div class="col-xs-10 col-xs-offset-2 col-sm-11 col-sm-offset-0">
|
<div class="col-xs-10 col-xs-offset-2 col-sm-11 col-sm-offset-0">
|
||||||
<div class="panel panel-message incident">
|
<div class="panel panel-message incident">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
@if($current_user)
|
@if($currentUser)
|
||||||
<div class="pull-right btn-group">
|
<div class="pull-right btn-group">
|
||||||
<a href="{{ cachet_route('dashboard.incidents.edit', ['id' => $incident->id]) }}" class="btn btn-default">{{ trans('forms.edit') }}</a>
|
<a href="{{ cachet_route('dashboard.incidents.edit', ['id' => $incident->id]) }}" class="btn btn-default">{{ trans('forms.edit') }}</a>
|
||||||
<a href="{{ cachet_route('dashboard.incidents.delete', ['id' => $incident->id], 'delete') }}" class="btn btn-danger confirm-action" data-method='DELETE'>{{ trans('forms.delete') }}</a>
|
<a href="{{ cachet_route('dashboard.incidents.delete', ['id' => $incident->id], 'delete') }}" class="btn btn-danger confirm-action" data-method='DELETE'>{{ trans('forms.delete') }}</a>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@if($component_groups->isNotEmpty() || $ungrouped_components->isNotEmpty())
|
@if($componentGroups->isNotEmpty() || $ungroupedComponents->isNotEmpty())
|
||||||
<div class="section-components">
|
<div class="section-components">
|
||||||
@include('partials.components')
|
@include('partials.components')
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
@if($display_metrics && $app_graphs)
|
@if($displayMetrics && $appGraphs)
|
||||||
<div class="section-metrics">
|
<div class="section-metrics">
|
||||||
@if($metrics->count() > 0)
|
@if($metrics->count() > 0)
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
@foreach($metrics as $metric)
|
@foreach($metrics as $metric)
|
||||||
<li class="list-group-item metric" data-metric-id="{{ $metric->id }}">
|
<li class="list-group-item metric" data-metric-id="{{ $metric->id }}">
|
||||||
<metric-chart :metric="{{ $metric->toJson() }}" :theme-light="{{ json_encode($theme_metrics) }}" :theme="{{ json_encode(color_darken($theme_metrics, -0.1)) }}" :theme-dark="{{ json_encode(color_darken($theme_metrics, -0.2)) }}"></metric-chart>
|
<metric-chart :metric="{{ $metric->toJson() }}" :theme-light="{{ json_encode($themeMetrics) }}" :theme="{{ json_encode(color_darken($themeMetrics, -0.1)) }}" :theme-dark="{{ json_encode(color_darken($themeMetrics, -0.2)) }}"></metric-chart>
|
||||||
</li>
|
</li>
|
||||||
@endforeach
|
@endforeach
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@if($scheduled_maintenance->isNotEmpty())
|
@if($scheduledMaintenance->isNotEmpty())
|
||||||
<div class="section-scheduled">
|
<div class="section-scheduled">
|
||||||
@include('partials.schedule')
|
@include('partials.schedule')
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<div class="section-status">
|
<div class="section-status">
|
||||||
<div class="alert alert-{{ $system_status }}">{{ $system_message }}</div>
|
<div class="alert alert-{{ $systemStatus }}">{{ $systemMessage }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@if($stickied_incidents->isNotEmpty())
|
@if($stickiedIncidents->isNotEmpty())
|
||||||
<div class="section-stickied">
|
<div class="section-stickied">
|
||||||
<h1>{{ trans('cachet.incidents.stickied') }}</h1>
|
<h1>{{ trans('cachet.incidents.stickied') }}</h1>
|
||||||
@foreach($stickied_incidents as $date => $incidents)
|
@foreach($stickiedIncidents as $date => $incidents)
|
||||||
@include('partials.incidents', [compact($date), compact($incidents)])
|
@include('partials.incidents', [compact($date), compact($incidents)])
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
@if($days_to_show > 0 && $all_incidents)
|
@if($daysToShow > 0 && $allIncidents)
|
||||||
<div class="section-timeline">
|
<div class="section-timeline">
|
||||||
<h1>{{ trans('cachet.incidents.past') }}</h1>
|
<h1>{{ trans('cachet.incidents.past') }}</h1>
|
||||||
@foreach($all_incidents as $date => $incidents)
|
@foreach($allIncidents as $date => $incidents)
|
||||||
@include('partials.incidents', [compact($date), compact($incidents)])
|
@include('partials.incidents', [compact($date), compact($incidents)])
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav>
|
<nav>
|
||||||
<ul class="pager">
|
<ul class="pager">
|
||||||
@if($can_page_backward)
|
@if($canPageBackward)
|
||||||
<li class="previous">
|
<li class="previous">
|
||||||
<a href="{{ cachet_route('status-page') }}?start_date={{ $previous_date }}" class="links">
|
<a href="{{ cachet_route('status-page') }}?start_date={{ $previousDate }}" class="links">
|
||||||
<span aria-hidden="true">←</span> {{ trans('pagination.previous') }}
|
<span aria-hidden="true">←</span> {{ trans('pagination.previous') }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
@if($can_page_forward)
|
@if($canPageForward)
|
||||||
<li class="next">
|
<li class="next">
|
||||||
<a href="{{ cachet_route('status-page') }}?start_date={{ $next_date }}" class="links">
|
<a href="{{ cachet_route('status-page') }}?start_date={{ $nextDate }}" class="links">
|
||||||
{{ trans('pagination.next') }} <span aria-hidden="true">→</span>
|
{{ trans('pagination.next') }} <span aria-hidden="true">→</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
<div class="navbar navbar-custom" role="navigation">
|
<div class="navbar navbar-custom" role="navigation">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<a class="navbar-brand" href="{{ cachet_route('status-page') }}"><span>{{ $app_name }}</span></a>
|
<a class="navbar-brand" href="{{ cachet_route('status-page') }}"><span>{{ $appName }}</span></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="navbar-collapse collapse" id="navbar-menu">
|
<div class="navbar-collapse collapse" id="navbar-menu">
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
<li><a href="{{ cachet_route('status-page') }}">{{ trans('cachet.home') }}</a></li>
|
<li><a href="{{ cachet_route('status-page') }}">{{ trans('cachet.home') }}</a></li>
|
||||||
@if($current_user)
|
@if($currentUser)
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" data-toggle="dropdown">
|
<a href="#" data-toggle="dropdown">
|
||||||
<i class="icon ion-person"></i> {{ $current_user->username }}
|
<i class="icon ion-person"></i> {{ $currentUser->username }}
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu arrow">
|
<ul class="dropdown-menu arrow">
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<li><a href="{{ cachet_route('auth.logout') }}">{{ trans('dashboard.logout') }}</a></li>
|
<li><a href="{{ cachet_route('auth.logout') }}">{{ trans('dashboard.logout') }}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@elseif($dashboard_link)
|
@elseif($dashboardLink)
|
||||||
<li><a href="{{ cachet_route('dashboard') }}">{{ trans('dashboard.dashboard') }}</a></li>
|
<li><a href="{{ cachet_route('dashboard') }}">{{ trans('dashboard.dashboard') }}</a></li>
|
||||||
@endif
|
@endif
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<strong>{{ trans('cachet.incidents.scheduled') }}</strong>
|
<strong>{{ trans('cachet.incidents.scheduled') }}</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-group">
|
<div class="list-group">
|
||||||
@foreach($scheduled_maintenance as $schedule)
|
@foreach($scheduledMaintenance as $schedule)
|
||||||
<div class="list-group-item" id="scheduled-{{ $schedule->id }}">
|
<div class="list-group-item" id="scheduled-{{ $schedule->id }}">
|
||||||
<strong>{{ $schedule->name }}</strong> <small class="date"><abbr class="timeago" data-toggle="tooltip" data-placement="right" title="{{ $schedule->scheduled_at_formatted }}" data-timeago="{{ $schedule->scheduled_at_iso }}"></abbr></small>
|
<strong>{{ $schedule->name }}</strong> <small class="date"><abbr class="timeago" data-toggle="tooltip" data-placement="right" title="{{ $schedule->scheduled_at_formatted }}" data-timeago="{{ $schedule->scheduled_at_iso }}"></abbr></small>
|
||||||
<div class="pull-right"><a href="#scheduled-{{ $schedule->id }}"><i class="ion ion-link"></i></a></div>
|
<div class="pull-right"><a href="#scheduled-{{ $schedule->id }}"><i class="ion ion-link"></i></a></div>
|
||||||
@ -13,8 +13,8 @@
|
|||||||
</div>
|
</div>
|
||||||
@if($schedule->components->count() > 0)
|
@if($schedule->components->count() > 0)
|
||||||
<hr>
|
<hr>
|
||||||
@foreach($schedule->components as $affected_component)
|
@foreach($schedule->components as $affectedComponent)
|
||||||
<span class="label label-primary">{{ $affected_component->component->name }}</span>
|
<span class="label label-primary">{{ $affectedComponent->component->name }}</span>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,125 +1,125 @@
|
|||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body.status-page {
|
body.status-page {
|
||||||
background-color: {{ $theme_background_color }};
|
background-color: {{ $themeBackgroundColor }};
|
||||||
color: {{ $theme_text_color }};
|
color: {{ $themeTextColor }};
|
||||||
@if($app_banner)
|
@if($appBanner)
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
@endif
|
@endif
|
||||||
}
|
}
|
||||||
p, strong { color: {{ $theme_text_color }} !important; }
|
p, strong { color: {{ $themeTextColor }} !important; }
|
||||||
.reds { color: {{ $theme_reds }} !important; }
|
.reds { color: {{ $themeReds }} !important; }
|
||||||
.blues { color: {{ $theme_blues }} !important; }
|
.blues { color: {{ $themeBlues }} !important; }
|
||||||
.greens { color: {{ $theme_greens }} !important; }
|
.greens { color: {{ $themeGreens }} !important; }
|
||||||
.yellows { color: {{ $theme_yellows }} !important; }
|
.yellows { color: {{ $themeYellows }} !important; }
|
||||||
.oranges { color: {{ $theme_oranges }} !important; }
|
.oranges { color: {{ $themeOranges }} !important; }
|
||||||
.greys { color: {{ $theme_greys }} !important; }
|
.greys { color: {{ $themeGreys }} !important; }
|
||||||
.metrics { color: {{ $theme_metrics }} !important; }
|
.metrics { color: {{ $themeMetrics }} !important; }
|
||||||
.links { color: {{ $theme_links }} !important; }
|
.links { color: {{ $themeLinks }} !important; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Banner background
|
* Banner background
|
||||||
*/
|
*/
|
||||||
.app-banner {
|
.app-banner {
|
||||||
background-color: {{ $theme_banner_background_color }} !important;
|
background-color: {{ $themeBannerBackgroundColor }} !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-banner-padding {
|
.app-banner-padding {
|
||||||
padding: {{ $theme_banner_padding }} !important;
|
padding: {{ $themeBannerPadding }} !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Alert overrides.
|
* Alert overrides.
|
||||||
*/
|
*/
|
||||||
.alert {
|
.alert {
|
||||||
background-color: {{ $theme_yellows }};
|
background-color: {{ $themeYellows }};
|
||||||
border-color: {{ color_darken($theme_yellows, -0.1) }};
|
border-color: {{ color_darken($themeYellows, -0.1) }};
|
||||||
color: {{ color_contrast($theme_yellows) }};
|
color: {{ color_contrast($themeYellows) }};
|
||||||
}
|
}
|
||||||
.alert.alert-success {
|
.alert.alert-success {
|
||||||
background-color: {{ $theme_greens }};
|
background-color: {{ $themeGreens }};
|
||||||
border-color: {{ color_darken($theme_greens, -0.1) }};
|
border-color: {{ color_darken($themeGreens, -0.1) }};
|
||||||
color: {{ color_contrast($theme_greens) }};
|
color: {{ color_contrast($themeGreens) }};
|
||||||
}
|
}
|
||||||
.alert.alert-info {
|
.alert.alert-info {
|
||||||
background-color: {{ $theme_blues }};
|
background-color: {{ $themeBlues }};
|
||||||
border-color: {{ color_darken($theme_blues, -0.1) }};
|
border-color: {{ color_darken($themeBlues, -0.1) }};
|
||||||
color: {{ color_contrast($theme_blues) }};
|
color: {{ color_contrast($themeBlues) }};
|
||||||
}
|
}
|
||||||
.alert.alert-danger {
|
.alert.alert-danger {
|
||||||
background-color: {{ $theme_reds }};
|
background-color: {{ $themeReds }};
|
||||||
border-color: {{ color_darken($theme_reds, -0.1) }};
|
border-color: {{ color_darken($themeReds, -0.1) }};
|
||||||
color: {{ color_contrast($theme_reds) }};
|
color: {{ color_contrast($themeReds) }};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Button Overrides
|
* Button Overrides
|
||||||
*/
|
*/
|
||||||
.btn.links {
|
.btn.links {
|
||||||
color: {{ color_darken($theme_yellows, -0.3) }};
|
color: {{ color_darken($themeYellows, -0.3) }};
|
||||||
}
|
}
|
||||||
.btn.btn-success {
|
.btn.btn-success {
|
||||||
background-color: {{ $theme_greens }};
|
background-color: {{ $themeGreens }};
|
||||||
border-color: {{ color_darken($theme_greens, -0.1) }};
|
border-color: {{ color_darken($themeGreens, -0.1) }};
|
||||||
color: {{ color_contrast($theme_greens) }};
|
color: {{ color_contrast($themeGreens) }};
|
||||||
}
|
}
|
||||||
.btn.btn-success.links {
|
.btn.btn-success.links {
|
||||||
color: {{ color_darken($theme_greens, -0.3) }};
|
color: {{ color_darken($themeGreens, -0.3) }};
|
||||||
}
|
}
|
||||||
.btn.btn-success.btn-outline {
|
.btn.btn-success.btn-outline {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-color: {{ $theme_greens }};
|
border-color: {{ $themeGreens }};
|
||||||
color: {{ $theme_greens }};
|
color: {{ $themeGreens }};
|
||||||
}
|
}
|
||||||
.btn.btn-success.btn-outline:hover {
|
.btn.btn-success.btn-outline:hover {
|
||||||
background-color: {{ $theme_greens }};
|
background-color: {{ $themeGreens }};
|
||||||
border-color: {{ color_darken($theme_greens, -0.1) }};
|
border-color: {{ color_darken($themeGreens, -0.1) }};
|
||||||
color: {{ color_contrast($theme_greens) }};
|
color: {{ color_contrast($themeGreens) }};
|
||||||
}
|
}
|
||||||
.btn.btn-info {
|
.btn.btn-info {
|
||||||
background-color: {{ $theme_blues }};
|
background-color: {{ $themeBlues }};
|
||||||
border-color: {{ color_darken($theme_blues, -0.1) }};
|
border-color: {{ color_darken($themeBlues, -0.1) }};
|
||||||
color: {{ color_contrast($theme_blues) }};
|
color: {{ color_contrast($themeBlues) }};
|
||||||
}
|
}
|
||||||
.btn.btn-info.links {
|
.btn.btn-info.links {
|
||||||
color: {{ color_darken($theme_blues, -0.3) }};
|
color: {{ color_darken($themeBlues, -0.3) }};
|
||||||
}
|
}
|
||||||
.btn.btn-danger {
|
.btn.btn-danger {
|
||||||
background-color: {{ $theme_reds }};
|
background-color: {{ $themeReds }};
|
||||||
border-color: {{ color_darken($theme_reds, -0.1) }};
|
border-color: {{ color_darken($themeReds, -0.1) }};
|
||||||
color: {{ color_contrast($theme_reds) }};
|
color: {{ color_contrast($themeReds) }};
|
||||||
}
|
}
|
||||||
.btn.btn-danger.links {
|
.btn.btn-danger.links {
|
||||||
color: {{ color_darken($theme_reds, -0.3) }};
|
color: {{ color_darken($themeReds, -0.3) }};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Background fills Overrides
|
* Background fills Overrides
|
||||||
*/
|
*/
|
||||||
.component {
|
.component {
|
||||||
background-color: {{ $theme_background_fills }};
|
background-color: {{ $themeBackgroundFills }};
|
||||||
border-color: {{ color_darken($theme_background_fills, -0.1) }};
|
border-color: {{ color_darken($themeBackgroundFills, -0.1) }};
|
||||||
}
|
}
|
||||||
.sub-component {
|
.sub-component {
|
||||||
background-color: {{ $theme_background_fills }};
|
background-color: {{ $themeBackgroundFills }};
|
||||||
border-color: {{ color_darken($theme_background_fills, -0.1) }};
|
border-color: {{ color_darken($themeBackgroundFills, -0.1) }};
|
||||||
}
|
}
|
||||||
.incident {
|
.incident {
|
||||||
background-color: {{ $theme_background_fills }};
|
background-color: {{ $themeBackgroundFills }};
|
||||||
border-color: {{ color_darken($theme_background_fills, -0.1) }};
|
border-color: {{ color_darken($themeBackgroundFills, -0.1) }};
|
||||||
}
|
}
|
||||||
.status-icon {
|
.status-icon {
|
||||||
background-color: {{ $theme_background_fills }};
|
background-color: {{ $themeBackgroundFills }};
|
||||||
border-color: {{ color_darken($theme_background_fills, -0.1) }};
|
border-color: {{ color_darken($themeBackgroundFills, -0.1) }};
|
||||||
}
|
}
|
||||||
.panel.panel-message:before {
|
.panel.panel-message:before {
|
||||||
border-left-color: {{ $theme_background_fills }} !important;
|
border-left-color: {{ $themeBackgroundFills }} !important;
|
||||||
border-right-color: {{ $theme_background_fills }} !important;
|
border-right-color: {{ $themeBackgroundFills }} !important;
|
||||||
}
|
}
|
||||||
.panel.panel-message:after {
|
.panel.panel-message:after {
|
||||||
border-left-color: {{ $theme_background_fills }} !important;
|
border-left-color: {{ $themeBackgroundFills }} !important;
|
||||||
border-right-color: {{ $theme_background_fills }} !important;
|
border-right-color: {{ $themeBackgroundFills }} !important;
|
||||||
}
|
}
|
||||||
.footer a {
|
.footer a {
|
||||||
color: {{ $theme_text_color }};
|
color: {{ $themeTextColor }};
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -39,8 +39,8 @@
|
|||||||
<label>{{ trans('forms.setup.cache_driver') }}</label>
|
<label>{{ trans('forms.setup.cache_driver') }}</label>
|
||||||
<select name="env[cache_driver]" class="form-control" required v-model="env.cache_driver">
|
<select name="env[cache_driver]" class="form-control" required v-model="env.cache_driver">
|
||||||
<option disabled>{{ trans('forms.setup.cache_driver') }}</option>
|
<option disabled>{{ trans('forms.setup.cache_driver') }}</option>
|
||||||
@foreach($cache_drivers as $driver => $driverName)
|
@foreach($cacheDrivers as $driver => $driverName)
|
||||||
<option value="{{ $driver }}" {{ Binput::old('env.cache_driver', $cache_config['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
<option value="{{ $driver }}" {{ Binput::old('env.cache_driver', $cacheConfig['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@if($errors->has('env.cache_driver'))
|
@if($errors->has('env.cache_driver'))
|
||||||
@ -51,8 +51,8 @@
|
|||||||
<label>{{ trans('forms.setup.queue_driver') }}</label>
|
<label>{{ trans('forms.setup.queue_driver') }}</label>
|
||||||
<select name="env[queue_driver]" class="form-control" required v-model="env.queue_driver">
|
<select name="env[queue_driver]" class="form-control" required v-model="env.queue_driver">
|
||||||
<option disabled>{{ trans('forms.setup.queue_driver') }}</option>
|
<option disabled>{{ trans('forms.setup.queue_driver') }}</option>
|
||||||
@foreach($queue_drivers as $driver => $driverName)
|
@foreach($queueDrivers as $driver => $driverName)
|
||||||
<option value="{{ $driver }}" {{ Binput::old('env.queue_driver', $queue_config['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
<option value="{{ $driver }}" {{ Binput::old('env.queue_driver', $queueConfig['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@if($errors->has('env.queue_driver'))
|
@if($errors->has('env.queue_driver'))
|
||||||
@ -63,8 +63,8 @@
|
|||||||
<label>{{ trans('forms.setup.session_driver') }}</label>
|
<label>{{ trans('forms.setup.session_driver') }}</label>
|
||||||
<select name="env[session_driver]" class="form-control" required v-model="env.session_driver">
|
<select name="env[session_driver]" class="form-control" required v-model="env.session_driver">
|
||||||
<option disabled>{{ trans('forms.setup.session_driver') }}</option>
|
<option disabled>{{ trans('forms.setup.session_driver') }}</option>
|
||||||
@foreach($cache_drivers as $driver => $driverName)
|
@foreach($cacheDrivers as $driver => $driverName)
|
||||||
<option value="{{ $driver }}" {{ Binput::old('env.session_driver', $session_config['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
<option value="{{ $driver }}" {{ Binput::old('env.session_driver', $sessionConfig['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@if($errors->has('env.session_driver'))
|
@if($errors->has('env.session_driver'))
|
||||||
@ -78,8 +78,8 @@
|
|||||||
<label>{{ trans('forms.setup.mail_driver') }}</label>
|
<label>{{ trans('forms.setup.mail_driver') }}</label>
|
||||||
<select name="env[mail_driver]" class="form-control" required v-model="env.mail_driver">
|
<select name="env[mail_driver]" class="form-control" required v-model="env.mail_driver">
|
||||||
<option disabled>{{ trans('forms.setup.mail_driver') }}</option>
|
<option disabled>{{ trans('forms.setup.mail_driver') }}</option>
|
||||||
@foreach($mail_drivers as $driver => $driverName)
|
@foreach($mailDrivers as $driver => $driverName)
|
||||||
<option value="{{ $driver }}" {{ Binput::old('env.mail_driver', $mail_config['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
<option value="{{ $driver }}" {{ Binput::old('env.mail_driver', $mailConfig['driver']) == $driver ? "selected" : null }}>{{ $driverName }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@if($errors->has('env.mail_driver'))
|
@if($errors->has('env.mail_driver'))
|
||||||
@ -88,28 +88,28 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.setup.mail_host') }}</label>
|
<label>{{ trans('forms.setup.mail_host') }}</label>
|
||||||
<input type="text" class="form-control" name="env[mail_host]" value="{{ Binput::old('env.mail_host', $mail_config['host']) }}" placeholder="{{ trans('forms.setup.mail_host') }}" :required="mail.requiresHost">
|
<input type="text" class="form-control" name="env[mail_host]" value="{{ Binput::old('env.mail_host', $mailConfig['host']) }}" placeholder="{{ trans('forms.setup.mail_host') }}" :required="mail.requiresHost">
|
||||||
@if($errors->has('env.mail_host'))
|
@if($errors->has('env.mail_host'))
|
||||||
<span class="text-danger">{{ $errors->first('env.mail_host') }}</span>
|
<span class="text-danger">{{ $errors->first('env.mail_host') }}</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.setup.mail_address') }}</label>
|
<label>{{ trans('forms.setup.mail_address') }}</label>
|
||||||
<input type="text" class="form-control" name="env[mail_address]" value="{{ Binput::old('env.mail_address', $mail_config['from']['address']) }}" placeholder="notifications@alt-three.com">
|
<input type="text" class="form-control" name="env[mail_address]" value="{{ Binput::old('env.mail_address', $mailConfig['from']['address']) }}" placeholder="notifications@alt-three.com">
|
||||||
@if($errors->has('env.mail_address'))
|
@if($errors->has('env.mail_address'))
|
||||||
<span class="text-danger">{{ $errors->first('env.mail_address') }}</span>
|
<span class="text-danger">{{ $errors->first('env.mail_address') }}</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.setup.mail_username') }}</label>
|
<label>{{ trans('forms.setup.mail_username') }}</label>
|
||||||
<input type="text" class="form-control" name="env[mail_username]" value="{{ Binput::old('env.mail_username', $mail_config['username']) }}" placeholder="{{ trans('forms.setup.mail_username') }}" :required="mail.requiresUsername">
|
<input type="text" class="form-control" name="env[mail_username]" value="{{ Binput::old('env.mail_username', $mailConfig['username']) }}" placeholder="{{ trans('forms.setup.mail_username') }}" :required="mail.requiresUsername">
|
||||||
@if($errors->has('env.mail_username'))
|
@if($errors->has('env.mail_username'))
|
||||||
<span class="text-danger">{{ $errors->first('env.mail_username') }}</span>
|
<span class="text-danger">{{ $errors->first('env.mail_username') }}</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ trans('forms.setup.mail_password') }}</label>
|
<label>{{ trans('forms.setup.mail_password') }}</label>
|
||||||
<input type="password" class="form-control" name="env[mail_password]" value="{{ Binput::old('env.mail_password', $mail_config['password']) }}" autocomplete="off" placeholder="{{ trans('forms.setup.mail_password') }}" :required="mail.requiresUsername">
|
<input type="password" class="form-control" name="env[mail_password]" value="{{ Binput::old('env.mail_password', $mailConfig['password']) }}" autocomplete="off" placeholder="{{ trans('forms.setup.mail_password') }}" :required="mail.requiresUsername">
|
||||||
@if($errors->has('env.mail_password'))
|
@if($errors->has('env.mail_password'))
|
||||||
<span class="text-danger">{{ $errors->first('env.mail_password') }}</span>
|
<span class="text-danger">{{ $errors->first('env.mail_password') }}</span>
|
||||||
@endif
|
@endif
|
||||||
@ -161,7 +161,7 @@
|
|||||||
<select name="settings[app_locale]" class="form-control" required>
|
<select name="settings[app_locale]" class="form-control" required>
|
||||||
<option value="">Select Language</option>
|
<option value="">Select Language</option>
|
||||||
@foreach($langs as $key => $lang)
|
@foreach($langs as $key => $lang)
|
||||||
<option value="{{ $key }}" @if(Binput::old('settings.app_locale') == $key || $user_language == $key) selected @endif>
|
<option value="{{ $key }}" @if(Binput::old('settings.app_locale') == $key || $userLanguage == $key) selected @endif>
|
||||||
{{ $lang['name'] }}
|
{{ $lang['name'] }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@extends('layout.master')
|
@extends('layout.master')
|
||||||
|
|
||||||
@section('title', trans('cachet.signup.title').' | '.$site_title)
|
@section('title', trans('cachet.signup.title').' | '.$siteTitle)
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
@ -9,13 +9,13 @@
|
|||||||
|
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
@if($app_banner)
|
@if($appBanner)
|
||||||
<div class="row app-banner">
|
<div class="row app-banner">
|
||||||
<div class="col-md-12 text-center">
|
<div class="col-md-12 text-center">
|
||||||
@if($app_domain)
|
@if($appDomain)
|
||||||
<a href="{{ $app_domain }}"><img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive"></a>
|
<a href="{{ $appDomain }}"><img src="data:{{ $appBannerType }};base64, {{ $appBanner }}" class="banner-image img-responsive"></a>
|
||||||
@else
|
@else
|
||||||
<img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive">
|
<img src="data:{{ $appBannerType }};base64, {{ $appBanner }}" class="banner-image img-responsive">
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@extends('layout.master')
|
@extends('layout.master')
|
||||||
|
|
||||||
@section('title', $incident->name.' | '.$site_title)
|
@section('title', $incident->name.' | '.$siteTitle)
|
||||||
|
|
||||||
@section('description', trans('cachet.meta.description.incident', ['name' => $incident->name, 'date' => $incident->occurred_at_formatted]))
|
@section('description', trans('cachet.meta.description.incident', ['name' => $incident->name, 'date' => $incident->occurred_at_formatted]))
|
||||||
|
|
||||||
@ -33,7 +33,7 @@
|
|||||||
<div class="col-xs-10 col-xs-offset-2 col-sm-11 col-sm-offset-0">
|
<div class="col-xs-10 col-xs-offset-2 col-sm-11 col-sm-offset-0">
|
||||||
<div class="panel panel-message incident">
|
<div class="panel panel-message incident">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
@if($current_user)
|
@if($currentUser)
|
||||||
<div class="pull-right btn-group">
|
<div class="pull-right btn-group">
|
||||||
<a href="{{ cachet_route('dashboard.incidents.updates.edit', ['incident' => $incident, 'incident_update' => $update]) }}" class="btn btn-default">{{ trans('forms.edit') }}</a>
|
<a href="{{ cachet_route('dashboard.incidents.updates.edit', ['incident' => $incident, 'incident_update' => $update]) }}" class="btn btn-default">{{ trans('forms.edit') }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@extends('layout.master')
|
@extends('layout.master')
|
||||||
|
|
||||||
@section('title', $schedule->name.' | '.$site_title)
|
@section('title', $schedule->name.' | '.$siteTitle)
|
||||||
|
|
||||||
@section('description', trans('cachet.meta.description.schedule', ['name' => $schedule->name, 'startDate' => $schedule->scheduled_at_formatted]))
|
@section('description', trans('cachet.meta.description.schedule', ['name' => $schedule->name, 'startDate' => $schedule->scheduled_at_formatted]))
|
||||||
|
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-lg-offset-2 col-lg-8">
|
<div class="col-xs-12 col-lg-offset-2 col-lg-8">
|
||||||
<div class="text-center margin-bottom">
|
<div class="text-center margin-bottom">
|
||||||
<h1>{{ $app_name }} Notifications</h1>
|
<h1>{{ $appName }} Notifications</h1>
|
||||||
<p>Manage notifications for <strong>{{ $subscriber->email }}</strong></p>
|
<p>Manage notifications for <strong>{{ $subscriber->email }}</strong></p>
|
||||||
</div>
|
</div>
|
||||||
<form action="{{ cachet_route('subscribe.manage', [$subscriber->verify_code], 'post') }}" method="post">
|
<form action="{{ cachet_route('subscribe.manage', [$subscriber->verify_code], 'post') }}" method="post">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||||
@if($component_groups->isNotEmpty() || $ungrouped_components->isNotEmpty())
|
@if($componentGroups->isNotEmpty() || $ungroupedComponents->isNotEmpty())
|
||||||
@foreach($component_groups as $componentGroup)
|
@foreach($componentGroups as $componentGroup)
|
||||||
<div class="list-group components">
|
<div class="list-group components">
|
||||||
@if($componentGroup->enabled_components->count() > 0)
|
@if($componentGroup->enabled_components->count() > 0)
|
||||||
<div class="list-group-item group-name">
|
<div class="list-group-item group-name">
|
||||||
@ -38,12 +38,12 @@
|
|||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
@if($ungrouped_components->isNotEmpty())
|
@if($ungroupedComponents->isNotEmpty())
|
||||||
<ul class="list-group components">
|
<ul class="list-group components">
|
||||||
<div class="list-group-item group-name">
|
<div class="list-group-item group-name">
|
||||||
<strong>{{ trans('cachet.components.group.other') }}</strong>
|
<strong>{{ trans('cachet.components.group.other') }}</strong>
|
||||||
</div>
|
</div>
|
||||||
@foreach($ungrouped_components as $component)
|
@foreach($ungroupedComponents as $component)
|
||||||
@include('partials.component_input', compact($component))
|
@include('partials.component_input', compact($component))
|
||||||
@endforeach
|
@endforeach
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
@extends('layout.master')
|
@extends('layout.master')
|
||||||
|
|
||||||
@section('title', trans('cachet.subscriber.subscribe'). " | ". $site_title))
|
@section('title', trans('cachet.subscriber.subscribe'). " | ". $siteTitle))
|
||||||
|
|
||||||
@section('description', trans('cachet.meta.description.subscribe', ['app' => $site_title]))
|
@section('description', trans('cachet.meta.description.subscribe', ['app' => $siteTitle]))
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
|
@ -42,7 +42,7 @@ $style = [
|
|||||||
|
|
||||||
/* Type ------------------------------ */
|
/* Type ------------------------------ */
|
||||||
|
|
||||||
'anchor' => "color: {$theme_links};",
|
'anchor' => "color: {$themeLinks};",
|
||||||
'header-1' => 'margin-top: 0; color: #2F3133; font-size: 19px; font-weight: bold; text-align: left;',
|
'header-1' => 'margin-top: 0; color: #2F3133; font-size: 19px; font-weight: bold; text-align: left;',
|
||||||
'paragraph' => 'margin-top: 0; color: #74787E; font-size: 16px; line-height: 1.5em;',
|
'paragraph' => 'margin-top: 0; color: #74787E; font-size: 16px; line-height: 1.5em;',
|
||||||
'paragraph-sub' => 'margin-top: 0; color: #74787E; font-size: 12px; line-height: 1.5em;',
|
'paragraph-sub' => 'margin-top: 0; color: #74787E; font-size: 12px; line-height: 1.5em;',
|
||||||
@ -54,9 +54,9 @@ $style = [
|
|||||||
background-color: #3869D4; border-radius: 3px; color: #ffffff; font-size: 15px; line-height: 25px;
|
background-color: #3869D4; border-radius: 3px; color: #ffffff; font-size: 15px; line-height: 25px;
|
||||||
text-align: center; text-decoration: none; -webkit-text-size-adjust: none;',
|
text-align: center; text-decoration: none; -webkit-text-size-adjust: none;',
|
||||||
|
|
||||||
'button--green' => "background-color: {$theme_greens};",
|
'button--green' => "background-color: {$themeGreens};",
|
||||||
'button--red' => "background-color: {$theme_reds};",
|
'button--red' => "background-color: {$themeReds};",
|
||||||
'button--blue' => "background-color: {$theme_blues};",
|
'button--blue' => "background-color: {$themeBlues};",
|
||||||
];
|
];
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user