From 81065c240f0e0f2b05b77bd49eb69b152b4105a9 Mon Sep 17 00:00:00 2001 From: mcrane Date: Sat, 13 Jun 2009 20:06:43 -0600 Subject: Applied Shellcmd patch that was created by Aarno Aukia added a if count statement to the array so it wouldn't error if the array was empty. --- config/shellcmd/shellcmd.tmp | 111 +++++++++++--------------------------- config/shellcmd/shellcmd.xml | 2 +- config/shellcmd/shellcmd_edit.tmp | 16 +++--- 3 files changed, 40 insertions(+), 89 deletions(-) (limited to 'config/shellcmd') diff --git a/config/shellcmd/shellcmd.tmp b/config/shellcmd/shellcmd.tmp index 5bb387da..fd386910 100644 --- a/config/shellcmd/shellcmd.tmp +++ b/config/shellcmd/shellcmd.tmp @@ -34,7 +34,6 @@ $a_earlyshellcmd = &$config['system']['earlyshellcmd']; $a_shellcmd = &$config['system']['shellcmd']; //$a_afterfilterchangeshellcmd = &$config['system']['afterfilterchangeshellcmd']; - include("head.inc"); ?> @@ -101,90 +100,40 @@ include("head.inc"); 0) { - //if (isset($a_earlyshellcmd[0]["command"])) { - foreach ($a_earlyshellcmd as $ent) { - if (strlen($ent['command']) > 0) { - echo " \n"; - echo " \n"; - echo " ".$ent['command']." \n"; - echo " \n"; - echo " \n"; - echo " earlyshellcmd  \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " \n"; - echo " "; - } + $categories = array("earlyshellcmd","shellcmd"); + //$categories = array("earlyshellcmd","shellcmd","afterfilterchangeshellcmd"); + + foreach ($categories as $category) { + $i = 0; + // dynamically create the category config name + $category_config = "a_".$category; + if (count($$category_config) > 0) { + foreach ($$category_config as $ent) { + // previous versions of shellcmd stored the command in an additional -xmltag, this unnests this for backwards compatibility + if (is_array($ent)) { $ent = $ent['command']; } + + echo " \n"; + echo " \n"; + echo " ".$ent."\n"; + echo " \n"; + echo " \n"; + echo " ".$category."\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo " \n"; + echo " "; $i++; } - //} - } + } + } - - $i = 0; - if (count($a_shellcmd) > 0) { - //if (isset($a_shellcmd[0]["command"])) { - foreach ($a_shellcmd as $ent) { - if (strlen($ent['command']) > 0) { - echo " \n"; - echo " \n"; - echo " ".$ent['command']." \n"; - echo " \n"; - echo " \n"; - echo " shellcmd  \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " \n"; - echo " "; - } - $i++; - } - //} - } - - /* - $i = 0; - if (count($a_afterfilterchangeshellcmd) > 0) { - //if (isset($a_afterfilterchangeshellcmd[0]["command"])) { - foreach ($a_afterfilterchangeshellcmd as $ent) { - if (strlen($ent['command']) > 0) { - echo " \n"; - echo " \n"; - echo " ".$ent['command']." \n"; - echo " \n"; - echo " \n"; - echo " afterfilterchangeshellcmd \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " \n"; - echo " "; - } - $i++; - } - //} - } - */ ?> diff --git a/config/shellcmd/shellcmd.xml b/config/shellcmd/shellcmd.xml index 0f9469a6..5860b68c 100644 --- a/config/shellcmd/shellcmd.xml +++ b/config/shellcmd/shellcmd.xml @@ -41,7 +41,7 @@ Describe your package requirements here Currently there are no FAQ items provided. Shellcmd Settings - 0.3 + 0.4 Settings /usr/local/pkg/shellcmd.inc diff --git a/config/shellcmd/shellcmd_edit.tmp b/config/shellcmd/shellcmd_edit.tmp index e8a5f5e7..8c49048f 100644 --- a/config/shellcmd/shellcmd_edit.tmp +++ b/config/shellcmd/shellcmd_edit.tmp @@ -84,24 +84,27 @@ if (strlen($id) > 0) { case "earlyshellcmd": $a_earlyshellcmd = &$config['system']['earlyshellcmd']; if ($a_earlyshellcmd[$id]) { - $pconfig['command'] = $a_earlyshellcmd[$id]['command']; + $pconfig['command'] = $a_earlyshellcmd[$id]; } break; case "shellcmd": $a_shellcmd = &$config['system']['shellcmd']; if ($a_shellcmd[$id]) { - $pconfig['command'] = $a_shellcmd[$id]['command']; + $pconfig['command'] = $a_shellcmd[$id]; } break; case "afterfilterchangeshellcmd": //$a_afterfilterchangeshellcmd = &$config['system']['afterfilterchangeshellcmd']; //if ($a_afterfilterchangeshellcmd[$id]) { - // $pconfig['command'] = $a_afterfilterchangeshellcmd[$id]['command']; + // $pconfig['command'] = $a_afterfilterchangeshellcmd[$id]; //} break; default: break; - } + } + + // previous version of shellcmd wrapped all commands in a -xmltag, unnesting this for backwards compatibility + if (is_array($pconfig['command'])) $pconfig['command'] = $pconfig['command']['command']; } @@ -111,8 +114,8 @@ if ($_POST) { if (!$input_errors) { if (strlen($_POST['command']) > 0) { - $ent = array(); - $ent['command'] = $_POST['command']; + + $ent = $_POST['command']; if (strlen($id)>0) { //update @@ -188,7 +191,6 @@ function show_advanced_config() {

Shellcmd: Edit

-
-- cgit v1.2.3