public function update(Request $request) { $validator = Validator::make($request->all(), ['country' => 'required|in:' . implode(',', allCountryCodes()), 'locale' => 'required|in:' . implode(',', allSupportedLocaleCodes()), 'timezone' => 'required', 'currency' => 'required|in:' . implode(',', allCurrencyCodes()), 'number_format' => 'required|in:' . implode(',', allNumberFormats()), 'first_day_of_week' => 'required|integer|min:0|max:6', 'long_date_format' => 'required|integer|min:0|max:3', 'short_date_format' => 'required|integer|min:0|max:3', 'long_time_format' => 'required|integer|min:0|max:4', 'short_time_format' => 'required|integer|min:0|max:4']); if ($validator->fails()) { return redirect(homeUrl('custom-settings'))->withErrors($validator); } $settings = settings(); $settings->setLocale($request->input('locale')); $settings->setCountry($request->input('country')); $settings->setTimezone($request->input('timezone')); $settings->setCurrency($request->input('currency')); $settings->setNumberFormat($request->input('number_format')); $settings->setFirstDayOfWeek($request->input('first_day_of_week')); $settings->setLongDateFormat($request->input('long_date_format')); $settings->setShortDateFormat($request->input('short_date_format')); $settings->setLongTimeFormat($request->input('long_time_format')); $settings->setShortTimeFormat($request->input('short_time_format')); $settings->storeUser(); $settings->storeSession(); return $settings->storeCookie(redirect(homeUrl('my-settings', [], $settings->getLocale()))); }
function numberFormatsAsOptions($selected_number_format = 'point-comma') { $options = ''; foreach (allNumberFormats() as $number_format) { $options .= '<option value="' . $number_format . '"' . ($selected_number_format == $number_format ? ' selected' : '') . '>' . NumberFormatHelper::doFormat(12345.67, $number_format) . '</option>'; } return $options; }