function show($dbdata, $leaf, $branch, $fielddata) { global $config; $GLOBALS["dontcache"] = 1; $data = parseDelimitedData($dbdata); switch ($data["subtype"]) { case "1": $phplistObj = new phplistObj($data["spage"]); $html .= 'PHPlist' . $phplistObj->PageContent(); return $html; break; default: return "Invalid Subtype"; } }
if (STACKED_ATTRIBUTE_SELECTION) { # read criteria and parse it into a user query $num = sprintf('%d', isset($messagedata['numcriteria']) ? $messagedata['numcriteria'] : 0); # print '<br/>'.$num . " criteria already defined"; $ls = new WebblerListing($GLOBALS['I18N']->get("existingcriteria")); $used_attributes = array(); $delete_base = sprintf('%s&id=%d&tab=%s', $_GET["page"], $_GET["id"], $_GET["tab"]); $tc = 0; # table counter if (!isset($messagedata['criteria_overall_operator'])) { $messagedata['criteria_overall_operator'] = ''; } $mainoperator = $messagedata['criteria_overall_operator'] == "all" ? ' and ' : ' or '; $subqueries = array(); for ($i = 1; $i <= $num; $i++) { $crit_data = parseDelimitedData($messagedata[sprintf('criterion%d', $i)]); if ($crit_data["attribute"]) { array_push($used_attributes, $crit_data["attribute"]); $ls->addElement('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"]); $ls->addColumn('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"], $GLOBALS['I18N']->get('operator'), $GLOBALS['I18N']->get($crit_data["operator"])); $ls->addColumn('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"], $GLOBALS['I18N']->get('values'), $crit_data["values"]); $ls->addColumn('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"], $GLOBALS['I18N']->get('remove'), PageLink2($delete_base . "&deleterule=" . $i, $GLOBALS['I18N']->get("remove"))); if (isset($_POST["criteria"][$i])) { $attribute = $_POST["criteria"][$i]; } else { $attribute = ''; } ## fix 6063 $crit_data["values"] = str_replace(" ", "", $crit_data["values"]); # hmm, rather get is some other way, this is a bit unnecessary $type = Sql_Fetch_Row_Query("select type from {$tables["attribute"]} where id = " . $crit_data["attribute"]);
# increase number $_SESSION["userselection"]["num"]++; } if (isset($_POST["criteria_match"])) { $_SESSION["criteria_overall_operator"] = $_POST["criteria_match"]; } $num = sprintf('%d', $_SESSION["userselection"]["num"]); #print '<br/>'.$num . " criteria already defined"; $ls = new WebblerListing("Existing criteria"); $used_attributes = array(); $delete_base = sprintf('%s&id=%d&tab=%s', $_GET["page"], $_GET["id"], $_GET["tab"]); $tc = 0; # table counter $mainoperator = $_SESSION["criteria_overall_operator"] == "all" ? ' and ' : ' or '; for ($i = 1; $i <= $num; $i++) { $crit_data = parseDelimitedData($_SESSION["userselection"]["criterion{$i}"]); if ($crit_data["attribute"]) { array_push($used_attributes, $crit_data["attribute"]); $ls->addElement('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"]); $ls->addColumn('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"], "operator", $crit_data["operator"]); $ls->addColumn('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"], "values", $crit_data["values"]); $ls->addColumn('<!--' . $crit_data["attribute"] . '-->' . $crit_data["attribute_name"], "remove", PageLink2($delete_base . "&deleterule=" . $i, "Remove")); $attribute = $_POST["criteria"][$i]; # hmm, rather get is some other way, this is a bit unnecessary $type = Sql_Fetch_Row_Query("select type from {$tables["attribute"]} where id = " . $crit_data["attribute"]); $operator = ""; switch ($type[0]) { case "checkboxgroup": if ($tc) { $where_clause .= " {$mainoperator} "; $select_clause .= " left join {$tables['user_attribute']} as table{$tc} on table0.userid = table{$tc}.userid ";