From 13fe696065c5c8f85b8cbe0a4ef4893b419ca6c0 Mon Sep 17 00:00:00 2001 From: Michel F <80367602+MrWaloo@users.noreply.github.com> Date: Fri, 27 Jun 2025 01:31:32 +0200 Subject: [PATCH 1/5] Utilisation de la directive shebang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajout de la possibilité de ne pas forcer l'interpréteur selon une règle propre à Jeedom et qui est incompatible avec certains systèmes (python3 sous Debian 11+). - Correction de l'erreur d'affichage des options pour un type "HTTP" lors de la création d'une commande alors que le type "script" est sélectionné à ce moment. --- core/class/script.class.php | 9 +++++---- data/version.py | 5 +++++ desktop/js/script.js | 16 +++++++++------- desktop/php/script.php | 2 +- docs/fr_FR/changelog.md | 6 ++++++ docs/fr_FR/index.md | 26 ++++++++++++++------------ 6 files changed, 40 insertions(+), 24 deletions(-) create mode 100644 data/version.py diff --git a/core/class/script.class.php b/core/class/script.class.php index 4cb8d26..9cf727e 100644 --- a/core/class/script.class.php +++ b/core/class/script.class.php @@ -229,13 +229,14 @@ public function execute($_options = null) { return script::$_requet_cache[$request]; } $cmd = 'sudo chmod +x ' . explode(' ', $request)[0] . ' 2>/dev/null;'; - if (strpos($request, '.php') !== false) { + $force_interpreter = $this->getConfiguration('doNotForceInterpreter', '0') == '0'; + if ($force_interpreter && strpos($request, '.php') !== false) { $cmd .= 'php ' . $request; - } elseif (strpos($request, '.rb') !== false) { + } elseif ($force_interpreter && strpos($request, '.rb') !== false) { $cmd .= 'ruby ' . $request; - } elseif (strpos($request, '.py') !== false) { + } elseif ($force_interpreter && strpos($request, '.py') !== false) { $cmd .= 'python ' . $request; - } elseif (strpos($request, '.pl') !== false) { + } elseif ($force_interpreter && strpos($request, '.pl') !== false) { $cmd .= 'perl ' . $request; } else { $cmd .= $request; diff --git a/data/version.py b/data/version.py new file mode 100644 index 0000000..059312b --- /dev/null +++ b/data/version.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 + +import sys + +print(sys.version) \ No newline at end of file diff --git a/desktop/js/script.js b/desktop/js/script.js index 2edd3b2..d532da8 100644 --- a/desktop/js/script.js +++ b/desktop/js/script.js @@ -33,15 +33,9 @@ $("#table_cmd tbody").delegate(".cmdAttr[data-l1key=configuration][data-l2key=re if ($(this).value() == 'script') { $(this).closest('tr').find('.browseScriptFile').show() $(this).closest('tr').find('.editScriptFile').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('.tdRequest').attr('colspan', '1') - $(this).closest('tr').find('.tdOptions').show() } }) @@ -117,7 +111,15 @@ function addCmdToTable(_cmd) { tr += '' tr += '' - tr += '
' + tr += '
' + tr += '
' + tr += ' ' + tr += '
' + tr += '
' + + tr += '