| Current Path : /var/www/html/ebilikparlimen1/ebilik/tempahan/ |
| Current File : /var/www/html/ebilikparlimen1/ebilik/tempahan/bilik_addhandler.php |
<?php
if (file_exists ('library.php')){
include_once 'library.php';
} else if (file_exists ('../library.php')){
include_once '../library.php';
}
//get userid from session
$ks_session = CUSTOM_User::getSessionData ();
$usr_role = $ks_session ['USR_ROLE'];
$usr_id = $ks_session ['USR_ID'];
$usr_name = $ks_session ['USR_NAME'];
// comment or remove the following to allow access without login
/*if(! $usr_id) {
header("Location: ".KSCONFIG_URL."ks_user/login.php?msg=notlogin&red={$_SERVER['REQUEST_URI']}");
exit();
}*/
//check referrer, although this can be manipulated
if (! preg_match ( "|" . KSCONFIG_URL. "|", $_SERVER ['HTTP_REFERER'] )) {
header("Location: ../ks_builtin/error.php?msg=UnknownHost");
exit ();
}
$red = $_POST ['red'] ; // exclude KS_Filter::inputSanitize () , to passing url
//check form token to avoid form hijacking / CSRF
$ks_tokenpost = KS_Filter::inputSanitize ($_POST ['ks_token']);
$ks_scriptname = KS_Filter::inputSanitize ($_POST['ks_scriptname']);
$btnSubmit = KS_Filter::inputSanitize ($_POST['btnsubmit']);
$ks_tokenid = 'token_' . $ks_scriptname;
$ks_token = $_SESSION[$ks_tokenid];
if ($ks_tokenpost != $ks_token) {
//kick
$redirect = "$ks_scriptname.php?msg=invalid";
header("Location:$redirect");
exit();
}
if (file_exists ('../ks_scripts/securimage/securimage.php')){
include("../ks_scripts/securimage/securimage.php");
} else if (file_exists ('../../ks_scripts/securimage/securimage.php')){
include("../../ks_scripts/securimage/securimage.php");
}else if (file_exists ('ks_scripts/securimage/securimage.php')){
include("ks_scripts/securimage/securimage.php");
}
$img = new Securimage();
$valid = $img->check($_POST['code']);
if($valid == true) {
//echo "valid";
//do nothing
} else {
$newks_scriptname = $ks_scriptname . ".php";
header ( "Location: $newks_scriptname?msg=invalidCaptcha" );
exit ();
}
//Datepicker fields needs to be converted to MySQL format.. Use KS_Date::toYYYY_MM_DD ( $_POST ['fieldX'] )
$sql = "SELECT run_number FROM t_ref_runningno WHERE run_year = ?";
$run_number = $ks_db->fetchOne($sql, array(date("Y"))); //if more than 1 array(dateY, dateM)
$nextRunningNo = str_pad($run_number + 1, 5, '0', STR_PAD_LEFT);
$tixNo = date("Y").date('m').$nextRunningNo;
$attachment1 = $_FILES ['blk_lampiran'];
$attachmentsize1 = $attachment1 ['size'];
$blk_bahagian = (int)KS_Filter::inputSanitize ( $_POST [ 'blk_bahagian' ] );
$blk_bangunan = (int)KS_Filter::inputSanitize ( $_POST [ 'blk_bangunan' ] );
$blk_bilik = (int)KS_Filter::inputSanitize ( $_POST [ 'blk_bilik' ] );
$blk_biltetamu = (int) KS_Filter::inputSanitize ( $_POST [ 'blk_biltetamu' ] );
$blk_catatan = KS_Filter::inputSanitize ( $_POST [ 'blk_catatan' ] );
$blk_cawangan = (int) KS_Filter::inputSanitize ( $_POST [ 'blk_cawangan' ] );
$blk_cawanganke = KS_Filter::inputSanitize ( $_POST [ 'blk_cawanganke' ] );
$blk_jabatan = KS_Filter::inputSanitize ( $_POST [ 'blk_jabatan' ] );
$blk_organisasi = KS_Filter::inputSanitize ( $_POST [ 'blk_organisasi' ] );
$blk_email = KS_Filter::inputSanitize ( $_POST [ 'blk_email' ] );
$blk_ict = KS_Filter::inputSanitize ( $_POST [ 'blk_ict' ] );
$blk_jawatan = KS_Filter::inputSanitize ( $_POST [ 'blk_jawatan' ] );
$blk_jenispemohon = (int) KS_Filter::inputSanitize ( $_POST [ 'blk_jenispemohon' ] );
$blk_kementerian = KS_Filter::inputSanitize ( $_POST [ 'blk_kementerian' ] );
$blk_logistik = KS_Filter::inputSanitize ( $_POST [ 'blk_logistik' ] );
$blk_masa = $_POST [ 'blk_masa' ] ;
$blk_pemohon = KS_Filter::inputSanitize ( $_POST [ 'blk_pemohon' ] );
$blk_pengerusi = KS_Filter::inputSanitize ( $_POST [ 'blk_pengerusi' ] );
$blk_sajian = (int) KS_Filter::inputSanitize ( $_POST [ 'blk_sajian' ] );
$blk_siaraya = KS_Filter::inputSanitize ( $_POST [ 'blk_siaraya' ] );
$blk_tarikh_raptai = KS_Date::toYYYY_MM_DD ( $_POST [ 'blk_tarikh_raptai' ] );
$blk_tarikhmula = KS_Date::toYYYY_MM_DD ( $_POST [ 'blk_tarikhmula' ] );
$blk_tarikhmulaEmail = $_POST [ 'blk_tarikhmula' ];
$blk_tarikhakhir = KS_Date::toYYYY_MM_DD ( $_POST [ 'blk_tarikhakhir' ] );
$blk_tarikhakhirEmail = $_POST [ 'blk_tarikhakhir' ] ;
$blk_telefon = KS_Filter::inputSanitize ( $_POST [ 'blk_telefon' ] );
$blk_telefonhp = KS_Filter::inputSanitize ( $_POST [ 'blk_telefonhp' ] );
$blk_fax = KS_Filter::inputSanitize ( $_POST [ 'blk_fax' ] );
$blk_tujuan = KS_Filter::inputSanitize ( $_POST [ 'blk_tujuan' ] );
$blk_masa_akhir = KS_Filter::inputSanitize ( $_POST [ 'blk_masa_akhir' ] );
$blk_masa_mula = KS_Filter::inputSanitize ( $_POST [ 'blk_masa_mula' ] );
$blk_unit = (int) KS_Filter::inputSanitize ( $_POST [ 'blk_unit' ] );
$blk_tajuk_prog = KS_Filter::inputSanitize ( $_POST [ 'blk_tajuk_prog' ] );
$blk_program = (int) KS_Filter::inputSanitize ( $_POST [ 'blk_program' ] );
$blk_keperluan = $_POST ['keperluan'];
if($blk_tarikh_raptai == '0000-00-00') {
$blk_tarikh_raptai = '1001-01-01';
}
foreach($blk_keperluan as $curKeperluan){
$keperluan .= $curKeperluan.'|';
}
$objBilik = new CUSTOM_Bilik ();
//$objBilik->setApproveby ($blk_approveby) ;
$objBilik->setBangunan ($blk_bangunan) ;
$objBilik->setBilik ($blk_bilik) ;
$objBilik->setBiltetamu ($blk_biltetamu) ;
$objBilik->setCatatan ($blk_catatan) ;
$objBilik->setBahagian ($blk_bahagian) ;
$objBilik->setCawangan ($blk_cawangan) ;
$objBilik->setCawanganke ($blk_cawanganke) ;
$objBilik->setCreatedby ($usr_id) ;
$objBilik->setCreateddate ( date ( "Y-m-d H:i:s" )) ;
$objBilik->setEmail ($blk_email) ;
$objBilik->setIct ($blk_ict) ;
$objBilik->setJawatan ($blk_jawatan) ;
$objBilik->setKementerian ($blk_kementerian) ;
$objBilik->setOrganisasi ($blk_organisasi) ;
$objBilik->setJenispemohon ($blk_jenispemohon) ;
$objBilik->setLogistik ($blk_logistik) ;
$objBilik->setMasaAkhir ($blk_masa_akhir) ;
$objBilik->setMasaMula ($blk_masa_mula) ;;
$objBilik->setPemohon ($blk_pemohon) ;
$objBilik->setPengerusi ($blk_pengerusi) ;
$objBilik->setSajian ($blk_sajian) ;
$objBilik->setSiaraya ($blk_siaraya) ;
if($blk_jenispemohon == '2' || $blk_jenispemohon == '3'){
$objBilik->setTarikhRaptai ($blk_tarikh_raptai) ;
}
$objBilik->setTarikhakhir ($blk_tarikhakhir) ;
$objBilik->setTarikhmula ($blk_tarikhmula) ;
$objBilik->setTelefon ($blk_telefon) ;
$objBilik->setTelefonhp ($blk_telefonhp) ;
$objBilik->setProgram ($blk_program) ;
$objBilik->setTajukProg ($blk_tajuk_prog) ;
$objBilik->setKeperluan ($keperluan) ;
$objBilik->setFax ($blk_fax) ;
$objBilik->setTiket ($tixNo ) ;
$objBilik->setUnit ($blk_unit) ;
$objBilik->setStatus(1);
$objBilik->insert ( );
if($objBilik->getId ( ) == ''){
//insert failed.. please check error.txt log for database errors.
header("Location: bilik_add.php?msg=insert_failed");
exit;
}
//Now upload files
if ($attachmentsize1 > 0) {
$objAttachment = KS_Attachment::uploadAttachment ( $attachment19, $objBilik->getId() ,'t_bilik','blk_lampiran' );
if($objAttachment != false) {
$returnName = $objAttachment->getId () . '_' . $objAttachment->getFilename ();
$objBilik->setLampiran ($returnName) ;
$objBilik->update ( );
}
}
/** Audit Trail logging.. You may change the Details or Action*/
$objAudittrail = new KS_Audittrail ();
$objAudittrail->setTablename1 ( 't_bilik' );
$objAudittrail->setRecordid1 ( $objBilik->getId() );
$objAudittrail->setDatetime ( date ( "Y-m-d H:i:s" ) );
$objAudittrail->setAction ( 'add' );
$objAudittrail->setUserid ( $usr_id );
$objAudittrail->setIpno ( $_SERVER ['REMOTE_ADDR'] );
$objAudittrail->setFilename ( 'add.php' );
$objAudittrail->setDetail ( "Data added by ($usr_id: $usr_name)" );
$objAudittrail->insert ();
if($blk_jenispemohon == 1){ // warga
$fldBahagian = new KS_Field_Lookup ( 't_bilik', 'blk_bahagian' );
$fldBahagian->select ();
$fldBahagian->setValue($blk_bahagian);
$label1 = 'Bahagian : ';
$val1 = $fldBahagian->display();
$fldCawangan = new KS_Field_Lookup ( 't_bilik', 'blk_cawangan' );
$fldCawangan->select ();
$fldCawangan->setValue($blk_cawangan);
if($blk_cawangan){
$label2 = 'Seksyen : ';
$val2 = $fldCawangan->display();
}
$fldUnit = new KS_Field_Lookup ( 't_bilik', 'blk_unit' );
$fldUnit->select ();
$fldUnit->setValue($blk_unit);
$label3 = 'Unit : ';
$val3 = $fldUnit->display();
}
if($blk_jenispemohon == 2){ //kementerian
$fldKementerian = new KS_Field_Text ( 't_bilik', 'blk_kementerian' );
$fldKementerian->select ();
$fldKementerian->setValue($blk_kementerian);
$label1 = 'Kementerian : ';
$val1 = $fldKementerian->display();
$fldCawanganke = new KS_Field_Text ( 't_bilik', 'blk_cawanganke' );
$fldCawanganke->select ();
$fldCawanganke->setValue($blk_cawanganke);
$label2 = 'Cawangan/Unit : ';
$val2 = $fldCawanganke->display();
}
if($blk_jenispemohon == 3){
$fldOrganisasi = new KS_Field_Text ( 't_bilik', 'blk_organisasi' );
$fldOrganisasi->select ();
$fldOrganisasi->setValue($blk_organisasi);
$label1 = 'Jabatan/Agensi : ';
$val1 = $fldOrganisasi->display();
}
// Send Notification / email
$email = $blk_email; //recipient's email, separate by comma for multiple email addresses
$email_cc = 'mohdhashim.gov.my';'nabilah@parlimen.gov.my'; //cc's email, separate by comma for multiple email addresses
//$email_bcc = //bccs email, separate by comma for multiple email addresses
$subject = "PERMOHONAN TEMPAHAN BILIK MESYUARAT PADA TARIKH $blk_tarikhmulaEmail"; //the subject
$content = " Butiran Permohonan Tempahan Bilik Mesyuarat seperti dibawah:
Nama Pemohon : $blk_pemohon";
if($blk_jenispemohon == 1){ // warga
$content .= "
$label1 $val1
$label2 $val2
$label3 $val3
";
}elseif($blk_jenispemohon == 2){ // kementerian
$content .= "
$label1 $val1
$label2 $val2
";
}elseif($blk_jenispemohon == 3){ // organisasi
$content .= "
$label1 $val1
";
}
$content .= "
Tarikh Mula Kegunaan : $blk_tarikhmulaEmail
Tarikh Akhir Kegunaan : $blk_tarikhakhirEmail
Masa Mula Kegunaan : $blk_masa_mula
Masa Akhir Kegunaan : $blk_masa_akhir
No Tiket : $tixNo
** Permohonan boleh disemak pada ruangan Semakan Permohonan.Sebarang Pertanyaan Sila Hubungi EN MOHD HASHIM BIN AHMAD di talian 03-2603 6899 atau email Mohd Hashim (mohdhashim@parlimen.gov.my)"; //the content, may contain HTML code
$ifhtml = 0; //content type if 1=html, 0=plain text
$objNotificationMessage = new KS_NotificationMessage ();
$objNotificationMessage->setDateCreated ( date ( "Y-m-d H:i:s" ) );
$objNotificationMessage->setEmail ( $blk_email );
$objNotificationMessage->setCc ( $email_cc );
$objNotificationMessage->setBcc ( $email_bcc );
$objNotificationMessage->setSubject ( $subject );
$objNotificationMessage->setContent ( $content );
$objNotificationMessage->setIfhtml ( $ifhtml ); //
$objNotificationMessage->insert ();
//update running no once completed
$sql2 = "UPDATE t_ref_runningno SET run_number = ? WHERE run_year = ?";
$ks_db->query($sql2, array($run_number + 1,date("Y")));
//send email now, rather than waiting for scheduler
KS_Notification::send( $objNotificationMessage->getId() );
if ($red != "") {
header ( "Location: $red ");
}else {
if($btnSubmit == 'a'){
header ( "Location: bilik_display.php?id={$objBilik->getId()}&msg=added");
}else{
header ( "Location: bilik_add.php?tix={$objBilik->getId()}&msg=addmore");
}
}