diff options
author | mcrane <mctch@yahoo.com> | 2009-06-13 20:06:43 -0600 |
---|---|---|
committer | mcrane <mctch@yahoo.com> | 2009-06-13 20:06:43 -0600 |
commit | 81065c240f0e0f2b05b77bd49eb69b152b4105a9 (patch) | |
tree | 46b8bf5f639aae8c1ef71ca91129fef93226c474 /config | |
parent | 7e7fb10565a04e82c507d83ddaa0061c725cb294 (diff) | |
download | pfsense-packages-81065c240f0e0f2b05b77bd49eb69b152b4105a9.tar.gz pfsense-packages-81065c240f0e0f2b05b77bd49eb69b152b4105a9.tar.bz2 pfsense-packages-81065c240f0e0f2b05b77bd49eb69b152b4105a9.zip |
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.
Diffstat (limited to 'config')
-rw-r--r-- | config/shellcmd/shellcmd.tmp | 111 | ||||
-rw-r--r-- | config/shellcmd/shellcmd.xml | 2 | ||||
-rw-r--r-- | config/shellcmd/shellcmd_edit.tmp | 16 |
3 files changed, 40 insertions, 89 deletions
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"); <?php - $i = 0; - if (count($a_earlyshellcmd) > 0) { - //if (isset($a_earlyshellcmd[0]["command"])) { - foreach ($a_earlyshellcmd as $ent) { - if (strlen($ent['command']) > 0) { - echo " <tr>\n"; - echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; - echo " ".$ent['command']." \n"; - echo " </td>\n"; - echo " <td class=\"listbg\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; - echo " earlyshellcmd \n"; - echo " </td>\n"; - echo " <td valign=\"middle\" nowrap class=\"list\">\n"; - echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; - echo " <tr>\n"; - echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=earlyshellcmd&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; - echo " <td><a href=\"shellcmd_edit.php?t=earlyshellcmd&type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; - echo " </tr>\n"; - echo " </table>\n"; - echo " </td>\n"; - echo " </tr>"; - } + $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 <command>-xmltag, this unnests this for backwards compatibility + if (is_array($ent)) { $ent = $ent['command']; } + + echo " <tr>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?t=".$category."&id=".$i."';\">\n"; + echo " ".$ent."\n"; + echo " </td>\n"; + echo " <td class=\"listbg\" ondblclick=\"document.location='shellcmd_edit.php?t=".$category."&id=".$i."';\">\n"; + echo " ".$category."\n"; + echo " </td>\n"; + echo " <td valign=\"middle\" nowrap class=\"list\">\n"; + echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; + echo " <tr>\n"; + echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=".$category."&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " <td><a href=\"shellcmd_edit.php?t=".$category."&type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " </tr>"; $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 " <tr>\n"; - echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; - echo " ".$ent['command']." \n"; - echo " </td>\n"; - echo " <td class=\"listbg\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; - echo " shellcmd \n"; - echo " </td>\n"; - echo " <td valign=\"middle\" nowrap class=\"list\">\n"; - echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; - echo " <tr>\n"; - echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=shellcmd&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; - echo " <td><a href=\"shellcmd_edit.php?t=shellcmd&type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; - echo " </tr>\n"; - echo " </table>\n"; - echo " </td>\n"; - echo " </tr>"; - } - $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 " <tr>\n"; - echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; - echo " ".$ent['command']." \n"; - echo " </td>\n"; - echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; - echo " afterfilterchangeshellcmd \n"; - echo " </td>\n"; - echo " <td valign=\"middle\" nowrap class=\"list\">\n"; - echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; - echo " <tr>\n"; - echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=afterfilterchangeshellcmd&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; - echo " <td><a href=\"shellcmd_edit.php?t=afterfilterchangeshellcmd&type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; - echo " </tr>\n"; - echo " </table>\n"; - echo " </td>\n"; - echo " </tr>"; - } - $i++; - } - //} - } - */ ?> <tr> 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 @@ <requirements>Describe your package requirements here</requirements> <faq>Currently there are no FAQ items provided.</faq> <name>Shellcmd Settings</name> - <version>0.3</version> + <version>0.4</version> <title>Settings</title> <include_file>/usr/local/pkg/shellcmd.inc</include_file> <menu> 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 <command>-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() { <p class="pgtitle">Shellcmd: Edit</p> <?php if ($input_errors) print_input_errors($input_errors); ?> - <div id="mainlevel"> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr><td class="tabnavtbl"> |