= 0 && GROCY_CALENDAR_FIRST_DAY_OF_WEEK <= 6))) { throw new EInvalidConfig('Invalid value for CALENDAR_FIRST_DAY_OF_WEEK'); } } private function checkCurrencyFormat() { if (!(preg_match('/^([A-z]){3}$/', GROCY_CURRENCY))) { throw new EInvalidConfig('CURRENCY is not in ISO 4217 format (three letter code)'); } } private function checkEntryPage() { $allowedPages = ['stock', 'shoppinglist', 'recipes', 'chores', 'tasks', 'batteries', 'equipment', 'calendar', 'mealplan']; if (!in_array(GROCY_ENTRY_PAGE, $allowedPages)) { throw new EInvalidConfig('Invalid entry page "' . GROCY_ENTRY_PAGE . '" set, only ' . implode(', ', $allowedPages) . ' allowed'); } } private function checkMealplanFirstDayOfWeek() { if (!(GROCY_MEAL_PLAN_FIRST_DAY_OF_WEEK == '' || (is_numeric(GROCY_MEAL_PLAN_FIRST_DAY_OF_WEEK) && GROCY_MEAL_PLAN_FIRST_DAY_OF_WEEK >= -1 && GROCY_MEAL_PLAN_FIRST_DAY_OF_WEEK <= 6))) { throw new EInvalidConfig('Invalid value for MEAL_PLAN_FIRST_DAY_OF_WEEK'); } } private function checkAutoNightModeRange() { global $GROCY_DEFAULT_USER_SETTINGS; if (!(preg_match('/^(?:2[0-3]|[01][0-9]):[0-5][0-9]$/', $GROCY_DEFAULT_USER_SETTINGS['auto_night_mode_time_range_from']))) { throw new EInvalidConfig('auto_night_mode_time_range_from is not in HH:mm format (' . $GROCY_DEFAULT_USER_SETTINGS['auto_night_mode_time_range_from'] . ')'); } if (!(preg_match('/^(?:2[0-3]|[01][0-9]):[0-5][0-9]$/', $GROCY_DEFAULT_USER_SETTINGS['auto_night_mode_time_range_to']))) { throw new EInvalidConfig('auto_night_mode_time_range_to is not in HH:mm format (' . $GROCY_DEFAULT_USER_SETTINGS['auto_night_mode_time_range_to'] . ')'); } } }