Файл: src/app/Http/Controllers/SettingsController.php
Строк: 148
<?php
namespace AppHttpControllers;
use AppHttpControllersController;
use AppModelsSettings;
use AppModelsCurrencies;
use AppModelsCountries;
use AppModelsLanguages;
use AppModelsCompanies;
use IlluminateSupportFacadesInput;
use IlluminateHttpRequest;
use Storage;
use File;
use Validator;
class SettingsController extends Controller{
public function getSettings(){
$Settings = Settings::findOrFail(1);
$Currencies = Currencies::lists("Name","CurrencyID");
$Countries = Countries::lists("Name","CountryID");
$Languages = Languages::lists("Title","LanguageID");
$Settings = Settings::orderBy("SettingID","DESC")->limit(1)->first();
$Company = Companies::where("isOwn",1)->first();
return view("settings.index",compact('Currencies','Settings','Languages','Countries','Company'));
}
public function postSettings(){
$Inputs = Input::only("CurrencyID","LanguageID","Email","ColorPalette","DefaultContent");
$Company = Input::only('Title','Address1','Address2','ZipCode','CountryID','City','Phone');
$Validator = Validator::make(array_merge($Inputs,$Company),array(
"CurrencyID" => "required|exists:Currencies,CurrencyID",
"LanguageID" => "required|exists:Languages,LanguageID",
"Email" => "required|email",
"Title" => "required|min:10|max:245",
"Address1" => "required|min:5|max:45",
"Address2" => "min:0|max:45",
"ZipCode" => "min:0|max:10",
"CountryID" => "required|exists:Countries,CountryID"
));
$Company["isOwn"] = 1;
if ($Validator->fails()) {
return redirect()->route('settings::view')->with('ErrorMessage', trans('messages.settings_failure'))->withInput($Inputs)->withErrors($Validator);
}
$Settings = Settings::findOrFail(1);
$Settings->update($Inputs);
$Companies = Companies::where("isOwn",1)->get();
if ($Companies->isEmpty()) {
# code...
Companies::create($Company);
}else{
$Companies = $Companies->first();
$Companies->update($Company);
}
return redirect()->route('settings::view')->with('SuccessMessage', trans('messages.settings_success'));
}
public function uploadLogo(){
$Inputs = Input::only("Logo");
$File = Input::file("Logo");
$Validator = Validator::make($Inputs,array('Logo'=>
'required|mimes:jpeg,bmp,png|image'
));
if ($Validator->fails()) {
return response()->json([
'message' => 'Operation reported.',
], 404);
}
$Settings=Settings::findOrFail(1);
$Extension = $File->getClientOriginalExtension();
$FullFilePath = md5(time()).'.'.$Extension;
Storage::disk('uploads')->put(md5(time()).'.'.$Extension, File::get($File));
$data = [
'Name' => $FullFilePath,
'Extension' => $Extension,
'Status' => 0
];
$Settings->update(['Logo'=>$FullFilePath]);
return response()->json($data,200);
}
public function exportBackup(){
$Users = Users::all();
$Companies = Companies::all();
$Products = Products::all();
$Invoices = Invoices::all();
$Items = Items::all();
$Data = array(
"Users" => $Users,
"Companies" => $Companies,
"Products" => $Products,
"Invoices" => $Invoices,
"Items" => $Items
);
return download("file_path");
}
}
?>