Commit 0d6eb16b by Frédéric

Ajout du FullOpeningWithDaysFilter

parent 698cb783
......@@ -391,6 +391,39 @@ Vendredi 08:00-12:00, 14:00-18:00
Jours de fermeture : Samedi-Dimanche
```
********************************************************************************************************
#### FullOpeningWithDaysFilter :
###### Date d'ouverture et Date de fermeture (au format jj/mm/aaa), pour chaque jour de la semaine à partir du lundi : Heure d'ouverture 1 | Heure de fermeture 1 | Heure d'ouverture 2 | Heure de fermeture 2 (au format hh:mm) puis jours de fermeture.
###### Exemple
```
Valeur en entrée :
"||lundi|||||mardi|10:00|||19:30|mercredi|10:00|||19:30|jeudi|10:00|||19:30|vendredi|10:00|||19:30|samedi|10:00|||19:30|dimanche|||||jours_fermeture|Lundi-Dimanche"
```
```
Application du filtre :
{% for open in record.ouverturecomplet|tourinsoft|fullOpeningWithDays %}
{{ open }} <br />
{% endfor %}
```
```
Valeur en sortie :
Ouverture du 01/01/2018 au 31/12/2018
Lundi 08:00-12:00, 14:00-18:00
Mardi 08:00-12:00, 14:00-18:00
Mercredi 08:00-12:00, 14:00-18:00
Jeudi 08:00-12:00, 14:00-18:00
Vendredi 08:00-12:00, 14:00-18:00
Jours de fermeture : Samedi-Dimanche
```
********************************************************************************************************
#### CommunicationFilter :
......
......@@ -33,6 +33,7 @@ use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FilesFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FileFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullDatesFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullOpeningFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullOpeningWithDaysFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\MeetingRoomFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\PhotoFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\SimpleOpeningFilter;
......@@ -120,6 +121,7 @@ class TourinsoftExtension extends SimpleExtension
'files' => [[new FilesFilter($this->getConfig(), false), 'run']], ['is_safe' => ['html']],
'file' => [[new FileFilter($this->getConfig(), false), 'run']], ['is_safe' => ['html']],
'opening' => [[FullOpeningFilter::class, 'run'], ['is_safe' => ['html'] ]],
'fullOpeningWithDays' => [[FullOpeningFilter::class, 'run'], ['is_safe' => ['html'] ]],
'fullDates' => [[FullDatesFilter::class, 'run'], ['is_safe' => ['html'] ]],
'validatedDate' => [[ValidatedDateFilter::class, 'run'], ['is_safe' => ['html']]],
'simpleOpening' => [[SimpleOpeningFilter::class, 'run'], ['is_safe' => ['html']]],
......
<?php
namespace Bolt\Extension\Appolo\Tourinsoft\TwigFilters;
class FullOpeningWithDaysFilter
{
/**
* @param $input
* @return array
*/
public static function run($input)
{
$data = [];
if(empty($input[0]) || !is_array($input[0])) {
return $input;
}
$item = $input[0];
$data['open'] = (!empty($item[0])) ? 'Ouverture du ' .$item[0] . ' au ' .$item[1] : '';
$data['monday'] = null;
if(!empty($item[3]) && !empty($item[4]) && !empty($item[5]) && !empty($item[6])) {
$data['monday'] = 'Lundi ' .$item[3]. '-' .$item[4]. ', ' .$item[5]. '-' .$item[6];
} elseif (!empty($item[3]) && empty($item[4]) && empty($item[5]) && !empty($item[6])) {
$data['monday'] = 'Lundi ' .$item[3]. '-' .$item[6];
} elseif (!empty($item[3]) && !empty($item[4]) && empty($item[5]) && empty($item[6])) {
$data['monday'] = 'Lundi ' .$item[3]. '-' .$item[4];
} elseif (empty($item[3]) && empty($item[4]) && !empty($item[5]) && !empty($item[6])) {
$data['monday'] = 'Lundi ' .$item[5]. '-' .$item[6];
}
$data['tuesday'] = null;
if(!empty($item[8]) && !empty($item[9]) && !empty($item[10]) && !empty($item[11])) {
$data['tuesday'] = 'Mardi ' .$item[8]. '-' .$item[9]. ', ' .$item[10]. '-' .$item[11];
} elseif (!empty($item[8]) && empty($item[9]) && empty($item[10]) && !empty($item[11])) {
$data['tuesday'] = 'Mardi ' .$item[8]. '-' .$item[11];
} elseif (!empty($item[8]) && !empty($item[9]) && empty($item[10]) && empty($item[11])) {
$data['tuesday'] = 'Mardi ' .$item[8]. '-' .$item[9];
} elseif (empty($item[8]) && empty($item[9]) && !empty($item[10]) && !empty($item[11])) {
$data['tuesday'] = 'Mardi ' .$item[10]. '-' .$item[11];
}
$data['wednesday'] = null;
if(!empty($item[13]) && !empty($item[14]) && !empty($item[15]) && !empty($item[16])) {
$data['wednesday'] = 'Mercredi ' .$item[13]. '-' .$item[14]. ', ' .$item[15]. '-' .$item[16];
} elseif (!empty($item[13]) && empty($item[14]) && empty($item[15]) && !empty($item[16])) {
$data['wednesday'] = 'Mercredi ' .$item[13]. '-' .$item[16];
} elseif (!empty($item[13]) && !empty($item[14]) && empty($item[15]) && empty($item[16])) {
$data['wednesday'] = 'Mercredi ' .$item[13]. '-' .$item[14];
} elseif (empty($item[13]) && empty($item[14]) && !empty($item[15]) && !empty($item[16])) {
$data['wednesday'] = 'Mercredi ' .$item[15]. '-' .$item[16];
}
$data['thursday'] = null;
if(!empty($item[18]) && !empty($item[19]) && !empty($item[20]) && !empty($item[21])) {
$data['thursday'] = 'Jeudi ' .$item[18]. '-' .$item[19]. ', ' .$item[20]. '-' .$item[21];
} elseif (!empty($item[18]) && empty($item[19]) && empty($item[20]) && !empty($item[21])) {
$data['thursday'] = 'Jeudi ' .$item[18]. '-' .$item[21];
} elseif (!empty($item[18]) && !empty($item[19]) && empty($item[20]) && empty($item[21])) {
$data['thursday'] = 'Jeudi ' .$item[18]. '-' .$item[19];
} elseif (empty($item[18]) && empty($item[19]) && !empty($item[20]) && !empty($item[21])) {
$data['thursday'] = 'Jeudi ' .$item[20]. '-' .$item[21];
}
$data['friday'] = null;
if(!empty($item[23]) && !empty($item[24]) && !empty($item[25]) && !empty($item[26])) {
$data['friday'] = 'Vendredi ' .$item[23]. '-' .$item[24]. ', ' .$item[25]. '-' .$item[26];
} elseif (!empty($item[23]) && empty($item[24]) && empty($item[25]) && !empty($item[26])) {
$data['friday'] = 'Vendredi ' .$item[23]. '-' .$item[26];
} elseif (!empty($item[23]) && !empty($item[24]) && empty($item[25]) && empty($item[26])) {
$data['friday'] = 'Vendredi ' .$item[23]. '-' .$item[24];
} elseif (empty($item[23]) && empty($item[24]) && !empty($item[25]) && !empty($item[26])) {
$data['friday'] = 'Vendredi ' .$item[25]. '-' .$item[26];
}
$data['saturday'] = null;
if(!empty($item[28]) && !empty($item[29]) && !empty($item[30]) && !empty($item[31])) {
$data['saturday'] = 'Samedi ' .$item[28]. '-' .$item[29]. ', ' .$item[30]. '-' .$item[31];
} elseif (!empty($item[28]) && empty($item[29]) && empty($item[30]) && !empty($item[31])) {
$data['saturday'] = 'Samedi ' .$item[28]. '-' .$item[31];
} elseif (!empty($item[28]) && !empty($item[29]) && empty($item[30]) && empty($item[31])) {
$data['saturday'] = 'Samedi ' .$item[28]. '-' .$item[29];
} elseif (empty($item[28]) && empty($item[29]) && !empty($item[30]) && !empty($item[31])) {
$data['saturday'] = 'Samedi ' .$item[30]. '-' .$item[31];
}
$data['sunday'] = null;
if(!empty($item[33]) && !empty($item[34]) && !empty($item[35]) && !empty($item[36])) {
$data['sunday'] = 'Dimanche ' .$item[33]. '-' .$item[34]. ', ' .$item[35]. '-' .$item[36];
} elseif (!empty($item[33]) && empty($item[34]) && empty($item[35]) && !empty($item[36])) {
$data['sunday'] = 'Dimanche ' .$item[33]. '-' .$item[36];
} elseif (!empty($item[33]) && !empty($item[34]) && empty($item[35]) && empty($item[36])) {
$data['sunday'] = 'Dimanche ' .$item[33]. '-' .$item[34];
} elseif (empty($item[33]) && empty($item[34]) && !empty($item[35]) && !empty($item[36])) {
$data['sunday'] = 'Dimanche ' .$item[35]. '-' .$item[36];
}
$data['closed'] = (!empty($item[38])) ? 'Jours de fermeture : ' .$item[38] : '';
return $data;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment