From 10043e641c54aa4a64f3f0097b9906ef34d23dac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Thu, 30 Jul 2020 14:58:10 +0200 Subject: [PATCH 01/27] Update info.json --- plugin_info/info.json | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/plugin_info/info.json b/plugin_info/info.json index 1aa59e6..1e28f5f 100644 --- a/plugin_info/info.json +++ b/plugin_info/info.json @@ -8,22 +8,6 @@ "category": "programming", "changelog": "https:\/\/doc.jeedom.com\/#language#\/plugins\/programming\/script\/changelog", "documentation": "https:\/\/doc.jeedom.com\/#language#\/plugins\/programming\/script\/", - "language": [ - "fr_FR", - "en_US", - "de_DE", - "sp_SP", - "ru_RU", - "id_ID", - "it_IT" - ], - "compatibility": [ - "miniplus", - "smart", - "rpi", - "docker", - "diy", - "mobile", - "v4" - ] -} \ No newline at end of file + "language" : ["fr_FR","en_US","de_DE","sp_SP"], + "compatibility" : ["miniplus","smart","rpi","docker","diy","mobile","v4"] +} From 13c1829a277cda80b0a503d5d73e2a62df58bb11 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 31 Jul 2020 00:13:42 +0000 Subject: [PATCH 02/27] [Jenkins] Updated translation --- core/i18n/de_DE.json | 3 +++ core/i18n/en_US.json | 3 +++ core/i18n/es_ES.json | 3 +++ core/i18n/fr_FR.json | 3 +++ core/i18n/id_ID.json | 3 +++ core/i18n/it_IT.json | 3 +++ core/i18n/ja_JP.json | 3 +++ core/i18n/pt_PT.json | 3 +++ core/i18n/ru_RU.json | 3 +++ core/i18n/tr.json | 3 +++ plugin_info/info.json | 28 ++++++++++++++++++++++++---- 11 files changed, 54 insertions(+), 4 deletions(-) diff --git a/core/i18n/de_DE.json b/core/i18n/de_DE.json index 46863ae..e58bc6a 100644 --- a/core/i18n/de_DE.json +++ b/core/i18n/de_DE.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "Nachricht und Betreff dürfen nicht leer sein", "La réponse ne contient pas ": "Die Antwort enthält nicht", "Json invalide ou non décodable : ": "Json ungültig oder nicht dekodierbar:" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin zur Unterstützung von Skripten in Jeedom. Skripte sind Programme in Python \/ PHP \/ Shell \/ Ruby usw., mit denen Sie Jeedom Funktionen hinzufügen können" } } \ No newline at end of file diff --git a/core/i18n/en_US.json b/core/i18n/en_US.json index df816f8..4d34fb2 100644 --- a/core/i18n/en_US.json +++ b/core/i18n/en_US.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "Message and subject cannot be empty", "La réponse ne contient pas ": "The answer does not contain", "Json invalide ou non décodable : ": "Json invalid or not decodable:" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin adding scripting support in Jeedom. Scripts are programs in Python \/ PHP \/ Shell \/ Ruby etc ... which allow you to add functions to Jeedom" } } \ No newline at end of file diff --git a/core/i18n/es_ES.json b/core/i18n/es_ES.json index 8f854d5..c87260a 100644 --- a/core/i18n/es_ES.json +++ b/core/i18n/es_ES.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "El mensaje y el asunto no pueden estar vacíos", "La réponse ne contient pas ": "La respuesta no contiene", "Json invalide ou non décodable : ": "Json inválido o no decodificable:" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Complemento que agrega compatibilidad con scripts en Jeedom. Los scripts son programas en Python \/ PHP \/ Shell \/ Ruby, etc., que le permiten agregar funciones a Jeedom" } } \ No newline at end of file diff --git a/core/i18n/fr_FR.json b/core/i18n/fr_FR.json index 319ec36..62e9858 100644 --- a/core/i18n/fr_FR.json +++ b/core/i18n/fr_FR.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "Le message et le sujet ne peuvent pas être vide", "La réponse ne contient pas ": "La réponse ne contient pas ", "Json invalide ou non décodable : ": "Json invalide ou non décodable : " + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" } } \ No newline at end of file diff --git a/core/i18n/id_ID.json b/core/i18n/id_ID.json index 426cb01..00c1a89 100644 --- a/core/i18n/id_ID.json +++ b/core/i18n/id_ID.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "", "La réponse ne contient pas ": "", "Json invalide ou non décodable : ": "" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" } } \ No newline at end of file diff --git a/core/i18n/it_IT.json b/core/i18n/it_IT.json index fc38e32..ba4a2d8 100644 --- a/core/i18n/it_IT.json +++ b/core/i18n/it_IT.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "", "La réponse ne contient pas ": "", "Json invalide ou non décodable : ": "" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" } } \ No newline at end of file diff --git a/core/i18n/ja_JP.json b/core/i18n/ja_JP.json index 0558321..ed048bc 100644 --- a/core/i18n/ja_JP.json +++ b/core/i18n/ja_JP.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "", "La réponse ne contient pas ": "", "Json invalide ou non décodable : ": "" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" } } \ No newline at end of file diff --git a/core/i18n/pt_PT.json b/core/i18n/pt_PT.json index 4ba78cc..8016df3 100644 --- a/core/i18n/pt_PT.json +++ b/core/i18n/pt_PT.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "A mensagem e o assunto não podem estar em branco", "La réponse ne contient pas ": "A resposta não contém", "Json invalide ou non décodable : ": "Json inválido ou não decodificável:" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin adicionando suporte a scripts no Jeedom. Scripts são programas em Python \/ PHP \/ Shell \/ Ruby, etc ... que permitem adicionar funções ao Jeedom" } } \ No newline at end of file diff --git a/core/i18n/ru_RU.json b/core/i18n/ru_RU.json index 07e429a..89eac25 100644 --- a/core/i18n/ru_RU.json +++ b/core/i18n/ru_RU.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "", "La réponse ne contient pas ": "", "Json invalide ou non décodable : ": "" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" } } \ No newline at end of file diff --git a/core/i18n/tr.json b/core/i18n/tr.json index feac3c6..ed8630e 100644 --- a/core/i18n/tr.json +++ b/core/i18n/tr.json @@ -104,5 +104,8 @@ "Le message et le sujet ne peuvent pas être vide": "", "La réponse ne contient pas ": "", "Json invalide ou non décodable : ": "" + }, + "info.json": { + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" } } \ No newline at end of file diff --git a/plugin_info/info.json b/plugin_info/info.json index 1e28f5f..87a232e 100644 --- a/plugin_info/info.json +++ b/plugin_info/info.json @@ -1,6 +1,12 @@ { "id": "script", - "description": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom", + "description": { + "fr_FR": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom", + "en_US": "Plugin adding scripting support in Jeedom. Scripts are programs in Python \/ PHP \/ Shell \/ Ruby etc ... which allow you to add functions to Jeedom", + "es_ES": "Complemento que agrega compatibilidad con scripts en Jeedom. Los scripts son programas en Python \/ PHP \/ Shell \/ Ruby, etc., que le permiten agregar funciones a Jeedom", + "de_DE": "Plugin zur Unterstützung von Skripten in Jeedom. Skripte sind Programme in Python \/ PHP \/ Shell \/ Ruby usw., mit denen Sie Jeedom Funktionen hinzufügen können", + "pt_PT": "Plugin adicionando suporte a scripts no Jeedom. Scripts são programas em Python \/ PHP \/ Shell \/ Ruby, etc ... que permitem adicionar funções ao Jeedom" + }, "name": "Script", "licence": "AGPL", "author": "Jeedom SAS", @@ -8,6 +14,20 @@ "category": "programming", "changelog": "https:\/\/doc.jeedom.com\/#language#\/plugins\/programming\/script\/changelog", "documentation": "https:\/\/doc.jeedom.com\/#language#\/plugins\/programming\/script\/", - "language" : ["fr_FR","en_US","de_DE","sp_SP"], - "compatibility" : ["miniplus","smart","rpi","docker","diy","mobile","v4"] -} + "language": [ + "fr_FR", + "en_US", + "es_ES", + "de_DE", + "pt_PT" + ], + "compatibility": [ + "miniplus", + "smart", + "rpi", + "docker", + "diy", + "mobile", + "v4" + ] +} \ No newline at end of file From 389f747685a4114126c883c6311a911677288d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Thu, 5 Nov 2020 12:30:49 +0100 Subject: [PATCH 03/27] Improve object list --- desktop/php/script.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/desktop/php/script.php b/desktop/php/script.php index 6e8950f..7047756 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -109,9 +109,11 @@ From b9dccf3c76a8ee235930fd5f89e66d479c004331 Mon Sep 17 00:00:00 2001 From: jlayec Date: Sun, 11 Apr 2021 23:20:35 +0200 Subject: [PATCH 04/27] improve json parser - add @ to search for key value - add & to add multiple conditions --- core/class/script.class.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/core/class/script.class.php b/core/class/script.class.php index 604f4ad..406faf3 100644 --- a/core/class/script.class.php +++ b/core/class/script.class.php @@ -392,19 +392,49 @@ public function execute($_options = null) { if ($json === null) { throw new Exception(__('Json invalide ou non décodable : ', __FILE__) . $json_str); } + log::add('script', 'debug', 'tags : ' . $request); + log::add('script', 'debug', 'json : ' . json_encode($json)); $tags = explode('>', $request); foreach ($tags as $tag) { $tag = trim($tag); + log::add('script', 'debug', 'tag : ' . $tag); if (isset($json[$tag])) { $json = $json[$tag]; + } elseif (strpos($tag,'@')!==false && strpos($tag,'=')!==false) { + $tag = ltrim($tag,"@"); + $conditions = explode('&', $tag); + foreach ($json as $json_element) { + $found = true; + foreach ($conditions as $condition) { + $condition_kv = explode('=',$condition,2); + $condition_k = trim($condition_kv[0]); + $condition_v = trim($condition_kv[1]); + if ($json_element[$condition_k]==$condition_v) { + $found = $found && true; + } else { + $found = false; + } + } + if ($found) { + $json = $json_element; + break; + } + } + if(!$found) { + $json = ''; + log::add('script', 'debug', 'tag not found'); + break; + } } elseif (is_numeric(intval($tag)) && isset($json[intval($tag)])) { $json = $json[intval($tag)]; } elseif (is_numeric(intval($tag)) && intval($tag) < 0 && isset($json[count($json) + intval($tag)])) { $json = $json[count($json) + intval($tag)]; } else { $json = ''; + log::add('script', 'debug', 'tag not found'); break; } + log::add('script', 'debug', 'json : ' . json_encode($json)); } if($this->getType() == 'info'){ return (is_array($json)) ? json_encode($json) : $json; From 450a2661a901cc7dba37cfc6145e366736c96022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 21 Apr 2021 12:12:32 +0200 Subject: [PATCH 05/27] Update script.class.php --- core/class/script.class.php | 87 ------------------------------------- 1 file changed, 87 deletions(-) diff --git a/core/class/script.class.php b/core/class/script.class.php index 604f4ad..a79b3f4 100644 --- a/core/class/script.class.php +++ b/core/class/script.class.php @@ -50,93 +50,6 @@ public static function cron() { } - public static function shareOnMarket(&$market) { - $cibDir = calculPath(config::byKey('userScriptDir', 'script') . '/' . $market->getLogicalId()); - if (!file_exists($cibDir)) { - throw new Exception(__('Impossible de trouver le script :', __FILE__) . $cibDir); - } - $tmp = dirname(__FILE__) . '/../../../../tmp/' . $market->getLogicalId() . '.zip'; - if (file_exists($tmp)) { - if (!unlink($tmp)) { - throw new Exception(__('Impossible de supprimer : ', __FILE__) . $tmp . __('. Vérifiez les droits', __FILE__)); - } - } - if (!create_zip($cibDir, $tmp)) { - throw new Exception(__('Echec de création du zip. Répertoire source : ', __FILE__) . $cibDir . __(' / Répertoire cible : ', __FILE__) . $tmp); - } - return $tmp; - } - - public static function getFromMarket(&$market, $_path) { - $cibDir = calculPath(config::byKey('userScriptDir', 'script')); - if (!file_exists($cibDir)) { - throw new Exception(__('Impossible d\'installer le script. Le dossier n\'existe pas : ', __FILE__) . $cibDir); - } - $zip = new ZipArchive; - $res = $zip->open($_path); - if ($res === true) { - $zip->extractTo($cibDir . '/'); - $zip->close(); - } else { - switch ($res) { - case ZipArchive::ER_EXISTS: - $ErrMsg = "Le fichier existe déjà."; - break; - case ZipArchive::ER_INCONS: - $ErrMsg = "L'archive est inconsistante."; - break; - case ZipArchive::ER_MEMORY: - $ErrMsg = "Echec d'allocation mémoire (malloc)."; - break; - case ZipArchive::ER_NOENT: - $ErrMsg = "Le fichier n'existe pas."; - break; - case ZipArchive::ER_NOZIP: - $ErrMsg = "Ce n'est pas une archive zip."; - break; - case ZipArchive::ER_OPEN: - $ErrMsg = "Le fichier ne peut pas être ouvert."; - break; - case ZipArchive::ER_READ: - $ErrMsg = "Erreur de lecture."; - break; - case ZipArchive::ER_SEEK: - $ErrMsg = "Erreur de recherche."; - break; - default: - $ErrMsg = "Unknow (Code $res)"; - break; - } - throw new Exception(__('Impossible de décompresser l\'archive zip : ', __FILE__) . $_path . 'Erreur : ' . $ErrMsg); - } - $scriptPath = realpath(dirname(__FILE__) . '/../../../../' . config::byKey('userScriptDir', 'script') . '/' . $market->getLogicalId()); - if (!file_exists($scriptPath)) { - throw new Exception(__('Echec de l\'installation. Impossible de trouver le script ', __FILE__) . $scriptPath); - } - chmod($scriptPath, 0770); - } - - public static function removeFromMarket(&$market) { - $scriptPath = calculPath(config::byKey('userScriptDir', 'script') . '/' . $market->getLogicalId()); - if (!file_exists($scriptPath)) { - return true; - } - unlink($scriptPath); - if (!file_exists($scriptPath)) { - throw new Exception(__('Echec de la désinstallation. Impossible de supprimer le script ', __FILE__) . $scriptPath); - } - } - - public static function listMarketObject() { - $return = array(); - foreach (ls(calculPath(config::byKey('userScriptDir', 'script')), '*') as $logical_id) { - if (is_file(calculPath(config::byKey('userScriptDir', 'script')) . '/' . $logical_id)) { - $return[] = $logical_id; - } - } - return $return; - } - /* * *********************Méthodes d'instance************************* */ public function postSave() { From 0cc7942d80be11dc9c20cd4a2e9952dfaddd9282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 21 Apr 2021 12:12:45 +0200 Subject: [PATCH 06/27] Update script.php --- desktop/php/script.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/desktop/php/script.php b/desktop/php/script.php index 7047756..0afeabd 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -57,11 +57,6 @@
{{Configuration}} -
- -
- {{Market}} -
{{Mes Scripts}} From baa1645d8c720a679be503769c91a336faa977a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 21 Apr 2021 12:14:21 +0200 Subject: [PATCH 07/27] Update script.js --- desktop/js/script.js | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index d1aeff8..d45092f 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -34,7 +34,6 @@ $("#table_cmd tbody").delegate(".cmdAttr[data-l1key=configuration][data-l2key=re $(this).closest('tr').find('.editScriptFile').show(); $(this).closest('tr').find('.removeScriptFile').show(); $(this).closest('tr').find('.newScriptFile').show(); - $(this).closest('tr').find('.bt_shareOnMarket').show(); $(this).closest('tr').find('.tdRequest').attr('colspan', '2'); $(this).closest('tr').find('.tdOptions').hide(); @@ -43,7 +42,6 @@ $("#table_cmd tbody").delegate(".cmdAttr[data-l1key=configuration][data-l2key=re $(this).closest('tr').find('.editScriptFile').hide(); $(this).closest('tr').find('.removeScriptFile').hide(); $(this).closest('tr').find('.newScriptFile').hide(); - $(this).closest('tr').find('.bt_shareOnMarket').hide(); $(this).closest('tr').find('.tdRequest').attr('colspan', '1'); $(this).closest('tr').find('.tdOptions').show(); @@ -177,31 +175,8 @@ $("#table_cmd tbody").delegate(".removeScriptFile", 'click', function (event) { }); }); -$("#table_cmd tbody").delegate('.bt_shareOnMarket', 'click', function () { - var tr = $(this).closest('tr'); - var path = tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(); - var logicalId = getLogicalIdFromPath(path); - if (logicalId == '') { - $('#div_alert').showAlert({message: '{{Vous devez d\'abord sélectioner un script}}', level: 'danger'}); - return; - } - $('#md_modal').dialog({title: "{{Partager sur le market}}"}); - $('#md_modal').load('index.php?v=d&modal=update.send&type=script&logicalId=' + encodeURI(logicalId) + '&name=' + encodeURI(logicalId) + "&hidden=" + encodeURI(path)).dialog('open'); -}); - -$('#bt_getFromMarket').on('click', function () { - $('#md_modal').dialog({title: "{{Partager sur le market}}"}); - $('#md_modal').load('index.php?v=d&modal=update.list&type=script').dialog('open'); -}); - -$('#bt_getFromMarketicon').on('click', function () { - $('#md_modal').dialog({title: "{{Partager sur le market}}"}); - $('#md_modal').load('index.php?v=d&modal=update.list&type=script').dialog('open'); -}); - $("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); - function addCmdToTable(_cmd) { if (!isset(_cmd)) { var _cmd = {}; @@ -251,7 +226,6 @@ function addCmdToTable(_cmd) { tr += ''; tr += ''; tr += ''; - tr += ''; tr += ''; tr += ''; tr += ''; From 49f245de3c6d8408f47f22d58f0fbda9561055e7 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 21 Apr 2021 23:14:51 +0000 Subject: [PATCH 08/27] [Jenkins] Updated translation --- core/i18n/de_DE.json | 13 ----- core/i18n/en_US.json | 13 ----- core/i18n/es_ES.json | 13 ----- core/i18n/fr_FR.json | 13 ----- core/i18n/id_ID.json | 109 +++++++++++++++++++----------------------- core/i18n/it_IT.json | 109 +++++++++++++++++++----------------------- core/i18n/ja_JP.json | 105 ++++++++++++++++++---------------------- core/i18n/pt_PT.json | 13 ----- core/i18n/ru_RU.json | 105 ++++++++++++++++++---------------------- core/i18n/tr.json | 105 ++++++++++++++++++---------------------- plugin_info/info.json | 14 +++++- 11 files changed, 246 insertions(+), 366 deletions(-) diff --git a/core/i18n/de_DE.json b/core/i18n/de_DE.json index e58bc6a..ea72d2c 100644 --- a/core/i18n/de_DE.json +++ b/core/i18n/de_DE.json @@ -8,7 +8,6 @@ "Gestion": "Verwaltung", "Ajouter": "Hinzufügen", "Configuration": "Konfiguration", - "Market": "Markt", "Mes Scripts": "Meine Skripte", "Rechercher": "Suchen nach", "Configuration avancée": "Erweiterte Konfiguration", @@ -41,8 +40,6 @@ }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Möchten Sie das Skript wirklich löschen:", - "Vous devez d\\'abord sélectioner un script": "Sie müssen zuerst ein Skript auswählen", - "Partager sur le market": "Auf dem Markt Teilen", "Script": "Skript", "HTTP": "Http", "HTML": "HTML", @@ -52,7 +49,6 @@ "Editer": "Bearbeiten", "Nouveau": "Neu", "Supprimer": "Löschen", - "Partager": "Aktie", "Vérifier SSL": "Überprüfen Sie SSL", "Retour vide": "Leere Rückgabe", "Pas d\\'erreurs": "Keine Fehler", @@ -87,15 +83,6 @@ "plugins\/script\/core\/class\/script.class.php": { "Erreur pour ": "Fehler für", "Expression cron non valide pour ": "Ungültiger Cron-Ausdruck für", - "Impossible de trouver le script :": "Das Skript konnte nicht gefunden werden:", - "Impossible de supprimer : ": "Löschen nicht möglich:", - ". Vérifiez les droits": "Überprüfen Sie die Rechte", - "Echec de création du zip. Répertoire source : ": "Fehler beim Erstellen der Zip. Quellverzeichnis:", - " \/ Répertoire cible : ": "\/ Zielverzeichnis:", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "Das Skript kann nicht installiert werden. Der Ordner existiert nicht:", - "Impossible de décompresser l\\'archive zip : ": "Das Zip-Archiv kann nicht dekomprimiert werden:", - "Echec de l\\'installation. Impossible de trouver le script ": "Installation fehlgeschlagen. Das Skript konnte nicht gefunden werden", - "Echec de la désinstallation. Impossible de supprimer le script ": "Deinstallation fehlgeschlagen. Skript kann nicht gelöscht werden", "Rafraichir": "Aktualisieren", "Le champ requête ne peut pas être vide": "Das Anforderungsfeld darf nicht leer sein", "Le champ requête type ne peut pas être vide": "Das Standardanforderungsfeld darf nicht leer sein", diff --git a/core/i18n/en_US.json b/core/i18n/en_US.json index 4d34fb2..82d39af 100644 --- a/core/i18n/en_US.json +++ b/core/i18n/en_US.json @@ -8,7 +8,6 @@ "Gestion": "Management", "Ajouter": "Add", "Configuration": "Setup", - "Market": "Market", "Mes Scripts": "My Scripts", "Rechercher": "Search", "Configuration avancée": "Advanced configuration", @@ -41,8 +40,6 @@ }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Are you sure you want to delete the script:", - "Vous devez d\\'abord sélectioner un script": "You must first select a script", - "Partager sur le market": "Share on Market", "Script": "Script", "HTTP": "HTTP", "HTML": "L'opération à mener", @@ -52,7 +49,6 @@ "Editer": "Edit", "Nouveau": "New", "Supprimer": "Delete", - "Partager": "Share", "Vérifier SSL": "Verify SSL", "Retour vide": "Empty return", "Pas d\\'erreurs": "No errors", @@ -87,15 +83,6 @@ "plugins\/script\/core\/class\/script.class.php": { "Erreur pour ": "Error for", "Expression cron non valide pour ": "Invalid cron expression for", - "Impossible de trouver le script :": "Unable to find the script:", - "Impossible de supprimer : ": "Unable to delete:", - ". Vérifiez les droits": "Check the rights", - "Echec de création du zip. Répertoire source : ": "Failed to create the zip. Source directory:", - " \/ Répertoire cible : ": "\/ Target directory:", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "Unable to install the script. The folder does not exist:", - "Impossible de décompresser l\\'archive zip : ": "Unable to decompress the zip archive:", - "Echec de l\\'installation. Impossible de trouver le script ": "Installation failed. Unable to find the script", - "Echec de la désinstallation. Impossible de supprimer le script ": "Uninstall failed. Unable to delete script", "Rafraichir": "Refresh", "Le champ requête ne peut pas être vide": "Request field cannot be empty", "Le champ requête type ne peut pas être vide": "The standard request field cannot be empty", diff --git a/core/i18n/es_ES.json b/core/i18n/es_ES.json index c87260a..da6f8d4 100644 --- a/core/i18n/es_ES.json +++ b/core/i18n/es_ES.json @@ -8,7 +8,6 @@ "Gestion": "Gestión", "Ajouter": "Añadir", "Configuration": "Configuración", - "Market": "Mercado", "Mes Scripts": "Mis guiones", "Rechercher": "Buscar", "Configuration avancée": "Configuración avanzada", @@ -41,8 +40,6 @@ }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "¿Está seguro de que desea eliminar el script?", - "Vous devez d\\'abord sélectioner un script": "Primero debes seleccionar un script", - "Partager sur le market": "Compartir en el Market", "Script": "Guión", "HTTP": "Http", "HTML": "HTML", @@ -52,7 +49,6 @@ "Editer": "Editar", "Nouveau": "Nuevo", "Supprimer": "Borrar", - "Partager": "Compartir, repartir", "Vérifier SSL": "Verificar SSL", "Retour vide": "Retorno vacío", "Pas d\\'erreurs": "Sin errores", @@ -87,15 +83,6 @@ "plugins\/script\/core\/class\/script.class.php": { "Erreur pour ": "Error para", "Expression cron non valide pour ": "Expresión cron inválida para", - "Impossible de trouver le script :": "No se puede encontrar el script:", - "Impossible de supprimer : ": "No se puede eliminar:", - ". Vérifiez les droits": "Comprueba los derechos", - "Echec de création du zip. Répertoire source : ": "Error al crear el zip. Directorio de origen:", - " \/ Répertoire cible : ": "\/ Directorio de destino:", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "No se puede instalar el script. La carpeta no existe:", - "Impossible de décompresser l\\'archive zip : ": "No se puede descomprimir el archivo zip:", - "Echec de l\\'installation. Impossible de trouver le script ": "La instalación falló. No se puede encontrar el guión", - "Echec de la désinstallation. Impossible de supprimer le script ": "La desinstalación falló. No se puede eliminar el script", "Rafraichir": "Refrescar", "Le champ requête ne peut pas être vide": "El campo de solicitud no puede estar vacío", "Le champ requête type ne peut pas être vide": "El campo de solicitud estándar no puede estar vacío", diff --git a/core/i18n/fr_FR.json b/core/i18n/fr_FR.json index 62e9858..bc7e176 100644 --- a/core/i18n/fr_FR.json +++ b/core/i18n/fr_FR.json @@ -8,7 +8,6 @@ "Gestion": "Gestion", "Ajouter": "Ajouter", "Configuration": "Configuration", - "Market": "Market", "Mes Scripts": "Mes Scripts", "Rechercher": "Rechercher", "Configuration avancée": "Configuration avancée", @@ -41,8 +40,6 @@ }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", - "Vous devez d\\'abord sélectioner un script": "Vous devez d\\'abord sélectioner un script", - "Partager sur le market": "Partager sur le market", "Script": "Script", "HTTP": "HTTP", "HTML": "HTML", @@ -52,7 +49,6 @@ "Editer": "Editer", "Nouveau": "Nouveau", "Supprimer": "Supprimer", - "Partager": "Partager", "Vérifier SSL": "Vérifier SSL", "Retour vide": "Retour vide", "Pas d\\'erreurs": "Pas d\\'erreurs", @@ -87,15 +83,6 @@ "plugins\/script\/core\/class\/script.class.php": { "Erreur pour ": "Erreur pour ", "Expression cron non valide pour ": "Expression cron non valide pour ", - "Impossible de trouver le script :": "Impossible de trouver le script :", - "Impossible de supprimer : ": "Impossible de supprimer : ", - ". Vérifiez les droits": ". Vérifiez les droits", - "Echec de création du zip. Répertoire source : ": "Echec de création du zip. Répertoire source : ", - " \/ Répertoire cible : ": " \/ Répertoire cible : ", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "Impossible d\\'installer le script. Le dossier n\\'existe pas : ", - "Impossible de décompresser l\\'archive zip : ": "Impossible de décompresser l\\'archive zip : ", - "Echec de l\\'installation. Impossible de trouver le script ": "Echec de l\\'installation. Impossible de trouver le script ", - "Echec de la désinstallation. Impossible de supprimer le script ": "Echec de la désinstallation. Impossible de supprimer le script ", "Rafraichir": "Rafraichir", "Le champ requête ne peut pas être vide": "Le champ requête ne peut pas être vide", "Le champ requête type ne peut pas être vide": "Le champ requête type ne peut pas être vide", diff --git a/core/i18n/id_ID.json b/core/i18n/id_ID.json index 00c1a89..3fce6b1 100644 --- a/core/i18n/id_ID.json +++ b/core/i18n/id_ID.json @@ -1,15 +1,14 @@ { "plugins\/script\/plugin_info\/configuration.php": { - "Chemin des scripts utilisateur": "", - "Collapser le code à l'ouverture": "" + "Chemin des scripts utilisateur": "Chemin des scripts utilisateur", + "Collapser le code à l'ouverture": "Collapser le code à l'ouverture" }, "plugins\/script\/desktop\/php\/script.php": { "401 - Accès non autorisé": "401 - Akses tidak sah", "Gestion": "Manajemen", "Ajouter": "Tambahan", "Configuration": "Konfigurasi", - "Market": "", - "Mes Scripts": "", + "Mes Scripts": "Mes Scripts", "Rechercher": "Pencarian", "Configuration avancée": "Konfigurasi lanjutan", "Dupliquer": "Duplikat", @@ -17,56 +16,53 @@ "Supprimer": "Menghapus", "Equipement": "Peralatan", "Commandes": "Perintah", - "Nom de l'équipement script": "", + "Nom de l'équipement script": "Nom de l'équipement script", "Objet parent": "Objek induk", "Aucun": "Tak ada", "Catégorie": "Kategori", "Activer": "Mengaktifkan", "Visible": "Terlihat", - "Auto-actualisation (cron)": "", - "Délai avant d'actualiser les infos suite à une action (en secondes)": "", - "Ajouter une commande script": "", - " Sous type :": "", - "Curseur : mettre #slider# pour récupérer la valeur": "", - "Couleur : mettre #color# pour récupérer la valeur": "", - "Message : mettre #title# et #message#": "", - "Liste : value|display;": "", + "Auto-actualisation (cron)": "Auto-actualisation (cron)", + "Délai avant d'actualiser les infos suite à une action (en secondes)": "Délai avant d'actualiser les infos suite à une action (en secondes)", + "Ajouter une commande script": "Ajouter une commande script", + " Sous type :": "Sous type :", + "Curseur : mettre #slider# pour récupérer la valeur": "Curseur : mettre #slider# pour récupérer la valeur", + "Couleur : mettre #color# pour récupérer la valeur": "Couleur : mettre #color# pour récupérer la valeur", + "Message : mettre #title# et #message#": "Message : mettre #title# et #message#", + "Liste : value|display;": "Liste : value|display;", "Nom": "Nama", - "Type script": "", + "Type script": "Type script", "Type": "Jenis", - "Requête": "", + "Requête": "Requête", "Options": "Pilihan", "Divers": "Serba Serbi", "Paramètres": "Parameter²" }, "plugins\/script\/desktop\/js\/script.js": { - "Etes-vous sûr de vouloir supprimer le script :": "", - "Vous devez d\\'abord sélectioner un script": "", - "Partager sur le market": "Pangsa di Market", + "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", "Script": "Skrip", - "HTTP": "", - "HTML": "", - "XML": "", - "JSON": "", - "Parcourir": "", + "HTTP": "HTTP", + "HTML": "HTML", + "XML": "XML", + "JSON": "JSON", + "Parcourir": "Parcourir", "Editer": "Mengedit", "Nouveau": "Baru", "Supprimer": "Menghapus", - "Partager": "", - "Vérifier SSL": "", - "Retour vide": "", - "Pas d\\'erreurs": "", - "La réponse doit contenir": "", - "Timeout (s)": "", + "Vérifier SSL": "Vérifier SSL", + "Retour vide": "Retour vide", + "Pas d\\'erreurs": "Pas d\\'erreurs", + "La réponse doit contenir": "La réponse doit contenir", + "Timeout (s)": "Timeout (s)", "Utilisateur": "Pengguna", - "Maximum d\\'essai": "", + "Maximum d\\'essai": "Maximum d\\'essai", "Mot de passe": "Password", - "Essais au maximum": "", + "Essais au maximum": "Essais au maximum", "Unité": "Satuan", - "Min": "", - "Max": "", - "Liste de valeur|texte séparé par ;": "", - "Liste": "", + "Min": "Min", + "Max": "Max", + "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", + "Liste": "Liste", "Afficher": "Memenitikan", "Historiser": "Historicize", "Inverser": "Membalikkan", @@ -75,37 +71,28 @@ }, "plugins\/script\/core\/ajax\/script.ajax.php": { "401 - Accès non autorisé": "401 - Akses tidak sah", - "Aucun fichier trouvé : ": "", - "Impossible de lire : ": "", - "Impossible de lire un dossier : ": "", - "Impossible d\\'écrire dans : ": "", - "Impossible d\\'écrire un dossier : ": "", - "Impossible de supprimer un dossier : ": "", - "Impossible de supprimer le fichier : ": "", + "Aucun fichier trouvé : ": "Aucun fichier trouvé :", + "Impossible de lire : ": "Impossible de lire :", + "Impossible de lire un dossier : ": "Impossible de lire un dossier :", + "Impossible d\\'écrire dans : ": "Impossible d\\'écrire dans :", + "Impossible d\\'écrire un dossier : ": "Impossible d\\'écrire un dossier :", + "Impossible de supprimer un dossier : ": "Impossible de supprimer un dossier :", + "Impossible de supprimer le fichier : ": "Impossible de supprimer le fichier :", "Aucune méthode correspondante à : ": "Aucune methode correspondante à :" }, "plugins\/script\/core\/class\/script.class.php": { - "Erreur pour ": "", - "Expression cron non valide pour ": "", - "Impossible de trouver le script :": "", - "Impossible de supprimer : ": "", - ". Vérifiez les droits": "", - "Echec de création du zip. Répertoire source : ": "", - " \/ Répertoire cible : ": "", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "", - "Impossible de décompresser l\\'archive zip : ": "", - "Echec de l\\'installation. Impossible de trouver le script ": "", - "Echec de la désinstallation. Impossible de supprimer le script ": "", + "Erreur pour ": "Erreur pour", + "Expression cron non valide pour ": "Expression cron non valide pour", "Rafraichir": "Dingin", - "Le champ requête ne peut pas être vide": "", - "Le champ requête type ne peut pas être vide": "", - "Vous ne pouvez pas avoir un script de type XML et action": "", - "La requête ne peut pas être vide : ": "", - "Le message et le sujet ne peuvent pas être vide": "", - "La réponse ne contient pas ": "", - "Json invalide ou non décodable : ": "" + "Le champ requête ne peut pas être vide": "Le champ requête ne peut pas être vide", + "Le champ requête type ne peut pas être vide": "Le champ requête type ne peut pas être vide", + "Vous ne pouvez pas avoir un script de type XML et action": "Vous ne pouvez pas avoir un script de type XML et action", + "La requête ne peut pas être vide : ": "La requête ne peut pas être vide :", + "Le message et le sujet ne peuvent pas être vide": "Le message et le sujet ne peuvent pas être vide", + "La réponse ne contient pas ": "La réponse ne contient pas", + "Json invalide ou non décodable : ": "Json invalide ou non décodable :" }, "info.json": { - "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" } } \ No newline at end of file diff --git a/core/i18n/it_IT.json b/core/i18n/it_IT.json index ba4a2d8..3102aa1 100644 --- a/core/i18n/it_IT.json +++ b/core/i18n/it_IT.json @@ -1,15 +1,14 @@ { "plugins\/script\/plugin_info\/configuration.php": { - "Chemin des scripts utilisateur": "", - "Collapser le code à l'ouverture": "" + "Chemin des scripts utilisateur": "Chemin des scripts utilisateur", + "Collapser le code à l'ouverture": "Collapser le code à l'ouverture" }, "plugins\/script\/desktop\/php\/script.php": { "401 - Accès non autorisé": "401 - Accesso non autorizzato", "Gestion": "Gestione", "Ajouter": "Aggiungi", "Configuration": "Configurazione", - "Market": "Mercato", - "Mes Scripts": "", + "Mes Scripts": "Mes Scripts", "Rechercher": "Ricercare", "Configuration avancée": "Configurazione avanzata", "Dupliquer": "Duplicato", @@ -17,56 +16,53 @@ "Supprimer": "Rimuovere", "Equipement": "Dispositivo", "Commandes": "Comandi", - "Nom de l'équipement script": "", + "Nom de l'équipement script": "Nom de l'équipement script", "Objet parent": "Oggetto padre", "Aucun": "Nessuno", "Catégorie": "Categoria", "Activer": "Attivare", "Visible": "Visibile", - "Auto-actualisation (cron)": "", - "Délai avant d'actualiser les infos suite à une action (en secondes)": "", - "Ajouter une commande script": "", - " Sous type :": "", - "Curseur : mettre #slider# pour récupérer la valeur": "", - "Couleur : mettre #color# pour récupérer la valeur": "", - "Message : mettre #title# et #message#": "", - "Liste : value|display;": "", + "Auto-actualisation (cron)": "Auto-actualisation (cron)", + "Délai avant d'actualiser les infos suite à une action (en secondes)": "Délai avant d'actualiser les infos suite à une action (en secondes)", + "Ajouter une commande script": "Ajouter une commande script", + " Sous type :": "Sous type :", + "Curseur : mettre #slider# pour récupérer la valeur": "Curseur : mettre #slider# pour récupérer la valeur", + "Couleur : mettre #color# pour récupérer la valeur": "Couleur : mettre #color# pour récupérer la valeur", + "Message : mettre #title# et #message#": "Message : mettre #title# et #message#", + "Liste : value|display;": "Liste : value|display;", "Nom": "Nome", - "Type script": "", + "Type script": "Type script", "Type": "Tipo", - "Requête": "", + "Requête": "Requête", "Options": "Opzioni", "Divers": "Vario", "Paramètres": "Impostazioni" }, "plugins\/script\/desktop\/js\/script.js": { - "Etes-vous sûr de vouloir supprimer le script :": "", - "Vous devez d\\'abord sélectioner un script": "", - "Partager sur le market": "Condividi sul Market", + "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", "Script": "Copione", - "HTTP": "", - "HTML": "", - "XML": "", - "JSON": "", - "Parcourir": "", + "HTTP": "HTTP", + "HTML": "HTML", + "XML": "XML", + "JSON": "JSON", + "Parcourir": "Parcourir", "Editer": "Modifica", "Nouveau": "Nuovo", "Supprimer": "Rimuovere", - "Partager": "", - "Vérifier SSL": "", - "Retour vide": "", - "Pas d\\'erreurs": "", - "La réponse doit contenir": "", - "Timeout (s)": "", + "Vérifier SSL": "Vérifier SSL", + "Retour vide": "Retour vide", + "Pas d\\'erreurs": "Pas d\\'erreurs", + "La réponse doit contenir": "La réponse doit contenir", + "Timeout (s)": "Timeout (s)", "Utilisateur": "Utente", - "Maximum d\\'essai": "", + "Maximum d\\'essai": "Maximum d\\'essai", "Mot de passe": "Password", - "Essais au maximum": "", + "Essais au maximum": "Essais au maximum", "Unité": "Unità", - "Min": "", - "Max": "", - "Liste de valeur|texte séparé par ;": "", - "Liste": "", + "Min": "Min", + "Max": "Max", + "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", + "Liste": "Liste", "Afficher": "Mostra", "Historiser": "Storicizza", "Inverser": "Inverti", @@ -75,37 +71,28 @@ }, "plugins\/script\/core\/ajax\/script.ajax.php": { "401 - Accès non autorisé": "401 - Accesso non autorizzato", - "Aucun fichier trouvé : ": "", - "Impossible de lire : ": "", - "Impossible de lire un dossier : ": "", - "Impossible d\\'écrire dans : ": "", - "Impossible d\\'écrire un dossier : ": "", - "Impossible de supprimer un dossier : ": "", - "Impossible de supprimer le fichier : ": "", + "Aucun fichier trouvé : ": "Aucun fichier trouvé :", + "Impossible de lire : ": "Impossible de lire :", + "Impossible de lire un dossier : ": "Impossible de lire un dossier :", + "Impossible d\\'écrire dans : ": "Impossible d\\'écrire dans :", + "Impossible d\\'écrire un dossier : ": "Impossible d\\'écrire un dossier :", + "Impossible de supprimer un dossier : ": "Impossible de supprimer un dossier :", + "Impossible de supprimer le fichier : ": "Impossible de supprimer le fichier :", "Aucune méthode correspondante à : ": "Nessun metodo corrispondente a:" }, "plugins\/script\/core\/class\/script.class.php": { - "Erreur pour ": "", - "Expression cron non valide pour ": "", - "Impossible de trouver le script :": "", - "Impossible de supprimer : ": "Impossibile eliminare:", - ". Vérifiez les droits": "Controlla i diritti", - "Echec de création du zip. Répertoire source : ": "", - " \/ Répertoire cible : ": "", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "", - "Impossible de décompresser l\\'archive zip : ": "Impossibile decomprimere l'archivio zip:", - "Echec de l\\'installation. Impossible de trouver le script ": "", - "Echec de la désinstallation. Impossible de supprimer le script ": "", + "Erreur pour ": "Erreur pour", + "Expression cron non valide pour ": "Expression cron non valide pour", "Rafraichir": "Aggiorna", - "Le champ requête ne peut pas être vide": "", - "Le champ requête type ne peut pas être vide": "", - "Vous ne pouvez pas avoir un script de type XML et action": "", - "La requête ne peut pas être vide : ": "", - "Le message et le sujet ne peuvent pas être vide": "", - "La réponse ne contient pas ": "", - "Json invalide ou non décodable : ": "" + "Le champ requête ne peut pas être vide": "Le champ requête ne peut pas être vide", + "Le champ requête type ne peut pas être vide": "Le champ requête type ne peut pas être vide", + "Vous ne pouvez pas avoir un script de type XML et action": "Vous ne pouvez pas avoir un script de type XML et action", + "La requête ne peut pas être vide : ": "La requête ne peut pas être vide :", + "Le message et le sujet ne peuvent pas être vide": "Le message et le sujet ne peuvent pas être vide", + "La réponse ne contient pas ": "La réponse ne contient pas", + "Json invalide ou non décodable : ": "Json invalide ou non décodable :" }, "info.json": { - "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" } } \ No newline at end of file diff --git a/core/i18n/ja_JP.json b/core/i18n/ja_JP.json index ed048bc..6cee70c 100644 --- a/core/i18n/ja_JP.json +++ b/core/i18n/ja_JP.json @@ -1,15 +1,14 @@ { "plugins\/script\/plugin_info\/configuration.php": { - "Chemin des scripts utilisateur": "", - "Collapser le code à l'ouverture": "" + "Chemin des scripts utilisateur": "Chemin des scripts utilisateur", + "Collapser le code à l'ouverture": "Collapser le code à l'ouverture" }, "plugins\/script\/desktop\/php\/script.php": { "401 - Accès non autorisé": "401-不正アクセス", "Gestion": "管理", "Ajouter": "加えます", "Configuration": "コンフィギュレーション", - "Market": "市場", - "Mes Scripts": "", + "Mes Scripts": "Mes Scripts", "Rechercher": "検索", "Configuration avancée": "高度な構成", "Dupliquer": "重複", @@ -17,56 +16,53 @@ "Supprimer": "取り除きます", "Equipement": "設備", "Commandes": "コマンド", - "Nom de l'équipement script": "", + "Nom de l'équipement script": "Nom de l'équipement script", "Objet parent": "親オブジェクト", "Aucun": "何でもありません", "Catégorie": "カテゴリ", "Activer": "アクティブ", "Visible": "目に見えます", - "Auto-actualisation (cron)": "", - "Délai avant d'actualiser les infos suite à une action (en secondes)": "", - "Ajouter une commande script": "", - " Sous type :": "", - "Curseur : mettre #slider# pour récupérer la valeur": "", - "Couleur : mettre #color# pour récupérer la valeur": "", - "Message : mettre #title# et #message#": "", - "Liste : value|display;": "", + "Auto-actualisation (cron)": "Auto-actualisation (cron)", + "Délai avant d'actualiser les infos suite à une action (en secondes)": "Délai avant d'actualiser les infos suite à une action (en secondes)", + "Ajouter une commande script": "Ajouter une commande script", + " Sous type :": "Sous type :", + "Curseur : mettre #slider# pour récupérer la valeur": "Curseur : mettre #slider# pour récupérer la valeur", + "Couleur : mettre #color# pour récupérer la valeur": "Couleur : mettre #color# pour récupérer la valeur", + "Message : mettre #title# et #message#": "Message : mettre #title# et #message#", + "Liste : value|display;": "Liste : value|display;", "Nom": "表題", - "Type script": "", + "Type script": "Type script", "Type": "タイプ", - "Requête": "", + "Requête": "Requête", "Options": "オプション", "Divers": "諸", "Paramètres": "設定" }, "plugins\/script\/desktop\/js\/script.js": { - "Etes-vous sûr de vouloir supprimer le script :": "", - "Vous devez d\\'abord sélectioner un script": "", - "Partager sur le market": "市場でシェア", + "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", "Script": "スクリプト", - "HTTP": "", - "HTML": "", - "XML": "", - "JSON": "", - "Parcourir": "", + "HTTP": "HTTP", + "HTML": "HTML", + "XML": "XML", + "JSON": "JSON", + "Parcourir": "Parcourir", "Editer": "編集します", "Nouveau": "新しいです", "Supprimer": "取り除きます", - "Partager": "", - "Vérifier SSL": "", - "Retour vide": "", - "Pas d\\'erreurs": "", - "La réponse doit contenir": "", - "Timeout (s)": "", + "Vérifier SSL": "Vérifier SSL", + "Retour vide": "Retour vide", + "Pas d\\'erreurs": "Pas d\\'erreurs", + "La réponse doit contenir": "La réponse doit contenir", + "Timeout (s)": "Timeout (s)", "Utilisateur": "ユーザー", - "Maximum d\\'essai": "", + "Maximum d\\'essai": "Maximum d\\'essai", "Mot de passe": "パスワード", - "Essais au maximum": "", + "Essais au maximum": "Essais au maximum", "Unité": "団結", "Min": "低いです", "Max": "マックス", - "Liste de valeur|texte séparé par ;": "", - "Liste": "", + "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", + "Liste": "Liste", "Afficher": "ディスプレイ", "Historiser": "Historicize", "Inverser": "逆", @@ -75,37 +71,28 @@ }, "plugins\/script\/core\/ajax\/script.ajax.php": { "401 - Accès non autorisé": "401-不正アクセス", - "Aucun fichier trouvé : ": "", - "Impossible de lire : ": "", - "Impossible de lire un dossier : ": "", - "Impossible d\\'écrire dans : ": "", - "Impossible d\\'écrire un dossier : ": "", - "Impossible de supprimer un dossier : ": "", - "Impossible de supprimer le fichier : ": "", + "Aucun fichier trouvé : ": "Aucun fichier trouvé :", + "Impossible de lire : ": "Impossible de lire :", + "Impossible de lire un dossier : ": "Impossible de lire un dossier :", + "Impossible d\\'écrire dans : ": "Impossible d\\'écrire dans :", + "Impossible d\\'écrire un dossier : ": "Impossible d\\'écrire un dossier :", + "Impossible de supprimer un dossier : ": "Impossible de supprimer un dossier :", + "Impossible de supprimer le fichier : ": "Impossible de supprimer le fichier :", "Aucune méthode correspondante à : ": "以下に対応するメソッドはありません:" }, "plugins\/script\/core\/class\/script.class.php": { - "Erreur pour ": "", - "Expression cron non valide pour ": "", - "Impossible de trouver le script :": "", - "Impossible de supprimer : ": "削除できません:", - ". Vérifiez les droits": "。権利を確認する", - "Echec de création du zip. Répertoire source : ": "", - " \/ Répertoire cible : ": "", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "", - "Impossible de décompresser l\\'archive zip : ": "Zipアーカイブを解凍できません:", - "Echec de l\\'installation. Impossible de trouver le script ": "", - "Echec de la désinstallation. Impossible de supprimer le script ": "", + "Erreur pour ": "Erreur pour", + "Expression cron non valide pour ": "Expression cron non valide pour", "Rafraichir": "クール", - "Le champ requête ne peut pas être vide": "", - "Le champ requête type ne peut pas être vide": "", - "Vous ne pouvez pas avoir un script de type XML et action": "", - "La requête ne peut pas être vide : ": "", - "Le message et le sujet ne peuvent pas être vide": "", - "La réponse ne contient pas ": "", - "Json invalide ou non décodable : ": "" + "Le champ requête ne peut pas être vide": "Le champ requête ne peut pas être vide", + "Le champ requête type ne peut pas être vide": "Le champ requête type ne peut pas être vide", + "Vous ne pouvez pas avoir un script de type XML et action": "Vous ne pouvez pas avoir un script de type XML et action", + "La requête ne peut pas être vide : ": "La requête ne peut pas être vide :", + "Le message et le sujet ne peuvent pas être vide": "Le message et le sujet ne peuvent pas être vide", + "La réponse ne contient pas ": "La réponse ne contient pas", + "Json invalide ou non décodable : ": "Json invalide ou non décodable :" }, "info.json": { - "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" } } \ No newline at end of file diff --git a/core/i18n/pt_PT.json b/core/i18n/pt_PT.json index 8016df3..42204fd 100644 --- a/core/i18n/pt_PT.json +++ b/core/i18n/pt_PT.json @@ -8,7 +8,6 @@ "Gestion": "Gestão", "Ajouter": "Adicionar", "Configuration": "Configuração", - "Market": "Mercado", "Mes Scripts": "Meus scripts", "Rechercher": "Pesquisa", "Configuration avancée": "Configuração avançada", @@ -41,8 +40,6 @@ }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Tem certeza de que deseja excluir o script:", - "Vous devez d\\'abord sélectioner un script": "Você deve primeiro selecionar um script", - "Partager sur le market": "Compartilhar no mercado", "Script": "Escrita", "HTTP": "HTTP", "HTML": "Html", @@ -52,7 +49,6 @@ "Editer": "Editar", "Nouveau": "Novo", "Supprimer": "Remover", - "Partager": "Compartilhe", "Vérifier SSL": "Verificar SSL", "Retour vide": "Retorno vazio", "Pas d\\'erreurs": "Sem erros", @@ -87,15 +83,6 @@ "plugins\/script\/core\/class\/script.class.php": { "Erreur pour ": "Erro para", "Expression cron non valide pour ": "Expressão cron inválida para", - "Impossible de trouver le script :": "Não foi possível encontrar o script:", - "Impossible de supprimer : ": "Não foi possível excluir:", - ". Vérifiez les droits": "Verifique os direitos", - "Echec de création du zip. Répertoire source : ": "Falha ao criar o zip. Diretório de origem:", - " \/ Répertoire cible : ": "\/ Diretório de destino:", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "Não foi possível instalar o script. A pasta não existe:", - "Impossible de décompresser l\\'archive zip : ": "Não foi possível descompactar o arquivo zip:", - "Echec de l\\'installation. Impossible de trouver le script ": "Falha na instalação. Não foi possível encontrar o script", - "Echec de la désinstallation. Impossible de supprimer le script ": "Falha na desinstalação. Não foi possível excluir o script", "Rafraichir": "Legal", "Le champ requête ne peut pas être vide": "O campo de solicitação não pode estar vazio", "Le champ requête type ne peut pas être vide": "O campo de solicitação padrão não pode estar vazio", diff --git a/core/i18n/ru_RU.json b/core/i18n/ru_RU.json index 89eac25..f2c52ea 100644 --- a/core/i18n/ru_RU.json +++ b/core/i18n/ru_RU.json @@ -1,15 +1,14 @@ { "plugins\/script\/plugin_info\/configuration.php": { - "Chemin des scripts utilisateur": "", - "Collapser le code à l'ouverture": "" + "Chemin des scripts utilisateur": "Chemin des scripts utilisateur", + "Collapser le code à l'ouverture": "Collapser le code à l'ouverture" }, "plugins\/script\/desktop\/php\/script.php": { "401 - Accès non autorisé": "401 - Несанкционированный доступ", "Gestion": "Управление", "Ajouter": "Добавить", "Configuration": "Конфигурация", - "Market": "Маркет", - "Mes Scripts": "", + "Mes Scripts": "Mes Scripts", "Rechercher": "поиск", "Configuration avancée": "Расширенные настройки", "Dupliquer": "дубликат", @@ -17,56 +16,53 @@ "Supprimer": "удаление", "Equipement": "Оборудование", "Commandes": "Команды", - "Nom de l'équipement script": "", + "Nom de l'équipement script": "Nom de l'équipement script", "Objet parent": "Родительский объект", "Aucun": "Нет", "Catégorie": "категория", "Activer": "активировать", "Visible": "Видимый", - "Auto-actualisation (cron)": "", - "Délai avant d'actualiser les infos suite à une action (en secondes)": "", - "Ajouter une commande script": "", - " Sous type :": "", - "Curseur : mettre #slider# pour récupérer la valeur": "", - "Couleur : mettre #color# pour récupérer la valeur": "", - "Message : mettre #title# et #message#": "", - "Liste : value|display;": "", + "Auto-actualisation (cron)": "Auto-actualisation (cron)", + "Délai avant d'actualiser les infos suite à une action (en secondes)": "Délai avant d'actualiser les infos suite à une action (en secondes)", + "Ajouter une commande script": "Ajouter une commande script", + " Sous type :": "Sous type :", + "Curseur : mettre #slider# pour récupérer la valeur": "Curseur : mettre #slider# pour récupérer la valeur", + "Couleur : mettre #color# pour récupérer la valeur": "Couleur : mettre #color# pour récupérer la valeur", + "Message : mettre #title# et #message#": "Message : mettre #title# et #message#", + "Liste : value|display;": "Liste : value|display;", "Nom": "Имя", - "Type script": "", + "Type script": "Type script", "Type": "Тип", - "Requête": "", + "Requête": "Requête", "Options": "Опции", "Divers": "Различный", "Paramètres": "настройки" }, "plugins\/script\/desktop\/js\/script.js": { - "Etes-vous sûr de vouloir supprimer le script :": "", - "Vous devez d\\'abord sélectioner un script": "", - "Partager sur le market": "Участвовать в Маркете", + "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", "Script": "Скрипт", - "HTTP": "", - "HTML": "", - "XML": "", - "JSON": "", - "Parcourir": "", + "HTTP": "HTTP", + "HTML": "HTML", + "XML": "XML", + "JSON": "JSON", + "Parcourir": "Parcourir", "Editer": "Редактировать", "Nouveau": "Новый", "Supprimer": "удаление", - "Partager": "", - "Vérifier SSL": "", - "Retour vide": "", - "Pas d\\'erreurs": "", - "La réponse doit contenir": "", - "Timeout (s)": "", + "Vérifier SSL": "Vérifier SSL", + "Retour vide": "Retour vide", + "Pas d\\'erreurs": "Pas d\\'erreurs", + "La réponse doit contenir": "La réponse doit contenir", + "Timeout (s)": "Timeout (s)", "Utilisateur": "Пользователь", - "Maximum d\\'essai": "", + "Maximum d\\'essai": "Maximum d\\'essai", "Mot de passe": "Пароль", - "Essais au maximum": "", + "Essais au maximum": "Essais au maximum", "Unité": "Устройство", "Min": "Мин", "Max": "Макс", - "Liste de valeur|texte séparé par ;": "", - "Liste": "", + "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", + "Liste": "Liste", "Afficher": "дисплей", "Historiser": "История", "Inverser": "Обратный", @@ -75,37 +71,28 @@ }, "plugins\/script\/core\/ajax\/script.ajax.php": { "401 - Accès non autorisé": "401 - Несанкционированный доступ", - "Aucun fichier trouvé : ": "", - "Impossible de lire : ": "", - "Impossible de lire un dossier : ": "", - "Impossible d\\'écrire dans : ": "", - "Impossible d\\'écrire un dossier : ": "", - "Impossible de supprimer un dossier : ": "", - "Impossible de supprimer le fichier : ": "", + "Aucun fichier trouvé : ": "Aucun fichier trouvé :", + "Impossible de lire : ": "Impossible de lire :", + "Impossible de lire un dossier : ": "Impossible de lire un dossier :", + "Impossible d\\'écrire dans : ": "Impossible d\\'écrire dans :", + "Impossible d\\'écrire un dossier : ": "Impossible d\\'écrire un dossier :", + "Impossible de supprimer un dossier : ": "Impossible de supprimer un dossier :", + "Impossible de supprimer le fichier : ": "Impossible de supprimer le fichier :", "Aucune méthode correspondante à : ": "Aucune methode correspondante à :" }, "plugins\/script\/core\/class\/script.class.php": { - "Erreur pour ": "", - "Expression cron non valide pour ": "", - "Impossible de trouver le script :": "", - "Impossible de supprimer : ": "", - ". Vérifiez les droits": "", - "Echec de création du zip. Répertoire source : ": "", - " \/ Répertoire cible : ": "", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "", - "Impossible de décompresser l\\'archive zip : ": "", - "Echec de l\\'installation. Impossible de trouver le script ": "", - "Echec de la désinstallation. Impossible de supprimer le script ": "", + "Erreur pour ": "Erreur pour", + "Expression cron non valide pour ": "Expression cron non valide pour", "Rafraichir": "Обновить", - "Le champ requête ne peut pas être vide": "", - "Le champ requête type ne peut pas être vide": "", - "Vous ne pouvez pas avoir un script de type XML et action": "", - "La requête ne peut pas être vide : ": "", - "Le message et le sujet ne peuvent pas être vide": "", - "La réponse ne contient pas ": "", - "Json invalide ou non décodable : ": "" + "Le champ requête ne peut pas être vide": "Le champ requête ne peut pas être vide", + "Le champ requête type ne peut pas être vide": "Le champ requête type ne peut pas être vide", + "Vous ne pouvez pas avoir un script de type XML et action": "Vous ne pouvez pas avoir un script de type XML et action", + "La requête ne peut pas être vide : ": "La requête ne peut pas être vide :", + "Le message et le sujet ne peuvent pas être vide": "Le message et le sujet ne peuvent pas être vide", + "La réponse ne contient pas ": "La réponse ne contient pas", + "Json invalide ou non décodable : ": "Json invalide ou non décodable :" }, "info.json": { - "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" } } \ No newline at end of file diff --git a/core/i18n/tr.json b/core/i18n/tr.json index ed8630e..43a6c82 100644 --- a/core/i18n/tr.json +++ b/core/i18n/tr.json @@ -1,15 +1,14 @@ { "plugins\/script\/plugin_info\/configuration.php": { - "Chemin des scripts utilisateur": "", - "Collapser le code à l'ouverture": "" + "Chemin des scripts utilisateur": "Chemin des scripts utilisateur", + "Collapser le code à l'ouverture": "Collapser le code à l'ouverture" }, "plugins\/script\/desktop\/php\/script.php": { "401 - Accès non autorisé": "401 - Yetkisiz erişim", "Gestion": "Idare", "Ajouter": "Ekle", "Configuration": "Ayar", - "Market": "Pazar", - "Mes Scripts": "", + "Mes Scripts": "Mes Scripts", "Rechercher": "Arayın", "Configuration avancée": "Gelişmiş ayarlar", "Dupliquer": "Kopyala", @@ -17,56 +16,53 @@ "Supprimer": "Sil", "Equipement": "Cihaz", "Commandes": "Komutalar", - "Nom de l'équipement script": "", + "Nom de l'équipement script": "Nom de l'équipement script", "Objet parent": "Üst nesne", "Aucun": "Hiçbir", "Catégorie": "Kategori", "Activer": "Etkinleştir", "Visible": "Görülebilir", - "Auto-actualisation (cron)": "", - "Délai avant d'actualiser les infos suite à une action (en secondes)": "", - "Ajouter une commande script": "", - " Sous type :": "", - "Curseur : mettre #slider# pour récupérer la valeur": "", - "Couleur : mettre #color# pour récupérer la valeur": "", - "Message : mettre #title# et #message#": "", - "Liste : value|display;": "", + "Auto-actualisation (cron)": "Auto-actualisation (cron)", + "Délai avant d'actualiser les infos suite à une action (en secondes)": "Délai avant d'actualiser les infos suite à une action (en secondes)", + "Ajouter une commande script": "Ajouter une commande script", + " Sous type :": "Sous type :", + "Curseur : mettre #slider# pour récupérer la valeur": "Curseur : mettre #slider# pour récupérer la valeur", + "Couleur : mettre #color# pour récupérer la valeur": "Couleur : mettre #color# pour récupérer la valeur", + "Message : mettre #title# et #message#": "Message : mettre #title# et #message#", + "Liste : value|display;": "Liste : value|display;", "Nom": "İsim", - "Type script": "", + "Type script": "Type script", "Type": "Çeşit", - "Requête": "", + "Requête": "Requête", "Options": "Opsiyonlar", "Divers": "Diğer", "Paramètres": "Ayarlar ( Séçenekler )" }, "plugins\/script\/desktop\/js\/script.js": { - "Etes-vous sûr de vouloir supprimer le script :": "", - "Vous devez d\\'abord sélectioner un script": "", - "Partager sur le market": "Marketde paylaşın", + "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", "Script": "Senaryo", - "HTTP": "", - "HTML": "", - "XML": "", - "JSON": "", - "Parcourir": "", + "HTTP": "HTTP", + "HTML": "HTML", + "XML": "XML", + "JSON": "JSON", + "Parcourir": "Parcourir", "Editer": "Düzenle", "Nouveau": "Yeni", "Supprimer": "Sil", - "Partager": "", - "Vérifier SSL": "", - "Retour vide": "", - "Pas d\\'erreurs": "", - "La réponse doit contenir": "", - "Timeout (s)": "", + "Vérifier SSL": "Vérifier SSL", + "Retour vide": "Retour vide", + "Pas d\\'erreurs": "Pas d\\'erreurs", + "La réponse doit contenir": "La réponse doit contenir", + "Timeout (s)": "Timeout (s)", "Utilisateur": "Kullanıcı", - "Maximum d\\'essai": "", + "Maximum d\\'essai": "Maximum d\\'essai", "Mot de passe": "Şifre", - "Essais au maximum": "", + "Essais au maximum": "Essais au maximum", "Unité": "Ünite", "Min": "Minimum", "Max": "Maximum", - "Liste de valeur|texte séparé par ;": "", - "Liste": "", + "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", + "Liste": "Liste", "Afficher": "Göster", "Historiser": "Tarihe göre sırala", "Inverser": "Ters çevir", @@ -75,37 +71,28 @@ }, "plugins\/script\/core\/ajax\/script.ajax.php": { "401 - Accès non autorisé": "401 - Yetkisiz erişim", - "Aucun fichier trouvé : ": "", - "Impossible de lire : ": "", - "Impossible de lire un dossier : ": "", - "Impossible d\\'écrire dans : ": "", - "Impossible d\\'écrire un dossier : ": "", - "Impossible de supprimer un dossier : ": "", - "Impossible de supprimer le fichier : ": "", + "Aucun fichier trouvé : ": "Aucun fichier trouvé :", + "Impossible de lire : ": "Impossible de lire :", + "Impossible de lire un dossier : ": "Impossible de lire un dossier :", + "Impossible d\\'écrire dans : ": "Impossible d\\'écrire dans :", + "Impossible d\\'écrire un dossier : ": "Impossible d\\'écrire un dossier :", + "Impossible de supprimer un dossier : ": "Impossible de supprimer un dossier :", + "Impossible de supprimer le fichier : ": "Impossible de supprimer le fichier :", "Aucune méthode correspondante à : ": "Aşağıdakilere karşılık gelen bir yöntem yok:" }, "plugins\/script\/core\/class\/script.class.php": { - "Erreur pour ": "", - "Expression cron non valide pour ": "", - "Impossible de trouver le script :": "", - "Impossible de supprimer : ": "Silinemiyor:", - ". Vérifiez les droits": "Hakları kontrol edin", - "Echec de création du zip. Répertoire source : ": "", - " \/ Répertoire cible : ": "", - "Impossible d\\'installer le script. Le dossier n\\'existe pas : ": "", - "Impossible de décompresser l\\'archive zip : ": "Zip arşivi açılamıyor:", - "Echec de l\\'installation. Impossible de trouver le script ": "", - "Echec de la désinstallation. Impossible de supprimer le script ": "", + "Erreur pour ": "Erreur pour", + "Expression cron non valide pour ": "Expression cron non valide pour", "Rafraichir": "Yenile", - "Le champ requête ne peut pas être vide": "", - "Le champ requête type ne peut pas être vide": "", - "Vous ne pouvez pas avoir un script de type XML et action": "", - "La requête ne peut pas être vide : ": "", - "Le message et le sujet ne peuvent pas être vide": "", - "La réponse ne contient pas ": "", - "Json invalide ou non décodable : ": "" + "Le champ requête ne peut pas être vide": "Le champ requête ne peut pas être vide", + "Le champ requête type ne peut pas être vide": "Le champ requête type ne peut pas être vide", + "Vous ne pouvez pas avoir un script de type XML et action": "Vous ne pouvez pas avoir un script de type XML et action", + "La requête ne peut pas être vide : ": "La requête ne peut pas être vide :", + "Le message et le sujet ne peuvent pas être vide": "Le message et le sujet ne peuvent pas être vide", + "La réponse ne contient pas ": "La réponse ne contient pas", + "Json invalide ou non décodable : ": "Json invalide ou non décodable :" }, "info.json": { - "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "" + "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" } } \ No newline at end of file diff --git a/plugin_info/info.json b/plugin_info/info.json index 87a232e..9b596a8 100644 --- a/plugin_info/info.json +++ b/plugin_info/info.json @@ -5,7 +5,12 @@ "en_US": "Plugin adding scripting support in Jeedom. Scripts are programs in Python \/ PHP \/ Shell \/ Ruby etc ... which allow you to add functions to Jeedom", "es_ES": "Complemento que agrega compatibilidad con scripts en Jeedom. Los scripts son programas en Python \/ PHP \/ Shell \/ Ruby, etc., que le permiten agregar funciones a Jeedom", "de_DE": "Plugin zur Unterstützung von Skripten in Jeedom. Skripte sind Programme in Python \/ PHP \/ Shell \/ Ruby usw., mit denen Sie Jeedom Funktionen hinzufügen können", - "pt_PT": "Plugin adicionando suporte a scripts no Jeedom. Scripts são programas em Python \/ PHP \/ Shell \/ Ruby, etc ... que permitem adicionar funções ao Jeedom" + "pt_PT": "Plugin adicionando suporte a scripts no Jeedom. Scripts são programas em Python \/ PHP \/ Shell \/ Ruby, etc ... que permitem adicionar funções ao Jeedom", + "ru_RU": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom", + "id_ID": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom", + "it_IT": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom", + "ja_JP": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom", + "tr": "Plugin ajoutant le support des scripts dans Jeedom. Les scripts sont des programmes en Python\/PHP\/Shell\/Ruby etc... qui permettent d'ajouter des fonctions à Jeedom" }, "name": "Script", "licence": "AGPL", @@ -19,7 +24,12 @@ "en_US", "es_ES", "de_DE", - "pt_PT" + "ru_RU", + "id_ID", + "it_IT", + "ja_JP", + "pt_PT", + "tr" ], "compatibility": [ "miniplus", From f098d9038de6e086672ff0ddbf6b262133b7ee7a Mon Sep 17 00:00:00 2001 From: loic Date: Wed, 29 Sep 2021 20:17:09 +0200 Subject: [PATCH 09/27] add htaccess --- core/config/.htaccess | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 core/config/.htaccess diff --git a/core/config/.htaccess b/core/config/.htaccess new file mode 100644 index 0000000..c485725 --- /dev/null +++ b/core/config/.htaccess @@ -0,0 +1,5 @@ +Order allow,deny + + allow from all + +Deny from all From 6cfe0eb99680a26cc0daf6a3c2fc8ce5940492f1 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 29 Sep 2021 23:18:03 +0000 Subject: [PATCH 10/27] [Jenkins] Updated translation --- plugin_info/info.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugin_info/info.json b/plugin_info/info.json index 9b596a8..9806527 100644 --- a/plugin_info/info.json +++ b/plugin_info/info.json @@ -39,5 +39,7 @@ "diy", "mobile", "v4" - ] + ], + "changelog_beta": "https:\/\/doc.jeedom.com\/#language#\/plugins\/programming\/script\/beta\/changelog", + "documentation_beta": "https:\/\/doc.jeedom.com\/#language#\/plugins\/programming\/script\/beta" } \ No newline at end of file From c0b1159303f05d46977827ebc28121b78efe18ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 30 Nov 2021 12:02:10 +0100 Subject: [PATCH 11/27] Add files via upload --- desktop/php/script.php | 421 ++++++++++++++++++++++------------------- 1 file changed, 223 insertions(+), 198 deletions(-) diff --git a/desktop/php/script.php b/desktop/php/script.php index 0afeabd..6f94b83 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -1,198 +1,223 @@ -getId()); -$eqLogics = eqLogic::byType($plugin->getId()); -$foldOnStart = config::byKey('foldOnStart', 'script', '0'); -sendVarToJS('foldOnStart', $foldOnStart); - -include_file('3rdparty', 'jquery.fileTree/jqueryFileTree', 'css', 'script'); -include_file('3rdparty', 'codemirror/lib/codemirror', 'js'); -include_file('3rdparty', 'codemirror/lib/codemirror', 'css'); - -include_file('3rdparty', 'codemirror/mode/htmlmixed/htmlmixed', 'js'); -include_file('3rdparty', 'codemirror/mode/clike/clike', 'js'); -include_file('3rdparty', 'codemirror/mode/php/php', 'js'); -include_file('3rdparty', 'codemirror/mode/shell/shell', 'js'); -include_file('3rdparty', 'codemirror/mode/python/python', 'js'); -include_file('3rdparty', 'codemirror/mode/ruby/ruby', 'js'); -include_file('3rdparty', 'codemirror/mode/perl/perl', 'js'); - -//Core CodeMirror addons: -include_file('3rdparty', 'codemirror/addon/edit/matchbrackets', 'js'); -include_file('3rdparty', 'codemirror/addon/selection/active-line', 'js'); -include_file('3rdparty', 'codemirror/addon/search/search', 'js'); -include_file('3rdparty', 'codemirror/addon/search/searchcursor', 'js'); -include_file('3rdparty', 'codemirror/addon/dialog/dialog', 'js'); -include_file('3rdparty', 'codemirror/addon/dialog/dialog', 'css'); - -include_file('3rdparty', 'codemirror/addon/fold/brace-fold', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/comment-fold', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/foldcode', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/indent-fold', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/markdown-fold', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/xml-fold', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/foldgutter', 'js'); -include_file('3rdparty', 'codemirror/addon/fold/foldgutter', 'css'); - -sendVarToJS('userScriptDir', getRootPath() . '/' . config::byKey('userScriptDir', 'script')); -?> - - -
-
- {{Gestion}} -
-
- -
- {{Ajouter}} -
-
- -
- {{Configuration}} -
-
- {{Mes Scripts}} - -
- getIsEnable()) ? '' : 'disableCard'; - echo '
'; - echo ''; - echo '
'; - echo '' . $eqLogic->getHumanName(true, true) . ''; - echo '
'; - } - ?> -
-
-
- - -
- -
-
- -
- - -
- - - - - +getId()); +$eqLogics = eqLogic::byType($plugin->getId()); +$foldOnStart = config::byKey('foldOnStart', 'script', '0'); +sendVarToJS('foldOnStart', $foldOnStart); +sendVarToJS('userScriptDir', getRootPath() . '/' . config::byKey('userScriptDir', 'script')); +?> + + +
+
+ {{Gestion}} +
+
+ +
+ {{Ajouter}} +
+
+ +
+ {{Configuration}} +
+
+ {{Mes Scripts}} + +
+ +
+ + +
+
+ +
+ getIsEnable()) ? '' : 'disableCard'; + $eqString = ''; + $eqString .= '
'; + $eqString .= ''; + $eqString .= '
'; + $eqString .= '' . $eqLogic->getHumanName(true, true) . ''; + + $eqString .= ''; + $content .= $eqString . '
'; + } + echo $content; + ?> +
+
+
+ + + + + + + + From c5abeebf310f133405345731878c0733659ad0d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 30 Nov 2021 12:02:19 +0100 Subject: [PATCH 12/27] Add files via upload --- desktop/js/script.js | 994 ++++++++++++++++++++++--------------------- 1 file changed, 499 insertions(+), 495 deletions(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index d45092f..a65bd81 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -1,495 +1,499 @@ - -/* This file is part of Jeedom. -* -* Jeedom is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* Jeedom is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with Jeedom. If not, see . -*/ - - -editor = null; - -$("#md_browseScriptFile").dialog({ - autoOpen: false, - modal: true, - height: (jQuery(window).height() - 250), - width: (jQuery(window).width() - 450), - closeText: '' -}); - -$("#table_cmd tbody").delegate(".cmdAttr[data-l1key=configuration][data-l2key=requestType]", 'change', function (event) { - $(this).closest('tr').find('.requestTypeConfig').hide(); - $(this).closest('tr').find('.requestTypeConfig[data-type=' + $(this).value() + ']').show(); - if($(this).value() == 'script'){ - $(this).closest('tr').find('.browseScriptFile').show(); - $(this).closest('tr').find('.editScriptFile').show(); - $(this).closest('tr').find('.removeScriptFile').show(); - $(this).closest('tr').find('.newScriptFile').show(); - - $(this).closest('tr').find('.tdRequest').attr('colspan', '2'); - $(this).closest('tr').find('.tdOptions').hide(); - }else{ - $(this).closest('tr').find('.browseScriptFile').hide(); - $(this).closest('tr').find('.editScriptFile').hide(); - $(this).closest('tr').find('.removeScriptFile').hide(); - $(this).closest('tr').find('.newScriptFile').hide(); - - $(this).closest('tr').find('.tdRequest').attr('colspan', '1'); - $(this).closest('tr').find('.tdOptions').show(); - } -}); - -$("#table_cmd tbody").delegate(".browseScriptFile", 'click', function (event) { - var tr = $(this).closest('tr'); - $("#md_browseScriptFile").dialog('open'); - $('#div_browseScriptFileTree').fileTree({ - root: '/', - script: 'plugins/script/3rdparty/jquery.fileTree/jqueryFileTree.php?root=' + encodeURIComponent(userScriptDir), - folderEvent: 'click' - }, function (file) { - $("#md_browseScriptFile").dialog('close'); - if(userScriptDir.slice(-1) == '/' && file.slice(0,1) == '/'){ - file = file.slice(1); - } - tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').value(userScriptDir+file); - }); -}); - -$("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); - -$("#md_editScriptFile").dialog({ - autoOpen: false, - modal: true, - height: (jQuery(window).height() - 150), - width: (jQuery(window).width() - 150), - closeText: '' -}); - -$('#bt_cronGenerator').on('click',function(){ - jeedom.getCronSelectModal({},function (result) { - $('.eqLogicAttr[data-l1key=configuration][data-l2key=autorefresh]').value(result.value); - }); -}); - -$("#table_cmd tbody").delegate(".editScriptFile", 'click', function (event) { - var tr = $(this).closest('tr'); - var path = tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(); - if (path.indexOf(' ') > 0) { - path = path.substr(0, path.indexOf(' ')); - } - var data = loadScriptFile(path); - if (data === false) { - return; - } - - if (editor != null) { - editor.getDoc().setValue(data.content); - editor.setOption("mode", data.mode); - setTimeout(function () { - editor.refresh(); - }, 1); - } else { - $('#ta_editScriptFile').val(data.content); - setTimeout(function () { - editor = CodeMirror.fromTextArea(document.getElementById("ta_editScriptFile"), { - styleActiveLine: true, - lineNumbers: true, - lineWrapping: true, - matchBrackets: true, - autoRefresh: true, - foldGutter: true, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - mode: data.mode - }); - editor.getWrapperElement().style.height = ($('#md_editScriptFile').height()) + 'px'; - editor.setOption("extraKeys", { - "Ctrl-Y": cm => CodeMirror.commands.foldAll(cm), - "Ctrl-I": cm => CodeMirror.commands.unfoldAll(cm) - }) - - $('.ui-dialog[aria-describedby="md_editScriptFile"] .CodeMirror-wrap').css("height", $(window).height() - 80) - - editor.refresh(); - - $('.ui-dialog[aria-describedby="md_editScriptFile"]').resize(function() { - editor.getWrapperElement().style.height = ($('#md_editScriptFile').height()) + 'px'; - editor.refresh() - }) - - if (foldOnStart == "1") { - CodeMirror.commands.foldAll(editor) - } - }, 1); - } - - $("#md_editScriptFile").dialog('option', 'buttons', { - "Annuler": function () { - $(this).dialog("close"); - }, - "Enregistrer": function () { - saveScriptFile(path, editor.getValue()); - } - }); - $("#md_editScriptFile").dialog('open'); -}); - - -$("#table_cmd tbody").delegate(".newScriptFile", 'click', function (event) { - var tr = $(this).closest('tr'); - bootbox.prompt("Nom du script ?", function (result) { - if (result !== null) { - var path = addUserScript(result); - if (path !== false) { - tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(path); - $('#md_newUserScript').modal('hide'); - tr.find('.editScriptFile').click(); - } - } - }); -}); - -$("#table_cmd tbody").delegate(".removeScriptFile", 'click', function (event) { - var tr = $(this).closest('tr'); - var path = tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(); - if (path.indexOf(' ') > 0) { - path = path.substr(0, path.indexOf(' ')); - } - if (path.indexOf('?') > 0) { - path = path.substr(0, path.indexOf('?')); - } - $.hideAlert(); - bootbox.confirm('{{Etes-vous sûr de vouloir supprimer le script :}} ' + path + ' ?', function (result) { - if (result) { - removeScript(path); - tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(''); - } - }); -}); - -$("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); - -function addCmdToTable(_cmd) { - if (!isset(_cmd)) { - var _cmd = {}; - } - if (!isset(_cmd.configuration)) { - _cmd.configuration = {}; - } - if (init(_cmd.logicalId) == 'refresh') { - return; - } - - var selRequestType = ''; - - var tr = ''; - - tr += ''; - tr += ''; - tr += '
'; - tr += '
'; - tr += ' Icone'; - tr += ''; - tr += '
'; - tr += '
'; - tr += ''; - tr += '
'; - tr += '
'; - tr += ''; - tr += ''; - tr += '' + selRequestType; - tr += ''; - tr += ''; - tr += '' + jeedom.cmd.availableType() + ''; - tr += ''; - tr += ''; - tr += ''; - tr += '
'; - tr += ''; - tr += ''; - tr += ''; - tr += ''; - tr += ''; - tr += ''; - tr += '
'; - tr += ''; - tr += ''; - tr += ''; - - tr += '
'; - tr += '
'; - tr += '{{Vérifier SSL}} '; - tr += '{{Retour vide}} '; - tr += '{{Pas d\'erreurs}} '; - tr += '
'; - tr += ''; - tr += '
'; - tr += '
'; - tr += ''; - tr += ''; - tr += '
'; - tr += '
'; - tr += ''; - tr += ''; - tr += '
'; - tr += '
'; - tr += '
'; - - tr += ''; - - tr += ''; - - tr += ''; - tr += ''; - tr += ''; - tr += ''; - tr += ' '; - tr += ''; - tr += ''; - tr += ''; - tr += ''; - tr += ''; - tr += '
'; - tr += ''; - tr += ' '; - tr += ' '; - tr += ' '; - tr += '
'; - tr += ''; - tr += ''; - if (is_numeric(_cmd.id)) { - tr += ' '; - tr += ' {{Tester}}'; - } - tr += ' '; - tr += ''; - tr += ''; - - $('#table_cmd tbody').append(tr); - $('#table_cmd tbody tr:last').setValues(_cmd, '.cmdAttr'); - - if (isset(_cmd.configuration.requestType)) { - $('#table_cmd tbody tr:last .cmdAttr[data-l1key=configuration][data-l2key=requestType]').value(init(_cmd.configuration.requestType)); - $('#table_cmd tbody tr:last .cmdAttr[data-l1key=configuration][data-l2key=requestType]').trigger('change'); - } - - if (isset(_cmd.type)) { - $('#table_cmd tbody tr:last .cmdAttr[data-l1key=type]').value(init(_cmd.type)); - } - var tr = $('#table_cmd tbody tr:last'); - jeedom.eqLogic.builSelectCmd({ - id: $('.eqLogicAttr[data-l1key=id]').value(), - filter: {type: 'info'}, - error: function (error) { - $('#div_alert').showAlert({message: error.message, level: 'danger'}); - }, - success: function (result) { - tr.find('.cmdAttr[data-l1key=value]').append(result); - tr.find('.cmdAttr[data-l1key=configuration][data-l2key=updateCmdId]').append(result); - tr.setValues(_cmd, '.cmdAttr'); - jeedom.cmd.changeType(tr, init(_cmd.subType)); - initTooltips(); - } - }); -} - -function getLogicalIdFromPath(_path) { - if (_path.indexOf(' ') > 0) { - _path = _path.substr(0, _path.indexOf(' ')); - } - var res = _path.split("/"); - if (res.length > 0) { - return res[res.length - 1]; - } else { - return _path; - } -} - - -function loadScriptFile(_path) { - $.hideAlert(); - var result = false; - $.ajax({ - type: "POST", - url: "plugins/script/core/ajax/script.ajax.php", - data: { - action: "getScriptContent", - path: _path, - }, - dataType: 'json', - async: false, - error: function (request, status, error) { - handleAjaxError(request, status, error, $('#div_alert')); - }, - success: function (data) { - if (data.state != 'ok') { - $('#div_alert').showAlert({message: data.result, level: 'danger'}); - return false; - } - result = data.result; - switch (result.extension) { - case 'php' : - result.mode = 'text/x-php'; - break; - case 'sh' : - result.mode = 'shell'; - break; - case 'pl' : - result.mode = 'text/x-php'; - break; - case 'py' : - result.mode = 'text/x-python'; - break; - case 'rb' : - result.mode = 'text/x-ruby'; - break; - default : - result.mode = 'text/x-php'; - break; - } - } - }); - return result; -} - -function saveScriptFile(_path, _content) { - $.hideAlert(); - var success = false; - $.ajax({ - type: "POST", - url: "plugins/script/core/ajax/script.ajax.php", - data: { - action: "saveScriptContent", - path: _path, - content: _content, - }, - dataType: 'json', - async: false, - error: function (request, status, error) { - handleAjaxError(request, status, error, $('#div_editScriptFileAlert')); - }, - success: function (data) { - if (data.state != 'ok') { - $('#div_editScriptFileAlert').showAlert({message: data.result, level: 'danger'}); - return; - } - success = true; - $('#div_editScriptFileAlert').showAlert({message: 'Script sauvegardé', level: 'success'}); - } - }); - return success; -} - -function addUserScript(_name) { - $.hideAlert(); - var success = false; - $.ajax({ - type: "POST", - url: "plugins/script/core/ajax/script.ajax.php", - data: { - action: "addUserScript", - name: _name, - }, - dataType: 'json', - async: false, - error: function (request, status, error) { - handleAjaxError(request, status, error, $('#div_newUserScriptAlert')); - }, - success: function (data) { - if (data.state != 'ok') { - $('#div_newUserScriptAlert').showAlert({message: data.result, level: 'danger'}); - return; - } - success = data.result; - } - }); - return success; -} - -function removeScript(_path) { - $.hideAlert(); - var success = false; - $.ajax({// fonction permettant de faire de l'ajax - type: "POST", // méthode de transmission des données au fichier php - url: "plugins/script/core/ajax/script.ajax.php", // url du fichier php - data: { - action: "removeScript", - path: _path, - }, - dataType: 'json', - async: false, - error: function (request, status, error) { - handleAjaxError(request, status, error, $('#div_newUserScriptAlert')); - }, - success: function (data) { // si l'appel a bien fonctionné - if (data.state != 'ok') { - $('#div_newUserScriptAlert').showAlert({message: data.result, level: 'danger'}); - return; - } - $('#div_alert').showAlert({message: 'Script supprimé', level: 'success'}); - success = true; - } - }); - return success; -} + +/* This file is part of Jeedom. +* +* Jeedom is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Jeedom is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with Jeedom. If not, see . +*/ + + +editor = null; + +$(function() { + $('#md_browseScriptFile, #md_editScriptFile').removeClass('hidden') +}) + +$("#md_browseScriptFile").dialog({ + autoOpen: false, + modal: true, + height: (jQuery(window).height() - 250), + width: (jQuery(window).width() - 450), + closeText: '' +}); + +$("#table_cmd tbody").delegate(".cmdAttr[data-l1key=configuration][data-l2key=requestType]", 'change', function (event) { + $(this).closest('tr').find('.requestTypeConfig').hide(); + $(this).closest('tr').find('.requestTypeConfig[data-type=' + $(this).value() + ']').show(); + if($(this).value() == 'script'){ + $(this).closest('tr').find('.browseScriptFile').show(); + $(this).closest('tr').find('.editScriptFile').show(); + $(this).closest('tr').find('.removeScriptFile').show(); + $(this).closest('tr').find('.newScriptFile').show(); + + $(this).closest('tr').find('.tdRequest').attr('colspan', '2'); + $(this).closest('tr').find('.tdOptions').hide(); + }else{ + $(this).closest('tr').find('.browseScriptFile').hide(); + $(this).closest('tr').find('.editScriptFile').hide(); + $(this).closest('tr').find('.removeScriptFile').hide(); + $(this).closest('tr').find('.newScriptFile').hide(); + + $(this).closest('tr').find('.tdRequest').attr('colspan', '1'); + $(this).closest('tr').find('.tdOptions').show(); + } +}); + +$("#table_cmd tbody").delegate(".browseScriptFile", 'click', function (event) { + var tr = $(this).closest('tr'); + $("#md_browseScriptFile").dialog('open'); + $('#div_browseScriptFileTree').fileTree({ + root: '/', + script: 'plugins/script/3rdparty/jquery.fileTree/jqueryFileTree.php?root=' + encodeURIComponent(userScriptDir), + folderEvent: 'click' + }, function (file) { + $("#md_browseScriptFile").dialog('close'); + if(userScriptDir.slice(-1) == '/' && file.slice(0,1) == '/'){ + file = file.slice(1); + } + tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').value(userScriptDir+file); + }); +}); + +$("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); + +$("#md_editScriptFile").dialog({ + autoOpen: false, + modal: true, + height: (jQuery(window).height() - 150), + width: (jQuery(window).width() - 150), + closeText: '' +}); + +$('#bt_cronGenerator').on('click',function(){ + jeedom.getCronSelectModal({},function (result) { + $('.eqLogicAttr[data-l1key=configuration][data-l2key=autorefresh]').value(result.value); + }); +}); + +$("#table_cmd tbody").delegate(".editScriptFile", 'click', function (event) { + var tr = $(this).closest('tr'); + var path = tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(); + if (path.indexOf(' ') > 0) { + path = path.substr(0, path.indexOf(' ')); + } + var data = loadScriptFile(path); + if (data === false) { + return; + } + + if (editor != null) { + editor.getDoc().setValue(data.content); + editor.setOption("mode", data.mode); + setTimeout(function () { + editor.refresh(); + }, 1); + } else { + $('#ta_editScriptFile').val(data.content); + setTimeout(function () { + editor = CodeMirror.fromTextArea(document.getElementById("ta_editScriptFile"), { + styleActiveLine: true, + lineNumbers: true, + lineWrapping: true, + matchBrackets: true, + autoRefresh: true, + foldGutter: true, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + mode: data.mode + }); + editor.getWrapperElement().style.height = ($('#md_editScriptFile').height()) + 'px'; + editor.setOption("extraKeys", { + "Ctrl-Y": cm => CodeMirror.commands.foldAll(cm), + "Ctrl-I": cm => CodeMirror.commands.unfoldAll(cm) + }) + + $('.ui-dialog[aria-describedby="md_editScriptFile"] .CodeMirror-wrap').css("height", $(window).height() - 80) + + editor.refresh(); + + $('.ui-dialog[aria-describedby="md_editScriptFile"]').resize(function() { + editor.getWrapperElement().style.height = ($('#md_editScriptFile').height()) + 'px'; + editor.refresh() + }) + + if (foldOnStart == "1") { + CodeMirror.commands.foldAll(editor) + } + }, 1); + } + + $("#md_editScriptFile").dialog('option', 'buttons', { + "Annuler": function () { + $(this).dialog("close"); + }, + "Enregistrer": function () { + saveScriptFile(path, editor.getValue()); + } + }); + $("#md_editScriptFile").dialog('open'); +}); + + +$("#table_cmd tbody").delegate(".newScriptFile", 'click', function (event) { + var tr = $(this).closest('tr'); + bootbox.prompt("Nom du script ?", function (result) { + if (result !== null) { + var path = addUserScript(result); + if (path !== false) { + tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(path); + $('#md_newUserScript').modal('hide'); + tr.find('.editScriptFile').click(); + } + } + }); +}); + +$("#table_cmd tbody").delegate(".removeScriptFile", 'click', function (event) { + var tr = $(this).closest('tr'); + var path = tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(); + if (path.indexOf(' ') > 0) { + path = path.substr(0, path.indexOf(' ')); + } + if (path.indexOf('?') > 0) { + path = path.substr(0, path.indexOf('?')); + } + $.hideAlert(); + bootbox.confirm('{{Etes-vous sûr de vouloir supprimer le script :}} ' + path + ' ?', function (result) { + if (result) { + removeScript(path); + tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(''); + } + }); +}); + +$("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); + +function addCmdToTable(_cmd) { + if (!isset(_cmd)) { + var _cmd = {}; + } + if (!isset(_cmd.configuration)) { + _cmd.configuration = {}; + } + if (init(_cmd.logicalId) == 'refresh') { + return; + } + + var selRequestType = ''; + + var tr = ''; + + tr += ''; + tr += ''; + tr += '
'; + tr += '
'; + tr += ' Icone'; + tr += ''; + tr += '
'; + tr += '
'; + tr += ''; + tr += '
'; + tr += '
'; + tr += ''; + tr += ''; + tr += '' + selRequestType; + tr += ''; + tr += ''; + tr += '' + jeedom.cmd.availableType() + ''; + tr += ''; + tr += ''; + tr += ''; + tr += '
'; + tr += ''; + tr += ''; + tr += ''; + tr += ''; + tr += ''; + tr += ''; + tr += '
'; + tr += ''; + tr += ''; + tr += ''; + + tr += '
'; + tr += '
'; + tr += '{{Vérifier SSL}} '; + tr += '{{Retour vide}} '; + tr += '{{Pas d\'erreurs}} '; + tr += '
'; + tr += ''; + tr += '
'; + tr += '
'; + tr += ''; + tr += ''; + tr += '
'; + tr += '
'; + tr += ''; + tr += ''; + tr += '
'; + tr += '
'; + tr += '
'; + + tr += ''; + + tr += ''; + + tr += ''; + tr += ''; + tr += ''; + tr += ''; + tr += ' '; + tr += ''; + tr += ''; + tr += ''; + tr += ''; + tr += ''; + tr += '
'; + tr += ''; + tr += ' '; + tr += ' '; + tr += ' '; + tr += '
'; + tr += ''; + tr += ''; + if (is_numeric(_cmd.id)) { + tr += ' '; + tr += ' {{Tester}}'; + } + tr += ' '; + tr += ''; + tr += ''; + + $('#table_cmd tbody').append(tr); + $('#table_cmd tbody tr:last').setValues(_cmd, '.cmdAttr'); + + if (isset(_cmd.configuration.requestType)) { + $('#table_cmd tbody tr:last .cmdAttr[data-l1key=configuration][data-l2key=requestType]').value(init(_cmd.configuration.requestType)); + $('#table_cmd tbody tr:last .cmdAttr[data-l1key=configuration][data-l2key=requestType]').trigger('change'); + } + + if (isset(_cmd.type)) { + $('#table_cmd tbody tr:last .cmdAttr[data-l1key=type]').value(init(_cmd.type)); + } + var tr = $('#table_cmd tbody tr:last'); + jeedom.eqLogic.builSelectCmd({ + id: $('.eqLogicAttr[data-l1key=id]').value(), + filter: {type: 'info'}, + error: function (error) { + $('#div_alert').showAlert({message: error.message, level: 'danger'}); + }, + success: function (result) { + tr.find('.cmdAttr[data-l1key=value]').append(result); + tr.find('.cmdAttr[data-l1key=configuration][data-l2key=updateCmdId]').append(result); + tr.setValues(_cmd, '.cmdAttr'); + jeedom.cmd.changeType(tr, init(_cmd.subType)); + initTooltips(); + } + }); +} + +function getLogicalIdFromPath(_path) { + if (_path.indexOf(' ') > 0) { + _path = _path.substr(0, _path.indexOf(' ')); + } + var res = _path.split("/"); + if (res.length > 0) { + return res[res.length - 1]; + } else { + return _path; + } +} + + +function loadScriptFile(_path) { + $.hideAlert(); + var result = false; + $.ajax({ + type: "POST", + url: "plugins/script/core/ajax/script.ajax.php", + data: { + action: "getScriptContent", + path: _path, + }, + dataType: 'json', + async: false, + error: function (request, status, error) { + handleAjaxError(request, status, error, $('#div_alert')); + }, + success: function (data) { + if (data.state != 'ok') { + $('#div_alert').showAlert({message: data.result, level: 'danger'}); + return false; + } + result = data.result; + switch (result.extension) { + case 'php' : + result.mode = 'text/x-php'; + break; + case 'sh' : + result.mode = 'shell'; + break; + case 'pl' : + result.mode = 'text/x-php'; + break; + case 'py' : + result.mode = 'text/x-python'; + break; + case 'rb' : + result.mode = 'text/x-ruby'; + break; + default : + result.mode = 'text/x-php'; + break; + } + } + }); + return result; +} + +function saveScriptFile(_path, _content) { + $.hideAlert(); + var success = false; + $.ajax({ + type: "POST", + url: "plugins/script/core/ajax/script.ajax.php", + data: { + action: "saveScriptContent", + path: _path, + content: _content, + }, + dataType: 'json', + async: false, + error: function (request, status, error) { + handleAjaxError(request, status, error, $('#div_editScriptFileAlert')); + }, + success: function (data) { + if (data.state != 'ok') { + $('#div_editScriptFileAlert').showAlert({message: data.result, level: 'danger'}); + return; + } + success = true; + $('#div_editScriptFileAlert').showAlert({message: 'Script sauvegardé', level: 'success'}); + } + }); + return success; +} + +function addUserScript(_name) { + $.hideAlert(); + var success = false; + $.ajax({ + type: "POST", + url: "plugins/script/core/ajax/script.ajax.php", + data: { + action: "addUserScript", + name: _name, + }, + dataType: 'json', + async: false, + error: function (request, status, error) { + handleAjaxError(request, status, error, $('#div_newUserScriptAlert')); + }, + success: function (data) { + if (data.state != 'ok') { + $('#div_newUserScriptAlert').showAlert({message: data.result, level: 'danger'}); + return; + } + success = data.result; + } + }); + return success; +} + +function removeScript(_path) { + $.hideAlert(); + var success = false; + $.ajax({// fonction permettant de faire de l'ajax + type: "POST", // méthode de transmission des données au fichier php + url: "plugins/script/core/ajax/script.ajax.php", // url du fichier php + data: { + action: "removeScript", + path: _path, + }, + dataType: 'json', + async: false, + error: function (request, status, error) { + handleAjaxError(request, status, error, $('#div_newUserScriptAlert')); + }, + success: function (data) { // si l'appel a bien fonctionné + if (data.state != 'ok') { + $('#div_newUserScriptAlert').showAlert({message: data.result, level: 'danger'}); + return; + } + $('#div_alert').showAlert({message: 'Script supprimé', level: 'success'}); + success = true; + } + }); + return success; +} From 1ceb5aea4b1883a1d91be3ca505b8f8382245714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 30 Nov 2021 12:13:49 +0100 Subject: [PATCH 13/27] Create jqueryFileTree.php --- desktop/modal/jqueryFileTree.php | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 desktop/modal/jqueryFileTree.php diff --git a/desktop/modal/jqueryFileTree.php b/desktop/modal/jqueryFileTree.php new file mode 100644 index 0000000..f9e69f9 --- /dev/null +++ b/desktop/modal/jqueryFileTree.php @@ -0,0 +1,49 @@ + 2) { + /* The 2 accounts for . and .. */ + echo "
    "; + // All dirs + foreach ($files as $file) { + if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file)) { + echo "
  • " . htmlentities($file) . "
  • "; + } + } + // All files + foreach ($files as $file) { + if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file)) { + $ext = preg_replace('/^.*\./', '', $file); + echo "
  • " . htmlentities($file) . "
  • "; + } + } + echo "
"; + } +} +?> From e598c89b3dab2960f0b822310cd6efb2cec0f1e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 30 Nov 2021 12:14:18 +0100 Subject: [PATCH 14/27] Update script.js --- desktop/js/script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index a65bd81..2ee673f 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -57,7 +57,7 @@ $("#table_cmd tbody").delegate(".browseScriptFile", 'click', function (event) { $("#md_browseScriptFile").dialog('open'); $('#div_browseScriptFileTree').fileTree({ root: '/', - script: 'plugins/script/3rdparty/jquery.fileTree/jqueryFileTree.php?root=' + encodeURIComponent(userScriptDir), + script: 'plugins/script/modal/jqueryFileTree.php?root=' + encodeURIComponent(userScriptDir), folderEvent: 'click' }, function (file) { $("#md_browseScriptFile").dialog('close'); From d5c63340a7006ab8d165c909129e3b2e081c9389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 30 Nov 2021 12:14:32 +0100 Subject: [PATCH 15/27] Delete jqueryFileTree.php --- 3rdparty/jquery.fileTree/jqueryFileTree.php | 49 --------------------- 1 file changed, 49 deletions(-) delete mode 100644 3rdparty/jquery.fileTree/jqueryFileTree.php diff --git a/3rdparty/jquery.fileTree/jqueryFileTree.php b/3rdparty/jquery.fileTree/jqueryFileTree.php deleted file mode 100644 index d372781..0000000 --- a/3rdparty/jquery.fileTree/jqueryFileTree.php +++ /dev/null @@ -1,49 +0,0 @@ - 2) { - /* The 2 accounts for . and .. */ - echo "
    "; - // All dirs - foreach ($files as $file) { - if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file)) { - echo "
  • " . htmlentities($file) . "
  • "; - } - } - // All files - foreach ($files as $file) { - if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file)) { - $ext = preg_replace('/^.*\./', '', $file); - echo "
  • " . htmlentities($file) . "
  • "; - } - } - echo "
"; - } -} -?> \ No newline at end of file From 8ecdb710ad7fb19705139732ca8a30a831d51fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 1 Dec 2021 11:29:32 +0100 Subject: [PATCH 16/27] Create jqueryFileTree.php --- core/php/jqueryFileTree.php | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 core/php/jqueryFileTree.php diff --git a/core/php/jqueryFileTree.php b/core/php/jqueryFileTree.php new file mode 100644 index 0000000..f9e69f9 --- /dev/null +++ b/core/php/jqueryFileTree.php @@ -0,0 +1,49 @@ + 2) { + /* The 2 accounts for . and .. */ + echo "
    "; + // All dirs + foreach ($files as $file) { + if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file)) { + echo "
  • " . htmlentities($file) . "
  • "; + } + } + // All files + foreach ($files as $file) { + if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file)) { + $ext = preg_replace('/^.*\./', '', $file); + echo "
  • " . htmlentities($file) . "
  • "; + } + } + echo "
"; + } +} +?> From fc4082b4f4e452489868e8faa3c8a13a7e77338f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 1 Dec 2021 11:29:37 +0100 Subject: [PATCH 17/27] Delete jqueryFileTree.php --- desktop/modal/jqueryFileTree.php | 49 -------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 desktop/modal/jqueryFileTree.php diff --git a/desktop/modal/jqueryFileTree.php b/desktop/modal/jqueryFileTree.php deleted file mode 100644 index f9e69f9..0000000 --- a/desktop/modal/jqueryFileTree.php +++ /dev/null @@ -1,49 +0,0 @@ - 2) { - /* The 2 accounts for . and .. */ - echo "
    "; - // All dirs - foreach ($files as $file) { - if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file)) { - echo "
  • " . htmlentities($file) . "
  • "; - } - } - // All files - foreach ($files as $file) { - if (file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file)) { - $ext = preg_replace('/^.*\./', '', $file); - echo "
  • " . htmlentities($file) . "
  • "; - } - } - echo "
"; - } -} -?> From f4f14a4d8a13cc389480fcca87c9724a6d1401d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 1 Dec 2021 11:29:52 +0100 Subject: [PATCH 18/27] Update script.js --- desktop/js/script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index 2ee673f..445f36f 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -57,7 +57,7 @@ $("#table_cmd tbody").delegate(".browseScriptFile", 'click', function (event) { $("#md_browseScriptFile").dialog('open'); $('#div_browseScriptFileTree').fileTree({ root: '/', - script: 'plugins/script/modal/jqueryFileTree.php?root=' + encodeURIComponent(userScriptDir), + script: 'plugins/script/core/php/jqueryFileTree.php?root=' + encodeURIComponent(userScriptDir), folderEvent: 'click' }, function (file) { $("#md_browseScriptFile").dialog('close'); From 4bcaf67bb6297ef1c4dd451f7c74acf9c6a9cdea Mon Sep 17 00:00:00 2001 From: loic Date: Tue, 16 Aug 2022 12:28:46 +0200 Subject: [PATCH 19/27] add cmd state --- desktop/js/script.js | 7 ++- desktop/php/script.php | 113 +++++++++++++++++++++-------------------- 2 files changed, 65 insertions(+), 55 deletions(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index 445f36f..4e3d571 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -322,9 +322,14 @@ function addCmdToTable(_cmd) { tr += ''; tr += ''; tr += ''; + tr += ''; + tr += ''; + tr += ''; if (is_numeric(_cmd.id)) { tr += ' '; - tr += ' {{Tester}}'; + if(init(_cmd.type) == 'action'){ + tr += ' {{Tester}}'; + } } tr += ' '; tr += ''; diff --git a/desktop/php/script.php b/desktop/php/script.php index 6f94b83..00f75f6 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -10,32 +10,36 @@ sendVarToJS('userScriptDir', getRootPath() . '/' . config::byKey('userScriptDir', 'script')); ?>
{{Gestion}}
-
+
-
+
{{Ajouter}}
-
+
{{Configuration}}
{{Mes Scripts}}
- -
- - -
+ +
+ + +
@@ -44,7 +48,7 @@ foreach ($eqLogics as $eqLogic) { $opacity = ($eqLogic->getIsEnable()) ? '' : 'disableCard'; $eqString = ''; - $eqString .= '
'; + $eqString .= '
'; $eqString .= ''; $eqString .= '
'; $eqString .= '' . $eqLogic->getHumanName(true, true) . ''; @@ -81,18 +85,18 @@
-
+
- +
- +
{{Activer}} - + +
- +
@@ -148,13 +152,13 @@

- {{ Sous type :}}
- - {{Curseur : mettre #slider# pour récupérer la valeur}}
- - {{Couleur : mettre #color# pour récupérer la valeur}}
- - {{Message : mettre #title# et #message#}}
- - {{Liste : value|display;}} + {{ Sous type :}}
+ - {{Curseur : mettre #slider# pour récupérer la valeur}}
+ - {{Couleur : mettre #color# pour récupérer la valeur}}
+ - {{Message : mettre #title# et #message#}}
+ - {{Liste : value|display;}}
-
+
@@ -165,11 +169,12 @@ - + + - +
{{Options}} {{Divers}} {{Paramètres}}{{Etat}}{{Action}}
@@ -187,37 +192,37 @@
+include_file('3rdparty', 'jquery.fileTree/jquery.easing.1.3', 'js', 'script'); +include_file('3rdparty', 'jquery.fileTree/jqueryFileTree', 'js', 'script'); +include_file('desktop', 'script', 'js', 'script'); +include_file('core', 'plugin.template', 'js'); +?> \ No newline at end of file From 212acc98ef74df492116788a4011a3d3f1204ef5 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Tue, 16 Aug 2022 23:18:34 +0000 Subject: [PATCH 20/27] [Jenkins] Updated translation --- core/i18n/de_DE.json | 4 +++- core/i18n/en_US.json | 4 +++- core/i18n/es_ES.json | 4 +++- core/i18n/fr_FR.json | 4 +++- core/i18n/id_ID.json | 4 +++- core/i18n/it_IT.json | 4 +++- core/i18n/ja_JP.json | 4 +++- core/i18n/pt_PT.json | 4 +++- core/i18n/ru_RU.json | 4 +++- core/i18n/tr.json | 4 +++- 10 files changed, 30 insertions(+), 10 deletions(-) diff --git a/core/i18n/de_DE.json b/core/i18n/de_DE.json index ea72d2c..b5412f1 100644 --- a/core/i18n/de_DE.json +++ b/core/i18n/de_DE.json @@ -36,7 +36,9 @@ "Requête": "Petition", "Options": "Optionen", "Divers": "Verschiedene", - "Paramètres": "Einstellungen" + "Paramètres": "Einstellungen", + "Etat": "Bundesland", + "Action": "Aktie" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Möchten Sie das Skript wirklich löschen:", diff --git a/core/i18n/en_US.json b/core/i18n/en_US.json index 82d39af..5f07cdd 100644 --- a/core/i18n/en_US.json +++ b/core/i18n/en_US.json @@ -36,7 +36,9 @@ "Requête": "Request", "Options": "Options", "Divers": "Various", - "Paramètres": "Settings" + "Paramètres": "Settings", + "Etat": "State", + "Action": "Stock" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Are you sure you want to delete the script:", diff --git a/core/i18n/es_ES.json b/core/i18n/es_ES.json index da6f8d4..297c60e 100644 --- a/core/i18n/es_ES.json +++ b/core/i18n/es_ES.json @@ -36,7 +36,9 @@ "Requête": "Petición", "Options": "Opciones", "Divers": "Diverso", - "Paramètres": "Configuraciones" + "Paramètres": "Configuraciones", + "Etat": "Estado", + "Action": "Valores" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "¿Está seguro de que desea eliminar el script?", diff --git a/core/i18n/fr_FR.json b/core/i18n/fr_FR.json index bc7e176..6dd8f92 100644 --- a/core/i18n/fr_FR.json +++ b/core/i18n/fr_FR.json @@ -36,7 +36,9 @@ "Requête": "Requête", "Options": "Options", "Divers": "Divers", - "Paramètres": "Paramètres" + "Paramètres": "Paramètres", + "Etat": "Etat", + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", diff --git a/core/i18n/id_ID.json b/core/i18n/id_ID.json index 3fce6b1..b465bd0 100644 --- a/core/i18n/id_ID.json +++ b/core/i18n/id_ID.json @@ -36,7 +36,9 @@ "Requête": "Requête", "Options": "Pilihan", "Divers": "Serba Serbi", - "Paramètres": "Parameter²" + "Paramètres": "Parameter²", + "Etat": "Etat", + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", diff --git a/core/i18n/it_IT.json b/core/i18n/it_IT.json index 3102aa1..e1a8582 100644 --- a/core/i18n/it_IT.json +++ b/core/i18n/it_IT.json @@ -36,7 +36,9 @@ "Requête": "Requête", "Options": "Opzioni", "Divers": "Vario", - "Paramètres": "Impostazioni" + "Paramètres": "Impostazioni", + "Etat": "Etat", + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", diff --git a/core/i18n/ja_JP.json b/core/i18n/ja_JP.json index 6cee70c..d2134ad 100644 --- a/core/i18n/ja_JP.json +++ b/core/i18n/ja_JP.json @@ -36,7 +36,9 @@ "Requête": "Requête", "Options": "オプション", "Divers": "諸", - "Paramètres": "設定" + "Paramètres": "設定", + "Etat": "Etat", + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", diff --git a/core/i18n/pt_PT.json b/core/i18n/pt_PT.json index 42204fd..509ddcd 100644 --- a/core/i18n/pt_PT.json +++ b/core/i18n/pt_PT.json @@ -36,7 +36,9 @@ "Requête": "Pedido", "Options": "Opções", "Divers": "Vário", - "Paramètres": "Configurações" + "Paramètres": "Configurações", + "Etat": "Estado", + "Action": "Ações" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Tem certeza de que deseja excluir o script:", diff --git a/core/i18n/ru_RU.json b/core/i18n/ru_RU.json index f2c52ea..21e961f 100644 --- a/core/i18n/ru_RU.json +++ b/core/i18n/ru_RU.json @@ -36,7 +36,9 @@ "Requête": "Requête", "Options": "Опции", "Divers": "Различный", - "Paramètres": "настройки" + "Paramètres": "настройки", + "Etat": "Etat", + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", diff --git a/core/i18n/tr.json b/core/i18n/tr.json index 43a6c82..1eece51 100644 --- a/core/i18n/tr.json +++ b/core/i18n/tr.json @@ -36,7 +36,9 @@ "Requête": "Requête", "Options": "Opsiyonlar", "Divers": "Diğer", - "Paramètres": "Ayarlar ( Séçenekler )" + "Paramètres": "Ayarlar ( Séçenekler )", + "Etat": "Etat", + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Etes-vous sûr de vouloir supprimer le script :", From 98183fdd11ed4ceba76371d2738c3b0346807a65 Mon Sep 17 00:00:00 2001 From: KiboOst Date: Fri, 9 Sep 2022 11:10:56 +0200 Subject: [PATCH 21/27] trad --- desktop/js/script.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index 4e3d571..068cd7f 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -213,7 +213,7 @@ function addCmdToTable(_cmd) { tr += ''; tr += '
'; tr += '
'; - tr += ''; tr += ''; tr += ''; tr += ''; @@ -308,10 +308,10 @@ function addCmdToTable(_cmd) { tr += ''; tr += ' '; tr += ''; - tr += ''; + tr += ''; tr += ''; - tr += ''; + tr += ''; tr += ''; tr += ''; tr += '
'; From 58128d98e87b5d1b766d43703b8001e88b2237ae Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 9 Sep 2022 23:17:25 +0000 Subject: [PATCH 22/27] [Jenkins] Updated translation --- core/i18n/de_DE.json | 4 ++++ core/i18n/en_US.json | 16 ++++++++++------ core/i18n/es_ES.json | 4 ++++ core/i18n/fr_FR.json | 4 ++++ core/i18n/id_ID.json | 4 ++++ core/i18n/it_IT.json | 4 ++++ core/i18n/ja_JP.json | 4 ++++ core/i18n/pt_PT.json | 4 ++++ core/i18n/ru_RU.json | 4 ++++ core/i18n/tr.json | 4 ++++ 10 files changed, 46 insertions(+), 6 deletions(-) diff --git a/core/i18n/de_DE.json b/core/i18n/de_DE.json index b5412f1..844eaaa 100644 --- a/core/i18n/de_DE.json +++ b/core/i18n/de_DE.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "Xml", "JSON": "Json", + "La valeur de la commande vaut par défaut la commande": "Der Wert des Befehls ist standardmäßig der Befehl", "Parcourir": "Reise", "Editer": "Bearbeiten", "Nouveau": "Neu", @@ -63,6 +64,9 @@ "Unité": "Unit", "Min": "Niedrig", "Max": "Max", + "Commande d\\'information à mettre à jour": "Bestellinformationen zu aktualisieren", + "Aucune": "Keiner", + "Valeur de l\\'information": "Informationswert", "Liste de valeur|texte séparé par ;": "Werteliste | Text getrennt durch;", "Liste": "Auflistung", "Afficher": "Anzeige", diff --git a/core/i18n/en_US.json b/core/i18n/en_US.json index 5f07cdd..f2bad2c 100644 --- a/core/i18n/en_US.json +++ b/core/i18n/en_US.json @@ -14,7 +14,7 @@ "Dupliquer": "Duplicate", "Sauvegarder": "Save", "Supprimer": "Delete", - "Equipement": "Device", + "Equipement": "Equipment", "Commandes": "Commands", "Nom de l'équipement script": "Script equipment name", "Objet parent": "Parent object", @@ -35,34 +35,38 @@ "Type": "Type", "Requête": "Request", "Options": "Options", - "Divers": "Various", + "Divers": "Misc", "Paramètres": "Settings", "Etat": "State", - "Action": "Stock" + "Action": "Action" }, "plugins\/script\/desktop\/js\/script.js": { "Etes-vous sûr de vouloir supprimer le script :": "Are you sure you want to delete the script:", "Script": "Script", "HTTP": "HTTP", - "HTML": "L'opération à mener", + "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "The value of the command is by default the command", "Parcourir": "Browse", "Editer": "Edit", "Nouveau": "New", "Supprimer": "Delete", "Vérifier SSL": "Verify SSL", "Retour vide": "Empty return", - "Pas d\\'erreurs": "No errors", + "Pas d\\'erreurs": "No error", "La réponse doit contenir": "The answer must contain", "Timeout (s)": "Timeout (s)", "Utilisateur": "User", "Maximum d\\'essai": "Maximum test", "Mot de passe": "Password", - "Essais au maximum": "Maximum testing", + "Essais au maximum": "Maximum tests", "Unité": "Unit", "Min": "Min", "Max": "Max", + "Commande d\\'information à mettre à jour": "Order information to update", + "Aucune": "None", + "Valeur de l\\'information": "Information value", "Liste de valeur|texte séparé par ;": "List of values | text separated by;", "Liste": "List", "Afficher": "Show", diff --git a/core/i18n/es_ES.json b/core/i18n/es_ES.json index 297c60e..0639bf1 100644 --- a/core/i18n/es_ES.json +++ b/core/i18n/es_ES.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "El valor del comando es por defecto el comando", "Parcourir": "Recorrer", "Editer": "Editar", "Nouveau": "Nuevo", @@ -63,6 +64,9 @@ "Unité": "Unidad", "Min": "Bajo", "Max": "Max", + "Commande d\\'information à mettre à jour": "Información del pedido para actualizar", + "Aucune": "Ninguna", + "Valeur de l\\'information": "Valor de la información", "Liste de valeur|texte séparé par ;": "Lista de valores | texto separado por;", "Liste": "Lista", "Afficher": "Mostrar", diff --git a/core/i18n/fr_FR.json b/core/i18n/fr_FR.json index 6dd8f92..0aace20 100644 --- a/core/i18n/fr_FR.json +++ b/core/i18n/fr_FR.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "La valeur de la commande vaut par défaut la commande", "Parcourir": "Parcourir", "Editer": "Editer", "Nouveau": "Nouveau", @@ -63,6 +64,9 @@ "Unité": "Unité", "Min": "Min", "Max": "Max", + "Commande d\\'information à mettre à jour": "Commande d\\'information à mettre à jour", + "Aucune": "Aucune", + "Valeur de l\\'information": "Valeur de l\\'information", "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", "Liste": "Liste", "Afficher": "Afficher", diff --git a/core/i18n/id_ID.json b/core/i18n/id_ID.json index b465bd0..89e5b27 100644 --- a/core/i18n/id_ID.json +++ b/core/i18n/id_ID.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "La valeur de la commande vaut par défaut la commande", "Parcourir": "Parcourir", "Editer": "Mengedit", "Nouveau": "Baru", @@ -63,6 +64,9 @@ "Unité": "Satuan", "Min": "Min", "Max": "Max", + "Commande d\\'information à mettre à jour": "Commande d\\'information à mettre à jour", + "Aucune": "Aucune", + "Valeur de l\\'information": "Valeur de l\\'information", "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", "Liste": "Liste", "Afficher": "Memenitikan", diff --git a/core/i18n/it_IT.json b/core/i18n/it_IT.json index e1a8582..131d0b8 100644 --- a/core/i18n/it_IT.json +++ b/core/i18n/it_IT.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "La valeur de la commande vaut par défaut la commande", "Parcourir": "Parcourir", "Editer": "Modifica", "Nouveau": "Nuovo", @@ -63,6 +64,9 @@ "Unité": "Unità", "Min": "Min", "Max": "Max", + "Commande d\\'information à mettre à jour": "Commande d\\'information à mettre à jour", + "Aucune": "Aucune", + "Valeur de l\\'information": "Valeur de l\\'information", "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", "Liste": "Liste", "Afficher": "Mostra", diff --git a/core/i18n/ja_JP.json b/core/i18n/ja_JP.json index d2134ad..4430359 100644 --- a/core/i18n/ja_JP.json +++ b/core/i18n/ja_JP.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "La valeur de la commande vaut par défaut la commande", "Parcourir": "Parcourir", "Editer": "編集します", "Nouveau": "新しいです", @@ -63,6 +64,9 @@ "Unité": "団結", "Min": "低いです", "Max": "マックス", + "Commande d\\'information à mettre à jour": "Commande d\\'information à mettre à jour", + "Aucune": "Aucune", + "Valeur de l\\'information": "Valeur de l\\'information", "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", "Liste": "Liste", "Afficher": "ディスプレイ", diff --git a/core/i18n/pt_PT.json b/core/i18n/pt_PT.json index 509ddcd..3984ee4 100644 --- a/core/i18n/pt_PT.json +++ b/core/i18n/pt_PT.json @@ -47,6 +47,7 @@ "HTML": "Html", "XML": "Xml", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "O valor do comando é por padrão o comando", "Parcourir": "Procurar", "Editer": "Editar", "Nouveau": "Novo", @@ -63,6 +64,9 @@ "Unité": "Unidade", "Min": "Baixo", "Max": "Máx.", + "Commande d\\'information à mettre à jour": "Informações do pedido para atualizar", + "Aucune": "Nenhum", + "Valeur de l\\'information": "Valor da informação", "Liste de valeur|texte séparé par ;": "Lista de valores | texto separado por;", "Liste": "Lista", "Afficher": "Display", diff --git a/core/i18n/ru_RU.json b/core/i18n/ru_RU.json index 21e961f..77c57ac 100644 --- a/core/i18n/ru_RU.json +++ b/core/i18n/ru_RU.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "La valeur de la commande vaut par défaut la commande", "Parcourir": "Parcourir", "Editer": "Редактировать", "Nouveau": "Новый", @@ -63,6 +64,9 @@ "Unité": "Устройство", "Min": "Мин", "Max": "Макс", + "Commande d\\'information à mettre à jour": "Commande d\\'information à mettre à jour", + "Aucune": "Aucune", + "Valeur de l\\'information": "Valeur de l\\'information", "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", "Liste": "Liste", "Afficher": "дисплей", diff --git a/core/i18n/tr.json b/core/i18n/tr.json index 1eece51..bba1b64 100644 --- a/core/i18n/tr.json +++ b/core/i18n/tr.json @@ -47,6 +47,7 @@ "HTML": "HTML", "XML": "XML", "JSON": "JSON", + "La valeur de la commande vaut par défaut la commande": "La valeur de la commande vaut par défaut la commande", "Parcourir": "Parcourir", "Editer": "Düzenle", "Nouveau": "Yeni", @@ -63,6 +64,9 @@ "Unité": "Ünite", "Min": "Minimum", "Max": "Maximum", + "Commande d\\'information à mettre à jour": "Commande d\\'information à mettre à jour", + "Aucune": "Aucune", + "Valeur de l\\'information": "Valeur de l\\'information", "Liste de valeur|texte séparé par ;": "Liste de valeur|texte séparé par ;", "Liste": "Liste", "Afficher": "Göster", From 08934a3b36b8a1bcb14b61ffd99cde71332163e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Mon, 19 Sep 2022 09:32:22 +0200 Subject: [PATCH 23/27] Update script.class.php --- core/class/script.class.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/class/script.class.php b/core/class/script.class.php index 88d2ef1..0dcb313 100644 --- a/core/class/script.class.php +++ b/core/class/script.class.php @@ -303,7 +303,10 @@ public function execute($_options = null) { } $json = json_decode($json_str, true); if ($json === null) { + $json = json_decode($json_str, true, 512, JSON_INVALID_UTF8_IGNORE); + if ($json === null) { throw new Exception(__('Json invalide ou non décodable : ', __FILE__) . $json_str); + } } log::add('script', 'debug', 'tags : ' . $request); log::add('script', 'debug', 'json : ' . json_encode($json)); From e65b079176e45f80613e9ab794d9145c944d6582 Mon Sep 17 00:00:00 2001 From: Mips2648 Date: Mon, 17 Oct 2022 12:45:20 +0200 Subject: [PATCH 24/27] compatibility php 8 --- .gitignore | 3 ++- desktop/php/script.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6d5cee4..c73d88b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ test.php core/config/common.config.php plugins sftp-config.json -.project \ No newline at end of file +.project +.vscode/settings.json diff --git a/desktop/php/script.php b/desktop/php/script.php index 00f75f6..92b8360 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -57,7 +57,7 @@ if ($eqLogic->getConfiguration('autorefresh') != '') $eqString .= '' . $eqLogic->getConfiguration('autorefresh') . ''; $cats = $eqLogic->getCategory(); unset($cats['default']); - $eqString .= '' . implode(array_keys($cats, 1), ', ') . ''; + $eqString .= '' . implode(', ', array_keys($cats, 1)) . ''; if ($eqLogic->getIsVisible() == 1) { $eqString .= ' '; } else { From 410301e8b1152898ab87424c60375ff1e768e2cd Mon Sep 17 00:00:00 2001 From: Mips2648 Date: Mon, 17 Oct 2022 13:12:17 +0200 Subject: [PATCH 25/27] update layout v4.3 --- desktop/js/script.js | 144 +++++++++++++++--------------- desktop/php/script.php | 191 ++++++++++++++++++++-------------------- docs/fr_FR/changelog.md | 4 + 3 files changed, 171 insertions(+), 168 deletions(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index 068cd7f..c05ee39 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -18,7 +18,7 @@ editor = null; -$(function() { +$(function () { $('#md_browseScriptFile, #md_editScriptFile').removeClass('hidden') }) @@ -33,20 +33,20 @@ $("#md_browseScriptFile").dialog({ $("#table_cmd tbody").delegate(".cmdAttr[data-l1key=configuration][data-l2key=requestType]", 'change', function (event) { $(this).closest('tr').find('.requestTypeConfig').hide(); $(this).closest('tr').find('.requestTypeConfig[data-type=' + $(this).value() + ']').show(); - if($(this).value() == 'script'){ + if ($(this).value() == 'script') { $(this).closest('tr').find('.browseScriptFile').show(); $(this).closest('tr').find('.editScriptFile').show(); $(this).closest('tr').find('.removeScriptFile').show(); $(this).closest('tr').find('.newScriptFile').show(); - + $(this).closest('tr').find('.tdRequest').attr('colspan', '2'); $(this).closest('tr').find('.tdOptions').hide(); - }else{ + } else { $(this).closest('tr').find('.browseScriptFile').hide(); $(this).closest('tr').find('.editScriptFile').hide(); $(this).closest('tr').find('.removeScriptFile').hide(); $(this).closest('tr').find('.newScriptFile').hide(); - + $(this).closest('tr').find('.tdRequest').attr('colspan', '1'); $(this).closest('tr').find('.tdOptions').show(); } @@ -61,14 +61,14 @@ $("#table_cmd tbody").delegate(".browseScriptFile", 'click', function (event) { folderEvent: 'click' }, function (file) { $("#md_browseScriptFile").dialog('close'); - if(userScriptDir.slice(-1) == '/' && file.slice(0,1) == '/'){ + if (userScriptDir.slice(-1) == '/' && file.slice(0, 1) == '/') { file = file.slice(1); } - tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').value(userScriptDir+file); + tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').value(userScriptDir + file); }); }); -$("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); +$("#table_cmd").sortable({ axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true }); $("#md_editScriptFile").dialog({ autoOpen: false, @@ -78,8 +78,8 @@ $("#md_editScriptFile").dialog({ closeText: '' }); -$('#bt_cronGenerator').on('click',function(){ - jeedom.getCronSelectModal({},function (result) { +$('#bt_cronGenerator').on('click', function () { + jeedom.getCronSelectModal({}, function (result) { $('.eqLogicAttr[data-l1key=configuration][data-l2key=autorefresh]').value(result.value); }); }); @@ -94,7 +94,7 @@ $("#table_cmd tbody").delegate(".editScriptFile", 'click', function (event) { if (data === false) { return; } - + if (editor != null) { editor.getDoc().setValue(data.content); editor.setOption("mode", data.mode); @@ -119,22 +119,22 @@ $("#table_cmd tbody").delegate(".editScriptFile", 'click', function (event) { "Ctrl-Y": cm => CodeMirror.commands.foldAll(cm), "Ctrl-I": cm => CodeMirror.commands.unfoldAll(cm) }) - + $('.ui-dialog[aria-describedby="md_editScriptFile"] .CodeMirror-wrap').css("height", $(window).height() - 80) - + editor.refresh(); - - $('.ui-dialog[aria-describedby="md_editScriptFile"]').resize(function() { + + $('.ui-dialog[aria-describedby="md_editScriptFile"]').resize(function () { editor.getWrapperElement().style.height = ($('#md_editScriptFile').height()) + 'px'; editor.refresh() }) - + if (foldOnStart == "1") { CodeMirror.commands.foldAll(editor) } }, 1); } - + $("#md_editScriptFile").dialog('option', 'buttons', { "Annuler": function () { $(this).dialog("close"); @@ -179,7 +179,7 @@ $("#table_cmd tbody").delegate(".removeScriptFile", 'click', function (event) { }); }); -$("#table_cmd").sortable({axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true}); +$("#table_cmd").sortable({ axis: "y", cursor: "move", items: ".cmd", placeholder: "ui-state-highlight", tolerance: "intersect", forcePlaceholderSize: true }); function addCmdToTable(_cmd) { if (!isset(_cmd)) { @@ -191,7 +191,7 @@ function addCmdToTable(_cmd) { if (init(_cmd.logicalId) == 'refresh') { return; } - + var selRequestType = ''; - + var tr = ''; - + tr += ''; tr += ''; tr += '
'; @@ -223,6 +223,7 @@ function addCmdToTable(_cmd) { tr += '' + jeedom.cmd.availableType() + ''; tr += ''; tr += ''; + tr += ''; tr += '
'; tr += ''; @@ -234,8 +235,8 @@ function addCmdToTable(_cmd) { tr += '
'; tr += ''; tr += ''; + tr += ''; - tr += '
'; tr += '
'; tr += '{{Vérifier SSL}} '; @@ -254,7 +255,7 @@ function addCmdToTable(_cmd) { tr += '
'; tr += '
'; tr += '
'; - + tr += ''; tr += '
'; tr += '
'; - + tr += ''; tr += '
'; tr += '
'; - + tr += ''; tr += '
'; tr += ''; - tr += ''; - tr += ''; - tr += ' '; - tr += ''; + + tr += '' + tr += ' ' + tr += ' ' + tr += ' ' + tr += '
' + tr += '' + tr += '' + tr += '' + tr += ''; + tr += '
' + tr += ''; tr += ''; tr += ''; + tr += ''; - tr += '
'; - tr += ''; - tr += ' '; - tr += ' '; - tr += ' '; - tr += '
'; - tr += ''; - tr += ''; - tr += ''; + tr += ''; tr += ''; tr += ''; if (is_numeric(_cmd.id)) { - tr += ' '; - if(init(_cmd.type) == 'action'){ - tr += ' {{Tester}}'; - } + tr += ' ' + tr += ' Tester' } tr += ' '; tr += ''; tr += ''; - + $('#table_cmd tbody').append(tr); $('#table_cmd tbody tr:last').setValues(_cmd, '.cmdAttr'); - + if (isset(_cmd.configuration.requestType)) { $('#table_cmd tbody tr:last .cmdAttr[data-l1key=configuration][data-l2key=requestType]').value(init(_cmd.configuration.requestType)); $('#table_cmd tbody tr:last .cmdAttr[data-l1key=configuration][data-l2key=requestType]').trigger('change'); } - + if (isset(_cmd.type)) { $('#table_cmd tbody tr:last .cmdAttr[data-l1key=type]').value(init(_cmd.type)); } var tr = $('#table_cmd tbody tr:last'); jeedom.eqLogic.builSelectCmd({ - id: $('.eqLogicAttr[data-l1key=id]').value(), - filter: {type: 'info'}, + id: $('.eqLogicAttr[data-l1key=id]').value(), + filter: { type: 'info' }, error: function (error) { - $('#div_alert').showAlert({message: error.message, level: 'danger'}); + $('#div_alert').showAlert({ message: error.message, level: 'danger' }); }, success: function (result) { tr.find('.cmdAttr[data-l1key=value]').append(result); @@ -393,29 +393,29 @@ function loadScriptFile(_path) { }, success: function (data) { if (data.state != 'ok') { - $('#div_alert').showAlert({message: data.result, level: 'danger'}); + $('#div_alert').showAlert({ message: data.result, level: 'danger' }); return false; } result = data.result; switch (result.extension) { - case 'php' : - result.mode = 'text/x-php'; - break; - case 'sh' : - result.mode = 'shell'; - break; - case 'pl' : - result.mode = 'text/x-php'; - break; - case 'py' : - result.mode = 'text/x-python'; - break; - case 'rb' : - result.mode = 'text/x-ruby'; - break; - default : - result.mode = 'text/x-php'; - break; + case 'php': + result.mode = 'text/x-php'; + break; + case 'sh': + result.mode = 'shell'; + break; + case 'pl': + result.mode = 'text/x-php'; + break; + case 'py': + result.mode = 'text/x-python'; + break; + case 'rb': + result.mode = 'text/x-ruby'; + break; + default: + result.mode = 'text/x-php'; + break; } } }); @@ -440,11 +440,11 @@ function saveScriptFile(_path, _content) { }, success: function (data) { if (data.state != 'ok') { - $('#div_editScriptFileAlert').showAlert({message: data.result, level: 'danger'}); + $('#div_editScriptFileAlert').showAlert({ message: data.result, level: 'danger' }); return; } success = true; - $('#div_editScriptFileAlert').showAlert({message: 'Script sauvegardé', level: 'success'}); + $('#div_editScriptFileAlert').showAlert({ message: 'Script sauvegardé', level: 'success' }); } }); return success; @@ -467,7 +467,7 @@ function addUserScript(_name) { }, success: function (data) { if (data.state != 'ok') { - $('#div_newUserScriptAlert').showAlert({message: data.result, level: 'danger'}); + $('#div_newUserScriptAlert').showAlert({ message: data.result, level: 'danger' }); return; } success = data.result; @@ -493,10 +493,10 @@ function removeScript(_path) { }, success: function (data) { // si l'appel a bien fonctionné if (data.state != 'ok') { - $('#div_newUserScriptAlert').showAlert({message: data.result, level: 'danger'}); + $('#div_newUserScriptAlert').showAlert({ message: data.result, level: 'danger' }); return; } - $('#div_alert').showAlert({message: 'Script supprimé', level: 'success'}); + $('#div_alert').showAlert({ message: 'Script supprimé', level: 'success' }); success = true; } }); diff --git a/desktop/php/script.php b/desktop/php/script.php index 92b8360..60f8097 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -70,113 +70,112 @@ ?> - - diff --git a/docs/fr_FR/changelog.md b/docs/fr_FR/changelog.md index cf55b82..ed43fc3 100644 --- a/docs/fr_FR/changelog.md +++ b/docs/fr_FR/changelog.md @@ -4,6 +4,10 @@ > >Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte +# 17/10/2022 + +- Mise à jour liste des commandes pour Jeedom v4.3 + # 24/06/2020 - Correction de l'interface From b67ee93466a36aee2c682bc146d4e4c892dd673a Mon Sep 17 00:00:00 2001 From: Mips2648 Date: Mon, 17 Oct 2022 13:34:29 +0200 Subject: [PATCH 26/27] update layout v4.2 + v4.3 --- desktop/js/script.js | 22 ++---- desktop/php/script.php | 165 +++++++++++++++++++++-------------------- 2 files changed, 91 insertions(+), 96 deletions(-) diff --git a/desktop/js/script.js b/desktop/js/script.js index c05ee39..de26702 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -78,12 +78,6 @@ $("#md_editScriptFile").dialog({ closeText: '' }); -$('#bt_cronGenerator').on('click', function () { - jeedom.getCronSelectModal({}, function (result) { - $('.eqLogicAttr[data-l1key=configuration][data-l2key=autorefresh]').value(result.value); - }); -}); - $("#table_cmd tbody").delegate(".editScriptFile", 'click', function (event) { var tr = $(this).closest('tr'); var path = tr.find('.cmdAttr[data-l1key=configuration][data-l2key=request]').val(); @@ -204,17 +198,13 @@ function addCmdToTable(_cmd) { tr += ''; tr += ''; - tr += '
'; - tr += '
'; - tr += ' Icone'; - tr += ''; + tr += '
'; + tr += ''; + tr += ''; + tr += ''; tr += '
'; - tr += '
'; - tr += ''; - tr += '
'; - tr += '
'; - tr += ''; + tr += ''; tr += ''; tr += ''; tr += '' + selRequestType; diff --git a/desktop/php/script.php b/desktop/php/script.php index 60f8097..857544d 100644 --- a/desktop/php/script.php +++ b/desktop/php/script.php @@ -33,42 +33,37 @@
{{Mes Scripts}} - -
- -
- - -
-
- -
-
{{Aucun équipement trouvé, cliquer sur "Ajouter" pour commencer}}
'; + } else { + // Champ de recherche + echo '
'; + echo ''; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + // Liste des équipements du plugin + echo '
'; foreach ($eqLogics as $eqLogic) { $opacity = ($eqLogic->getIsEnable()) ? '' : 'disableCard'; - $eqString = ''; - $eqString .= '
'; - $eqString .= ''; - $eqString .= '
'; - $eqString .= '' . $eqLogic->getHumanName(true, true) . ''; - - $eqString .= ''; + echo '
'; } - echo $content; - ?> -
+ echo '
'; + } + ?>