1 parent
bd9ab7304e
commit
c68e5f8599
4 files changed
+19
-4
No files matched your search
@@ -1035,4 +1035,5 @@ return [
|
||||
'food_err_no_views' => "Cap vista activada per a aquest mòdul. Modifiqueu la vostra configuració d'espai.",
|
||||
'food_err_no_views_desc' => 'Heu desactivat totes les funcions d\'aquest mòdul. Aneu a la configuració per reactivar-les.',
|
||||
'meal_paste_success' => 'Graella enganxada amb èxit!',
|
||||
'meal_err_filename' => 'Format del nom del fitxer no reconegut. Exemple esperat: "Menus-du-28-septembre-au-4-octobre-2026.pdf".',
|
||||
];
|
||||
@@ -1038,5 +1038,6 @@ return [
|
||||
'food_err_no_views' => "No view is enabled for this module. Please check your space settings.",
|
||||
'food_err_no_views_desc' => 'You have disabled all features for this module. Please visit your settings to re-enable them.',
|
||||
'meal_paste_success' => 'Grid pasted successfully!',
|
||||
'meal_err_filename' => 'Unrecognized file name format. Expected example: "Menus-du-28-septembre-au-4-octobre-2026.pdf".',
|
||||
|
||||
];
|
||||
@@ -1033,6 +1033,7 @@ return [
|
||||
'cta_food' => 'Mijoter',
|
||||
'food_err_no_views' => "Aucune vue n'est activée pour ce module. Modifiez vos paramètres d'espace.",
|
||||
'food_err_no_views_desc' => 'Vous avez désactivé toutes les fonctionnalités de ce module. Rendez-vous dans vos paramètres pour les réactiver.',
|
||||
'meal_err_filename' => 'Format de nom de fichier non reconnu. Exemple attendu : "Menus-du-28-septembre-au-4-octobre-2026.pdf".',
|
||||
'meal_paste_success' => 'Grille collée avec succès !',
|
||||
|
||||
];
|
||||
@@ -190,14 +190,26 @@ try {
|
||||
|
||||
// 1. Extraction robuste de la date depuis le nom de fichier (Menus-du-14-au-20-septembre-2026.pdf)
|
||||
$mondayDate = null;
|
||||
if (preg_match('/(\d{1,2})[\s-]+au[\s-]+\d{1,2}[\s-]+([a-zèéû]+)[\s-]+(\d{4})/i', $filename, $m)) {
|
||||
if (preg_match('/(?:du[\s-]+)?(\d{1,2})[\s-]+(?:([a-zèéû]+)[\s-]+)?au[\s-]+\d{1,2}[\s-]+([a-zèéû]+)[\s-]+(\d{4})/i', $filename, $m)) {
|
||||
$monthsMap = ['janvier'=>'01','fevrier'=>'02','février'=>'02','mars'=>'03','avril'=>'04','mai'=>'05','juin'=>'06','juillet'=>'07','aout'=>'08','août'=>'08','septembre'=>'09','octobre'=>'10','novembre'=>'11','decembre'=>'12','décembre'=>'12'];
|
||||
$month = $monthsMap[strtolower($m[2])] ?? '09';
|
||||
$mondayDate = $m[3] . '-' . $month . '-' . str_pad($m[1], 2, '0', STR_PAD_LEFT);
|
||||
|
||||
$startMonthRaw = !empty($m[2]) ? strtolower($m[2]) : strtolower($m[3]);
|
||||
$endMonthRaw = strtolower($m[3]);
|
||||
|
||||
$startMonthNum = $monthsMap[$startMonthRaw] ?? '09';
|
||||
$endMonthNum = $monthsMap[$endMonthRaw] ?? '09';
|
||||
|
||||
$startYear = (int)$m[4];
|
||||
// Règle métier : Bascule d'année (ex: 28 décembre au 3 janvier 2026 -> 2025-12-28)
|
||||
if ($startMonthNum === '12' && $endMonthNum === '01') {
|
||||
$startYear--;
|
||||
}
|
||||
|
||||
$mondayDate = $startYear . '-' . $startMonthNum . '-' . str_pad($m[1], 2, '0', STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
if (!$mondayDate) {
|
||||
echo json_encode(['success' => false, 'error' => 'Veuillez nommer le fichier "Menus-du-14-au-20-septembre-2026.pdf".']);
|
||||
echo json_encode(['success' => false, 'error' => tr('meal_err_filename')]);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user