]> BookStack Code Mirror - bookstack/blob - app/Http/Controllers/SettingController.php
Added bookstack version in settings
[bookstack] / app / Http / Controllers / SettingController.php
1 <?php namespace BookStack\Http\Controllers;
2
3 use Illuminate\Http\Request;
4
5 use BookStack\Http\Requests;
6 use Setting;
7
8 class SettingController extends Controller
9 {
10     /**
11      * Display a listing of the settings.
12      * @return Response
13      */
14     public function index()
15     {
16         $this->checkPermission('settings-manage');
17         $this->setPageTitle('Settings');
18
19         // Get application version
20         $version = false;
21         if (function_exists('exec')) {
22             $version = exec('git describe --always --tags ');
23         }
24
25         return view('settings/index', ['version' => $version]);
26     }
27
28     /**
29      * Update the specified settings in storage.
30      * @param  Request $request
31      * @return Response
32      */
33     public function update(Request $request)
34     {
35         $this->preventAccessForDemoUsers();
36         $this->checkPermission('settings-manage');
37
38         // Cycles through posted settings and update them
39         foreach ($request->all() as $name => $value) {
40             if (strpos($name, 'setting-') !== 0) continue;
41             $key = str_replace('setting-', '', trim($name));
42             Setting::put($key, $value);
43         }
44
45         session()->flash('success', 'Settings Saved');
46         return redirect('/settings');
47     }
48
49 }