ORA_PConnect(); if (!$ora_res){ echo "
Error : " . htmlspecialchars($ora_obj->last_error_msg) . "
"; exit(); } initParamTemplate(); $result = print_report($ora_obj); echo $result; unset($_SESSION['TEMPLATE_ARRAY_ADDR']); if ($ora_obj->conn) { $ora_obj->ORA_Close(); #echo "connection closed.
"; } function initParamTemplate() { $paramTemplate['CONTAINER'] = <<< params
AUDIT TRAIL
PERIODE: <> s/d <>
<>
No. Tanggal
Audit
Kode User
IP Address
PageName Aktifitas Nilai Lama Nilai Baru
     <> dari <>     
-- End of Report --
params; $paramTemplate['REPORT_CONTENT'] = <<< params >>> GROUP DATA: <> <> <>
<> <>
<> <> <> <> <> params; $paramTemplate['NO_REPORT_CONTENT'] = <<< params NO DATA FOUND params; $_SESSION['TEMPLATE_ARRAY_ADDR'] = &$paramTemplate; } function print_report(&$ora_obj) { $templObj = new PregReplaceCallbackClass(''); $templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR'); $field = explode('^', $_REQUEST["param"]); $num_field = count($field); for ($i=0;$i<$num_field-1;$i++) { $val_sep = '*'; list($field_name, $field_value) = split("[$val_sep]", $field[$i]); $param["$field_name"] = $field_value; } $tgl_awal = $param["TGL_AWAL"]; $tgl_akhir = $param["TGL_AKHIR"]; if ($param['GROUP'] == 'ALL') { $group_where = " group_data LIKE '%'"; } else { $group_where = " group_data = '".$param['GROUP']."'"; } if (strlen($param['ACTIVITY']) > 0) { $akt_where = "AND activity like '%".$param['ACTIVITY']."%'"; } $date_period = " TRUNC(tglaudit) BETWEEN to_date('$tgl_awal', 'DD-MM-YYYY') AND to_date('$tgl_akhir', 'DD-MM-YYYY') "; $max_rows = $param['NUM_ROWS'] * $_REQUEST["page"]; $min_rows = ($max_rows+1) - $param['NUM_ROWS']; $audit_sql = <<< sql SELECT * FROM ( SELECT a.*, ROWNUM row_num FROM ( SELECT to_char(a.tglaudit, 'DD-MM-YYYY') tglaudit, to_char(a.tglaudit, 'HH24:MI:SS') jamaudit, a.kd_user, a.pagename, a.ipnum, a.activity, a.oldvalue, a.newvalue, p.keterangan group_name, a.group_data, ROW_NUMBER() OVER (PARTITION BY a.group_data ORDER BY a.group_data, a.nourut desc) AS group_num, COUNT(1) OVER() AS row_count FROM audittrail a, Auditparam p WHERE $group_where AND $date_period $akt_where AND a.group_data = p.param_id ) a ) WHERE row_num BETWEEN $min_rows AND $max_rows sql; $result_array = $ora_obj->ORA_SelectData($audit_sql,null,null,OCI_FETCHSTATEMENT_BY_ROW); if ($ora_obj->nrows > 0) { $group_data = 'GYUJJM'; foreach ($result_array as $pkey => $pval) { foreach ($pval as $rkey => $rval) { $variable_array[$rkey] = $rval; } $search = array("*", "^"); $replace = array("=", "
"); $oldvalue = ' '; if (strlen($variable_array['OLDVALUE']) > 0) { $oldvalue = str_replace($search, $replace, $variable_array['OLDVALUE']); } $newvalue = ' '; if (strlen($variable_array['NEWVALUE']) > 0) { $newvalue = str_replace($search, $replace, $variable_array['NEWVALUE']); } $variable_array['OLDVALUE_FRM'] = $oldvalue; $variable_array['NEWVALUE_FRM'] = $newvalue; $jum_page = ceil($variable_array['ROW_COUNT']/$param['NUM_ROWS']); $variable_array['DISABLE_FIRST'] = ''; $variable_array['DISABLE_PREV'] = ''; $variable_array['DISABLE_NEXT'] = ''; $variable_array['DISABLE_LAST'] = ''; $variable_array['SHOW_END'] = 'none'; $variable_array['TR_DISP'] = 'none'; if ($variable_array['GROUP_DATA'] !== $group_data) { $variable_array['TR_DISP'] = 'block'; } if ($_REQUEST["page"] == $jum_page) { $variable_array['DISABLE_NEXT'] = 'disabled'; $variable_array['DISABLE_LAST'] = 'disabled'; $variable_array['SHOW_END'] = 'block'; } if ($_REQUEST["page"] == '1') { $variable_array['DISABLE_FIRST'] = 'disabled'; $variable_array['DISABLE_PREV'] = 'disabled'; } $group_data = $variable_array['GROUP_DATA']; $variable_array['HALAMAN'] = $_REQUEST["page"]; $variable_array['JUM_PAGE'] = $jum_page; $_SESSION['ARRAY_ADDR_VAR'] = &$variable_array; $templObj->SetFormatName('REPORT_CONTENT'); $list .= $templObj->PregReplaceCallback(); } } else { $_SESSION['ARRAY_ADDR_VAR'] = &$variable_array; $templObj->SetFormatName('NO_REPORT_CONTENT'); $list = $templObj->PregReplaceCallback(); } $_SESSION['ARRAY_ADDR_VAR'] = &$variable_array; $variable_array['LIST_REPORT'] = $list; $variable_array['TGL_AWAL'] = $tgl_awal; $variable_array['TGL_AKHIR'] = $tgl_akhir; $variable_array['JUM_PAGE'] = $jum_page; $templObj->SetFormatName('CONTAINER'); $content = $templObj->PregReplaceCallback(); return $content; } ?>