dwh/external_table_ajax.php

230 lines
8.9 KiB
PHP
Raw Permalink Normal View History

2023-10-02 10:26:17 +00:00
<?php
$PARENT_SCRIPTNAME='external_table.php';
include_once 'script_auth.php';
include_once 'class/PregReplaceCallbackClass.php';
include_once 'init/initialisation_parameter.php';
include_once 'headerFile.php';
include_once 'incl.php';
header("Cache-Control: no-cache, must-revalidate");
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
include_once 'class/ORAConnectionClass.php';
$ora_obj = new ORAConnectionClass('init/ORA_INIT.php');
$ora_res = $ora_obj->ORA_PConnect();
if (!$ora_res){
echo "<BR>Error : " . htmlspecialchars($ora_obj->last_error_msg) . "<br>";
exit();
}
initAjaxParamTemplate($_REQUEST['action']);
if ($_REQUEST['action'] == "getData") {
$result = getData($ora_obj);
} elseif ($_REQUEST['action'] == "newData") {
$result = newData($ora_obj);
} else {
$result = -1;
}
echo $result;
unset($_SESSION['TEMPLATE_ARRAY_ADDR']);
if ($ora_obj->conn) {
$ora_obj->ORA_Close();
#echo "connection closed.<br>";
}
function initAjaxParamTemplate($action) {
if ($action == "getData") {
$ajaxParamTemplate['TABLEDATA'] = <<< params
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto" class="font11">
<tr>
<td colspan=3><span id="ERR_MSG" style="font: italic; color: #FF0000"><<ERR_MSG>></span></td>
</tr>
<tr>
<td nowrap>Nama Table</td>
<td>:</td>
<td><input type="text" name="TAB_NAME" note="Nama Table" dbname="TAB_NAME" ATTRIB="SM" value="<<TAB_NAME>>" readonly class="font11"></td>
</tr>
<tr>
<td nowrap>Modul</td>
<td>:</td>
<td>
<SELECT NAME="MODUL" class="font11" dbname="MODUL" ATTRIB="SM" note="Modul" onchange="javascript:chgAttr(DATAFORM.saveData)">
<<OPTION_MODUL>>
</SELECT>
</td>
</tr>
<tr>
<td nowrap>Methode Posting</td>
<td>:</td>
<td>
<SELECT NAME="METHOD" class="font11" dbname="METHOD" ATTRIB="SM" note="Tipe Data Purging" onchange="javascript:chgAttr(DATAFORM.saveData)">
<<OPTION_METHOD>>
</SELECT>
</td>
</tr>
<tr>
<td nowrap>Proses Purging</td>
<td>:</td>
<td>
<SELECT NAME="PURGING_TYPE" class="font11" dbname="PURGING_TYPE" ATTRIB="SM" note="Proses Purging" onkeyup="javascript:chgAttr(DATAFORM.saveData)">
<<OPTION_PURGING_TYPE>>
</SELECT>
</td>
</tr>
<tr>
<td nowrap>Field untuk Purging</td>
<td>:</td>
<td><input type="text" name="PURGING_FIELD" value="<<PURGING_FIELD>>" dbname="PURGING_FIELD" ATTRIB="SM" onchange="javascript:chgAttr(DATAFORM.saveData)"></td>
</tr>
<tr>
<td nowrap>Tipe Data Field untuk Purging</td>
<td>:</td>
<td>
<SELECT NAME="PURGING_DATA_TYPE" class="font11" dbname="PURGING_DATA_TYPE" ATTRIB="SM" note="Tipe Data Purging" onchange="javascript:chgAttr(DATAFORM.saveData)">
<<OPTION_PURGING_DATA_TYPE>>
</SELECT>
</td>
</tr>
<tr>
<td colspan=3>
<<BUTTON_CONTAINER>>
</td>
</tr>
</table>
params;
} else {
$ajaxParamTemplate['TABLEDATA'] = <<< params
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto" class="font11">
<tr>
<td nowrap>Nama Table</td>
<td>:</td>
<td><input type="text" name="NEW_TAB_NAME" note="Nama Table" dbname="TAB_NAME" ATTRIB="SM" value="<<TAB_NAME>>" readonly class="font11" onkeyup='javascript:chgAttr(NEWDATAFORM.saveNewData)'></td>
</tr>
<tr>
<td nowrap>Modul</td>
<td>:</td>
<td>
<SELECT NAME="NEW_MODUL" class="font11" dbname="MODUL" ATTRIB="SM" note="Modul" onkeyup="javascript:chgAttr(NEWDATAFORM.saveNewData)">
<<OPTION_MODUL>>
</SELECT>
</td>
</tr>
<tr>
<td nowrap>Methode Posting</td>
<td>:</td>
<td>
<SELECT NAME="NEW_METHOD" class="font11" dbname="METHOD" ATTRIB="SM" note="Tipe Data Purging" onkeyup="javascript:chgAttr(NEWDATAFORM.saveNewData)">
<<OPTION_METHOD>>
</SELECT>
</td>
</tr>
<tr>
<td nowrap>Proses Purging</td>
<td>:</td>
<td>
<SELECT NAME="NEW_PURGING_TYPE" class="font11" dbname="PURGING_TYPE" ATTRIB="SM" note="Proses Purging" onkeyup="javascript:chgAttr(NEWDATAFORM.saveNewData)">
<<OPTION_PURGING_TYPE>>
</SELECT>
</td>
</tr>
<tr>
<td nowrap>Field untuk Purging</td>
<td>:</td>
<td><input type="text" name="NEW_PURGING_FIELD" value="<<PURGING_FIELD>>" dbname="PURGING_FIELD" ATTRIB="SM" onkeyup="javascript:chgAttr(NEWDATAFORM.saveNewData)"></td>
</tr>
<tr>
<td nowrap>Tipe Data Field untuk Purging</td>
<td>:</td>
<td>
<SELECT NAME="NEW_PURGING_DATA_TYPE" class="font11" dbname="PURGING_DATA_TYPE" ATTRIB="SM" note="Tipe Data Purging" onkeyup="javascript:chgAttr(NEWDATAFORM.saveNewData)">
<<OPTION_PURGING_DATA_TYPE>>
</SELECT>
</td>
</tr>
<tr>
<td colspan=3>
<<BUTTON_CONTAINER>>
</td>
</tr>
</table>
params;
}
$_SESSION['TEMPLATE_ARRAY_ADDR'] = &$ajaxParamTemplate;
}
function getData(&$ora_obj){
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$paramSQL = <<< sql
SELECT i.tab_name, i.purging_type, i.modul, i.purging_field,
i.purging_data_type, i.purging_filter, i.method
FROM external_data_tab i
WHERE i.tab_name = '{$_REQUEST['TAB_NAME']}'
ORDER BY i.tab_name
sql;
$paramArray = $ora_obj->ORA_SelectData($paramSQL,null,null,OCI_FETCHSTATEMENT_BY_ROW);
if ($ora_obj->nrows>0) {
$flagModul = Option_Modul();
$OPTION_MODUL = format_html_option($flagModul, $paramArray[0]['MODUL']);
$flagPurgingType = Option_Ya_Tidak();
$OPTION_PURGING_TYPE = format_html_option($flagPurgingType, $paramArray[0]['PURGING_TYPE']);
$flagDataType = Option_DataType();
$OPTION_PURGING_DATA_TYPE = format_html_option($flagDataType, $paramArray[0]['PURGING_DATA_TYPE']);
$flagMethod = Option_Method();
$OPTION_METHOD = format_html_option($flagMethod, $paramArray[0]['METHOD']);
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('TABLEDATA');
foreach ($paramArray as $pkey => $pval) {
foreach ($pval as $rkey => $rval) {
$variable_array[$rkey] = htmlspecialchars($rval);
}
$variable_array['BUTTON_CONTAINER'] = create_button('0');
$variable_array['READ_ONLY'] = '';
$variable_array['OPTION_MODUL'] = $OPTION_MODUL;
$variable_array['OPTION_METHOD'] = $OPTION_METHOD;
$variable_array['OPTION_PURGING_TYPE'] = $OPTION_PURGING_TYPE;
$variable_array['OPTION_PURGING_DATA_TYPE'] = $OPTION_PURGING_DATA_TYPE;
$result .= $templObj->PregReplaceCallback();
}
} else {
$result = -1;
}
return $result;
}
function newData(&$ora_obj){
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$flagModul = Option_Modul();
$OPTION_MODUL = format_html_option($flagModul);
$flagMethod = Option_Method();
$OPTION_METHOD = format_html_option($flagMethod);
$flagPurgingType = Option_Ya_Tidak();
$OPTION_PURGING_TYPE = format_html_option($flagPurgingType);
$flagDataType = Option_DataType();
$OPTION_PURGING_DATA_TYPE = format_html_option($flagDataType);
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('TABLEDATA');
$variable_array['OPTION_MODUL'] = $OPTION_MODUL;
$variable_array['OPTION_METHOD'] = $OPTION_METHOD;
$variable_array['OPTION_PURGING_TYPE'] = $OPTION_PURGING_TYPE;
$variable_array['OPTION_PURGING_DATA_TYPE'] = $OPTION_PURGING_DATA_TYPE;
$variable_array['BUTTON_CONTAINER'] = create_button('1');
$result .= $templObj->PregReplaceCallback();
return $result;
}
?>