[geeklog-cvs] geeklog: Bug#1060: Numeric zero not displaying in ADMIN_list or ...
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Tue Aug 10 14:23:24 EDT 2010
changeset 7958:5f0090ed7156
url: http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/5f0090ed7156
user: jmucchiello
date: Fri Jun 11 23:07:21 2010 -0400
description:
Bug#1060: Numeric zero not displaying in ADMIN_list or ADMIN_simpleList
diffstat:
system/lib-admin.php | 34 ++++++++++++++++------------------
1 files changed, 16 insertions(+), 18 deletions(-)
diffs (70 lines):
diff -r 08dd6a22ecc5 -r 5f0090ed7156 system/lib-admin.php
--- a/system/lib-admin.php Wed Jul 07 20:17:18 2010 +0900
+++ b/system/lib-admin.php Fri Jun 11 23:07:21 2010 -0400
@@ -154,6 +154,7 @@
$admin_templates->set_var('message', $LANG_ADMIN['data_error']);
} else {
$admin_templates->set_var('show_message', 'display:none;');
+ $use_fieldfunction = is_callable($fieldfunction);
for ($i = 0; $i < count($data_arr); $i++) {
if (count($data_arr) > $min_data AND is_array($options) AND $options['chkdelete']) {
$admin_templates->set_var('itemtext', '<input type="checkbox" name="delitem[]" value="' . $data_arr[$i][$options['chkfield']].'"' . XHTML . '>');
@@ -162,19 +163,14 @@
}
for ($j = 0; $j < count($header_arr); $j++) {
$fieldname = $header_arr[$j]['field'];
- $fieldvalue = '';
- if (!empty($data_arr[$i][$fieldname])) {
- $fieldvalue = $data_arr[$i][$fieldname];
- }
- if (!empty($fieldfunction)) {
+ $fieldvalue = strval($data_arr[$i][$fieldname]);
+ if ($use_fieldfunction) {
$fieldvalue = $fieldfunction($fieldname, $fieldvalue, $data_arr[$i], $icon_arr);
- } else {
- $fieldvalue = $fieldvalue;
}
if (!empty($header_arr[$j]['field_class'])) {
$admin_templates->set_var('class', $header_arr[$j]['field_class']);
} else {
- $admin_templates->set_var('class', "admin-list-field");
+ $admin_templates->set_var('class', "admin-list-field");
}
if ($fieldvalue !== false) {
$admin_templates->set_var('itemtext', $fieldvalue);
@@ -482,6 +478,11 @@
$admin_templates->parse('search_menu', 'search', true);
}
+ if (is_callable($fieldfunction)) {
+ if (!empty($extra)) $use_fieldfunction = 2;
+ else $use_fieldfunction = 1;
+ } else $use_fieldfunction = 0;
+
# SQL
$sql .= "$filter_str $order_sql $limit;";
// echo $sql;
@@ -498,16 +499,13 @@
}
for ($j = 0; $j < count($header_arr); $j++) {
$fieldname = $header_arr[$j]['field']; # get field name from headers
- $fieldvalue = '';
- if (!empty($A[$fieldname])) { # is there a field in data like that?
- $fieldvalue = $A[$fieldname]; # yes, get its data
- }
- if (!empty ($fieldfunction) && !empty ($extra)) {
- $fieldvalue = $fieldfunction ($fieldname, $fieldvalue, $A, $icon_arr, $extra);
- } else if (!empty ($fieldfunction)) { # do we have a fieldfunction?
- $fieldvalue = $fieldfunction ($fieldname, $fieldvalue, $A, $icon_arr);
- } else { # if not just take the value
- $fieldvalue = $fieldvalue;
+ $fieldvalue = strval($A[$fieldname]); # yes, get its data
+ switch ($use_fieldfunction) {
+ case 2: $fieldvalue = $fieldfunction($fieldname, $fieldvalue, $A, $icon_arr, $extra);
+ break;
+ case 1: $fieldvalue = $fieldfunction($fieldname, $fieldvalue, $A, $icon_arr);
+ break;
+ default: break;
}
if ($fieldvalue !== false) { # return was there, so write line
$this_row = true;
More information about the geeklog-cvs
mailing list