Viewing File: /home/ubuntu/vedadeals-backend-base/app/Http/Controllers/Admin/SettingController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Helpers\Helper, App\Helpers\EnvEditorHelper;
use App\Models\{ Settings };
use DB, Setting, Validator, Exception, Enveditor;
class SettingController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(Request $request) {
$this->middleware('auth:admin');
}
/**
* @method settings()
*
* @uses Used to display the setting page
*
* @created Karthick
*
* @updated
*
* @param
*
* @return view page
*/
public function settings() {
$env_values = EnvEditorHelper::getEnvValues();
return view('admin.settings.settings')
->with('env_values', $env_values)
->with('page' , 'settings');
}
/**
* @method save_settings()
*
* @uses to update settings details
*
* @created Karthick
*
* @updated
*
* @param (request) setting details
*
* @return success/error message
*/
public function save_settings(Request $request) {
try {
DB::beginTransaction();
foreach( $request->toArray() as $key => $value) {
if($key != '_token') {
if(Enveditor::set($key, $value)) {
Settings::where('key', $key)->update(['value' => $value]);
DB::commit();
} else {
if($request->hasFile($key) ) {
$file = Settings::where('key', $key)->first();
Helper::storage_delete_file($file->value, FILE_PATH_SITE);
$file_path = Helper::storage_upload_file($request->file($key) , FILE_PATH_SITE);
$result = Settings::where('key', $key)->update(['value' => $file_path]);
if($result) {
DB::commit();
} else {
throw new Exception(tr('settings_save_error'), 101);
}
} else {
if(isset($value)) {
$result = Settings::where('key', $key)->update(['value' => $value]);
} else {
$result = Settings::where('key', $key)->update(['value' => '']);
}
DB::commit();
}
}
}
}
Helper::settings_generate_json();
return redirect()->back()->with('flash_success', tr('settings_update_success') );
} catch (Exception $e) {
DB::rollback();
return back()->with('flash_error', $e->getMessage());
}
}
/**
* @method env_settings_save()
*
* @uses To update the email details for .env file
*
* @created Karthick
*
* @updated
*
* @param Form data
*
* @return view page
*/
public function env_settings_save(Request $request) {
try {
$env_values = EnvEditorHelper::getEnvValues();
if($env_values) {
foreach ($env_values as $key => $data) {
if($request->$key) {
Enveditor::set($key, $request->$key);
}
}
}
$message = tr('settings_update_success');
return redirect()->route('clear-cache')->with('flash_success', $message);
} catch(Exception $e) {
return back()->withInput()->with('flash_error' , $e->getMessage());
}
}
/**
* @method settings_control()
*
* @uses to display custom settings control page
*
* @created Karthick
*
* @updated
*
* @param
*
* @return view page
*/
public function settings_control() {
$env_values = EnvEditorHelper::getEnvValues();
return view('admin.settings.controls')
->with('env_values', $env_values)
->with('page' , 'settings');
}
}
Back to Directory
File Manager