function search($operator_id, $motor_model = NULL, $motor_no = NULL, $chassis_no = NULL, $plate_no = NULL, $body_no = NULL, $page = 1, $maxrec = 1000000, $orderkey = EBPLS_MOTORIZED_VEH_MOTOR_ID, $is_desc = true)
 {
     if ($operator_id != NULL) {
         $strWhere[EBPLS_MOTORIZED_VEH_OPERATOR_ID] = $operator_id;
     }
     if ($motor_model != NULL) {
         $strWhere[EBPLS_MOTORIZED_VEH_MOTOR_MODEL] = array("like", "{$motor_model}%");
     }
     if ($motor_no != NULL) {
         $strWhere[EBPLS_MOTORIZED_VEH_MOTOR_NO] = array("like", "{$motor_no}%");
     }
     if ($chassis_no != NULL) {
         $strWhere[EBPLS_MOTORIZED_VEH_CHASSIS_NO] = array("like", "{$chassis_no}%");
     }
     if ($plate_no != NULL) {
         $strWhere[EBPLS_MOTORIZED_VEH_PLATE_NO] = array("like", "{$plate_no}%");
     }
     if ($body_no != NULL) {
         $strWhere[EBPLS_MOTORIZED_VEH_BODY_NO] = array("like", "{$body_no}%");
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder = $orderkey;
     }
     if (count($strWhere) <= 0) {
         $this->setError(-1, "No search parameters.");
         return -1;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_MOTORIZED_VEHICLES_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSOwner object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSMotorizedVehicle($this->m_dbLink);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
示例#2
0
 function search($business_name, $page = 1, $maxrec = 10, $orderkey = BUSINESS_ID, $is_desc = true)
 {
     $strWhere[BUSINESS_NAME] = array("like", "{$business_name}%");
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder = $orderkey;
     }
     if (count($strWhere) <= 0) {
         $this->setError(-1, "No search parameters.");
         return -1;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_BUSINESS_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSEnterprise object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSEnterprise($this->m_dbLink);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
 function getBusinessNatureTaxFees($nature_code, $page = 1, $maxrec = 20, $orderby = EBPLS_BUSINESS_NATURE_TAXFEES_CREATE_TS, $is_desc = false)
 {
     $strWhere[EBPLS_BUSINESS_NATURE_NATURE_CODE] = $nature_code;
     $strValues[] = "*";
     $strOrder[$orderby] = $orderby;
     //return;
     //ebpls_select_data_bypage( $this->m_dbLink, EBPLS_TAX_FEE_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc?"DESC":"ASC", $page, $maxrec );
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_BUSINESS_NATURE_TAXFEES_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSBusinessNatureTaxes object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSBusinessNatureTaxes($this->m_dbLink, false);
             $records[$i]->getTaxFee();
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
     return $result;
 }
 /**
  * Find function searches Owner table for users having exact values for firstname, lastname, middlename, email address, birthdate.
  *
  * Set a NULL value to any of the parameters a users wishes not included on the search function. 
  *
  * Search uses AND on query on all of the non-NULL parameters provided. Exact string match is implemented.
  *
  * Search result can be order by setting orderkey as any of the pre-defined data elements constants defined above,
  * set $is_desc to true to use DESC otherwise set to false. 
  * 
  * Paging is automatically provided by letting users of this method provide the page number and the max records per page. 
  * Page result are automaticallly selected give these information, by rule $maxrec should be > 0 and $page should be > 1 and < maxpages
  *
  * Result of this method is a 2-dim array, having keys "page_info" and "result"
  * First element of result having key "page_info" contains all the information regarding the query
  * 		total = number of total records of search
  *		max_pages = number of pages in search
  *		count = number of records on current page
  *		page = current page selected
  * Second element of array having key "result" contains result of the search. "result" search value is an array of EBLPSCTC objects
  *
  *
  */
 function search($fname, $mname, $lname, $email, $bdate, $page, $maxrec = 10, $orderkey = OWNER_REG_DATE, $is_desc = true)
 {
     if ($fname != NULL) {
         $strWhere[OWNER_FIRST_NAME] = "{$fname}";
     }
     if ($mname != NULL) {
         $strWhere[OWNER_MIDDLE_NAME] = "{$mname}";
     }
     if ($lname != NULL) {
         $strWhere[OWNER_LAST_NAME] = "{$lname}";
     }
     if ($address != NULL) {
         $strWhere[OWNER_EMAIL_ADDRESS] = "{$email}";
     }
     if ($bdate != NULL) {
         $strWhere[OWNER_BIRTH_DATE] = "{$bdate}";
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder = $orderkey;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_OCC_PERMIT_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSOwner object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSOccupationalPermit($this->m_dbLink);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
 function select($code = NULL, $acct_nature = NULL, $acct_no = NULL, $dept_code = NULL, $extra_code = NULL, $desc = NULL, $page = 1, $maxrec = 10, $orderkey = EBPLS_ACCT_CODE, $is_desc = true)
 {
     if ($code != NULL) {
         $strWhere[EBPLS_ACCT_CODE] = $code;
     }
     if ($acct_nature != NULL) {
         $strWhere[EBPLS_ACCT_NATURE] = array("like", "{$acct_nature}%");
     }
     if ($acct_no != NULL) {
         $strWhere[EBPLS_ACCT_NO] = array("like", "{$acct_no}%");
     }
     if ($extra_code != NULL) {
         $strWhere[EBPLS_EXTRA_CODE] = array("like", "{$extra_code}%");
     }
     if ($desc != NULL) {
         $strWhere[EBPLS_ACCT_DESC] = array("like", "{$desc}%");
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder[$orderkey] = EBPLS_ACCT_CODE;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_COT_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLTaxFeeSysRef object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLChartOfAccountsSysRef($this->m_dbLink, false);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
 function selectNonSystemData($formula_id = NULL, $formula_desc = NULL, $formula_type = NULL, $system_data = NULL, $page = 1, $maxrec = 20, $orderby = EBPLS_FORMULAS_CREATE_TS, $is_desc = false)
 {
     if ($formula_id != NULL && $formula_id != "") {
         $strWhere[EBPLS_FORMULAS_FORMULA_ID] = $formula_id;
     }
     if ($formula_desc != NULL && $formula_desc != "") {
         $strWhere[EBPLS_FORMULAS_FORMULA_DESC] = array("like", "{$formula_desc}%");
     }
     if ($formula_type != NULL && $formula_type != "") {
         $strWhere[EBPLS_FORMULAS_FORMULA_TYPE] = $formula_type;
     }
     if (!is_null($system_data) && ($system_data == "0" || $system_data == "1")) {
         $strWhere[EBPLS_FORMULAS_SYSTEMDATA] = $system_data;
     }
     // select all columns
     $strValues[] = "*";
     if ($orderby != NULL) {
         $strOrder[$orderby] = $orderby;
     } else {
         $strOrder[$orderkey] = EBPLS_FORMULAS_FORMULA_ID;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_FORMULAS_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLTaxFeeSysRef object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new TaxFeeFormula($this->m_dbLink, false);
             $obj = unserialize($result["result"][$i][EBPLS_FORMULAS_FORMULA_CLASS]);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
示例#7
0
 function selectWithSystemData($code = NULL, $desc = NULL, $type = NULL, $system_data = NULL, $page = 1, $maxrec = 1, $orderkey = EBPLS_TAX_FEE_CODE, $is_desc = true)
 {
     if ($code != NULL && $code != "") {
         $strWhere[EBPLS_TAX_FEE_CODE] = $code;
     }
     if ($desc != NULL && $desc != "") {
         $strWhere[EBPLS_TAX_FEE_DESC] = array("like", "{$desc}%");
     }
     if ($type != NULL) {
         if (is_array($type)) {
             $strWhere[EBPLS_TAX_FEE_TYPE] = array("IN", " ( '" . join("','", $type) . "')");
         } else {
             $strWhere[EBPLS_TAX_FEE_TYPE] = $type;
         }
     }
     if (!is_null($system_data) && ($system_data == "0" || $system_data == "1")) {
         $strWhere[EBPLS_TAX_SYSTEMDATA] = $system_data;
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder[$orderkey] = EBPLS_TAX_FEE_CODE;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_TAX_FEE_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLTaxFeeSysRef($this->m_dbLink, false);
             $clsFormula = new TaxFeeFormula($this->m_dbLink, false);
             $ret = $clsFormula->view($result["result"][$i][EBPLS_TAX_FORMULA_ID]);
             if ($ret > 0) {
                 $result["result"][$i][EBPLS_TAX_FORMULA] = unserialize($clsFormula->getData(EBPLS_FORMULAS_FORMULA_CLASS));
                 if (!$result["result"][$i][EBPLS_TAX_FORMULA]) {
                     $this->debug("<HR>Error loading formula : " . $result["result"][$i][EBPLS_TAX_FORMULA_ID] . "!<HR>");
                     $this->setError(-2, "Invalid formula on unserialize : " . $result["result"][$i][EBPLS_TAX_FORMULA_ID] . "!");
                     $this->debug("Invalid formula on unserialize : " . $result["result"][$i][EBPLS_TAX_FORMULA_ID] . "!");
                     return -2;
                 }
                 $result["result"][$i][EBPLS_TAX_FORMULA]->setData(NULL, $clsFormula->getData());
                 $records[$i]->setData(NULL, $result["result"][$i]);
             } else {
                 echo 'ID: ' . $result["result"][$i][EBPLS_TAX_FORMULA_ID];
                 return $ret;
             }
         }
         $result["result"] = $records;
         return $result;
     }
 }
示例#8
0
 /**
  * Find function searches Owner table for users having exact values for firstname, lastname, middlename, email address, birthdate.
  *
  * Set a NULL value to any of the parameters a users wishes not included on the search function. 
  *
  * Search uses AND on query on all of the non-NULL parameters provided. Exact string match is implemented.
  *
  * Search result can be order by setting orderkey as any of the pre-defined data elements constants defined above,
  * set $is_desc to true to use DESC otherwise set to false. 
  * 
  * Paging is automatically provided by letting users of this method provide the page number and the max records per page. 
  * Page result are automaticallly selected give these information, by rule $maxrec should be > 0 and $page should be > 1 and < maxpages
  *
  * Result of this method is a 2-dim array, having keys "page_info" and "result"
  * First element of result having key "page_info" contains all the information regarding the query
  * 		total = number of total records of search
  *		max_pages = number of pages in search
  *		count = number of records on current page
  *		page = current page selected
  * Second element of array having key "result" contains result of the search. "result" search value is an array of EBLPSCTC objects
  *
  *
  */
 function search($fname = NULL, $mname = NULL, $lname = NULL, $email = NULL, $bdate = NULL, $page = 1, $maxrec = 1000000000, $orderkey = OWNER_REG_DATE, $is_desc = true)
 {
     if ($fname != NULL) {
         $strWhere[OWNER_FIRST_NAME] = array("like", "{$fname}%");
     } else {
         if ($this->data_elems[OWNER_FIRST_NAME] != "") {
             $strWhere[OWNER_FIRST_NAME] = array("like", $this->data_elems[OWNER_FIRST_NAME] . "%");
         }
     }
     if ($mname != NULL) {
         $strWhere[OWNER_MIDDLE_NAME] = array("like", "{$mname}%");
     } else {
         if ($this->data_elems[OWNER_MIDDLE_NAME] != "") {
             $strWhere[OWNER_MIDDLE_NAME] = array("like", $this->data_elems[OWNER_MIDDLE_NAME] . "%");
         }
     }
     if ($lname != NULL) {
         $strWhere[OWNER_LAST_NAME] = array("like", "{$lname}%");
     } else {
         if ($this->data_elems[OWNER_LAST_NAME] != "") {
             $strWhere[OWNER_LAST_NAME] = array("like", $this->data_elems[OWNER_LAST_NAME] . "%");
         }
     }
     if ($address != NULL) {
         $strWhere[OWNER_EMAIL_ADDRESS] = array("like", "{$email}%");
     } else {
         if ($this->data_elems[OWNER_EMAIL_ADDRESS] != "") {
             $strWhere[OWNER_EMAIL_ADDRESS] = array("like", $this->data_elems[OWNER_EMAIL_ADDRESS] . "%");
         }
     }
     if ($bdate != NULL) {
         $strWhere[OWNER_BIRTH_DATE] = "{$bdate}";
     } else {
         if ($this->data_elems[OWNER_BIRTH_DATE] != "") {
             $strWhere[OWNER_BIRTH_DATE] = $this->data_elems[OWNER_BIRTH_DATE];
         }
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder = $orderkey;
     }
     if (count($strWhere) <= 0) {
         $this->setError(-1, "No search parameters.");
         return -1;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_OWNER_TABLE, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSOwner object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSOwner($this->m_dbLink);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
示例#9
0
 function select($code = NULL, $page = 1, $maxrec = 100000000, $orderkey = SYSREF_CODE, $is_desc = true)
 {
     if ($code != NULL) {
         $strWhere[$this->m_strCodeKey] = $code;
     }
     if ($orderkey != SYSREF_CODE && $orderkey != SYSREF_DESC && $orderkey != SYSREF_CREATE_TS && $orderkey != SYSREF_UPDATE_TS && $orderkey != SYSREF_ADMIN) {
         $this->setError(-1, "Invalid order key value {$orderkey}.");
         return -1;
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$this->m_strTableKeyConst . $orderkey] = $this->m_strTableKeyConst . $orderkey;
     } else {
         $strOrder = $this->m_strCodeKey;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, $this->m_strTableKey, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSSysRef object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSSysRef($this->m_dbLink, $this->m_strTableKey);
             $records[$i]->setData(NULL, $result["result"][$i]);
             $records[$i]->m_strCode = $records[$i]->getData($this->m_strCodeKey);
             $records[$i]->m_strDesc = $records[$i]->getData($this->m_strDescKey);
             $records[$i]->m_tsCreate = $records[$i]->getData($this->m_strCreateKey);
             $records[$i]->m_tsUpdate = $records[$i]->getData($this->m_strUpdateKey);
             $records[$i]->m_strAdmin = $records[$i]->getData($this->m_strAdminKey);
         }
         $result["result"] = $records;
         return $result;
     }
 }
 function select($permit_type = NULL, $trans_type = NULL, $page = 1, $maxrec = 10, $orderkey = "", $is_desc = true)
 {
     // either MOT,PED,BUS,OCC etc...
     if ($permit_type != NULL) {
         if (EBPLS_PDR_PR_TYPE_APP == $this->m_strType) {
             $strWhere[EBPLS_PAR_PERMIT_TYPE] = $permit_type;
             if ($trans_type != NULL) {
                 $strWhere[EBPLS_PAR_TRANS_TYPE] = $trans_type;
             }
             if ($permit_type != NULL) {
                 $strWhere[EBPLS_PAR_PERMIT_TYPE] = $permit_type;
             }
         } else {
             if (EBPLS_PDR_PR_TYPE_TAX == $this->m_strType) {
                 $strWhere[EBPLS_PTR_PERMIT_TYPE] = $permit_type;
                 if ($trans_type != NULL) {
                     $strWhere[EBPLS_PTR_TRANS_TYPE] = $trans_type;
                 }
                 if ($permit_type != NULL) {
                     $strWhere[EBPLS_PTR_PERMIT_TYPE] = $permit_type;
                 }
             } else {
                 if (EBPLS_PDR_PR_TYPE_FEE == $this->m_strType) {
                     $strWhere[EBPLS_PFR_PERMIT_TYPE] = $permit_type;
                     if ($trans_type != NULL) {
                         $strWhere[EBPLS_PFR_TRANS_TYPE] = $trans_type;
                     }
                     if ($permit_type != NULL) {
                         $strWhere[EBPLS_PFR_PERMIT_TYPE] = $permit_type;
                     }
                 }
             }
         }
     }
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder[$this->m_strPrimaryKey] = $this->m_strPrimaryKey;
     }
     $strValues[] = "*";
     $result = ebpls_select_data_bypage($this->m_dbLink, $this->m_strTable, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSPermitDefaultRequirements object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSPermitDefaultRequirements($this->m_dbLink, false);
             //print_r($result["result"][$i]);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
示例#11
0
 function findBusinessCTC($ctc_code, $company, $address, $org_type, $bus_nature, $date_issued, $page, $maxrec = 10, $orderkey = CTC_DATE_ISSUED, $is_desc = true)
 {
     if ($ctc_code != NULL) {
         $strWhere[CTC_CODE] = $ctc_code;
     }
     if ($company != NULL) {
         $strWhere[CTC_COMPANY] = array("like", "{$company}%");
     }
     if ($address != NULL) {
         $strWhere[CTC_COMPANY_ADDRESS] = array("like", "{$address}%");
     }
     if ($org_type != NULL) {
         $strWhere[CTC_ORGANIZATION_TYPE] = $org_type;
     }
     if ($bus_nature != NULL) {
         $strWhere[CTC_BUSINESS_NATURE] = array("like", "{$bus_nature}%");
     }
     if ($date_issued != NULL) {
         $strWhere[CTC_DATE_ISSUED] = array("regexp", "{$date_issued}");
     }
     $strValues[] = "*";
     $strOrder[$orderkey] = $orderkey;
     $result = ebpls_select_data_bypage($this->m_dbLink, $this->m_strTable, $strValues, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->m_arrError["err_code"] = $result;
         $this->m_arrError["err_mesg"] = get_db_error();
         return $result;
     } else {
         // transform result to EBPLCTC object
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSCTC($this->m_dbLink, CTC_TYPE_INDIVIDUAL);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }
示例#12
0
 function _searchINTERNAL($trans_type, $permit_type, $status = NULL, $owner_id = NULL, $status_code = NULL, $page = 1, $maxrec = 10, $orderkey = TRANS_TRANSACTION_DATE, $bIsDesc = true)
 {
     global $gPermitTypes, $gTransactionStatusStatus;
     if ($permit_type != NULL && !in_array($permit_type, $gPermitTypes)) {
         $this->setError(-1, "Invalid permit type passed {$permit_type}. Valid values " . join(",", $gPermitTypes) . ".");
         return -1;
     }
     /*
     // removed payment status checking since we are expecting an array/single element status value
     // let the query do the checking, it won't hurt anyway
     if ( $status!=NULL //&& !in_array($status, $gTransactionStatusStatus) ) {
     
     	$this->setError(-1,"Invalid status values $status. Valid values " . join(",",$gTransactionStatusStatus) . ".");
     	return -1;
     
     }
     */
     if (!is_numeric($page)) {
         $this->setError(-1, "Invalid page value, value not numeric {$page}");
         return -1;
     }
     if (!is_numeric($maxrec)) {
         $this->setError(-1, "Invalid maxrec value, value not numeric {$maxrec}");
         return -1;
     }
     if ($permit_type != NULL) {
         $strWhere[TRANS_PERMIT_TYPE] = $permit_type;
     }
     if ($status != NULL) {
         if (is_array($status)) {
             $strWhere[TRANS_TRANSACTION_STATUS] = array("IN", "('" . join($status, "','") . "')");
         } else {
             $strWhere[TRANS_TRANSACTION_STATUS] = $status;
         }
     }
     if ($owner_id != NULL) {
         if (is_array($owner_id)) {
             $str_owner_id_list = " ( " . implode(",", $owner_id) . ")";
             $strWhere[TRANS_OWNER_ID] = array(" IN ", $str_owner_id_list);
         } else {
             $strWhere[TRANS_OWNER_ID] = $onwer_id;
         }
     }
     // permit code
     if ($status_code != NULL) {
         // depends on status provided
         switch ($status) {
             case TRANS_STATUS_ASSESSMENT:
                 $strWhere[TRANS_APPLICATION_CODE] = $status_code;
                 break;
             case TRANS_STATUS_PAYMENT:
                 $strWhere[TRANS_ASSESSMENT_CODE] = $status_code;
                 break;
             case TRANS_STATUS_APPROVAL:
                 $strWhere[TRANS_PAYMENT_CODE] = $status_code;
                 break;
             case TRANS_STATUS_RELEASED:
             case TRANS_STATUS_REJECTED:
                 $strWhere[TRANS_APPROVAL_CODE] = $status_code;
                 break;
             default:
                 $this->debug("Invalid search status {$status}!\n");
                 break;
         }
     }
     if ($trans_type != NULL) {
         $strWhere[TRANS_TYPE] = $trans_type;
     }
     // select all columns
     $strValues[] = "*";
     if ($orderkey != NULL) {
         $strOrder[$orderkey] = $orderkey;
     } else {
         $strOrder = $orderkey;
     }
     $result = ebpls_select_data_bypage($this->m_dbLink, EBPLS_TRANSACTION_TABLE, $strValues, $strWhere, NULL, $strOrder, $bIsDesc ? "DESC" : "ASC", $page, $maxrec);
     if (!is_array($result) && $result < 0) {
         $this->setError($result, get_db_error());
         return $result;
     } else {
         // transform result to EBPLSTransaction
         for ($i = 0; $i < count($result["result"]); $i++) {
             $records[$i] = new EBPLSTransaction($this->m_dbLink);
             $records[$i]->setData(NULL, $result["result"][$i]);
         }
         $result["result"] = $records;
         return $result;
     }
 }