Only in shellcmd: shellcmd-noadditionalxmltag.diff
diff shellcmd.orig/shellcmd.php shellcmd/shellcmd.php
104,128c104,131
<     $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>";
< 				}
< 				$i++; 
< 			}
< 		//}
---
>     $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;
> 	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++; 
> 	}
131,187d133
<     
<     $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++;
< 			}
< 		//}
< 
<     }
< 	*/
diff shellcmd.orig/shellcmd_edit.php shellcmd/shellcmd_edit.php
87c87
< 			$pconfig['command'] = $a_earlyshellcmd[$id]['command'];
---
> 			$pconfig['command'] = $a_earlyshellcmd[$id];
93c93
< 			$pconfig['command'] = $a_shellcmd[$id]['command'];
---
> 			$pconfig['command'] = $a_shellcmd[$id];
99c99
< 		//	$pconfig['command'] = $a_afterfilterchangeshellcmd[$id]['command'];
---
> 		//	$pconfig['command'] = $a_afterfilterchangeshellcmd[$id];
104c104,107
< 	}
---
> 	}	
> 	
> 	// 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'];
114,115c117,118
< 			$ent = array();
< 			$ent['command'] = $_POST['command'];
---
> 			
> 			$ent = $_POST['command'];
191d193
< 
