mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-29 06:34:37 +00:00 
			
		
		
		
	Fix bad validation in variable.
This commit is contained in:
		| @@ -70,13 +70,15 @@ class RecurrenceController extends Controller | |||||||
|         $start            = Carbon::createFromFormat('Y-m-d', $request->get('start')); |         $start            = Carbon::createFromFormat('Y-m-d', $request->get('start')); | ||||||
|         $end              = Carbon::createFromFormat('Y-m-d', $request->get('end')); |         $end              = Carbon::createFromFormat('Y-m-d', $request->get('end')); | ||||||
|         $firstDate        = Carbon::createFromFormat('Y-m-d', $request->get('first_date')); |         $firstDate        = Carbon::createFromFormat('Y-m-d', $request->get('first_date')); | ||||||
|         $endDate          = '' !== (string)$request->get('end_date') ? Carbon::createFromFormat('Y-m-d', $request->get('end_date')) : null; |         $endDate          = '' !== (string) $request->get('end_date') ? Carbon::createFromFormat('Y-m-d', $request->get('end_date')) : null; | ||||||
|         $endsAt           = (string)$request->get('ends'); |         $endsAt           = (string) $request->get('ends'); | ||||||
|         $repetitionType   = explode(',', $request->get('type'))[0]; |         $repetitionType   = explode(',', $request->get('type'))[0]; | ||||||
|         $repetitions      = (int)$request->get('reps'); |         $repetitions      = (int) $request->get('reps'); | ||||||
|  |         $weekend          = (int) $request->get('weekend'); | ||||||
|         $repetitionMoment = ''; |         $repetitionMoment = ''; | ||||||
|         $skip = (int)$request->get('skip'); |         $skip             = (int) $request->get('skip'); | ||||||
|         $skip             = $skip < 1 || $skip > 31 ? 1 : $skip; |         $skip             = $skip < 1 || $skip > 31 ? 1 : $skip; | ||||||
|  |         $weekend          = $weekend < 1 || $weekend > 4 ? 1 : $weekend; | ||||||
| 
 | 
 | ||||||
|         if (false === $start || false === $end || false === $firstDate || false === $endDate) { |         if (false === $start || false === $end || false === $firstDate || false === $endDate) { | ||||||
|             return response()->json(); |             return response()->json(); | ||||||
| @@ -105,7 +107,7 @@ class RecurrenceController extends Controller | |||||||
|         $repetition->repetition_type   = $repetitionType; |         $repetition->repetition_type   = $repetitionType; | ||||||
|         $repetition->repetition_moment = $repetitionMoment; |         $repetition->repetition_moment = $repetitionMoment; | ||||||
|         $repetition->repetition_skip   = $skip; |         $repetition->repetition_skip   = $skip; | ||||||
|         $repetition->weekend           = (int)$request->get('weekend'); |         $repetition->weekend           = $weekend; | ||||||
|         $actualEnd                     = clone $end; |         $actualEnd                     = clone $end; | ||||||
| 
 | 
 | ||||||
|         if ('until_date' === $endsAt) { |         if ('until_date' === $endsAt) { | ||||||
| @@ -124,7 +126,7 @@ class RecurrenceController extends Controller | |||||||
|         foreach ($occurrences as $current) { |         foreach ($occurrences as $current) { | ||||||
|             if ($current->gte($start)) { |             if ($current->gte($start)) { | ||||||
|                 $event    = [ |                 $event    = [ | ||||||
|                     'id'        => $repetitionType.$firstDate->format('Ymd'), |                     'id'        => $repetitionType . $firstDate->format('Ymd'), | ||||||
|                     'title'     => 'X', |                     'title'     => 'X', | ||||||
|                     'allDay'    => true, |                     'allDay'    => true, | ||||||
|                     'start'     => $current->format('Y-m-d'), |                     'start'     => $current->format('Y-m-d'), | ||||||
| @@ -144,7 +146,7 @@ class RecurrenceController extends Controller | |||||||
|      */ |      */ | ||||||
|     public function suggest(Request $request): JsonResponse |     public function suggest(Request $request): JsonResponse | ||||||
|     { |     { | ||||||
|         $string = '' === (string)$request->get('date') ? date('Y-m-d') : (string)$request->get('date'); |         $string = '' === (string) $request->get('date') ? date('Y-m-d') : (string) $request->get('date'); | ||||||
|         $today  = today(config('app.timezone'))->startOfDay(); |         $today  = today(config('app.timezone'))->startOfDay(); | ||||||
| 
 | 
 | ||||||
|         try { |         try { | ||||||
| @@ -156,37 +158,37 @@ class RecurrenceController extends Controller | |||||||
|             return response()->json(); |             return response()->json(); | ||||||
|         } |         } | ||||||
|         $date->startOfDay(); |         $date->startOfDay(); | ||||||
|         $preSelected = (string)$request->get('pre_select'); |         $preSelected = (string) $request->get('pre_select'); | ||||||
|         $locale      = app('steam')->getLocale(); |         $locale      = app('steam')->getLocale(); | ||||||
| 
 | 
 | ||||||
|         app('log')->debug(sprintf('date = %s, today = %s. date > today? %s', $date->toAtomString(), $today->toAtomString(), var_export($date > $today, true))); |         app('log')->debug(sprintf('date = %s, today = %s. date > today? %s', $date->toAtomString(), $today->toAtomString(), var_export($date > $today, true))); | ||||||
|         app('log')->debug(sprintf('past = true? %s', var_export('true' === (string)$request->get('past'), true))); |         app('log')->debug(sprintf('past = true? %s', var_export('true' === (string) $request->get('past'), true))); | ||||||
| 
 | 
 | ||||||
|         $result = []; |         $result = []; | ||||||
|         if ($date > $today || 'true' === (string)$request->get('past')) { |         if ($date > $today || 'true' === (string) $request->get('past')) { | ||||||
|             app('log')->debug('Will fill dropdown.'); |             app('log')->debug('Will fill dropdown.'); | ||||||
|             $weekly     = sprintf('weekly,%s', $date->dayOfWeekIso); |             $weekly     = sprintf('weekly,%s', $date->dayOfWeekIso); | ||||||
|             $monthly    = sprintf('monthly,%s', $date->day); |             $monthly    = sprintf('monthly,%s', $date->day); | ||||||
|             $dayOfWeek  = (string)trans(sprintf('config.dow_%s', $date->dayOfWeekIso)); |             $dayOfWeek  = (string) trans(sprintf('config.dow_%s', $date->dayOfWeekIso)); | ||||||
|             $ndom       = sprintf('ndom,%s,%s', $date->weekOfMonth, $date->dayOfWeekIso); |             $ndom       = sprintf('ndom,%s,%s', $date->weekOfMonth, $date->dayOfWeekIso); | ||||||
|             $yearly     = sprintf('yearly,%s', $date->format('Y-m-d')); |             $yearly     = sprintf('yearly,%s', $date->format('Y-m-d')); | ||||||
|             $yearlyDate = $date->isoFormat((string)trans('config.month_and_day_no_year_js', [], $locale)); |             $yearlyDate = $date->isoFormat((string) trans('config.month_and_day_no_year_js', [], $locale)); | ||||||
|             $result     = [ |             $result     = [ | ||||||
|                 'daily'  => ['label' => (string)trans('firefly.recurring_daily'), 'selected' => str_starts_with($preSelected, 'daily')], |                 'daily'  => ['label' => (string) trans('firefly.recurring_daily'), 'selected' => str_starts_with($preSelected, 'daily')], | ||||||
|                 $weekly  => [ |                 $weekly  => [ | ||||||
|                     'label'    => (string)trans('firefly.recurring_weekly', ['weekday' => $dayOfWeek]), |                     'label'    => (string) trans('firefly.recurring_weekly', ['weekday' => $dayOfWeek]), | ||||||
|                     'selected' => str_starts_with($preSelected, 'weekly'), |                     'selected' => str_starts_with($preSelected, 'weekly'), | ||||||
|                 ], |                 ], | ||||||
|                 $monthly => [ |                 $monthly => [ | ||||||
|                     'label'    => (string)trans('firefly.recurring_monthly', ['dayOfMonth' => $date->day]), |                     'label'    => (string) trans('firefly.recurring_monthly', ['dayOfMonth' => $date->day]), | ||||||
|                     'selected' => str_starts_with($preSelected, 'monthly'), |                     'selected' => str_starts_with($preSelected, 'monthly'), | ||||||
|                 ], |                 ], | ||||||
|                 $ndom    => [ |                 $ndom    => [ | ||||||
|                     'label'    => (string)trans('firefly.recurring_ndom', ['weekday' => $dayOfWeek, 'dayOfMonth' => $date->weekOfMonth]), |                     'label'    => (string) trans('firefly.recurring_ndom', ['weekday' => $dayOfWeek, 'dayOfMonth' => $date->weekOfMonth]), | ||||||
|                     'selected' => str_starts_with($preSelected, 'ndom'), |                     'selected' => str_starts_with($preSelected, 'ndom'), | ||||||
|                 ], |                 ], | ||||||
|                 $yearly  => [ |                 $yearly  => [ | ||||||
|                     'label'    => (string)trans('firefly.recurring_yearly', ['date' => $yearlyDate]), |                     'label'    => (string) trans('firefly.recurring_yearly', ['date' => $yearlyDate]), | ||||||
|                     'selected' => str_starts_with($preSelected, 'yearly'), |                     'selected' => str_starts_with($preSelected, 'yearly'), | ||||||
|                 ], |                 ], | ||||||
|             ]; |             ]; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user