App banner can now be set. Closes #120
This commit is contained in:
@@ -99,7 +99,7 @@ class DashSettingsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the statsu page settings.
|
* Updates the status page settings.
|
||||||
*
|
*
|
||||||
* @return \Illuminate\View\View
|
* @return \Illuminate\View\View
|
||||||
*/
|
*/
|
||||||
@@ -108,6 +108,37 @@ class DashSettingsController extends Controller
|
|||||||
// Fetch all of the settings we've been POSTed.
|
// Fetch all of the settings we've been POSTed.
|
||||||
$settings = Input::all();
|
$settings = Input::all();
|
||||||
|
|
||||||
|
if (Input::hasFile('app_banner')) {
|
||||||
|
$file = Input::file('app_banner');
|
||||||
|
|
||||||
|
// Image Validation.
|
||||||
|
// Image size in bytes.
|
||||||
|
$maxSize = $file->getMaxFilesize();
|
||||||
|
if ($file->getSize() > $maxSize) {
|
||||||
|
return Redirect::back()->withErrorMessage('You need to upload an image that is less than '.$maxSize.'.');
|
||||||
|
} elseif (!$file->isValid() || $file->getError()) {
|
||||||
|
return Redirect::back()->withErrorMessage($file->getErrorMessage());
|
||||||
|
} elseif (strpos($file->getMimeType(), 'image/') !== 0) {
|
||||||
|
return Redirect::back()->withErrorMessage('Only images may be uploaded.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store the banner.
|
||||||
|
Setting::firstOrCreate([
|
||||||
|
'name' => 'app_banner'
|
||||||
|
])->update([
|
||||||
|
'value' => base64_encode(file_get_contents($file->getRealPath()))
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Store the banner type
|
||||||
|
Setting::firstOrCreate([
|
||||||
|
'name' => 'app_banner_type'
|
||||||
|
])->update([
|
||||||
|
'value' => $file->getMimeType()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
unset($settings['app_banner']);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
foreach ($settings as $settingName => $settingValue) {
|
foreach ($settings as $settingName => $settingValue) {
|
||||||
$setting = Setting::firstOrCreate([
|
$setting = Setting::firstOrCreate([
|
||||||
|
|||||||
@@ -13,13 +13,13 @@
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<form name='SettingsForm' class='form-vertical' role='form' action='/dashboard/settings' method='POST'>
|
<form name='SettingsForm' class='form-vertical' role='form' action='/dashboard/settings' method='POST' enctype="multipart/form-data">
|
||||||
<h4 class="sub-header" id='application-setup'>Application Setup</h4>
|
<h4 class="sub-header" id='application-setup'>Application Setup</h4>
|
||||||
|
|
||||||
@if($saved = Session::get('saved'))
|
@if(($saved = Session::get('saved')))
|
||||||
<div class='alert alert-success'><strong>{{ Lang::get('cachet.dashboard.settings_saved') }}</strong></div>
|
<div class='alert alert-success'><strong>{{ Lang::get('cachet.dashboard.settings_saved') }}</strong></div>
|
||||||
@elseif(Session::has('saved'))
|
@elseif(Session::has('error_message'))
|
||||||
<div class='alert alert-danger'><strong>{{ Lang::get('cachet.dashboard.settings_not_saved') }}</strong></div>
|
<div class='alert alert-danger'><strong>{{ Session::get('error_message') }}</strong></div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@@ -39,6 +39,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class='row'>
|
||||||
|
<div class='col-xs-12'>
|
||||||
|
<div class='form-group'>
|
||||||
|
<label>Banner Image</label>
|
||||||
|
@if($banner = Setting::get('app_banner'))
|
||||||
|
<div class='well'>
|
||||||
|
<img src='data:{{ Setting::get("app_banner_type") }};base64,{{ $banner }}' style='max-width: ' />
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
<input type='file' name='app_banner' class='form-control' />
|
||||||
|
<span class='help-block'>It's recommended that you upload files no bigger than 930px wide.</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<div class='row'>
|
<div class='row'>
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
@extends('layout.master')
|
@extends('layout.master')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
@if($bannerImage = Setting::get('app_banner'))
|
||||||
|
<div class='row'>
|
||||||
|
<div class='col-md-12 text-center'>
|
||||||
|
<?php $bannerType = Setting::get('app_banner_type') ?>
|
||||||
|
<img src='data:{{ $bannerType }};base64, {{ $bannerImage}}' class='banner-image' />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
<div class='alert alert-{{ $systemStatus }}'>{{ $systemMessage }}</div>
|
<div class='alert alert-{{ $systemStatus }}'>{{ $systemMessage }}</div>
|
||||||
|
|
||||||
@include('partials.components')
|
@include('partials.components')
|
||||||
|
|||||||
Reference in New Issue
Block a user