13.4.00.test1 icone plugin rouge si module mis à jour

This commit is contained in:
Fred Tempez 2024-09-15 17:53:23 +02:00
parent 67eeef26a0
commit 095e317f3b
3 changed files with 48 additions and 9 deletions

View File

@ -1063,10 +1063,6 @@ class layout extends common
'help' => 'Thème', 'help' => 'Thème',
'href' => helper::baseUrl() . 'theme' 'href' => helper::baseUrl() . 'theme'
]) . '</li>'; ]) . '</li>';
$rightItems .= '<li>' . template::ico('puzzle', [
'help' => 'Modules',
'href' => helper::baseUrl() . 'plugin'
]) . '</li>';
$rightItems .= '<li>' . template::ico('cog-alt', [ $rightItems .= '<li>' . template::ico('cog-alt', [
'help' => 'Configuration', 'help' => 'Configuration',
'href' => helper::baseUrl() . 'config' 'href' => helper::baseUrl() . 'config'
@ -1092,15 +1088,45 @@ class layout extends common
) { ) {
$this->setData(['core', 'updateAvailable', true]); $this->setData(['core', 'updateAvailable', true]);
} }
// Recherche de mise à jour des modules
$store = plugin::getStore();
if (is_array($store)) {
// Modules installés
$infoModules = helper::getModules();
// Clés moduleIds dans les pages
$inPages = helper::arrayColumn($this->getData(['page']), 'moduleId', 'SORT_DESC');
// Parcourir les données des modules
foreach ($store as $key => $value) {
if (empty($key)) {
continue;
}
// Mise à jour d'un module
if (array_key_exists($key, $infoModules) === true) {
$this->setData(['core', 'updateModuleAvailable', true]);
}
}
}
} }
} }
// Afficher le bouton : Mise à jour détectée + activée // Afficher le bouton : Mise à jour détectée + activée
if ($this->getData(['core', 'updateAvailable'])) { if ($this->getData(['core', 'updateAvailable'])) {
$rightItems .= '<li><a href="' . helper::baseUrl() . 'install/update" data-tippy-content="Mettre à jour Zwii ' . common::ZWII_VERSION . ' vers ' . helper::getOnlineVersion(common::ZWII_UPDATE_CHANNEL) . '">' . template::ico('update colorRed') . '</a></li>'; $rightItems .= '<li><a href="' . helper::baseUrl() . 'install/update" data-tippy-content="Mettre à jour Zwii ' . common::ZWII_VERSION . ' vers ' . helper::getOnlineVersion(common::ZWII_UPDATE_CHANNEL) . '">' . template::ico('update colorRed') . '</a></li>';
} }
} }
if ($this->getData(['core', 'updateModuleAvailable'])) {
$rightItems .= '<li>' . template::ico('puzzle colorRed', [
'help' => 'Modules',
'href' => helper::baseUrl() . 'plugin'
]) . '</li>';
} else {
$rightItems .= '<li>' . template::ico('puzzle', [
'help' => 'Modules',
'href' => helper::baseUrl() . 'plugin'
]) . '</li>';
}
// Boutons depuis le groupe éditeur
if ( if (
$this->getUser('group') >= self::GROUP_EDITOR $this->getUser('group') >= self::GROUP_EDITOR
&& $this->getUser('permission', 'user', 'edit') && $this->getUser('permission', 'user', 'edit')
@ -1175,7 +1201,7 @@ class layout extends common
{ {
// Import des fontes liées au thème // Import des fontes liées au thème
if (file_exists(self::DATA_DIR . 'font/font.html')) { if (file_exists(self::DATA_DIR . 'font/font.html')) {
include_once (self::DATA_DIR . 'font/font.html'); include_once(self::DATA_DIR . 'font/font.html');
} }
} }

View File

@ -51,7 +51,7 @@ class common
const ACCESS_TIMER = 1800; const ACCESS_TIMER = 1800;
// Numéro de version // Numéro de version
const ZWII_VERSION = '13.4.00'; const ZWII_VERSION = '13.4.00.test1';
// URL autoupdate // URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/'; const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/';

View File

@ -22,7 +22,7 @@ class plugin extends common
'delete' => self::GROUP_ADMIN, 'delete' => self::GROUP_ADMIN,
'save' => self::GROUP_ADMIN, 'save' => self::GROUP_ADMIN,
'store' => self::GROUP_ADMIN, 'store' => self::GROUP_ADMIN,
'item' => self::GROUP_ADMIN, //'item' => self::GROUP_ADMIN,
// détail d'un objet // détail d'un objet
'upload' => self::GROUP_ADMIN, 'upload' => self::GROUP_ADMIN,
// Téléverser catalogue // Téléverser catalogue
@ -330,6 +330,7 @@ class plugin extends common
'state' => $r['success'] 'state' => $r['success']
]); ]);
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => helper::translate('Catalogue de modules'), 'title' => helper::translate('Catalogue de modules'),
@ -411,6 +412,15 @@ class plugin extends common
]); ]);
} }
/**
* Retourne le contenu du store en ligne
* @return mixed
*/
public static function getStore() {
$store = json_decode(helper::getUrlContents(self::BASEURL_STORE . self::MODULE_STORE . 'list'), true);
return $store;
}
/** /**
* Gestion des modules * Gestion des modules
*/ */
@ -556,6 +566,9 @@ class plugin extends common
} }
} }
// Désactive l'icône rouge
$this->setData(['core', 'updateModuleAvailable', false]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => helper::translate('Gestion des modules'), 'title' => helper::translate('Gestion des modules'),