: [userid]

Execute("SELECT * FROM qb_report ". " WHERE id = ? ", array($_GET['idReport'])); if (!$rs->EOF) { $_SESSION['selectedTable'] = array(); $_SESSION['selectedColumn'] = array(); $_SESSION['selectedRelation'] = array(); $unSerialize = unserialize($rs->fields['serialize']); if (is_array($unSerialize['selectedTable'])) { $_SESSION['selectedTable'] = $unSerialize['selectedTable']; $_SESSION['selectedColumn'] = $unSerialize['selectedColumn']; $_SESSION['selectedRelation'] = $unSerialize['selectedRelation']; } #$tableId = $rs->fields['tableid']; $reportName = htmlspecialchars($rs->fields['name']); } $_SESSION['selectedReport'] = $_GET['idReport']; } if (!isset($_SESSION['selectedTable'])) $_SESSION['selectedTable'] = array(); if (!isset($_SESSION['selectedColumn'])) $_SESSION['selectedColumn'] = array(); if (!isset($_SESSION['selectedRelation'])) $_SESSION['selectedRelation'] = array(); if ($_REQUEST['tableid']) $tableId = $_REQUEST['tableid']; if ($_POST['addtable']) $tableId = $_POST['idtable']; if ($tableId) { $_SESSION['selectedTable'] = array($tableId); $saveKey = array(); $metaColumns = $adodb->MetaColumns($tableId); $i = 0; foreach ($metaColumns as $k => $v) { foreach ($_SESSION['selectedColumn'] as $k2 => $v2) { if ( $v2[0] === $tableId && $v2[1] === $v->name) { $saveKey[$i] = $v2; } } if (!isset($saveKey[$i])) $saveKey[$i] = array($tableId, $v->name); $i++; } $_SESSION['selectedColumn'] = $saveKey; } if ($_POST['deltable']) { unset($_SESSION['selectedTable'][$_POST['idtable']]); } /* if ($_POST['addtable']) { $tableId = $_POST['idtable']; $_SESSION['selectedTable'] = array($tableId); $_SESSION['selectedColumn'] = array(); $metaColumns = $adodb->MetaColumns($tableId); if (!is_array($metaColumns)) $metaColumns = array(); foreach ($metaColumns as $k => $v) { $_SESSION['selectedColumn'][] = array($tableId, $v->name); } } */ ?>
'> : ' onClick='addtable()'>
$v) { if ($_POST['delcolumn'] && $v === $_POST['idcolumn']) continue; if (!isset($_SESSION['selectedColumn'][$v])) continue; $_SESSION['selectedColumn'][$v]['total'] = $_POST['total'][$k]; #$_SESSION['selectedColumn'][$v]['sort'] = $_POST['sort'][$k]; $_SESSION['selectedColumn'][$v]['filterName'] = $_POST['filterName'][$k]; $_SESSION['selectedColumn'][$v]['filterType'] = $_POST['filterType'][$k]; $_SESSION['selectedColumn'][$v]['filterOp'] = $_POST['filterOp'][$k]; $showVal = $_POST['show'][$k]; if ($showVal === 'on') $_SESSION['selectedColumn'][$v]['show'] = 1; else $_SESSION['selectedColumn'][$v]['show'] = 0; $hiddenVal = $_POST['hidden'][$k]; if ($hiddenVal === 'on') $_SESSION['selectedColumn'][$v]['hidden'] = 1; else $_SESSION['selectedColumn'][$v]['hidden'] = 0; $groupVal = $_POST['group']; if ($groupVal === $v) $_SESSION['selectedColumn'][$v]['group'] = 1; else $_SESSION['selectedColumn'][$v]['group'] = 0; #$fieldVal = $_POST['field'][$k]; #list($table, $field) = explode(".", $fieldVal); #$_SESSION['selectedColumn'][$v][0] = $table; #$_SESSION['selectedColumn'][$v][1] = $field; #$_SESSION['selectedColumn'][$v]['criteria'] = $_POST['criteria'][$k]; $_SESSION['selectedColumn'][$v]['or'] = $_POST['or'][$k]; } } if ($_POST['addrelation']) { $a = $_POST['rLeft']; $b = $_POST['rJoin']; $c = $_POST['rRight']; $_SESSION['selectedRelation'][] = array($a, $b, $c); } if ($_POST['delrelation']) { unset($_SESSION['selectedRelation'][$_POST['idrelation']]); } if ($_POST['generate']) { $column = $where = $orderby = $table = $group = $groupby1 = $groupby2 = ''; $notShow = $arrHidden = $arrColumn = array(); foreach ($_SESSION['selectedColumn'] as $k => $v) { if (!isset($arrTable[$v[0]])) $arrTable[$v[0]] = 1; $tableField = $v[0].".".$v[1]; $xtableField = $v[1]; //*************************************************************************************************************************** // Edited by Dennis Ritz // 11.04.2006 //*************************************************************************************************************************** if ($v['filterName'] && $v['filterType'] && $v['filterOp']) { if($v['filterName'] != '' && $v['filterType'] != '' && $v['filterOp'] != '') { if($filters) { $filters .= ",".$v[1].":".$v['filterName'].":".$v['filterType']; $filtersSQL .= " and ".$v[1]." ".$v['filterOp']." [".$v['filterName'].":".$v[1]."]"; } else { $filters = $v[1].":".$v['filterName'].":".$v['filterType']; $filtersSQL = $v[1]." ".$v['filterOp']." [".$v['filterName'].":".$v[1]."]"; } } } //**************************************************************************************************************************** // END OF EDIT //**************************************************************************************************************************** if ($v['criteria']) { if ($where) $where .= " AND "; $where .= $tableField." = '".$v['criteria']."'"; } if ($v['or']) { if ($where) $where .= " AND "; $where .= $tableField." ".$v['or'].""; } if ($v['show'] || $v['hidden']) { #if ($column) $column .= ", "; #$column .= $xtableField; $arrColumn[$xtableField] = 1; } else { $notShow[$xtableField] = 1; } if ($v['hidden']) { $arrHidden[$xtableField] = 1; } if ($v['sort'] && $v[1] !== '*') { $order = "ASC"; if ($v['sort'] === 'Descending') $order = "DESC"; if ($orderby) $orderby .= ","; $orderby .= $tableField." ".$order; } if ($v['total']) { if ($v['total'] === 'Group By') { #if ($group) $group .= ","; #$group .= $tableField; } else if ($v['show']) { #if ($column) $column .= ","; #$column .= strtoupper($v['total'])."(".$tableField.")"; if ($groupby2) $groupby2 .= ","; $groupby2 .= strtoupper($v['total']).'.'.$xtableField; } } if ($v['group']) { $groupby1 = $xtableField.':'; $orderby = $xtableField; } } $groupby = ''; if ($groupby1) $groupby = $groupby1.$groupby2.";"; $countTable = count($arrTable); if ($countTable > 1) { $arrRelation = array(); foreach ($_SESSION['selectedRelation'] as $k => $v) { $left = $v[0]; $join = $v[1]; $right = $v[2]; list($leftTable, $leftField) = explode(".", $left); list($rightTable, $rightField) = explode(".", $right); $arrRelation[$leftTable][$join][$rightTable][] = array($v[0],$v[2]); } foreach ($arrRelation as $leftTable => $v) { foreach ($v as $join => $v2) { foreach ($v2 as $rightTable => $v3) { if ($table) $table .= $join." ".$rightTable; else $table .= $leftTable." ".$join." ".$rightTable; $table .= " ON ("; $using = ''; foreach ($v3 as $k4 => $v4) { if ($using) $using .= " AND "; $using .= $v4[0]." = ".$v4[1]; } $table .= $using.")"; } } } } if ($table === '') { foreach ($arrTable as $k => $v) { if ($table) $table .= ", "; $table .= $k; } } $metaPK = $adodb->MetaPrimaryKeys($table); foreach ($metaPK as $k => $v) { if (!array_key_exists($v, $arrColumn)) { $arrColumn[$v] = 1; $arrHidden[$v] = 1; } } $column = implode(", ", array_keys($arrColumn)); $sql = "SELECT ".$column."\n". "FROM ".$table."\n"; if ($where) $sql .= "WHERE ".$where."\n"; //if ($group) $sql .= "GROUP BY ".$group."\n"; if ($group) $sql .= "ORDER BY ".$group."\n"; if ($orderby) $sql .= "ORDER BY ".$orderby; $generateSQL = nl2br($sql); $sql = addslashes($sql); $sql = str_replace("\n", "\\n", $sql); $metaColumns = $adodb->MetaColumns($table); $arrCols = $arrCols2 = $arrCols3 = array(); foreach ($metaColumns as $k => $v) { if ($v->primary_key === true) { $arrCols3[] = $v->name." = [".$v->name."]"; } else { if ($notShow[$v->name]) continue; $arrCols2[] = $v->name." = [".$v->name."]"; } $arrCols[] = $v->name; } $onInsert = "INSERT INTO ".$table." (".implode(", ", $arrCols).") ". " VALUES ( [".implode("], [", $arrCols)."] ); "; $onInsert = addslashes($onInsert); $onInsert = str_replace("\n", "\\n", $onInsert); $onUpdate = "UPDATE ".$table." SET ".implode(", ", $arrCols2). " WHERE ".implode(" AND ", $arrCols3).";"; $onUpdate = addslashes($onUpdate); $onUpdate = str_replace("\n", "\\n", $onUpdate); $onDelete = "DELETE FROM ".$table." ". " WHERE ".implode(" AND ", $arrCols3).";"; $onDelete = addslashes($onDelete); $onDelete = str_replace("\n", "\\n", $onDelete); $isDelete = "SELECT * FROM ".$table."_crc". " WHERE ".implode(" AND ", $arrCols3).";"; $isDelete = addslashes($isDelete); $isDelete = str_replace("\n", "\\n", $isDelete); $readonly = ''; $rs = $adodb->Execute("SELECT qb_config_odbc.serialize FROM qb_config ". " LEFT JOIN qb_config_odbc USING (id) ". " WHERE qb_config.tableid = ? ", array($table)); if (!$rs->EOF) { $odbcCol = unserialize($rs->fields['serialize']); if (!is_array($odbcCol)) $odbcCol = array(); #$readonly = implode(", ", $odbcCol); foreach ($odbcCol as $k => $v) { if ($notShow[$v]) continue; if ($readonly) $readonly .= ", "; $readonly .= $v; } } print $filters; print $filtersSQL; if(!isset($filters)) $filters = ''; if(!isset($filtersSQL)) $filtersSQL = ''; $hiddenStr = implode(",", array_keys($arrHidden)); $pkey = implode(",", $metaPK); echo ""; } /* echo ""; $i = 0; foreach ($_SESSION['selectedTable'] as $k => $v) { $tableId = $v; $metaColumns = $adodb->MetaColumns($tableId); $sizeColumns = count($metaColumns)+1; if ($sizeColumns>10) $sizeColumns = 10; $thStyle = "style='white-space: nowrap; background-color:#0055f6;color:white'"; #$selectStyle = "style='width:100%'"; $selectJs = "ondblclick='addcolumn(\"".$tableId."\", this)'"; $selectSize = "size=".$sizeColumns; $buttonStyle = "style='background-color:#E64C20;color:white'"; $buttonJs = "onClick='deletetable(\"".$k."\")'"; echo ""; $i++; } echo ""; */ ?>
"; echo "". ""; echo ""; echo "
".$tableId." ". "
"; echo ""; echo "
"; echo "
'> $v) { if (!isset($countTable[$v[0]])) $countTable[$v[0]] = 1; } $countSelectedTable = count($countTable); ?> '(not sorted)'); $arrTotal = array ('', 'Count', /*'Group By',*/ 'Sum', 'Avg', 'Min', 'Max'); $arrFilterType = array ('', 'Text', 'Date', 'Select', 'Radio'); $arrFilterOp = array ('', '=', '<', '<=', '>', '>='); //, 'StDev', 'Var', 'First', 'Last', 'Expression', 'Where'); if (count($_SESSION['selectedColumn'])) { echo ""; foreach ($arrTd as $k => $v) { $tdText = ''; if ($v === 'or') $v = 'Criteria'; if ($v) $tdText = __($v).""; if ($v === 'Table' || $v === '') { } else { echo ""; } $i = 0; foreach ($_SESSION['selectedColumn'] as $k2 => $v2) { if ($v === 'Table' || $v === '') { } else { echo ""; } foreach ($arrTd as $k => $v) { if ($v === 'Field') { echo ""; } else if ($v === 'Table') { echo ""; } else if ($v === 'Group') { #if (!isset($_SESSION['selectedColumn'][$k2]['group'])) { # $_SESSION['selectedColumn'][$k2]['group'] = '0'; #} $checked = ''; if ($_SESSION['selectedColumn'][$k2]['group']) $checked = 'checked'; echo ""; } else if ($v === 'Show') { if (!isset($_SESSION['selectedColumn'][$k2]['show'])) { $_SESSION['selectedColumn'][$k2]['show'] = '1'; } $checked = ''; if ($_SESSION['selectedColumn'][$k2]['show']) $checked = 'checked'; echo ""; } else if ($v === 'Hidden') { if (!isset($_SESSION['selectedColumn'][$k2]['hidden'])) { $_SESSION['selectedColumn'][$k2]['hidden'] = '0'; } $checked = ''; if ($_SESSION['selectedColumn'][$k2]['hidden']) $checked = 'checked'; if (! $_SESSION['selectedColumn'][$k2]['show'] && is_array($metaPK) && is_int(array_search($k2, $metaPK))) { $checked = 'checked'; } echo ""; } else if ($v === '') { #$buttonStyle = "style='background-color:#E64C20;color:white'"; #$buttonJs = "onClick='deletecolumn(\"".$k2."\")'"; #echo ""; } else if ($v === 'Sort') { /* if (!isset($_SESSION['selectedColumn'][$k2]['sort'])) { $_SESSION['selectedColumn'][$k2]['sort'] = ''; } #$selectStyle = "style='width:100%'"; echo ""; */ } else if ($v === 'Total') { if (!isset($_SESSION['selectedColumn'][$k2]['total'])) { $_SESSION['selectedColumn'][$k2]['total'] = ''; } #$selectStyle = "style='width:100%'"; echo ""; } else if ($v === 'Filter-Name') { $textValue = "value='".$_SESSION['selectedColumn'][$k2]['filterName']."'"; $textStyle = "style='width:100%'"; echo ""; } else if ($v === 'Filter-Type') { if (!isset($_SESSION['selectedColumn'][$k2]['filterType'])) { $_SESSION['selectedColumn'][$k2]['filterType'] = ''; } #$selectStyle = "style='width:100%'"; echo ""; } else if ($v === 'Filter-Operation') { if (!isset($_SESSION['selectedColumn'][$k2]['filterOp'])) { $_SESSION['selectedColumn'][$k2]['filterOp'] = ''; } #$selectStyle = "style='width:100%'"; echo ""; } else if ($v === 'Criteria') { $textValue = "value='".$_SESSION['selectedColumn'][$k2]['criteria']."'"; $textStyle = "style='width:100%'"; echo ""; } else if ($v === 'or') { $textValue = "value=\"".htmlspecialchars($v2['or'])."\""; $textStyle = "style='width:99%'"; echo ""; } } if ($v === 'Table' || $v === '') { } else { echo ""; } $i++; } $record = array(); $record['serialize'] = serialize(array( 'selectedTable' => $_SESSION['selectedTable'], 'selectedColumn' => $_SESSION['selectedColumn'], 'selectedRelation' => $_SESSION['selectedRelation'] )); $rs = $adodb->Execute("SELECT * FROM qb_report ". " WHERE id = ? ", array($_SESSION['selectedReport'])); $updateSQL = $adodb->GetUpdateSQL($rs, $record); if ($updateSQL) $adodb->Execute($updateSQL); $record['serialize'] = str_replace("\n", "\\n", $record['serialize']); echo ""; ?>
".$tdText." "; } if ($v === 'Group') { echo "
".__("Off"); } } echo "
MetaColumns($v2[0]); $starObj->name = '*'; $metaStar = array('star' => $starObj); $issetTable[$v2[0]] = array_merge($metaStar, $metaColumns); } $metaColumns = $issetTable[$v2[0]]; foreach ($metaColumns as $k3 => $v3) { $optionVal = $v2[0].".".$v3->name; $optionText = $v3->name; $selected = ''; if ($v2[1] === $v3->name) { $selected = 'selected'; echo " value='".$optionVal."'>".$optionText; } } echo " # #
' onClick=generatesql(this.form)> ' onClick="self.close()">
' onClick=savedesign(this.form)> #if ($generateSQL) echo $generateSQL; ?>