ORA_FunctionCall("rep_general.get_param_name('$param[0]')"); $paramList .= "- ".$paramtitle."=".$param[1]."
"; } } return $paramList; } function build_tanggal($tgl) { $hari = substr($tgl,8,2); $bulan = substr($tgl,5,2); $tahun = substr($tgl,0,4); $tgl_fmt = $hari.'-'.$bulan.'-'.$tahun; return $tgl_fmt; } function initArchive(){ $arcTemplate['ARCHIVE'] = <<< params
Archive
<>
NO NAMA LAPORAN NO LAPORAN TANGGAL ORDER
PERTAMA
PARAMETER LAPORAN
params; $arcTemplate['LIST'] = <<< params <> <> <> <>
<> <> params; $_SESSION['ARC_ARRAY_ADDR'] = &$arcTemplate; } function getArchiveData(&$ora_obj, $rep_id) { $templObj = new PregReplaceCallbackClass(''); $templObj->SetTemplateArray('ARC_ARRAY_ADDR'); $sql = <<< sql SELECT a.n_resultkey, a.rep_param, a.rep_name, TO_CHAR(a.date_created,'DD Month YYYY','NLS_DATE_LANGUAGE=INDONESIAN') as TGL_CETAK, TO_CHAR(a.date_created,'HH24:MI:SS') as WAKTU_CETAK FROM rep_archive a WHERE a.kd_user = '{$_SESSION["KD_USER"]}' AND a.rep_id = '{$rep_id}' ORDER BY a.n_resultkey DESC sql; $MultiDArray = $ora_obj->ORA_SelectData($sql,null,null,OCI_FETCHSTATEMENT_BY_ROW); if ($ora_obj->nrows>0) { foreach ($MultiDArray as $pkey => $pval) { $variable_array['COUNTER']++; foreach ($pval as $rkey => $rval) { $variable_array[$rkey] = $rval; } $paramList = explode_param($ora_obj, $variable_array["REP_PARAM"]); $_SESSION['ARRAY_ADDR_VAR'] = &$variable_array; $variable_array['PARAM_REPORT'] = $paramList; $templObj->SetFormatName('LIST'); $list .= $templObj->PregReplaceCallback(); } $variable_array['ARCHIVE_LIST'] = $list; $templObj->SetFormatName('ARCHIVE'); $result = $templObj->PregReplaceCallback(); } return $result; } function get_archive(&$ora_obj, $rep_id) { initArchive(); $result = getArchiveData($ora_obj, $rep_id); return $result; } function generateXLSFile(&$ora_obj, $mode, $rep_id) { require_once "class/excel.php"; $xlsFile = "{$_SERVER['DOCUMENT_ROOT']}/xls/{$mode}_{$rep_id}.xls"; if ( ! file_exists($xlsFile)) { $sql = <<< sql SELECT a.rep_header, i.rep_content, i.n_rowno, a.rep_name FROM rep_info i, rep_archive a WHERE i.kd_user = a.kd_user AND i.n_resultkey = a.n_resultkey AND i.kd_user = '{$_SESSION["KD_USER"]}' AND i.n_resultkey = {$rep_id} ORDER BY i.n_rowno sql; $MultiDArray = $ora_obj->ORA_SelectData($sql,null,null,OCI_FETCHSTATEMENT_BY_ROW); if ($ora_obj->nrows >0) { foreach($MultiDArray as $key => $val){ $MultiDArray[$key]['REP_CONTENT'] = str_replace(array('&'),'&',$MultiDArray[$key]['REP_CONTENT']); $xml[$key] = $MultiDArray[$key]['REP_CONTENT']; $header = $MultiDArray[$key]['REP_HEADER']; $repName = $MultiDArray[$key]['REP_NAME']; } foreach ($xml as $xkey => $xval) { $xml_obj = simplexml_load_string($xml[$xkey]); foreach ($xml_obj as $xml_obj_array){ $name = $xml_obj_array->getName(); if (is_null($counter[$name])){ $counter[$name] = 0; } $xml_result[$name][$counter[$name]] = $xml_obj_array; $counter[$name]++; } } $XLS_STREAM_ARRAY[] = array('0'=>$repName); $XLS_STREAM_ARRAY[] = array('0'=>""); $repHead = explode('^', $header); $count = count($repHead); for ($i=0;$i<=$count-2;$i++) { $xlsHeader .= $repHead[$i]."\t"; } $xlsHeader = substr($xlsHeader,0,strlen($xlsHeader)-1); $tempxlsHeader = split("\t",$xlsHeader); $XLS_STREAM_ARRAY[] = $tempxlsHeader; foreach ($xml_result as $key => $val) { $field = $key; unset($element); foreach ($val as $p_key => $p_val) { unset($item_rep); foreach ($p_val as $q_key => $q_val) { $q_key = trim($q_key); $variable_array[$q_key] = str_replace(array("\r\n","\n","\r"),'
',htmlspecialchars_decode($p_val->$q_key)); $xlsElement .= $variable_array[$q_key]."\t"; } $xlsElement = substr($xlsElement,0,strlen($xlsElement)-1); $tempxlsElement = split("\t",$xlsElement); $XLS_STREAM_ARRAY[] = $tempxlsElement; $xlsElement = ''; } } $export_file = "xlsfile:/{$xlsFile}"; $fp = fopen($export_file, "wb"); if (!is_resource($fp)) { die("Cannot open $export_file"); } fwrite($fp, serialize($XLS_STREAM_ARRAY)); fclose($fp); } } } ?>