diff --git a/calendar/calendar.php b/calendar/calendar.php index e180901..1bdc936 100644 --- a/calendar/calendar.php +++ b/calendar/calendar.php @@ -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/'; @@ -84,6 +84,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([ @@ -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([