forked from ZwiiCMS-Team/ZwiiCampus
1408 bloque la suppression d'une fonte mise en oeuvre dans le theme d'un autre espace.
Optimise le code
This commit is contained in:
parent
995a4364f6
commit
280962b852
@ -1,4 +1,4 @@
|
|||||||
# ZwiiCampus 1.4.07
|
# ZwiiCampus 1.4.08
|
||||||
|
|
||||||
ZwiiCampus (Learning Management System) est logiciel auteur destiné à mettre en ligne des tutoriels. Il dispose de plusieurs modalités d'ouverture et d'accès des contenus. Basé sur la version 13 du CMS Zwii, la structure logicielle est solide, le framework de Zwii est éprouvé.
|
ZwiiCampus (Learning Management System) est logiciel auteur destiné à mettre en ligne des tutoriels. Il dispose de plusieurs modalités d'ouverture et d'accès des contenus. Basé sur la version 13 du CMS Zwii, la structure logicielle est solide, le framework de Zwii est éprouvé.
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ class common
|
|||||||
const ACCESS_TIMER = 1800;
|
const ACCESS_TIMER = 1800;
|
||||||
|
|
||||||
// Numéro de version
|
// Numéro de version
|
||||||
const ZWII_VERSION = '1.4.07';
|
const ZWII_VERSION = '1.4.08';
|
||||||
|
|
||||||
// URL autoupdate
|
// URL autoupdate
|
||||||
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/';
|
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/';
|
||||||
|
@ -629,15 +629,18 @@ class theme extends common
|
|||||||
$this->setFonts('all');
|
$this->setFonts('all');
|
||||||
|
|
||||||
// Polices liées au thème
|
// Polices liées au thème
|
||||||
$used = [
|
$admin = json_decode(file_get_contents(self::DATA_DIR . 'admin.json'), true);
|
||||||
'Bannière' => $this->getData(['theme', 'header', 'font']),
|
$fonts['Admin Titre (admin)'] = $admin['admin']['fontTitle'];
|
||||||
'Menu' => $this->getData(['theme', 'menu', 'font']),
|
$fonts['Admin Texte (admin)'] = $admin['admin']['fontText'];
|
||||||
'Titre ' => $this->getData(['theme', 'title', 'font']),
|
// Polices liées aux thèmes des espaces
|
||||||
'Texte' => $this->getData(['theme', 'text', 'font']),
|
foreach ($this->getData(['course']) as $courseId => $courseValue) {
|
||||||
'Pied de page' => $this->getData(['theme', 'footer', 'font']),
|
$theme = json_decode(file_get_contents(self::DATA_DIR . $courseId . '/theme.json'), true);
|
||||||
'Titre (admin)' => $this->getData(['admin', 'fontTitle']),
|
$fonts['Bannière ('. $courseId .')'] = $theme['theme']['header']['font'];
|
||||||
'Admin (texte)' => $this->getData(['admin', 'fontText'])
|
$fonts['Menu ('. $courseId .')'] = $theme['theme']['menu']['font'];
|
||||||
];
|
$fonts['Titre ('. $courseId .')'] = $theme['theme']['title']['font'];
|
||||||
|
$fonts['Texte ('. $courseId .')'] = $theme['theme']['text']['font'];
|
||||||
|
$fonts['Pied de page ('. $courseId .')'] = $theme['theme']['footer']['font'];
|
||||||
|
}
|
||||||
|
|
||||||
// Récupérer le détail des fontes installées
|
// Récupérer le détail des fontes installées
|
||||||
//$f = $this->getFonts();
|
//$f = $this->getFonts();
|
||||||
@ -645,22 +648,24 @@ class theme extends common
|
|||||||
$f['imported'] = $this->getData(['font', 'imported']);
|
$f['imported'] = $this->getData(['font', 'imported']);
|
||||||
$f['websafe'] = self::$fontsWebSafe;
|
$f['websafe'] = self::$fontsWebSafe;
|
||||||
|
|
||||||
|
// Listes des espaces à parcourir pour bloquer la suppression d'une fonte utilisée
|
||||||
|
$courses = array_merge(['admin'], array_keys($this->getData(['course'])));
|
||||||
|
|
||||||
|
|
||||||
// Parcourir les fontes disponibles et construire le tableau pour le formulaire
|
// Parcourir les fontes disponibles et construire le tableau pour le formulaire
|
||||||
foreach ($f as $type => $typeValue) {
|
foreach ($f as $type => $typeValue) {
|
||||||
if (is_array($typeValue)) {
|
if (is_array($typeValue)) {
|
||||||
foreach ($typeValue as $fontId => $fontValue) {
|
foreach ($typeValue as $fontId => $fontValue) {
|
||||||
// Fontes utilisées par les thèmes
|
// Recherche les correrspondances
|
||||||
$fontUsed[$fontId] = '';
|
$result = array_filter($fonts, function($value) use ($fontId) {
|
||||||
foreach ($used as $key => $value) {
|
return $value == $fontId;
|
||||||
if ($value === $fontId) {
|
});
|
||||||
$fontUsed[$fontId] .= $key . '<br/>';
|
$keyResults = array_keys($result);
|
||||||
}
|
|
||||||
}
|
|
||||||
self::$fontsDetail[] = [
|
self::$fontsDetail[] = [
|
||||||
$fontId,
|
$fontId,
|
||||||
'<span style="font-family:' . $f[$type][$fontId]['font-family'] . '">' . $f[$type][$fontId]['name'] . '</span>',
|
'<span style="font-family:' . $f[$type][$fontId]['font-family'] . '">' . $f[$type][$fontId]['name'] . '</span>',
|
||||||
$f[$type][$fontId]['font-family'],
|
$f[$type][$fontId]['font-family'],
|
||||||
$fontUsed[$fontId],
|
empty($keyResults) ? '' : '<span class="fontsList">' . implode('<br />', $keyResults) . '</span>',
|
||||||
$type,
|
$type,
|
||||||
$type !== 'websafe' ? template::button('themeFontEdit' . $fontId, [
|
$type !== 'websafe' ? template::button('themeFontEdit' . $fontId, [
|
||||||
'class' => 'themeFontEdit',
|
'class' => 'themeFontEdit',
|
||||||
@ -848,7 +853,7 @@ class theme extends common
|
|||||||
file_exists($this->getData(['font', 'files', $this->getUrl(3), 'resource']))
|
file_exists($this->getData(['font', 'files', $this->getUrl(3), 'resource']))
|
||||||
) {
|
) {
|
||||||
|
|
||||||
unlink($this->getData(['font', 'files', $this->getUrl(3), 'resource']));
|
unlink($this->getData(['font', 'files', $this->getUrl(3), 'resource']));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
@ -1068,17 +1073,17 @@ class theme extends common
|
|||||||
// Substitution des fontes Google
|
// Substitution des fontes Google
|
||||||
if ($modele = 'theme') {
|
if ($modele = 'theme') {
|
||||||
// Déplacement des deux fichiers de theme dans le siteContent
|
// Déplacement des deux fichiers de theme dans le siteContent
|
||||||
copy (self::DATA_DIR . 'theme.css', self::DATA_DIR . self::$siteContent . '/theme.css');
|
copy(self::DATA_DIR . 'theme.css', self::DATA_DIR . self::$siteContent . '/theme.css');
|
||||||
copy (self::DATA_DIR . 'theme.json', self::DATA_DIR . self::$siteContent . '/theme.json');
|
copy(self::DATA_DIR . 'theme.json', self::DATA_DIR . self::$siteContent . '/theme.json');
|
||||||
unlink(self::DATA_DIR . 'theme.css');
|
unlink(self::DATA_DIR . 'theme.css');
|
||||||
unlink(self::DATA_DIR . 'theme.json');
|
unlink(self::DATA_DIR . 'theme.json');
|
||||||
$c = $this->subFont(self::DATA_DIR . self::$siteContent . '/theme.json');
|
$c = $this->subFont(self::DATA_DIR . self::$siteContent . '/theme.json');
|
||||||
// Un remplacement nécessite la régénération de la feuille de style
|
// Un remplacement nécessite la régénération de la feuille de style
|
||||||
if (
|
if (
|
||||||
$c > 0
|
$c > 0
|
||||||
and file_exists(self::DATA_DIR . self::$siteContent . '/theme.css')
|
and file_exists(self::DATA_DIR . self::$siteContent . '/theme.css')
|
||||||
) {
|
) {
|
||||||
unlink(self::DATA_DIR . self::$siteContent . '/theme.css');
|
unlink(self::DATA_DIR . self::$siteContent . '/theme.css');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($modele = 'admin') {
|
if ($modele = 'admin') {
|
||||||
@ -1203,8 +1208,8 @@ class theme extends common
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'theme':
|
case 'theme':
|
||||||
$zip->addFile(self::DATA_DIR . self::$siteContent . '/theme.json', self::DATA_DIR . 'theme.json');
|
$zip->addFile(self::DATA_DIR . self::$siteContent . '/theme.json', self::DATA_DIR . 'theme.json');
|
||||||
$zip->addFile(self::DATA_DIR . self::$siteContent . '/theme.css', self::DATA_DIR . 'theme.css');
|
$zip->addFile(self::DATA_DIR . self::$siteContent . '/theme.css', self::DATA_DIR . 'theme.css');
|
||||||
$zip->addFile(self::DATA_DIR . 'custom.css', self::DATA_DIR . 'custom.css');
|
$zip->addFile(self::DATA_DIR . 'custom.css', self::DATA_DIR . 'custom.css');
|
||||||
// Traite l'image dans le body
|
// Traite l'image dans le body
|
||||||
if ($this->getData(['theme', 'body', 'image']) !== '') {
|
if ($this->getData(['theme', 'body', 'image']) !== '') {
|
||||||
|
@ -16,3 +16,7 @@
|
|||||||
/** NE PAS EFFACER
|
/** NE PAS EFFACER
|
||||||
* admin.css
|
* admin.css
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.fontsList{
|
||||||
|
font-size: 0.7rem;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user