diff --git a/livesupport/src/modules/htmlUI/var/ui_browse.class.php b/livesupport/src/modules/htmlUI/var/ui_browse.class.php
index 648c4748d..b79ab293d 100644
--- a/livesupport/src/modules/htmlUI/var/ui_browse.class.php
+++ b/livesupport/src/modules/htmlUI/var/ui_browse.class.php
@@ -1,6 +1,12 @@
Base =& $uiBase;
@@ -10,19 +16,25 @@ class uiBrowse
#$this->results =& $_SESSION[constant('UI_'.$this->prefix.'_SESSNAME')]['results'];
$this->reloadUrl = UI_BROWSER.'?popup[]=_reload_parent&popup[]=_close';
- if (empty($this->criteria['limit'])) $this->criteria['limit'] = UI_BROWSE_DEFAULT_LIMIT;
- if (empty($this->criteria['filetype'])) $this->criteria['filetype'] = UI_FILETYPE_ANY;
+ if (empty($this->criteria['limit'])) {
+ $this->criteria['limit'] = UI_BROWSE_DEFAULT_LIMIT;
+ }
+ if (empty($this->criteria['filetype'])) {
+ $this->criteria['filetype'] = UI_FILETYPE_ANY;
+ }
if (!is_array($this->col)) {
## init Categorys
$this->setDefaults();
}
- }
+ } // constructor
+
function setReload()
{
$this->Base->redirUrl = $this->reloadUrl;
- }
+ } // fn setReload
+
function setDefaults($reload=FALSE)
{
@@ -32,11 +44,11 @@ class uiBrowse
$this->col[2]['value'][0] = '%%all%%';
$this->col[3]['category'] = UI_BROWSE_DEFAULT_KEY_3;
$this->col[3]['value'][0] = '%%all%%';
-
- for ($col=1; $col<=3; $col++) {
- $this->setCategory(array('col' => $col, 'category' => $this->col[$col]['category'], 'value' => array(0 => '%%all%%')));
-
+ for ($col = 1; $col <= 3; $col++) {
+ $this->setCategory(array('col' => $col,
+ 'category' => $this->col[$col]['category'],
+ 'value' => array(0 => '%%all%%')));
$this->setValue(
array('col' => $col,
'category' => $this->col[$col]['category'],
@@ -45,35 +57,43 @@ class uiBrowse
);
}
- if ($reload === TRUE) $this->setReload();
- }
+ if ($reload === TRUE) {
+ $this->setReload();
+ }
+ } // fn setDefaults
+
function getCriteria()
{
return $this->criteria;
- }
+ } // fn getCriteria
function getResult()
- {
+ {
$this->searchDB();
return $this->results;
- }
+ } // fn getResult
function browseForm($id, $mask2)
- {
+ {
include dirname(__FILE__).'/formmask/metadata.inc.php';
#$mask2['browse_columns']['category']['options'][0] = tra('Select a Value');
- foreach ($mask['pages'] as $key=>$val) {
+ foreach ($mask['pages'] as $key => $val) {
foreach ($mask['pages'][$key] as $v){
- if ($v['type']) $mask2['browse_columns']['category']['options'][$this->Base->_formElementEncode($v['element'])] = tra($v['label']);
+ if (isset($v['type']) && $v['type']) {
+ $tmp = $this->Base->_formElementEncode($v['element']);
+ $mask2['browse_columns']['category']['options'][$tmp] = tra($v['label']);
+ }
}
};
- for($n=1; $n<=3; $n++) {
+ for ($n = 1; $n <= 3; $n++) {
$form = new HTML_QuickForm('col'.$n, UI_STANDARD_FORM_METHOD, UI_HANDLER);
- $form->setConstants(array('id' => $id, 'col' => $n, 'category' => $this->Base->_formElementEncode($this->col[$n]['category'])));
+ $form->setConstants(array('id' => $id,
+ 'col' => $n,
+ 'category' => $this->Base->_formElementEncode($this->col[$n]['category'])));
$mask2['browse_columns']['value']['options'] = $this->options($this->col[$n]['values']['results']);
$mask2['browse_columns']['value']['default'] = $this->col[$n]['form_value'];
$this->Base->_parseArr2Form($form, $mask2['browse_columns']);
@@ -93,30 +113,41 @@ class uiBrowse
$output['global']['dynform'] = $renderer->toArray();
return $output;
- }
+ } // fn browseForm
+ /**
+ * @param array $parm
+ * @return void
+ */
function setCategory($parm)
{
$which = $parm['col'];
$this->col[$which]['category'] = $this->Base->_formElementDecode($parm['category']);
- $this->col[$which]['values'] = $this->Base->gb->browseCategory($this->col[$which]['category'], $this->col[$which]['criteria'], $this->Base->sessid);
+ $criteria = isset($this->col[$which]['criteria']) ? $this->col[$which]['criteria'] : null;
+ $this->col[$which]['values'] = $this->Base->gb->browseCategory($this->col[$which]['category'], $criteria, $this->Base->sessid);
$this->Base->redirUrl = UI_BROWSER.'?act='.$this->prefix;
$this->clearHierarchy($which);
#print_r($this->col);
- }
+ } // fn setCategory
+
+ /**
+ * Enter description here...
+ *
+ * @param array $parm
+ */
function setValue($parm)
{
$this->criteria['offset'] = 0;
$which = $parm['col'];
$next = $which + 1;
$this->col[$which]['form_value'] = $parm['value'][0];
- if ($parm['value'][0] == '%%all%%') {
+ if ($parm['value'][0] == '%%all%%') {
$this->col[$next]['criteria'] = array('operator' => 'and', 'filetype' => $this->criteria['filetype']);
- } else {
+ } else {
$this->col[$next]['criteria'] = array(
'operator' => 'and',
'filetype' => $this->criteria['filetype'],
@@ -131,7 +162,9 @@ class uiBrowse
)
);
}
- $this->col[$next]['values'] = $this->Base->gb->browseCategory($this->col[$next]['category'], $this->col[$next]['criteria'], $this->Base->sessid);
+ $nextCriteria = isset($this->col[$next]['criteria']) ? $this->col[$next]['criteria'] : null;
+ $category = isset($this->col[$next]['category']) ? $this->col[$next]['category'] : null;
+ $this->col[$next]['values'] = $this->Base->gb->browseCategory($category, $nextCriteria, $this->Base->sessid);
#echo "cat: ".$this->col[$next]['category']."\n";
#echo "criteria: "; print_r($this->col[$next]['criteria']);
@@ -142,19 +175,21 @@ class uiBrowse
#$this->searchDB();
$this->Base->redirUrl = UI_BROWSER.'?act='.$this->prefix;
#$this->setReload();
- }
+ } // fn setValue
function options($arr)
- {
+ {
$ret['%%all%%'] = '---all---';
if (is_array($arr)) {
- foreach ($arr as $val)
+ foreach ($arr as $val) {
$ret[$val] = $val;
+ }
}
return $ret;
- }
+ } // fn options
+
function clearHierarchy($which)
{
@@ -165,18 +200,19 @@ class uiBrowse
$this->col[$col]['values'] = NULL;
$this->col[$col]['form_value'] = NULL;
}
- }
-
+ } // fn clearHierarchy
+
+
function setCriteria() {
//$this->criteria['conditions'] = array();
unset($this->criteria['conditions']);
- for($col=3; $col>=1; $col--) {
+ for ($col=3; $col>=1; $col--) {
if (is_array($this->col[$col]['criteria'])) {
$this->criteria = array_merge ($this->col[$col]['criteria'], $this->criteria);
break;
}
}
- }
+ } // fn setCriteria
function searchDB()
@@ -184,11 +220,11 @@ class uiBrowse
$this->results = array('page' => $this->criteria['offset']/$this->criteria['limit']);
$results = $this->Base->gb->localSearch($this->criteria, $this->Base->sessid);
-
+
if (!is_array($results) || !count($results)) {
- return false;
+ return false;
}
-
+
$this->results['cnt'] = $results['cnt'];
foreach ($results['results'] as $rec) {
$tmpId = $this->Base->gb->_idFromGunid($rec["gunid"]);
@@ -217,7 +253,7 @@ class uiBrowse
#print_r($this->criteria);
#print_r($this->results);
return TRUE;
- }
+ } // fn searchDB
function pagination(&$results)
@@ -240,11 +276,18 @@ class uiBrowse
$deltaUpper = UI_BROWSERESULTS_DELTA;
$start = $currp;
- if ($start+$delta-$maxp > 0) $deltaLower += $start+$delta-$maxp; ## correct lower boarder if page is near end
+ if ($start+$delta-$maxp > 0) {
+ // correct lower border if page is near end
+ $deltaLower += $start+$delta-$maxp;
+ }
for ($n = $start-$deltaLower; $n <= $start+$deltaUpper; $n++) {
- if ($n <= 0) $deltaUpper++; ## correct upper boarder if page is near zero
- elseif ($n <= $maxp) $this->results['pagination'][$n] = $n;
+ if ($n <= 0) {
+ // correct upper border if page is near zero
+ $deltaUpper++;
+ } elseif ($n <= $maxp) {
+ $this->results['pagination'][$n] = $n;
+ }
}
#array_pop($this->results['pagination']);
@@ -253,22 +296,23 @@ class uiBrowse
$this->results['next'] = $results['cnt'] > $this->criteria['offset'] + $this->criteria['limit'] ? TRUE : FALSE;
$this->results['prev'] = $this->criteria['offset'] > 0 ? TRUE : FALSE;
ksort($this->results['pagination']);
- }
+ } // fn pagination
function reOrder($by)
{
$this->criteria['offset'] = NULL;
- if ($this->criteria['orderby'] == $by && !$this->criteria['desc'])
+ if ($this->criteria['orderby'] == $by && !$this->criteria['desc']) {
$this->criteria['desc'] = TRUE;
- else
+ } else {
$this->criteria['desc'] = FALSE;
+ }
$this->criteria['orderby'] = $by;
$this->setReload();
#$this->searchDB();
- }
+ } // fn reOrder
function setOffset($page)
@@ -285,29 +329,31 @@ class uiBrowse
}
$this->setReload();
#$this->searchDB();
- }
+ } // fn setOffset
+
function setLimit($limit)
- {
+ {
$this->criteria['limit'] = $limit;
$this->setReload();
#$this->searchDB();
- }
+ } // fn setLimit
+
function setFiletype($filetype)
- {
- $this->criteria['filetype'] = $filetype;
+ {
+ $this->criteria['filetype'] = $filetype;
$this->criteria['offset'] = 0;
-
+
for ($n=1; $n<=3; $n++) {
- $this->col[$n]['criteria']['filetype'] = $filetype;
-
+ $this->col[$n]['criteria']['filetype'] = $filetype;
+
$this->col[$n]['values'] = $this->Base->gb->browseCategory($this->col[$n]['category'], $this->col[$n]['criteria'], $this->Base->sessid);
$this->clearHierarchy($n);
}
-
+
$this->setReload();
#$this->searchDB();
- }
-}
+ } // fn setFiletype
+} // class uiBrowse
?>
\ No newline at end of file