summaryrefslogtreecommitdiffstats
path: root/usr/local/www/pkg.php
diff options
context:
space:
mode:
authorPhil Davis <phil.davis@inf.org>2015-05-15 17:47:00 +0545
committerPhil Davis <phil.davis@inf.org>2015-05-15 17:47:00 +0545
commitf8ac4407a8817d9513ffb7fd491f929b6232f487 (patch)
treed5c0a88dbb08aa5b5e5b52648f8f5b55ab244acd /usr/local/www/pkg.php
parent83c380c3eb0ee38f591a455aabee40d0a543bb95 (diff)
downloadpfsense-f8ac4407a8817d9513ffb7fd491f929b6232f487.zip
pfsense-f8ac4407a8817d9513ffb7fd491f929b6232f487.tar.gz
Code style WWW pkg
The syntax of these all seems good. Because the 2.3-DEVELOPMENT master does not currently have get_pkg_info implemented, the available packages tab always says "Unable to retrieve package info...". But I don't think I broke any code. This is integrated with the little changes for startdisplayingat var in pkg.php
Diffstat (limited to 'usr/local/www/pkg.php')
-rwxr-xr-xusr/local/www/pkg.php776
1 files changed, 410 insertions, 366 deletions
diff --git a/usr/local/www/pkg.php b/usr/local/www/pkg.php
index 9173965..9b0ae61 100755
--- a/usr/local/www/pkg.php
+++ b/usr/local/www/pkg.php
@@ -1,31 +1,31 @@
<?php
/* $Id$ */
/*
- pkg.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Copyright (C) 2004-2012 Scott Ullrich <sullrich@gmail.com>
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
+ pkg.php
+ Copyright (C) 2013-2015 Electric Sheep Fencing, LP
+ Copyright (C) 2004-2012 Scott Ullrich <sullrich@gmail.com>
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
*/
/*
pfSense_MODULE: pkgs
@@ -46,25 +46,25 @@ function gentitle_pkg($pgname) {
return $config['system']['hostname'] . "." . $config['system']['domain'] . " - " . $pgname;
}
-function domTT_title($title_msg){
+function domTT_title($title_msg) {
print "onmouseout=\"this.style.color = ''; domTT_mouseout(this, event);\" onmouseover=\"domTT_activate(this, event, 'content', '".gettext($title_msg)."', 'trail', true, 'delay', 0, 'fade', 'both', 'fadeMax', 93, 'styleClass', 'niceTitle');\"";
}
$xml = $_REQUEST['xml'];
-if($xml == "") {
+if ($xml == "") {
print_info_box_np(gettext("ERROR: No package defined."));
exit;
} else {
- if(file_exists("/usr/local/pkg/" . $xml))
+ if (file_exists("/usr/local/pkg/" . $xml)) {
$pkg = parse_xml_config_pkg("/usr/local/pkg/" . $xml, "packagegui");
- else {
+ } else {
echo "File not found " . htmlspecialchars($xml);
exit;
}
}
-if($pkg['donotsave'] <> "") {
+if ($pkg['donotsave'] <> "") {
header("Location: pkg_edit.php?xml=" . $xml);
exit;
}
@@ -78,62 +78,67 @@ $section = $pkg['menu'][0]['section'];
$config_path = $pkg['configpath'];
$title = $pkg['title'];
-if($_REQUEST['startdisplayingat'])
+if ($_REQUEST['startdisplayingat']) {
$startdisplayingat = $_REQUEST['startdisplayingat'];
+}
-if($_REQUEST['display_maximum_rows'])
- if($_REQUEST['display_maximum_rows'])
+if ($_REQUEST['display_maximum_rows']) {
+ if ($_REQUEST['display_maximum_rows']) {
$display_maximum_rows = $_REQUEST['display_maximum_rows'];
+ }
+}
$evaledvar = $config['installedpackages'][xml_safe_fieldname($pkg['name'])]['config'];
if ($_GET['act'] == "update") {
-
- if(is_array($config['installedpackages'][$pkg['name']]) && $pkg['name'] != "" && $_REQUEST['ids'] !=""){
- #get current values
- $current_values=$config['installedpackages'][$pkg['name']]['config'];
- #get updated ids
- parse_str($_REQUEST['ids'], $update_list);
- #sort ids to know what to change
- #usefull to do not loose data when using sorting and paging
- $sort_list=$update_list['ids'];
- sort($sort_list);
- #apply updates
- foreach($update_list['ids'] as $key=> $value){
- $config['installedpackages'][$pkg['name']]['config'][$sort_list[$key]]=$current_values[$update_list['ids'][$key]];
- }
- #save current config
- write_config();
- #sync package
- eval ("{$pkg['custom_php_resync_config_command']}");
- }
- #function called via jquery, no need to continue after save changes.
- exit;
+
+ if (is_array($config['installedpackages'][$pkg['name']]) && $pkg['name'] != "" && $_REQUEST['ids'] !="") {
+ #get current values
+ $current_values=$config['installedpackages'][$pkg['name']]['config'];
+ #get updated ids
+ parse_str($_REQUEST['ids'], $update_list);
+ #sort ids to know what to change
+ #useful to do not lose data when using sorting and paging
+ $sort_list=$update_list['ids'];
+ sort($sort_list);
+ #apply updates
+ foreach ($update_list['ids'] as $key=> $value) {
+ $config['installedpackages'][$pkg['name']]['config'][$sort_list[$key]]=$current_values[$update_list['ids'][$key]];
+ }
+ #save current config
+ write_config();
+ #sync package
+ eval ("{$pkg['custom_php_resync_config_command']}");
+ }
+ #function called via jquery, no need to continue after save changes.
+ exit;
}
if ($_GET['act'] == "del") {
- // loop through our fieldnames and automatically setup the fieldnames
- // in the environment. ie: a fieldname of username with a value of
- // testuser would automatically eval $username = "testuser";
- foreach ($evaledvar as $ip) {
- if($pkg['adddeleteeditpagefields']['columnitem'])
- foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
- ${xml_safe_fieldname($column['fielddescr'])} = $ip[xml_safe_fieldname($column['fieldname'])];
- }
+ // loop through our fieldnames and automatically setup the fieldnames
+ // in the environment. ie: a fieldname of username with a value of
+ // testuser would automatically eval $username = "testuser";
+ foreach ($evaledvar as $ip) {
+ if ($pkg['adddeleteeditpagefields']['columnitem']) {
+ foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
+ ${xml_safe_fieldname($column['fielddescr'])} = $ip[xml_safe_fieldname($column['fieldname'])];
+ }
}
+ }
- $a_pkg = &$config['installedpackages'][xml_safe_fieldname($pkg['name'])]['config'];
+ $a_pkg = &$config['installedpackages'][xml_safe_fieldname($pkg['name'])]['config'];
- if ($a_pkg[$_GET['id']]) {
- unset($a_pkg[$_GET['id']]);
- write_config();
- if($pkg['custom_delete_php_command'] <> "") {
- if($pkg['custom_php_command_before_form'] <> "")
- eval($pkg['custom_php_command_before_form']);
- eval($pkg['custom_delete_php_command']);
+ if ($a_pkg[$_GET['id']]) {
+ unset($a_pkg[$_GET['id']]);
+ write_config();
+ if ($pkg['custom_delete_php_command'] <> "") {
+ if ($pkg['custom_php_command_before_form'] <> "") {
+ eval($pkg['custom_php_command_before_form']);
}
- header("Location: pkg.php?xml=" . $xml);
- exit;
- }
+ eval($pkg['custom_delete_php_command']);
+ }
+ header("Location: pkg.php?xml=" . $xml);
+ exit;
+ }
}
ob_start();
@@ -141,11 +146,13 @@ ob_start();
$iflist = get_configured_interface_with_descr(false, true);
$evaledvar = $config['installedpackages'][xml_safe_fieldname($pkg['name'])]['config'];
-if($pkg['custom_php_global_functions'] <> "")
+if ($pkg['custom_php_global_functions'] <> "") {
eval($pkg['custom_php_global_functions']);
+}
-if($pkg['custom_php_command_before_form'] <> "")
+if ($pkg['custom_php_command_before_form'] <> "") {
eval($pkg['custom_php_command_before_form']);
+}
$pgtitle = array($title);
include("head.inc");
@@ -163,368 +170,405 @@ include("head.inc");
function setFilter(filtertext) {
jQuery('#pkg_filter').val(filtertext);
document.pkgform.submit();
- }
+ }
<?php
- if($pkg['adddeleteeditpagefields']['movable']){
+ if ($pkg['adddeleteeditpagefields']['movable']) {
?>
- jQuery(document).ready(function(){
+ jQuery(document).ready(function() {
jQuery('#mainarea table tbody').sortable({
items: 'tr.sortable',
cursor: 'move',
distance: 10,
opacity: 0.8,
- helper: function(e,ui){
- ui.children().each(function(){
- jQuery(this).width(jQuery(this).width());
+ helper: function(e,ui) {
+ ui.children().each(function() {
+ jQuery(this).width(jQuery(this).width());
});
- return ui;
+ return ui;
},
});
});
function save_changes_to_xml(xml) {
- var ids=jQuery('#mainarea table tbody').sortable('serialize',{key:"ids[]"});
- var strloading="<img src='/themes/<?= $g['theme']; ?>/images/misc/loader.gif' alt='loader' /> " + "<?=gettext('Saving changes...');?>";
- if(confirm("<?=gettext("Do you really want to save changes?");?>")){
- jQuery.ajax({
- type: 'get',
- cache: false,
- url: "<?=$_SERVER['SCRIPT_NAME'];?>",
- data: {xml:'<?=$xml?>', act:'update', ids: ids},
- beforeSend: function(){
- jQuery('#savemsg').empty().html(strloading);
- },
- error: function(data){
- jQuery('#savemsg').empty().html('Error:' + data);
- },
- success: function(data){
- jQuery('#savemsg').empty().html(data);
- }
- });
- }
+ var ids=jQuery('#mainarea table tbody').sortable('serialize',{key:"ids[]"});
+ var strloading="<img src='/themes/<?= $g['theme']; ?>/images/misc/loader.gif' alt='loader' /> " + "<?=gettext('Saving changes...');?>";
+ if (confirm("<?=gettext("Do you really want to save changes?");?>")) {
+ jQuery.ajax({
+ type: 'get',
+ cache: false,
+ url: "<?=$_SERVER['SCRIPT_NAME'];?>",
+ data: {xml:'<?=$xml?>', act:'update', ids: ids},
+ beforeSend: function() {
+ jQuery('#savemsg').empty().html(strloading);
+ },
+ error: function(data) {
+ jQuery('#savemsg').empty().html('Error:' + data);
+ },
+ success: function(data) {
+ jQuery('#savemsg').empty().html(data);
+ }
+ });
+ }
}
- <?php
+ <?php
}
?>
//]]>
</script>
<form action="pkg.php" name="pkgform" method="get">
<input type='hidden' name='xml' value='<?=$_REQUEST['xml']?>' />
-<?php if($_GET['savemsg'] <> "") $savemsg = htmlspecialchars($_GET['savemsg']); ?>
+<?php if ($_GET['savemsg'] <> "") $savemsg = htmlspecialchars($_GET['savemsg']); ?>
<div id="savemsg"></div>
<?php if ($savemsg) print_info_box($savemsg); ?>
<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="package settings">
<?php
-if ($pkg['tabs'] <> "") {
- $tab_array = array();
- foreach($pkg['tabs']['tab'] as $tab) {
- if($tab['tab_level'])
- $tab_level = $tab['tab_level'];
- else
- $tab_level = 1;
- if(isset($tab['active'])) {
- $active = true;
- } else {
- $active = false;
- }
- if(isset($tab['no_drop_down']))
- $no_drop_down = true;
- $urltmp = "";
- if($tab['url'] <> "") $urltmp = $tab['url'];
- if($tab['xml'] <> "") $urltmp = "pkg_edit.php?xml=" . $tab['xml'];
-
- $addresswithport = getenv("HTTP_HOST");
- $colonpos = strpos($addresswithport, ":");
- if ($colonpos !== False) {
- //my url is actually just the IP address of the pfsense box
- $myurl = substr($addresswithport, 0, $colonpos);
- } else {
- $myurl = $addresswithport;
- }
- // eval url so that above $myurl item can be processed if need be.
- $url = str_replace('$myurl', $myurl, $urltmp);
-
- $tab_array[$tab_level][] = array(
- $tab['text'],
- $active,
- $url
- );
- }
-
- ksort($tab_array);
- foreach($tab_array as $tab) {
- echo '<tr><td>';
- display_top_tabs($tab, $no_drop_down);
- echo '</td></tr>';
- }
-}
+ if ($pkg['tabs'] <> "") {
+ $tab_array = array();
+ foreach ($pkg['tabs']['tab'] as $tab) {
+ if ($tab['tab_level']) {
+ $tab_level = $tab['tab_level'];
+ } else {
+ $tab_level = 1;
+ }
+ if (isset($tab['active'])) {
+ $active = true;
+ } else {
+ $active = false;
+ }
+ if (isset($tab['no_drop_down'])) {
+ $no_drop_down = true;
+ }
+ $urltmp = "";
+ if ($tab['url'] <> "") {
+ $urltmp = $tab['url'];
+ }
+ if ($tab['xml'] <> "") {
+ $urltmp = "pkg_edit.php?xml=" . $tab['xml'];
+ }
+
+ $addresswithport = getenv("HTTP_HOST");
+ $colonpos = strpos($addresswithport, ":");
+ if ($colonpos !== False) {
+ //my url is actually just the IP address of the pfsense box
+ $myurl = substr($addresswithport, 0, $colonpos);
+ } else {
+ $myurl = $addresswithport;
+ }
+ // eval url so that above $myurl item can be processed if need be.
+ $url = str_replace('$myurl', $myurl, $urltmp);
+
+ $tab_array[$tab_level][] = array(
+ $tab['text'],
+ $active,
+ $url
+ );
+ }
+
+ ksort($tab_array);
+ foreach ($tab_array as $tab) {
+ echo '<tr><td>';
+ display_top_tabs($tab, $no_drop_down);
+ echo '</td></tr>';
+ }
+ }
?>
<tr><td><div id="mainarea"><table width="100%" border="0" cellpadding="0" cellspacing="0" summary="main area">
<tr>
<td class="tabcont">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="tabs">
<?php
- /* Handle filtering bar A-Z */
- $include_filtering_inputbox = false;
- $colspan = 0;
- if($pkg['adddeleteeditpagefields']['columnitem'] <> "")
- foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column)
- $colspan++;
- if($pkg['fields']['field']) {
- // First find the sorting type field if it exists
- foreach($pkg['fields']['field'] as $field) {
- if($field['type'] == "sorting") {
- if(isset($field['include_filtering_inputbox']))
- $include_filtering_inputbox = true;
- if($display_maximum_rows < 1)
- if($field['display_maximum_rows'])
- $display_maximum_rows = $field['display_maximum_rows'];
- echo "<tr><td class='listhdrr' colspan='$colspan' align='center'>";
- echo "Filter by: ";
- $isfirst = true;
- for($char = 65; $char < 91; $char++) {
- if(!$isfirst)
- echo " | ";
- echo "<a href=\"#\" onclick=\"setFilter('" . chr($char) . "');\">" . chr($char) . "</a>";
- $isfirst = false;
- }
- echo "</td></tr>";
- echo "<tr><td class='listhdrr' colspan='$colspan' align='center'>";
- if($field['sortablefields']) {
- echo "Filter field: <select name='pkg_filter_type'>";
- foreach($field['sortablefields']['item'] as $si) {
- if($si['name'] == $_REQUEST['pkg_filter_type'])
- $SELECTED = "selected=\"selected\"";
- else
- $SELECTED = "";
- echo "<option value='{$si['name']}' {$SELECTED}>{$si['name']}</option>";
- }
- echo "</select>";
- }
- if($include_filtering_inputbox)
- echo "&nbsp;&nbsp;Filter text: <input id='pkg_filter' name='pkg_filter' value='" . $_REQUEST['pkg_filter'] . "' /> <input type='submit' value='Filter' />";
- echo "</td></tr><tr><td><font size='-3'>&nbsp;</font></td></tr>";
+ /* Handle filtering bar A-Z */
+ $include_filtering_inputbox = false;
+ $colspan = 0;
+ if ($pkg['adddeleteeditpagefields']['columnitem'] <> "") {
+ foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
+ $colspan++;
+ }
+ }
+ if ($pkg['fields']['field']) {
+ // First find the sorting type field if it exists
+ foreach ($pkg['fields']['field'] as $field) {
+ if ($field['type'] == "sorting") {
+ if (isset($field['include_filtering_inputbox'])) {
+ $include_filtering_inputbox = true;
+ }
+ if ($display_maximum_rows < 1) {
+ if ($field['display_maximum_rows']) {
+ $display_maximum_rows = $field['display_maximum_rows'];
+ }
+ }
+ echo "<tr><td class='listhdrr' colspan='$colspan' align='center'>";
+ echo "Filter by: ";
+ $isfirst = true;
+ for ($char = 65; $char < 91; $char++) {
+ if (!$isfirst) {
+ echo " | ";
+ }
+ echo "<a href=\"#\" onclick=\"setFilter('" . chr($char) . "');\">" . chr($char) . "</a>";
+ $isfirst = false;
+ }
+ echo "</td></tr>";
+ echo "<tr><td class='listhdrr' colspan='$colspan' align='center'>";
+ if ($field['sortablefields']) {
+ echo "Filter field: <select name='pkg_filter_type'>";
+ foreach ($field['sortablefields']['item'] as $si) {
+ if ($si['name'] == $_REQUEST['pkg_filter_type']) {
+ $SELECTED = "selected=\"selected\"";
+ } else {
+ $SELECTED = "";
}
+ echo "<option value='{$si['name']}' {$SELECTED}>{$si['name']}</option>";
}
+ echo "</select>";
}
+ if ($include_filtering_inputbox) {
+ echo "&nbsp;&nbsp;Filter text: <input id='pkg_filter' name='pkg_filter' value='" . $_REQUEST['pkg_filter'] . "' /> <input type='submit' value='Filter' />";
+ }
+ echo "</td></tr><tr><td><font size='-3'>&nbsp;</font></td></tr>";
+ }
+ }
+ }
?>
<tr>
<?php
- if($display_maximum_rows) {
- $totalpages = ceil(round((count($evaledvar) / $display_maximum_rows),9));
- $page = 1;
+ if ($display_maximum_rows) {
+ $totalpages = ceil(round((count($evaledvar) / $display_maximum_rows),9));
+ $page = 1;
+ $tmpcount = 0;
+ $tmppp = 0;
+ if (is_array($evaledvar)) {
+ foreach ($evaledvar as $ipa) {
+ if ($tmpcount == $display_maximum_rows) {
+ $page++;
$tmpcount = 0;
- $tmppp = 0;
- if(is_array($evaledvar)) {
- foreach ($evaledvar as $ipa) {
- if($tmpcount == $display_maximum_rows) {
- $page++;
- $tmpcount = 0;
- }
- if($tmppp == $startdisplayingat)
- break;
- $tmpcount++;
- $tmppp++;
- }
- }
- echo "<tr><td colspan='" . count($pkg['adddeleteeditpagefields']['columnitem']) . "'>";
- echo "<table width='100%' summary=''>";
- echo "<tr>";
- echo "<td align='left'>Displaying page $page of $totalpages</b></td>";
- echo "<td align='right'>Rows per page: <select onchange='document.pkgform.submit();' name='display_maximum_rows'>";
- for($x=0; $x<250; $x++) {
- if($x == $display_maximum_rows)
- $SELECTED = "selected=\"selected\"";
- else
- $SELECTED = "";
- echo "<option value='$x' $SELECTED>$x</option>\n";
- $x=$x+4;
- }
- echo "</select></td></tr>";
- echo "</table>";
- echo "</td></tr>";
}
- $cols = 0;
- if($pkg['adddeleteeditpagefields']['columnitem'] <> "") {
- foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
- echo "<td class=\"listhdrr\">" . $column['fielddescr'] . "</td>";
- $cols++;
- }
+ if ($tmppp == $startdisplayingat) {
+ break;
}
- echo "</tr>";
- $i=0;
- $pagination_startingrow=0;
- $pagination_counter=0;
- if($evaledvar)
- foreach ($evaledvar as $ip) {
- if($startdisplayingat) {
- if($i < $startdisplayingat) {
- $i++;
- continue;
- }
+ $tmpcount++;
+ $tmppp++;
+ }
+ }
+ echo "<tr><td colspan='" . count($pkg['adddeleteeditpagefields']['columnitem']) . "'>";
+ echo "<table width='100%' summary=''>";
+ echo "<tr>";
+ echo "<td align='left'>Displaying page $page of $totalpages</b></td>";
+ echo "<td align='right'>Rows per page: <select onchange='document.pkgform.submit();' name='display_maximum_rows'>";
+ for ($x=0; $x<250; $x++) {
+ if ($x == $display_maximum_rows) {
+ $SELECTED = "selected=\"selected\"";
+ } else {
+ $SELECTED = "";
+ }
+ echo "<option value='$x' $SELECTED>$x</option>\n";
+ $x = $x + 4;
+ }
+ echo "</select></td></tr>";
+ echo "</table>";
+ echo "</td></tr>";
+ }
+ $cols = 0;
+ if ($pkg['adddeleteeditpagefields']['columnitem'] <> "") {
+ foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
+ echo "<td class=\"listhdrr\">" . $column['fielddescr'] . "</td>";
+ $cols++;
+ }
+ }
+?>
+ </tr>
+<?php
+ $i = 0;
+ $pagination_startingrow=0;
+ $pagination_counter=0;
+ if ($evaledvar) {
+ foreach ($evaledvar as $ip) {
+ if ($startdisplayingat) {
+ if ($i < $startdisplayingat) {
+ $i++;
+ continue;
}
- if($_REQUEST['pkg_filter']) {
- // Handle filterered items
- if($pkg['fields']['field'] && !$filter_regex) {
- // First find the sorting type field if it exists
- foreach($pkg['fields']['field'] as $field) {
- if($field['type'] == "sorting") {
- if($field['sortablefields']['item']) {
- foreach($field['sortablefields']['item'] as $sf) {
- if($sf['name'] == $_REQUEST['pkg_filter_type']) {
- $filter_fieldname = $sf['fieldname'];
- #Use a default regex on sortable fields when none is declared
- if($sf['regex'])
- $filter_regex = str_replace("%FILTERTEXT%", $_REQUEST['pkg_filter'], trim($sf['regex']));
- else
- $filter_regex = "/{$_REQUEST['pkg_filter']}/i";
+ }
+ if ($_REQUEST['pkg_filter']) {
+ // Handle filtered items
+ if ($pkg['fields']['field'] && !$filter_regex) {
+ // First find the sorting type field if it exists
+ foreach ($pkg['fields']['field'] as $field) {
+ if ($field['type'] == "sorting") {
+ if ($field['sortablefields']['item']) {
+ foreach ($field['sortablefields']['item'] as $sf) {
+ if ($sf['name'] == $_REQUEST['pkg_filter_type']) {
+ $filter_fieldname = $sf['fieldname'];
+ #Use a default regex on sortable fields when none is declared
+ if ($sf['regex']) {
+ $filter_regex = str_replace("%FILTERTEXT%", $_REQUEST['pkg_filter'], trim($sf['regex']));
+ } else {
+ $filter_regex = "/{$_REQUEST['pkg_filter']}/i";
}
}
}
}
}
}
- // Do we have something to filter on?
- unset($filter_matches);
- if($pkg['adddeleteeditpagefields']['columnitem'] <> "") {
- foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
- $fieldname = $ip[xml_safe_fieldname($column['fieldname'])];
- if($column['fieldname'] == $filter_fieldname) {
- if($filter_regex) {
- //echo "$filter_regex - $fieldname<p/>";
- preg_match($filter_regex, $fieldname, $filter_matches);
- break;
- }
+ }
+ // Do we have something to filter on?
+ unset($filter_matches);
+ if ($pkg['adddeleteeditpagefields']['columnitem'] <> "") {
+ foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
+ $fieldname = $ip[xml_safe_fieldname($column['fieldname'])];
+ if ($column['fieldname'] == $filter_fieldname) {
+ if ($filter_regex) {
+ //echo "$filter_regex - $fieldname<p/>";
+ preg_match($filter_regex, $fieldname, $filter_matches);
+ break;
}
}
}
- if(!$filter_matches) {
- $i++;
- continue;
- }
}
- if($pkg['adddeleteeditpagefields']['movable'])
- echo "<tr valign=\"top\" class=\"sortable\" id=\"id_{$i}\">\n";
- else
- echo "<tr valign=\"top\">\n";
- if($pkg['adddeleteeditpagefields']['columnitem'] <> "")
- foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
- if ($column['fieldname'] == "description")
- $class = "listbg";
- else
- $class = "listlr";
+ if (!$filter_matches) {
+ $i++;
+ continue;
+ }
+ }
+ if ($pkg['adddeleteeditpagefields']['movable']) {
+ echo "<tr valign=\"top\" class=\"sortable\" id=\"id_{$i}\">\n";
+ } else {
+ echo "<tr valign=\"top\">\n";
+ }
+ if ($pkg['adddeleteeditpagefields']['columnitem'] <> "") {
+ foreach ($pkg['adddeleteeditpagefields']['columnitem'] as $column) {
+ if ($column['fieldname'] == "description") {
+ $class = "listbg";
+ } else {
+ $class = "listlr";
+ }
?>
- <td class="<?=$class;?>" ondblclick="document.location='pkg_edit.php?xml=<?=$xml?>&amp;act=edit&amp;id=<?=$i;?>';">
- <?php
- $fieldname = $ip[xml_safe_fieldname($column['fieldname'])];
- #Check if columnitem has a type field declared
- if($column['type'] == "checkbox") {
- if($fieldname == "") {
- echo gettext("No");
- } else {
- echo gettext("Yes");
- }
- } else if ($column['type'] == "interface") {
- echo $column['prefix'] . $iflist[$fieldname] . $column['suffix'];
- } else {
- #Check if columnitem has an encoding field declared
- if ($column['encoding'] == "base64")
- echo $column['prefix'] . base64_decode($fieldname) . $column['suffix'];
- #Check if there is a custom info to show when $fieldname is not empty
- else if($column['listmodeon'] && $fieldname != "")
- echo $column['prefix'] . gettext($column['listmodeon']). $column['suffix'];
- #Check if there is a custom info to show when $fieldname is empty
- else if($column['listmodeoff'] && $fieldname == "")
- echo $column['prefix'] .gettext($column['listmodeoff']). $column['suffix'];
- else
- echo $column['prefix'] . $fieldname ." ". $column['suffix'];
- }
- ?>
- </td>
+ <td class="<?=$class;?>" ondblclick="document.location='pkg_edit.php?xml=<?=$xml?>&amp;act=edit&amp;id=<?=$i;?>';">
<?php
+ $fieldname = $ip[xml_safe_fieldname($column['fieldname'])];
+ #Check if columnitem has a type field declared
+ if ($column['type'] == "checkbox") {
+ if ($fieldname == "") {
+ echo gettext("No");
+ } else {
+ echo gettext("Yes");
+ }
+ } else if ($column['type'] == "interface") {
+ echo $column['prefix'] . $iflist[$fieldname] . $column['suffix'];
+ } else {
+ #Check if columnitem has an encoding field declared
+ if ($column['encoding'] == "base64") {
+ echo $column['prefix'] . base64_decode($fieldname) . $column['suffix'];
+ #Check if there is a custom info to show when $fieldname is not empty
+ } else if ($column['listmodeon'] && $fieldname != "") {
+ echo $column['prefix'] . gettext($column['listmodeon']). $column['suffix'];
+ #Check if there is a custom info to show when $fieldname is empty
+ } else if ($column['listmodeoff'] && $fieldname == "") {
+ echo $column['prefix'] .gettext($column['listmodeoff']). $column['suffix'];
+ } else {
+ echo $column['prefix'] . $fieldname ." ". $column['suffix'];
+ }
}
?>
- <td valign="middle" class="list nowrap">
- <table border="0" cellspacing="0" cellpadding="1" summary="icons">
- <tr>
- <?php
- #Show custom description to edit button if defined
- $edit_msg=($pkg['adddeleteeditpagefields']['edittext']?$pkg['adddeleteeditpagefields']['edittext']:"Edit this item");?>
- <td valign="middle"><a href="pkg_edit.php?xml=<?=$xml?>&amp;act=edit&amp;id=<?=$i;?>"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0" <?=domTT_title($edit_msg)?> alt="edit" /></a></td>
- <?php
- #Show custom description to delete button if defined
- $delete_msg=($pkg['adddeleteeditpagefields']['deletetext']?$pkg['adddeleteeditpagefields']['deletetext']:"Delete this item");?>
- <td valign="middle"><a href="pkg.php?xml=<?=$xml?>&amp;act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this item?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" <?=domTT_title($delete_msg)?> alt="delete" /></a></td>
- </tr>
- </table>
- </td>
+ </td>
<?php
- echo "</tr>\n";
- // Handle pagination and display_maximum_rows
- if($display_maximum_rows) {
- if($pagination_counter == ($display_maximum_rows-1) or
- $i == (count($evaledvar)-1)) {
- $colcount = count($pkg['adddeleteeditpagefields']['columnitem']);
- $final_footer = "";
- $final_footer .= "<tr><td colspan='$colcount'>";
- $final_footer .= "<table width='100%' summary=''><tr>";
- $final_footer .= "<td align='left'>";
- $startingat = $startdisplayingat - $display_maximum_rows;
- if($startingat > -1) {
- $final_footer .= "<a href='pkg.php?xml=" . $_REQUEST['xml'] . "&amp;startdisplayingat={$startingat}&amp;display_maximum_rows={$display_maximum_rows}'>";
- } else if ($startdisplayingat > 1) {
- $final_footer .= "<a href='pkg.php?xml=" . $_REQUEST['xml'] . "&amp;startdisplayingat=0&amp;display_maximum_rows={$display_maximum_rows}'>";
- }
- $final_footer .= "<font size='2'><< Previous page</font></a>";
- if($tmppp + $display_maximum_rows > count($evaledvar))
- $endingrecord = count($evaledvar);
- else
- $endingrecord = $tmppp + $display_maximum_rows;
- $final_footer .= "</td><td align='center'>";
- $tmppp++;
- $final_footer .= "<font size='2'>Displaying {$tmppp} - {$endingrecord} / " . count($evaledvar) . " records";
- $final_footer .= "</font></td><td align='right'>&nbsp;";
- if(($i+1) < count($evaledvar))
- $final_footer .= "<a href='pkg.php?xml=" . $_REQUEST['xml'] . "&amp;startdisplayingat=" . ($startdisplayingat + $display_maximum_rows) . "&amp;display_maximum_rows={$display_maximum_rows}'>";
- $final_footer .= "<font size='2'>Next page >></font></a>";
- $final_footer .= "</td></tr></table></td></tr>";
- $i = count($evaledvar);
- break;
+ } // foreach columnitem
+ } // if columnitem
+?>
+ <td valign="middle" class="list nowrap">
+ <table border="0" cellspacing="0" cellpadding="1" summary="icons">
+ <tr>
+<?php
+ #Show custom description to edit button if defined
+ $edit_msg=($pkg['adddeleteeditpagefields']['edittext']?$pkg['adddeleteeditpagefields']['edittext']:"Edit this item");
+?>
+ <td valign="middle"><a href="pkg_edit.php?xml=<?=$xml?>&amp;act=edit&amp;id=<?=$i;?>"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0" <?=domTT_title($edit_msg)?> alt="edit" /></a></td>
+<?php
+ #Show custom description to delete button if defined
+ $delete_msg=($pkg['adddeleteeditpagefields']['deletetext']?$pkg['adddeleteeditpagefields']['deletetext']:"Delete this item");
+?>
+ <td valign="middle"><a href="pkg.php?xml=<?=$xml?>&amp;act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this item?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" <?=domTT_title($delete_msg)?> alt="delete" /></a></td>
+ </tr>
+ </table>
+ </td>
+<?php
+ echo "</tr>\n"; // Pairs with an echo tr some way above
+ // Handle pagination and display_maximum_rows
+ if ($display_maximum_rows) {
+ if ($pagination_counter == ($display_maximum_rows-1) or
+ $i == (count($evaledvar)-1)) {
+ $colcount = count($pkg['adddeleteeditpagefields']['columnitem']);
+ $final_footer = "";
+ $final_footer .= "<tr><td colspan='$colcount'>";
+ $final_footer .= "<table width='100%' summary=''><tr>";
+ $final_footer .= "<td align='left'>";
+ $startingat = $startdisplayingat - $display_maximum_rows;
+ if ($startingat > -1) {
+ $final_footer .= "<a href='pkg.php?xml=" . $_REQUEST['xml'] . "&amp;startdisplayingat={$startingat}&amp;display_maximum_rows={$display_maximum_rows}'>";
+ } else if ($startdisplayingat > 1) {
+ $final_footer .= "<a href='pkg.php?xml=" . $_REQUEST['xml'] . "&amp;startdisplayingat=0&amp;display_maximum_rows={$display_maximum_rows}'>";
}
+ $final_footer .= "<font size='2'><< Previous page</font></a>";
+ if ($tmppp + $display_maximum_rows > count($evaledvar)) {
+ $endingrecord = count($evaledvar);
+ } else {
+ $endingrecord = $tmppp + $display_maximum_rows;
+ }
+ $final_footer .= "</td><td align='center'>";
+ $tmppp++;
+ $final_footer .= "<font size='2'>Displaying {$tmppp} - {$endingrecord} / " . count($evaledvar) . " records";
+ $final_footer .= "</font></td><td align='right'>&nbsp;";
+ if (($i+1) < count($evaledvar)) {
+ $final_footer .= "<a href='pkg.php?xml=" . $_REQUEST['xml'] . "&amp;startdisplayingat=" . ($startdisplayingat + $display_maximum_rows) . "&amp;display_maximum_rows={$display_maximum_rows}'>";
+ }
+ $final_footer .= "<font size='2'>Next page >></font></a>";
+ $final_footer .= "</td></tr></table></td></tr>";
+ $i = count($evaledvar);
+ break;
}
- $i++;
- $pagination_counter++;
- }
+ }
+ $i++;
+ $pagination_counter++;
+ } // foreach evaledvar
+ } // if evaledvar
?>
<tr>
<td colspan="<?=$cols?>"></td>
<td>
<table border="0" cellspacing="0" cellpadding="1" summary="icons">
<tr>
- <?php
- #Show custom description to add button if defined
- $add_msg=($pkg['adddeleteeditpagefields']['addtext']?$pkg['adddeleteeditpagefields']['addtext']:"Add a new item");?>
+<?php
+ #Show custom description to add button if defined
+ $add_msg=($pkg['adddeleteeditpagefields']['addtext']?$pkg['adddeleteeditpagefields']['addtext']:"Add a new item");
+?>
<td valign="middle"><a href="pkg_edit.php?xml=<?=$xml?>&amp;id=<?=$i?>"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" <?=domTT_title($add_msg)?> alt="add" /></a></td>
- <?php
- #Show description button and info if defined
- if($pkg['adddeleteeditpagefields']['description']){?>
+<?php
+ #Show description button and info if defined
+ if ($pkg['adddeleteeditpagefields']['description']) {
+?>
<td valign="middle"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_info_pkg.gif" width="17" height="17" border="0" <?=domTT_title($pkg['adddeleteeditpagefields']['description'])?> alt="info" /></td>
- <?php }?>
+<?php
+ }
+?>
</tr>
</table>
</td>
</tr>
<?=$final_footer?>
- <?php
- #Show save button only when movable is defined
- if($pkg['adddeleteeditpagefields']['movable']){?>
- <tr><td><input class="formbtn" type="button" value="Save" name="Submit" onclick="save_changes_to_xml('<?=$xml?>')" /></td></tr>
- <?php }?>
- </table>
- </td>
-</tr>
+<?php
+ #Show save button only when movable is defined
+ if ($pkg['adddeleteeditpagefields']['movable']) {
+?>
+ <tr>
+ <td><input class="formbtn" type="button" value="Save" name="Submit" onclick="save_changes_to_xml('<?=$xml?>')" /></td>
+ </tr>
+<?php
+ }
+?>
+ </table>
+ </td>
+ </tr>
+</table></div></td></tr>
</table>
-</div></td></tr></table>
</form>
<?php include("fend.inc"); ?>
OpenPOWER on IntegriCloud