@Morlock
En fait oui c'est logique car ce code cache le contenu de la page... Et il lui faut le JS qui va avec.
Donc ça venait bien d'une vielle version du thème, j'aurais du y penser tout de même, c'était logique...
Depuis que c'est intégré à Jeedom ça ne risque plus d'arriver, surtout que la page est caché en JS, et plus en CSS pour éviter ce pb même avec le thème lui même (si jamais le JS merde pas exemple).
Sinon avant de passer le scénario en release (sur le market) si certains veulent bien le tester :
y'a jute a créer un scenar + un bloc code et coller ça dedans :
Code : Tout sélectionner
//config
$url = "http://rulistaff.free.fr/theme/dark-sobre.zip"; //adresse web du thème compressé
$theme_folder = "darksobre"; //nom du dossier de thème dans jeedom
$tmp_folder = "/tmp"; //chemin du dossier temporaire de jeedom (depuis la racine de jeedom)
/********** SCRIPT DE MAJ AUTO DU THEME **********
* (basé sur une idée de @romanais) *
**************************************************/
$scenario->setLog('<b style=" color:#555555">--- CONFIG:</b>');
$scenario->setLog("Url de l'archive du thème: <b><i>" . $url . '</i></b>');
$scenario->setLog("Nom du dossier du thème: <b><i>" . $theme_folder . '</i></b>');
$scenario->setLog("Répertoire temporaire Jeedom: <b><i>" . $tmp_folder . '</i></b>');
$scenario->setLog('<b style=" color:#555555">--- MAJ DU THEME:</b>');
$apache = file_exists("/var/run/apache2/apache2.pid");
$jeedom_folder = ($apache) ? "/var/www/html" : "/usr/share/nginx/www/jeedom";
function return_error($error)
{
global $scenario;
$scenario->setLog('<b style="color:#EE0000">' . $error . '</b>');
$scenario->setLog('<b>Mise à jour abandonnée</b>');
$scenario->setLog('<b style=" color:#555555">--- FIN MAJ DU THEME</b>');
}
if (!is_dir($jeedom_folder)) {
return_error("Répertoire de Jeedom non trouvé !");
return;
}
if (!is_dir($jeedom_folder . $tmp_folder)) {
return_error("Répertoire temporaire de Jeedom non trouvé !");
return;
}
$scenario->setLog("Serveur web " . (($apache) ? "Apache" : "Nginx") . " détecté");
$filename = $jeedom_folder . $tmp_folder . "/dark-sobre.zip";
$theme_path = $jeedom_folder . "/core/themes/" . $theme_folder . "/";
if (!is_dir($theme_path)) {
return_error("Répertoire du thème non trouvé !");
return;
}
function show_version($file)
{
global $scenario;
$scenario->setLog("Recherche de la version du thème...");
if (is_file($file)) {
$fh = fopen($file, "r");
if ($fh) {
$file_start_content = fread($fh, 200);
if (rewind($fh)) {
preg_match("/CSS\s(.+)\s/", $file_start_content, $version);
if (count($version)) {
fclose($fh);
return '<b style="color:#4499AF">' . $version[1] . '</b>';
}
}
fclose($fh);
}
}
return '<b style="color:#EE0000">Impossible de lire la version !</b>';
}
$check_ver_file = $theme_path . "desktop/" . $theme_folder . ".css";
$scenario->setLog('<b style="color:#9D64BA">VERSION EXISTANTE:</b> ' . show_version($check_ver_file));
$scenario->setLog("Téléchargement de l’archive " . $url . "...");
exec("wget " . $url . " -O " . $filename);
if (!is_file($filename)) {
return_error("Erreur, le téléchargement ou l'enregistrement de l'archive a échoué !");
return;
}
function unzip_file($file, $destination, $check_ver)
{
global $scenario;
$zip = new ZipArchive();
if ($zip->open($file) !== true) {
return_error("Impossible d’ouvrir l’archive");
return;
}
if (!$zip->extractTo($destination)) {
return_error("Impossible d’extraire l’archive");
return;
}
$zip->close();
$scenario->setLog("Archive extraite vers <b><i>" . $destination . "</i></b>");
$scenario->setLog('<b style=" color:#10AA60">VERSION APRES INSTALLATION: </b>' . show_version($check_ver));
}
$scenario->setLog("Extraction de l’archive...");
unzip_file($filename, $theme_path, $check_ver_file);
(unlink($filename)) ? $scenario->setLog("Archive temporaire du thème supprimée") : return_error("Erreur de suppression de l’archive temporaire du thème !");
$scenario->setLog('<b style=" color:#555555">--- FIN MAJ DU THEME</b>');
puis le lancer et coller le log ici pour voir si tout est bueno