public static function init($config = array()) { //-- todo : load log handler here // load system config sys::import('webi.config'); wbConfig::init(); // load variables handler, server/request/response utilities sys::import('webi.server'); // load template, page handler sys::import('webi.template'); sys::import('webi.htmlElementWidget'); wbPage::init(); // load database sys::import('webi.db'); $dbConnParams = array('name' => wbConfig::get('DB.name'), 'user' => wbConfig::get('DB.user'), 'password' => wbConfig::get('DB.password'), 'host' => wbConfig::get('DB.host'), 'type' => wbConfig::get('DB.type')); wbDB::init($dbConnParams); // load session handler sys::import('webi.sessions'); wbSession::init(); //-- todo : load language system // load utilities function sys::import('webi.utils'); // load module handler sys::import('webi.modules'); sys::import('webi.crud.AbstractTable'); //-- todo : load users and security system sys::import('webi.users'); wbUser::init(); sys::import('webi.security'); return true; }
public static function init() { if (!wbCore::isFuncDisabled('ini_set')) { // PHP configuration variables // Stop adding SID to URLs ini_set('session.use_trans_sid', 0); // User-defined save handler ini_set('session.save_handler', 'user'); // How to store data ini_set('session.serialize_handler', 'php'); // Use cookie to store the session ID ini_set('session.use_cookies', 1); // Name of our cookie ini_set('session.name', 'WEBISID'); $path = wbServer::getBaseURI(); if (empty($path)) { $path = '/'; } // Lifetime of our cookie. Session lasts set number of days $lifetime = wbConfig::get('Session.Duration') * 86400; ini_set('session.cookie_lifetime', $lifetime); // Cookie path // this should be customized for multi-server setups wanting to share // sessions ini_set('session.cookie_path', $path); // Garbage collection ini_set('session.gc_probability', 1); // Inactivity timeout for user sessions ini_set('session.gc_maxlifetime', wbConfig::get('Session.InactivityTimeout') * 60); // Auto-start session ini_set('session.auto_start', 1); } include_once 'lib/adodb/session/adodb-session2.php'; $GLOBALS['ADODB_SESS_CONN'] =& wbDB::getConn(); ADODB_Session::table(wbConfig::get('DB.prefix') . '_sessions'); session_start(); }
function __construct() { $dbConnParams = array('name' => wbConfig::get('DB.name'), 'user' => wbConfig::get('DB.user'), 'password' => wbConfig::get('DB.password'), 'host' => wbConfig::get('DB.host'), 'type' => wbConfig::get('DB.type')); wbDB::init($dbConnParams); $this->dbconn =& wbDB::getConn(); if (count($this->displayFields)) { if ($this->dbconn->dataProvider == 'mysql' || $this->dbconn->dataProvider == 'oci8') { $this->selectClause .= ", CONCAT(" . implode(", ' - ' ,", $this->displayFields) . ") AS _display_field_"; $this->likeOperator = " LIKE "; } else { if ($this->dbconn->dataProvider == 'postgres') { $this->selectClause .= ", " . implode(" || ' - ' || ", $this->displayFields) . " AS _display_field_"; $this->likeOperator = " ILIKE "; } } } if ($this->dbconn->dataProvider == 'mysql' || $this->dbconn->dataProvider == 'oci8') { $this->likeOperator = " LIKE "; } else { if ($this->dbconn->dataProvider == 'postgres') { $this->likeOperator = " ILIKE "; } } }
public function getNusoap() { $wsdl = wbConfig::get('WS_SERVER'); //create instance $nusoap = new nusoap_client($wsdl, true); $user = "******"; $pass = "******"; //encrypt header value $user = base64_encode($user); $pass = base64_encode($pass); $header = '<AuthSoapHeader> <UserName>' . $user . '</UserName> <Password>' . $pass . '</Password> </AuthSoapHeader>'; //set header $nusoap->setHeaders($header); return $nusoap; }
public static function &getUserRoles($uid) { $dbconn = wbDB::getConn(); $prefix = wbConfig::get('DB.prefix'); $query = "SELECT a.role_id, b.role_name " . "FROM " . $prefix . "_user_role as a, " . $prefix . "_role as b " . "WHERE a.role_id = b.role_id AND a.user_id = ?"; $result =& $dbconn->Execute($query, array($uid)); if (!$result) { return; } $roles = array(); while (!$result->EOF) { list($role_id, $role_name) = $result->fields; $roles[] = array('role_id' => $role_id, 'role_name' => $role_name); $result->MoveNext(); } $result->Close(); return $roles; }
/** * Get controller request */ static function getController() { $module = self::getVar('module'); $class = self::getVar('class'); $method = self::getVar('method'); if (!empty($module)) { if (!preg_match('/^[a-z][a-z_0-9]*$/', $module)) { $module = ''; } } if (empty($module)) { $module = wbConfig::get('Module.defaultModule'); $class = wbConfig::get('Module.defaultClass'); $method = wbConfig::get('Module.defaultMethod'); } else { if (!empty($class)) { if (!preg_match('/^[a-zA-Z._\\x7f-\\xff][a-zA-Z.0-9_\\x7f-\\xff]*$/', $class)) { $class = ''; } } if (empty($class)) { if ($module == wbConfig::get('Module.defaultModule')) { $class = wbConfig::get('Module.defaultClass'); } } if (!empty($method)) { if (!preg_match('/^[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*$/', $method)) { $method = ''; } } if (empty($method)) { if ($module == wbConfig::get('Module.defaultModule') && $class == wbConfig::get('Module.defaultClass')) { $method = wbConfig::get('Module.defaultMethod'); } } } if (empty($module)) { $requestInfo = self::$defaultRequest; } else { if (empty($class)) { $class = $module; } if (empty($method)) { $method = 'main'; } $requestInfo = array($module, $class, $method); } wbCache::setCached('current', 'module', $requestInfo[0]); wbCache::setCached('current', 'controller', $requestInfo[1]); wbCache::setCached('current', 'method', $requestInfo[2]); return $requestInfo; }
public static function execReject($args = array()) { // Security check if (!wbSecurity::check('Inquiry')) { return; } // Get arguments from argument array extract($args); $start = wbRequest::getVarClean('start', 'int', 0); $limit = wbRequest::getVarClean('limit', 'int', 50); $sort = wbRequest::getVarClean('sort', 'str', 'listing_no'); $dir = wbRequest::getVarClean('dir', 'str', 'ASC'); $query = wbRequest::getVarClean('query', 'str', ''); $no_registration = wbRequest::getVarClean('no_registration', 'int', 0); $getAll = wbRequest::getVarClean('getAll', 'str', ''); $jsonItems = wbRequest::getVarClean('items', 'str', ''); $arrItems = (array) json_decode($jsonItems); $data = array('items' => array(), 'total' => 0, 'success' => false, 'message' => ''); try { $db = NewADOConnection("oci8"); $ora_tns = wbConfig::get('DB.ora_tns'); $ora_user = wbConfig::get('DB.ora_user'); $ora_pass = wbConfig::get('DB.ora_pass'); $db->Connect($ora_tns, $ora_user, $ora_pass); $stmt = $db->PrepareSP("BEGIN\r\n p_exec_reject_websrvc(:i_receipt_no,\r\n :in_payment_receipt_id,\r\n :i_kode_bank,\r\n :i_branch_id,\r\n :i_user_id,\r\n :i_user_name,\r\n :i_id_pelanggan,\r\n :i_nama,\r\n :i_jml_bill,\r\n :i_jml_adm,\r\n :on_t_cancel_receipt_id,\r\n :on_return_code,\r\n :os_cancel_info\r\n );\r\n END;\r\n "); $i_kode_bank = wbSession::getVar('bank_name'); $branch_id = wbSession::getVar('branch_id'); $user_id = wbSession::getVar('user_id'); $user_name = wbSession::getVar('user_name'); $in_payment_receipt_id = $arrItems['T_RECEIPT_ID']; $i_receipt_no = $arrItems['RECEIPT_NO']; $i_id_pelanggan = $arrItems['ID_PELANGGAN']; $i_nama = $arrItems['ACC_LAST_NAME']; $i_jml_bill = $arrItems['BILL_AMOUNT']; $i_jml_adm = $arrItems['ADMIN_AMOUNT']; $db->InParameter($stmt, $i_kode_bank, 'i_kode_bank', 4000); $db->InParameter($stmt, $branch_id, 'i_branch_id', 4000); $db->InParameter($stmt, $user_id, 'i_user_id', 4000); $db->InParameter($stmt, $user_name, 'i_user_name', 4000); $db->InParameter($stmt, $in_payment_receipt_id, 'in_payment_receipt_id', 4000); $db->InParameter($stmt, $i_receipt_no, 'i_receipt_no', 4000); $db->InParameter($stmt, $i_id_pelanggan, 'i_id_pelanggan', 4000); $db->InParameter($stmt, $i_nama, 'i_nama', 4000); $db->InParameter($stmt, $i_jml_adm, 'i_jml_adm', 4000); $db->InParameter($stmt, $i_jml_bill, 'i_jml_bill', 4000); $db->OutParameter($stmt, $on_t_cancel_receipt_id, 'on_t_cancel_receipt_id', 4000); $db->OutParameter($stmt, $on_return_code, 'on_return_code', 4000); $db->OutParameter($stmt, $os_return_msg, 'os_cancel_info', 4000); $ok = $db->Execute($stmt); //exit; } catch (Exception $e) { $data['message'] = $e->getMessage(); $data['success'] = false; } $data['items'] = array('on_return_code' => $on_return_code, 'os_cancel_info' => $os_return_msg, 'on_t_cancel_receipt_id' => $on_t_cancel_receipt_id); $data['total'] = 1; $data['success'] = true; $data['message'] = $os_return_msg; return $data; }
public static function getNpwd($args = array()) { extract($args); $start = wbRequest::getVarClean('start', 'int', 0); $limit = wbRequest::getVarClean('limit', 'int', 50); $sort = wbRequest::getVarClean('sort', 'str', 't_cust_order_legal_doc_id'); $dir = wbRequest::getVarClean('dir', 'str', 'ASC'); $query = wbRequest::getVarClean('query', 'str', ''); $t_cust_order_legal_doc_id = wbRequest::getVarClean('t_cust_order_legal_doc_id', 'int', 0); $trans_date = wbRequest::getVarClean('trans_date', 'str', ''); $data = array('items' => array(), 'total' => 0, 'success' => false, 'message' => ''); $dbConnParams_rwnet = array('name' => wbConfig::get('DB.name_rwnet'), 'user' => wbConfig::get('DB.user_rwnet'), 'password' => wbConfig::get('DB.password_rwnet'), 'host' => wbConfig::get('DB.host_rwnet'), 'type' => wbConfig::get('DB.type_rwnet'), 'schema' => 'sikp'); try { $table =& wbModule::getModel('bds', 'd_hotel'); $user_name = wbSession::getVar('user_name'); $query = "select ty_lov_npwd as t_cust_order_legal_doc_id, npwd, company_name,\n p_vat_type_id, vat_code, p_vat_type_dtl_id, vat_code_dtl\n from f_get_npwd_by_username('{$user_name}') AS tbl (ty_lov_npwd)\n where upper(npwd) like '%{$s_keyword}%' OR\n upper(company_name) like '%{$s_keyword}%'"; $items = $table->dbconn->GetAllAssocLimit($query, $limit, $start); $query = "SELECT COUNT(1) from sikp.f_get_cust_acc_dtl_trans({$t_cust_order_legal_doc_id},'{$trans_date}') " . $table->getCriteriaSQL(); $countitems = $table->dbconn->GetOne($query); if ($countitems === false) { throw new Exception($dbConn_rwnet->ErrorMsg()); } $total = $table->countAll(); } catch (UserLoginFailedException $e) { $data['message'] = $e->getMessage(); } $data['items'] = $items; $data['total'] = $countitems; $data['success'] = true; return $data; }
/** * Confirm an authorisation key is valid * * See description of xarSecGenAuthKey for information on * this function * * @access public * @param string authIdVarName * @return bool true if the key is valid, false if it is not * @throws FORBIDDEN_OPERATION * @todo bring back possibility of time authorized keys */ function confirmAuthKey($modName = NULL, $authIdVarName = 'authid') { if (!isset($modName)) { list($modName) = wbRequest::getController(); } $authid = wbRequest::getVar($authIdVarName); $rands = wbSession::getVar('rand'); $now = time(); srand((double) microtime() * 1000000); // convert single rand to array of "timestamp-rand()" strings if (!is_array($rands)) { $rands = array(); // session integrity: only keep most recent 64 values $rands = array_slice($rands, -64); wbSession::setVar('rand', $rands); } // needed in foreach to expire old rand values $age = wbConfig::get('Session.InactivityTimeout') * 60; // convert minutes to seconds // loop through the rands array to find a match foreach ($rands as $r => $rnd) { list($timestamp, $rndval) = explode('-', $rnd, 2); // ignore and get rid of random values older than session activity timeout if ($now - $age > $timestamp) { unset($rands[$r]); continue; } // Regenerate static part of key $partkey = $rndval . strtolower($modName); if (md5($partkey) == $authid) { // Match - get rid of it and leave happy unset($rands[$r]); // session integrity: only keep most recent 64 values $rands = array_slice($rands, -64); wbSession::setVar('rand', $rands); return true; } } throw new Exception("<p>Operasi yang anda coba lakukan tidak diperkenankan dalam kondisi ini.</p>Anda mungkin telah menekan tombol Back atau Reload pada browser dan mencoba kembali operasi yang tidak boleh diulang, atau cookie tidak diaktifkan pada browser anda"); return false; }
public static function cancelPembayaran($args = array()) { // Security check //if (!wbSecurity::check('DHotel')) return; if (!wbSecurity::check('Inquiry')) { return; } // Get arguments from argument array extract($args); $start = wbRequest::getVarClean('start', 'int', 0); $limit = wbRequest::getVarClean('limit', 'int', 50); $sort = wbRequest::getVarClean('sort', 'str', 'listing_no'); $dir = wbRequest::getVarClean('dir', 'str', 'ASC'); $query = wbRequest::getVarClean('query', 'str', ''); $no_registration = wbRequest::getVarClean('no_registration', 'str', 0); $bphtb_amount = wbRequest::getVarClean('bphtb_amount', 'float', 0); $bit48 = wbRequest::getVarClean('bit48', 'str', 0); $data = array('items' => array(), 'total' => 0, 'success' => false, 'message' => ''); $dbConnParams_rwnet = array('name' => wbConfig::get('DB.name_rwnet'), 'user' => wbConfig::get('DB.user_rwnet'), 'password' => wbConfig::get('DB.password_rwnet'), 'host' => wbConfig::get('DB.host_rwnet'), 'type' => wbConfig::get('DB.type_rwnet'), 'schema' => 'sikp'); try { $table =& wbModule::getModel('bds', 'd_hotel'); $result = $table->dbconn->GetItem("select * from core_user where user_id=" . wbSession::getVar('user_id')); $dbConn_rwnet = ADONewConnection($dbConnParams_rwnet['type']); $dbConn_rwnet->Connect($dbConnParams_rwnet['host'], $dbConnParams_rwnet['user'], $dbConnParams_rwnet['password'], $dbConnParams_rwnet['name']); $query = "select * from sikp.f_manual_reversal('{$no_registration}','" . $result['user_name'] . "', 'Cancel Pembayaran')"; $long_code = $dbConn_rwnet->GetItem($query); } catch (UserLoginFailedException $e) { $data['message'] = $e->getMessage(); } $data['items'] = $long_code; $data['total'] = 2; $data['success'] = true; return $data; }
/** * read * controler for get all items */ public static function read($args = array()) { // Security check //if (!wbSecurity::check('DHotel')) return; // Get arguments from argument array extract($args); $start = wbRequest::getVarClean('start', 'int', 0); $limit = wbRequest::getVarClean('limit', 'int', 50); $sort = wbRequest::getVarClean('sort', 'str', 't_bphtb_registration_id'); $dir = wbRequest::getVarClean('dir', 'str', 'ASC'); $query = wbRequest::getVarClean('query', 'str', ''); $t_bphtb_registration_id = wbRequest::getVarClean('t_bphtb_registration_id', 'int', 0); $receipt_no = wbRequest::getVarClean('receipt_no', 'str', ''); $registration_no = wbRequest::getVarClean('registration_no', 'str', ''); $njop_pbb = wbRequest::getVarClean('njop_pbb', 'str', ''); $wp_name = wbRequest::getVarClean('wp_name', 'str', ''); $date_start = wbRequest::getVarClean('date_start', 'str', ''); $date_end = wbRequest::getVarClean('date_end', 'str', ''); $data = array('items' => array(), 'total' => 0, 'success' => false, 'message' => ''); $dbConnParams_rwnet = array('name' => wbConfig::get('DB.name_rwnet'), 'user' => wbConfig::get('DB.user_rwnet'), 'password' => wbConfig::get('DB.password_rwnet'), 'host' => wbConfig::get('DB.host_rwnet'), 'type' => wbConfig::get('DB.type_rwnet'), 'schema' => 'sikp'); try { $dbConn_rwnet = ADONewConnection($dbConnParams_rwnet['type']); $dbConn_rwnet->Connect($dbConnParams_rwnet['host'], $dbConnParams_rwnet['user'], $dbConnParams_rwnet['password'], $dbConnParams_rwnet['name']); $table =& wbModule::getModel('bds', 'bphtb_registration'); foreach ($table->fields as $key => $field) { if (!empty(${$key})) { // <-- Perhatikan simbol $$ if ($field['type'] == 'str') { $table->setCriteria($table->getAlias() . $key . $table->likeOperator . '?', array("%" . ${$key} . "%")); } else { $table->setCriteria($table->getAlias() . $key . ' = ?', array(${$key})); } } } //$table->setCriteria('b.wp_name ILIKE ?', array("%".$wp_name."%")); if (!empty($receipt_no)) { $table->setCriteria('a.receipt_no ILIKE ?', array("%" . $receipt_no . "%")); } if (!empty($date_start) && !empty($date_end)) { $table->setCriteria(" (trunc(a.payment_date) BETWEEN '" . $date_start . "' AND '" . $date_end . "') "); } else { if (!empty($date_start) && empty($date_end)) { $table->setCriteria(" trunc(a.payment_date) >= '" . $date_start . "' "); } else { if (empty($date_start) && !empty($date_end)) { $table->setCriteria(" trunc(a.payment_date) <= '" . $date_end . "' "); } } } $query = $table->selectClause . ' ' . $table->fromClause . ' ' . $table->getCriteriaSQL(); $items = $dbConn_rwnet->GetAllAssocLimit($query, $limit, $start); $query = "SELECT COUNT(1) " . $table->fromClause . " " . $table->getCriteriaSQL(); $countitems = $dbConn_rwnet->GetOne($query); if ($countitems === false) { throw new Exception($dbConn_rwnet->ErrorMsg()); } //$total = $table->countAll(); } catch (UserLoginFailedException $e) { $data['message'] = $e->getMessage(); } $data['items'] = $items; $data['total'] = $countitems; $data['success'] = true; return $data; }
public static function getCustAccMonth($args = array()) { extract($args); $start = wbRequest::getVarClean('start', 'int', 0); $limit = wbRequest::getVarClean('limit', 'int', 50); $sort = wbRequest::getVarClean('sort', 'str', 't_cust_account_id'); $dir = wbRequest::getVarClean('dir', 'str', 'ASC'); //$query = wbRequest::getVarClean('query', 'str', ''); $s_keyword = wbRequest::getVarClean('query', 'str', ''); $t_cust_account_id = wbRequest::getVarClean('t_cust_account_id', 'int', 0); $trans_date = wbRequest::getVarClean('trans_date', 'str', ''); $data = array('items' => array(), 'total' => 0, 'success' => false, 'message' => ''); $dbConnParams_rwnet = array('name' => wbConfig::get('DB.name_rwnet'), 'user' => wbConfig::get('DB.user_rwnet'), 'password' => wbConfig::get('DB.password_rwnet'), 'host' => wbConfig::get('DB.host_rwnet'), 'type' => wbConfig::get('DB.type_rwnet'), 'schema' => 'sikp'); try { $table =& wbModule::getModel('bds', 'd_hotel'); $user_name = wbSession::getVar('user_name'); $arr_npwd = array(); if (empty($t_cust_account_id)) { $arr_npwd = $table->dbconn->GetItem("select t_cust_account_id,npwd from sikp.f_get_npwd_by_username('{$user_name}')"); } $query = " SELECT\n \t\t '" . $arr_npwd['npwd'] . "' as npwd,\n \t\t t_cust_acc_dtl_trans.t_cust_account_id,\n \t\t sum(t_cust_acc_dtl_trans.service_charge) as jum_trans,\n \t\t sum(t_cust_acc_dtl_trans.vat_charge) as jum_pajak,\n t_cust_acc_dtl_trans.p_vat_type_dtl_id,\n \t\t p_finance_period.p_finance_period_id,\n \t\t p_finance_period.code,\n \t\t t_customer_order.p_order_status_id,\n \t\t case when t_vat_setllement.start_period is null then p_finance_period.start_date else t_vat_setllement.start_period END as start_period,\n case when t_vat_setllement.end_period is null then p_finance_period.end_date else t_vat_setllement.end_period END as end_period\n FROM\n t_cust_acc_dtl_trans\n LEFT JOIN p_finance_period on to_char(trans_date, 'YYYY-MM') = to_char(p_finance_period.start_date, 'YYYY-MM')\n LEFT JOIN t_vat_setllement on t_cust_acc_dtl_trans.t_cust_account_id = t_vat_setllement.t_cust_account_id and p_finance_period.p_finance_period_id = t_vat_setllement.p_finance_period_id \n LEFT JOIN t_customer_order on t_customer_order.t_customer_order_id = t_vat_setllement.t_customer_order_id\n WHERE\n t_cust_acc_dtl_trans.t_cust_account_id = " . $arr_npwd['t_cust_account_id'] . " AND \n \t\t trans_date >= CASE\n \t\t\t\tWHEN t_vat_setllement.start_period is null THEN p_finance_period.start_date\n \t\t\t\tELSE t_vat_setllement.start_period\n \t\t\tEND\n \t\tAND \n \t\ttrans_date <= CASE\n \t\t\t\tWHEN t_vat_setllement.end_period is null THEN p_finance_period.end_date\n \t\t\t\tELSE t_vat_setllement.end_period\n \t\t\tEND\n GROUP BY\n \t\t t_cust_acc_dtl_trans.t_cust_account_id,\n t_cust_acc_dtl_trans.p_vat_type_dtl_id,\n \t\t p_finance_period.p_finance_period_id,\n \t\t p_finance_period.code,\n \t\t t_customer_order.p_order_status_id,\n \t\t case when t_vat_setllement.start_period is null then p_finance_period.start_date else t_vat_setllement.start_period END,\n case when t_vat_setllement.end_period is null then p_finance_period.end_date else t_vat_setllement.end_period END\n ORDER BY \n \t\t case when t_vat_setllement.start_period is null then p_finance_period.start_date else t_vat_setllement.start_period END DESC"; $items = $table->dbconn->GetAllAssocLimit($query, $limit, $start); $query = "SELECT COUNT(1) from (" . $query . ") tbl"; $countitems = $table->dbconn->GetOne($query); if ($countitems === false) { throw new Exception($dbConn_rwnet->ErrorMsg()); } //$total = $table->countAll(); } catch (UserLoginFailedException $e) { $data['message'] = $e->getMessage(); } $data['items'] = $items; $data['total'] = $countitems; $data['success'] = true; return $data; }
public static function init() { include_once self::CONFIGFILE; self::$sysConfig = $sysConfig; }
public static function init() { self::setTheme(wbConfig::get('Theme.defaultTheme')); self::setPage(wbConfig::get('Theme.defaultPage')); self::setTitle(wbConfig::get('Theme.siteTitle')); }