function ReadPostData($ReportID, $Prefs) { global $db; // check for page setup form entry to look at check boxes and save as new defaults, return if (isset($_POST['PageForm'])) { $success = SavePrefs($ReportID); // values saved, read them back in to update $Prefs array $sql = "SELECT *\tFROM " . DBReports . " WHERE id = '" . $ReportID . "'"; $Result = DB_query($sql, $db, '', '', false, true); $myrow = DB_fetch_assoc($Result); foreach ($myrow as $key => $value) { $Prefs[$key] = $value; } return $Prefs; } // Since we are not at the page setup form, we read from the filter form, fetch user selections $Prefs['DateListings']['params'] = $_POST['DefDate']; if ($_POST['DefDate'] == 'b') { // then it's a range selection, save dates, else discard $Prefs['DateListings']['params'] .= ':' . $_POST['DefDateFrom'] . ':' . $_POST['DefDateTo']; } $Prefs['defgroup'] = $_POST['DefGroup']; $Prefs['defsort'] = $_POST['DefSort']; $Prefs['TruncListings']['params'] = $_POST['DefTrunc']; if (!$Prefs['defaultreport']) { // Then save the filter settings because it's a custom report and we save them $success = SaveFilters($ReportID, 'dateselect', $Prefs['DateListings']['params']); $success = SaveFilters($ReportID, 'trunclong', $Prefs['TruncListings']['params']); if (isset($Prefs['defgroup'])) { $success = SaveDefSettings($ReportID, 'grouplist', $Prefs['defgroup']); } if (isset($Prefs['defsort'])) { $success = SaveDefSettings($ReportID, 'sortlist', $Prefs['defsort']); } } // update Prefs with current user selections if (isset($Prefs['defgroup'])) { // First clear all defaults and reset the user's choice for ($i = 0; $i < count($Prefs['GroupListings']); $i++) { $Prefs['GroupListings'][$i]['params'] = 0; } if ($Prefs['defgroup'] != 0) { $Prefs['GroupListings'][$Prefs['defgroup'] - 1]['params'] = '1'; } } if (isset($Prefs['defsort'])) { // First clear all defaults and reset the user's choice for ($i = 0; $i < count($Prefs['SortListings']); $i++) { $Prefs['SortListings'][$i]['params'] = 0; } if ($Prefs['defsort'] != 0) { $Prefs['SortListings'][$Prefs['defsort'] - 1]['params'] = '1'; } } // Criteria Field Selection $i = 1; while (isset($_POST['defcritsel' . $i])) { // then there is at least one criteria // Build the criteria default string $Prefs['CritListings'][$i - 1]['params'] = mb_substr($Prefs['CritListings'][$i - 1]['params'], 0, 1); $Prefs['CritListings'][$i - 1]['params'] .= ':' . $_POST['defcritsel' . $i]; $Prefs['CritListings'][$i - 1]['params'] .= ':' . $_POST['fromvalue' . $i]; if ($_POST['tovalue' . $i] == '') { $_POST['tovalue' . $i] = $_POST['fromvalue' . $i]; } $Prefs['CritListings'][$i - 1]['params'] .= ':' . $_POST['tovalue' . $i]; if (!$Prefs['defaultreport']) { // save it since it's a custom report $sql = "UPDATE " . DBRptFields . " SET params='" . $Prefs['CritListings'][$i - 1]['params'] . "'\n\t\t\t\tWHERE reportid ='" . $ReportID . "' AND entrytype='critlist' AND seqnum='" . $i . "'"; $Result = DB_query($sql, $db, '', '', false, true); } $i++; } // If it's a default report, we're done, return if ($Prefs['defaultreport']) { return $Prefs; } // Read in the display field form selections $i = 1; while (isset($_POST['DataField' . $i])) { // read in the field choices if ($_POST['show' . $i] == '1') { $Prefs['FieldListings'][$i - 1]['visible'] = '1'; } else { $Prefs['FieldListings'][$i - 1]['visible'] = '0'; } if ($_POST['break' . $i] == '1') { $Prefs['FieldListings'][$i - 1]['columnbreak'] = '1'; } else { $Prefs['FieldListings'][$i - 1]['columnbreak'] = '0'; } $sql = "UPDATE " . DBRptFields . " SET\n\t\t\t\tvisible='" . $Prefs['FieldListings'][$i - 1]['visible'] . "',\n\t\t\t\tcolumnbreak='" . $Prefs['FieldListings'][$i - 1]['columnbreak'] . "'\n\t\t\tWHERE reportid ='" . $ReportID . "' AND entrytype='fieldlist' AND seqnum='" . $i . "'"; $Result = DB_query($sql, $db, '', '', false, true); $i++; } return $Prefs; }
function ReadPostData($ReportID, $Prefs, $Overrides, $action = '') { global $db, $messageStack; //echo 'Prefs = '; print_r($Prefs); echo '<br />'; // look at check boxes and convert to boolean $Overrides['coynameshow'] = isset($Overrides['coynameshow']) ? '1' : '0'; $Overrides['title1show'] = isset($Overrides['title1show']) ? '1' : '0'; $Overrides['title2show'] = isset($Overrides['title2show']) ? '1' : '0'; $Overrides['grpbreak'] = isset($Overrides['grpbreak']) ? '1' : '0'; // Some special cases $Prefs['trunclong'] = $Overrides['deftrunc']; // map the Override field listings to the pre-defined format $temp = array(); $tempEntry = array(); for ($i = 0; $i < sizeof($Prefs['FieldListings']); $i++) { for ($j = 0; $j < sizeof($Prefs['FieldListings']); $j++) { if ($Prefs['FieldListings'][$i]['id'] == $Overrides['id_' . $j]) { $tempEntry = $Prefs['FieldListings'][$i]; $tempEntry['seqnum'] = $Overrides['seq_' . $j]; $tempEntry['visible'] = $Overrides['show_' . $j] == '1' ? '1' : '0'; $tempEntry['columnbreak'] = $Overrides['break_' . $j] == '1' ? '1' : '0'; $tempEntry['params']['columnwidth'] = $Overrides['width_' . $j]; unset($Overrides['seq_' . $j], $Overrides['show_' . $j], $Overrides['break_' . $j], $Overrides['width_' . $j]); if ($action == 'save' && !$Prefs['standard_report']) { // If it's a default report, don't write the changes just acknowledge them for display $db->Execute("update " . TABLE_REPORT_FIELDS . " set \r\n\t\t\t\t\t\t\tseqnum = '" . $tempEntry['seqnum'] . "',\r\n\t\t\t\t\t\t\tvisible = '" . $tempEntry['visible'] . "',\r\n\t\t\t\t\t\t\tcolumnbreak = '" . $tempEntry['columnbreak'] . "',\r\n\t\t\t\t\t\t\tparams = '" . serialize($tempEntry['params']) . "'\r\n\t\t\t\t\t\twhere id = " . $tempEntry['id']); } $temp[$tempEntry['seqnum']] = $tempEntry; } } } // re-sort the fields listings ksort($temp); $Prefs['FieldListings'] = array(); $Prefs['FieldListings'] = $temp; // Overrride the default preferences with the remaining fields $Prefs = array_merge($Prefs, $Overrides); //echo 'Prefs = '; print_r($Prefs); echo '<br />'; exit(); // read from the filter form, fetch user selections if (isset($Overrides['period'])) { // choose by period field instead of date $Prefs['datedefault'] = 'z:' . $Overrides['period']; } else { $Prefs['datedefault'] = $Overrides['defdate']; if ($Overrides['defdate'] == 'b') { // then it's a range selection, save dates, else discard $Prefs['datedefault'] .= ':' . $Overrides['DefDateFrom'] . ':' . $Overrides['DefDateTo']; } } // update Prefs with current user selections if (isset($Prefs['defgroup'])) { // First clear all defaults and reset the user's choice for ($i = 0; $i < count($Prefs['GroupListings']); $i++) { $Prefs['GroupListings'][$i]['params']['default'] = 0; } if ($Prefs['defgroup'] != 0) { $Prefs['GroupListings'][$Prefs['defgroup'] - 1]['params']['default'] = '1'; } } if (isset($Prefs['defsort'])) { // First clear all defaults and reset the user's choice for ($i = 0; $i < count($Prefs['SortListings']); $i++) { $Prefs['SortListings'][$i]['params']['default'] = 0; } if ($Prefs['defsort'] != 0) { $Prefs['SortListings'][$Prefs['defsort'] - 1]['params']['default'] = '1'; } } // Criteria Field Selection $i = 1; while (isset($Overrides['defcritsel' . $i])) { // then there is at least one criteria // Build the criteria default string $Prefs['CritListings'][$i - 1]['params']['default'] = $Overrides['defcritsel' . $i]; $Prefs['CritListings'][$i - 1]['params']['min_val'] = $Overrides['fromvalue' . $i]; $Prefs['CritListings'][$i - 1]['params']['max_val'] = $Overrides['tovalue' . $i]; if ($action == 'save' && !$Prefs['standard_report']) { // save it since it's a custom report $sql = "update " . TABLE_REPORT_FIELDS . " \r\n\t\t\t\tset params = '" . serialize($Prefs['CritListings'][$i - 1]['params']) . "' \r\n\t\t\t\twhere reportid = " . $ReportID . " and entrytype = 'critlist' and seqnum = " . $i; $result = $db->Execute($sql); } $i++; } if ($action == 'save' && !$Prefs['standard_report']) { // Update the main report record $data_array['papersize'] = $Prefs['papersize']; $data_array['paperorientation'] = $Prefs['paperorientation']; $data_array['margintop'] = $Prefs['margintop']; $data_array['marginbottom'] = $Prefs['marginbottom']; $data_array['marginleft'] = $Prefs['marginleft']; $data_array['marginright'] = $Prefs['marginright']; $data_array['coynamefont'] = $Prefs['coynamefont']; $data_array['coynamefontsize'] = $Prefs['coynamefontsize']; $data_array['coynamefontcolor'] = $Prefs['coynamefontcolor']; $data_array['coynamealign'] = $Prefs['coynamealign']; $data_array['coynameshow'] = $Prefs['coynameshow']; $data_array['title1desc'] = addslashes($Prefs['title1desc']); $data_array['title1font'] = $Prefs['title1font']; $data_array['title1fontsize'] = $Prefs['title1fontsize']; $data_array['title1fontcolor'] = $Prefs['title1fontcolor']; $data_array['title1fontalign'] = $Prefs['title1fontalign']; $data_array['title1show'] = $Prefs['title1show']; $data_array['title2desc'] = addslashes($Prefs['title2desc']); $data_array['title2font'] = $Prefs['title2font']; $data_array['title2fontsize'] = $Prefs['title2fontsize']; $data_array['title2fontcolor'] = $Prefs['title2fontcolor']; $data_array['title2fontalign'] = $Prefs['title2fontalign']; $data_array['title2show'] = $Prefs['title2show']; $data_array['filterfont'] = $Prefs['filterfont']; $data_array['filterfontsize'] = $Prefs['filterfontsize']; $data_array['filterfontcolor'] = $Prefs['filterfontcolor']; $data_array['filterfontalign'] = $Prefs['filterfontalign']; $data_array['datafont'] = $Prefs['datafont']; $data_array['datafontsize'] = $Prefs['datafontsize']; $data_array['datafontcolor'] = $Prefs['datafontcolor']; $data_array['datafontalign'] = $Prefs['datafontalign']; $data_array['totalsfont'] = $Prefs['totalsfont']; $data_array['totalsfontsize'] = $Prefs['totalsfontsize']; $data_array['totalsfontcolor'] = $Prefs['totalsfontcolor']; $data_array['totalsfontalign'] = $Prefs['totalsfontalign']; $data_array['trunclong'] = $Prefs['trunclong']; $data_array['datedefault'] = $Prefs['datedefault']; $sql = "update " . TABLE_REPORT_FIELDS . " set params = '" . serialize($data_array) . "'\r\n\t\t\twhere reportid = " . $ReportID . " and entrytype = 'pagelist'"; $result = $db->Execute($sql); // update the criteria and fields if (isset($Prefs['defgroup'])) { SaveDefSettings($ReportID, 'grouplist', $Prefs['defgroup']); } if (isset($Prefs['defsort'])) { SaveDefSettings($ReportID, 'sortlist', $Prefs['defsort']); } } elseif ($action == 'save') { $messageStack->add(RW_RPT_CANNOT_EDIT, 'caution'); } return $Prefs; }