aboutsummaryrefslogtreecommitdiffstats
path: root/config/shellcmd
diff options
context:
space:
mode:
authormcrane <mctch@yahoo.com>2009-06-13 20:06:43 -0600
committermcrane <mctch@yahoo.com>2009-06-13 20:06:43 -0600
commit81065c240f0e0f2b05b77bd49eb69b152b4105a9 (patch)
tree46b8bf5f639aae8c1ef71ca91129fef93226c474 /config/shellcmd
parent7e7fb10565a04e82c507d83ddaa0061c725cb294 (diff)
downloadpfsense-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/shellcmd')
-rw-r--r--config/shellcmd/shellcmd.tmp111
-rw-r--r--config/shellcmd/shellcmd.xml2
-rw-r--r--config/shellcmd/shellcmd_edit.tmp16
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']."&nbsp;\n";
- echo " </td>\n";
- echo " <td class=\"listbg\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n";
- echo " earlyshellcmd &nbsp;\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']."&nbsp;\n";
- echo " </td>\n";
- echo " <td class=\"listbg\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n";
- echo " shellcmd &nbsp;\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']."&nbsp;\n";
- echo " </td>\n";
- echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n";
- echo " afterfilterchangeshellcmd&nbsp;\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">