diff --git a/CHANGES.md b/CHANGES.md
index 3772780a..99248b93 100755
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -15,8 +15,13 @@
- Approbation des commentaires
## version 10.3.04
-- Correction :
+- Corrections :
- Position des entrées de menu sur les écrans de smartphone.
+ - Thème : import d'un thème, d'administration impossible.
+ - Thème : import d'un thème, nettoyage du dossier tmp.
+ - Thème administration : modification de l'appel du code CSS permettant une mise à jour du thème sans vider le cache.
+- Amélioration :
+ - Mise en page du corps des mails de notification.
## version 10.3.03
- Correction :
diff --git a/core/class/template.class.php b/core/class/template.class.php
index c448ed34..a99b89f9 100644
--- a/core/class/template.class.php
+++ b/core/class/template.class.php
@@ -49,7 +49,7 @@ class template {
'value' => '',
'limit' => false
], $attributes);
- // Génère deux nombres
+ // Génération des nombres et choix de l'opération
$numbers = array(0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20);
$letters = array('u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a');
$limit = $attributes['limit'] ? count($letters)-1 : 10;
@@ -57,43 +57,37 @@ class template {
$firstNumber = mt_rand (1, $limit);
mt_srand((float) microtime()*1000000);
$secondNumber = mt_rand (1, $limit);
- // Choisit l'opération
mt_srand((float) microtime()*1000000);
- $operator = mt_rand (0, 3);
+ $operator = mt_rand (0, 3);
switch ($operator) {
case 0:
- $operator = '+';
+ $operator = template::ico('plus');
if ($firstNumber < $secondNumber) {
$temp = $firstNumber;
$firstNumber = $secondNumber;
$secondNumber = $temp;
- // [$firstNumber, $secondNumber] = [$secondNumber, $firstNumber]; // ---> A partir de PHP 7.1
}
$result = $firstNumber + $secondNumber;
- $operator = template::ico('plus');
break;
case 1:
- $operator = '-';
+ $operator = template::ico('minus');
if ($firstNumber < $secondNumber) {
$temp = $firstNumber;
$firstNumber = $secondNumber;
$secondNumber = $temp;
- // [$firstNumber, $secondNumber] = [$secondNumber, $firstNumber]; // ---> A partir de PHP 7.1
}
$result = $firstNumber - $secondNumber;
- $operator = template::ico('minus');
break;
case 2:
- $operator = 'x';
+ $operator = template::ico('cancel');
mt_srand((float) microtime()*1000000);
$firstNumber = mt_rand (1, 10);
mt_srand((float) microtime()*1000000);
$secondNumber = mt_rand (1, 10);
$result = $firstNumber * $secondNumber;
- $operator = template::ico('cancel');
break;
case 3:
- $operator = ':';
+ $operator = template::ico('divide');
mt_srand((float) microtime()*1000000);
$firstNumber = mt_rand (1, 10);
mt_srand((float) microtime()*1000000);
@@ -117,7 +111,6 @@ class template {
}
$firstNumber = $firstNumber * $secondNumber;
$result = $firstNumber / $secondNumber;
- $operator = template::ico('divide');
break;
}
$result = password_hash($result, PASSWORD_BCRYPT);
@@ -145,7 +138,7 @@ class template {
'',
helper::sprintAttributes($attributes)
);
- // Champ résultat caché
+ // Champ résultat codé
$html .= self::hidden($attributes['id'] . 'Result', [
'value' => $result,
'before' => false
diff --git a/core/core.php b/core/core.php
index e8a8a189..bd63087e 100644
--- a/core/core.php
+++ b/core/core.php
@@ -983,6 +983,17 @@ class common {
$db->save;
}
+ /**
+ * Effacer un dossier non vide.
+ * @param string URL du dossier à supprimer
+ */
+ public function removeDir ( $path ) {
+ foreach ( new DirectoryIterator($path) as $item ):
+ if ( $item->isFile() ) unlink($item->getRealPath());
+ if ( !$item->isDot() && $item->isDir() ) $this->removeDir($item->getRealPath());
+ endforeach;
+ rmdir($path);
+ }
/**
* Mises à jour
@@ -1667,7 +1678,7 @@ class core extends common {
$colors = helper::colorVariants($this->getData(['admin','backgroundColorButtonRed']));
$css .= '.button.buttonRed {background-color: ' . $colors['normal'] . ';color: ' . $colors['text'] . ';}.button.buttonRed:hover {background-color:' . $colors['darken'] . ';color:' . $colors['text'] . ';}.button.buttonRed:active {background-color:' . $colors['veryDarken'] . ';color:' . $colors['text'] . ';}';
$colors = helper::colorVariants($this->getData(['admin','backgroundColorButtonGreen']));
- $css .= '.button.buttonGreen, button[type=submit] {background-color: ' . $colors['normal'] . ';color: ' . $colors['text'] . '}.button.buttonGreen:hover, button[type=submit]:hover {background-color: ' . $colors['darken'] . ';color: ' . $colors['text'] .';}.button.buttonGreen:active, button[type=submit]:active {background-color: ' . $colors['darken'] . ';color: ' .$colors['text'] .';}';
+ $css .= '.button.buttonGreen, button[type=submit] {background-color: ' . $colors['normal'] . ';color: ' . $colors['text'] . ';}.button.buttonGreen:hover, button[type=submit]:hover {background-color: ' . $colors['darken'] . ';color: ' . $colors['text'] .';}.button.buttonGreen:active, button[type=submit]:active {background-color: ' . $colors['darken'] . ';color: ' .$colors['text'] .';}';
$colors = helper::colorVariants($this->getData(['admin','backgroundBlockColor']));
$css .= '.block {border: 1px solid ' . $this->getData(['admin','borderBlockColor']) . ';}.block h4 {background-color: ' . $colors['normal'] . ';color:' . $colors['text'] . ';}';
$css .= 'table tr,input[type=email],input[type=text],input[type=password],select:not(#barSelectPage),textarea:not(.editorWysiwyg),.inputFile{background-color: ' . $colors['normal'] . ';color:' . $colors['text'] . ';border: 1px solid ' . $this->getData(['admin','borderBlockColor']) . ';}';
@@ -2762,6 +2773,9 @@ class layout extends common {
public function showStyle() {
if($this->core->output['style']) {
echo '