Language update
Added different level of language preference functionaloty which can be set from the new option in top navigation bar Lanaguage preference can be set as * System language (Default for all users) * Session based (User who are not logged in and want to see they system in language of their choice can set their preference in browser session) * User lever (for authenticated users who have updated their language preference, system will change into their selected language when they log into the system)
This commit is contained in:
@@ -48,6 +48,7 @@ class Handler extends ExceptionHandler
|
||||
*/
|
||||
public function report(Exception $e)
|
||||
{
|
||||
dd($e);
|
||||
Bugsnag::setBeforeNotifyFunction(function ($error) { //set bugsnag
|
||||
return false;
|
||||
});
|
||||
|
@@ -84,6 +84,7 @@ class LanguageController extends Controller
|
||||
$path = base_path('resources/lang');
|
||||
$values = scandir($path); //Extracts names of directories present in lang directory
|
||||
$values = array_slice($values, 2); // skips array element $value[0] = '.' & $value[1] = '..'
|
||||
$sysLanguage = \Cache::get('language');
|
||||
return \Datatable::collection(new Collection($values))
|
||||
->addColumn('language', function ($model) {
|
||||
if ($model == Config::get('app.fallback_locale')) {
|
||||
@@ -95,15 +96,15 @@ class LanguageController extends Controller
|
||||
->addColumn('id', function ($model) {
|
||||
return $model;
|
||||
})
|
||||
->addColumn('status', function ($model) {
|
||||
if (Lang::getLocale() === $model) {
|
||||
->addColumn('status', function ($model) use ($sysLanguage){
|
||||
if ($sysLanguage === $model) {
|
||||
return "<span style='color:green'>".Lang::trans('lang.active').'</span>';
|
||||
} else {
|
||||
return "<span style='color:red'>".Lang::trans('lang.inactive').'</span>';
|
||||
}
|
||||
})
|
||||
->addColumn('Action', function ($model) {
|
||||
if (Lang::getLocale() === $model) {
|
||||
->addColumn('Action', function ($model) use ($sysLanguage) {
|
||||
if ($model === $sysLanguage) {
|
||||
return "<a href='change-language/".$model."'><input type='button' class='btn btn-info btn-xs btn-flat' disabled value='".Lang::trans('lang.disable')."'/></a>
|
||||
<a href='change-language/".$model."' class='btn btn-danger btn-xs btn-flat' disabled><i class='fa fa-trash' style='color:black;'> </i> ".Lang::trans('lang.delete').'</a>';
|
||||
} else {
|
||||
|
@@ -19,6 +19,7 @@ use Hash;
|
||||
// classes
|
||||
use Illuminate\Http\Request;
|
||||
use Lang;
|
||||
use Session;
|
||||
|
||||
/**
|
||||
* GuestController.
|
||||
@@ -415,4 +416,30 @@ class UnAuthController extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to chnage user language preference
|
||||
*
|
||||
* @param string $lang //desired language's iso code
|
||||
*
|
||||
* @category function to change system's language
|
||||
*
|
||||
* @return response
|
||||
*/
|
||||
public static function changeUserLanguage($lang)
|
||||
{
|
||||
$path = base_path('resources/lang'); // Path to check available language packages
|
||||
if (array_key_exists($lang, \Config::get('languages')) && in_array($lang, scandir($path))) {
|
||||
if (\Auth::check()) {
|
||||
$id = \Auth::user()->id;
|
||||
$user = User::find($id);
|
||||
$user->user_language = $lang;
|
||||
$user->save();
|
||||
} else {
|
||||
Session::put('language', $lang);
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user