Calendar 1.4alpha corrige le bug de sélection des classes

This commit is contained in:
Fred Tempez 2024-09-08 22:11:45 +02:00
parent 4f7507bf14
commit be4f5c8457

View File

@ -15,7 +15,7 @@
class calendar extends common
{
const VERSION = '1.4';
const VERSION = '1.4alpha';
const REALNAME = 'Calendrier';
const DATA_DIRECTORY = self::DATA_DIR . 'calendar/';
@ -85,6 +85,11 @@ class calendar extends common
}
}
// Initialise la feuille de style
if (empty($this->getData(['page', $this->getUrl(0), 'css']))) {
$this->initCss();
}
// Valeurs en sortie
$this->addOutput([
'showBarEditButton' => true,
@ -128,13 +133,20 @@ class calendar extends common
}
// Liste des classes disponibles
$classes = $this->getData(['page', $this->getUrl(0), 'css']);
preg_match_all('/\.(\w+)/', $classes, $matches);
if (isset($matches[1])) {
// Créer un tableau associatif avec les clés égales aux valeurs
$associativeClasses = array_combine($matches[1], $matches[1]);
// Fusionner ce tableau avec le tableau self::$classes
self::$classes = array_merge(self::$classes, $associativeClasses);
// Utiliser une expression pour capturer la clé complète (div .gc-event.textRed) et la dernière classe (textRed)
preg_match_all('/(div\s+\.gc-event\.\w+)\s*\{/', $classes, $matches);
// Créer un tableau associatif où la clé est la classe complète et la valeur est la dernière partie de la classe
$associativeClasses = [];
foreach ($matches[1] as $fullClass) {
// Extraire la dernière classe après le dernier point
preg_match('/\.(\w+)$/', $fullClass, $lastClassMatch);
$lastClass = $lastClassMatch[1];
// Assigner la clé complète à la dernière classe
self::$classes[$fullClass] = $lastClass;
}
// Valeurs en sortie
@ -183,13 +195,20 @@ class calendar extends common
}
// Liste des classes disponibles
$classes = $this->getData(['page', $this->getUrl(0), 'css']);
preg_match_all('/\.(\w+)/', $classes, $matches);
if (isset($matches[1])) {
// Créer un tableau associatif avec les clés égales aux valeurs
$associativeClasses = array_combine($matches[1], $matches[1]);
// Fusionner ce tableau avec le tableau self::$classes
self::$classes = array_merge(self::$classes, $associativeClasses);
// Utiliser une expression pour capturer la clé complète (div .gc-event.textRed) et la dernière classe (textRed)
preg_match_all('/(div\s+\.gc-event\.\w+)\s*\{/', $classes, $matches);
// Créer un tableau associatif où la clé est la classe complète et la valeur est la dernière partie de la classe
$associativeClasses = [];
foreach ($matches[1] as $fullClass) {
// Extraire la dernière classe après le dernier point
preg_match('/\.(\w+)$/', $fullClass, $lastClassMatch);
$lastClass = $lastClassMatch[1];
// Assigner la clé complète à la dernière classe
self::$classes[$fullClass] = $lastClass;
}
// Valeurs en sortie
$this->addOutput([