<% iPageSize = 20 'MDBPATH = "c:\websites\malaysiabudgethotel234\malaysiabudgethotel.com\_private\malaysiabudgethotel.mdb" '// Development Notebook 'MDBPATH = "e:\inetpub\wwwroot\MalaysiaTravel\_Private\malaysiabudgethotel.mdb" forumDB = "driver={MySQL ODBC 3.51 Driver};server=czehoul.easycgimysql.com;uid=jamietan;pwd=ych55190;database=budget_forum" mbhDB = "driver={MySQL ODBC 3.51 Driver};server=czehoul.easycgimysql.com;uid=jamie;pwd=ych55190;database=malaysia_budget_hotel" 'Domainname = "localhost/MalaysiaTravel" DirTour = Server.MapPath("../tours/") & "\" DirHotel = Server.MapPath("../accommodation/") & "\" DirHotelRsv = Server.MapPath("../hotel-rsv-req/") & "\" DirInvoice = Server.MapPath("../invoice/") & "\" DirVoucher = Server.MapPath("../hotel-voucher/") & "\" DirReceipt = Server.MapPath("../hotel-receipt/") & "\" DirTemplate = "c:\websites\malaysiabudgethotel234\malaysiabudgethotel.com\templates\" DirImage = "c:\websites\malaysiabudgethotel234\malaysiabudgethotel.com\image\" DirHotelDirectory = "c:\websites\malaysiabudgethotel234\malaysiabudgethotel.com\directory\hotel\" DirMbhads = "c:\websites\malaysiabudgethotel234\malaysiabudgethotel.com\mbhads\" DirHome = "c:\websites\malaysiabudgethotel234\malaysiabudgethotel.com\" DirAdsInvoice = Server.MapPath("../adsInvoice/") & "\" DirBanInvoice = Server.MapPath("../banInvoice/") & "\" Domainname = "http://malaysiabudgethotel.com" 'Domainname = "http://localhost/MalaysiaTravel" HotelFolder = "accommodation/" UploadsHotelDirVar = "e:\inetpub\wwwroot\MalaysiaTravel\Malaysia_Budget_Hotel" DefaultPhotoWidth = 110 DefaultPhotoHeight = 150 SendUsing = 2 SMTPServer = "mail.malaysiabudgethotel.com" SMTPServerPort = 25 FromEmail = "info@malaysiabudgethotel.com" TourEmail = "info@malaysiabudgethotel.com" EmailUser = "info@malaysiabudgethotel.com" EmailPassword = "tan1cheng" SMTPAuthenticate = 1 uploadsDirVar = Server.MapPath("../mbhads/photos/") & "\" BannerDirVar = Server.MapPath("../banner/") & "\" DirTourRsv = Server.MapPath("../tour-rsv-req/") & "\" DirTourInvoice = Server.MapPath("../tour-invoice/") & "\" DirTourVoucher = Server.MapPath("../tour-voucher/") & "\" USD = 3.4 %> <% Function GetHash(ByVal Source) QString = "Source=" & Source 'URL = "http://219.93.203.212:90/DotNet/SHA1Hash.aspx" URL = "https://www.mobile88.com/DotNet/SHA1Hash.aspx" 'URL = "http://www.mobile88.com/DotNet/SHA1Hash.aspx" 'Response.Write "
" & QString Dim strReturn, TryNo 'Response.Write Source & "
" strReturn = "" TryNo = 1 'While InStr(strReturn,"Success") <= 0 and TryNo <= 3 'F Set xobj = Server.CreateObject ("MSXML2.ServerXMLHTTP") xobj.open "POST", URL, false xobj.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" xobj.send QString strReturn = xobj.responseText 'Response.Write "

strReturn: " & strReturn & "
" Set xobj = nothing GetHash = Mid(strReturn,InStr(strReturn,"")+6,InStr(strReturn,"")-7) ' TryN End Function %> <% '-------------------------------------------------------------------- ' Microsoft ADO ' ' (c) 1996 Microsoft Corporation. All Rights Reserved. ' ' ' ' ADO constants include file for VBScript ' '-------------------------------------------------------------------- '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- CursorOptionEnum Values ---- Const adHoldRecords = &H00000100 Const adMovePrevious = &H00000200 Const adAddNew = &H01000400 Const adDelete = &H01000800 Const adUpdate = &H01008000 Const adBookmark = &H00002000 Const adApproxPosition = &H00004000 Const adUpdateBatch = &H00010000 Const adResync = &H00020000 Const adNotify = &H00040000 '---- LockTypeEnum Values ---- Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 '---- ExecuteOptionEnum Values ---- Const adRunAsync = &H00000010 '---- ObjectStateEnum Values ---- Const adStateClosed = &H00000000 Const adStateOpen = &H00000001 Const adStateConnecting = &H00000002 Const adStateExecuting = &H00000004 '---- CursorLocationEnum Values ---- Const adUseNone = 1 Const adUseServer = 2 Const adUseClient = 3 Const adUseClientBatch = 3 '---- DataTypeEnum Values ---- Const adEmpty = 0 Const adTinyInt = 16 Const adSmallInt = 2 Const adInteger = 3 Const adBigInt = 20 Const adUnsignedTinyInt = 17 Const adUnsignedSmallInt = 18 Const adUnsignedInt = 19 Const adUnsignedBigInt = 21 Const adSingle = 4 Const adDouble = 5 Const adCurrency = 6 Const adDecimal = 14 Const adNumeric = 131 Const adBoolean = 11 Const adError = 10 Const adUserDefined = 132 Const adVariant = 12 Const adIDispatch = 9 Const adIUnknown = 13 Const adGUID = 72 Const adDate = 7 Const adDBDate = 133 Const adDBTime = 134 Const adDBTimeStamp = 135 Const adBSTR = 8 Const adChar = 129 Const adVarChar = 200 Const adLongVarChar = 201 Const adWChar = 130 Const adVarWChar = 202 Const adLongVarWChar = 203 Const adBinary = 128 Const adVarBinary = 204 Const adLongVarBinary = 205 '---- FieldAttributeEnum Values ---- Const adFldMayDefer = &H00000002 Const adFldUpdatable = &H00000004 Const adFldUnknownUpdatable = &H00000008 Const adFldFixed = &H00000010 Const adFldIsNullable = &H00000020 Const adFldMayBeNull = &H00000040 Const adFldLong = &H00000080 Const adFldRowID = &H00000100 Const adFldRowVersion = &H00000200 Const adFldCacheDeferred = &H00001000 '---- EditModeEnum Values ---- Const adEditNone = &H0000 Const adEditInProgress = &H0001 Const adEditAdd = &H0002 '---- RecordStatusEnum Values ---- Const adRecOK = &H0000000 Const adRecNew = &H0000001 Const adRecModified = &H0000002 Const adRecDeleted = &H0000004 Const adRecUnmodified = &H0000008 Const adRecInvalid = &H0000010 Const adRecMultipleChanges = &H0000040 Const adRecPendingChanges = &H0000080 Const adRecCanceled = &H0000100 Const adRecCantRelease = &H0000400 Const adRecConcurrencyViolation = &H0000800 Const adRecIntegrityViolation = &H0001000 Const adRecMaxChangesExceeded = &H0002000 Const adRecObjectOpen = &H0004000 Const adRecOutOfMemory = &H0008000 Const adRecPermissionDenied = &H0010000 Const adRecSchemaViolation = &H0020000 Const adRecDBDeleted = &H0040000 '---- GetRowsOptionEnum Values ---- Const adGetRowsRest = -1 '---- PositionEnum Values ---- Const adPosUnknown = -1 Const adPosBOF = -2 Const adPosEOF = -3 '---- enum Values ---- Const adBookmarkCurrent = 0 Const adBookmarkFirst = 1 Const adBookmarkLast = 2 '---- MarshalOptionsEnum Values ---- Const adMarshalAll = 0 Const adMarshalModifiedOnly = 1 '---- AffectEnum Values ---- Const adAffectCurrent = 1 Const adAffectGroup = 2 Const adAffectAll = 3 '---- FilterGroupEnum Values ---- Const adFilterNone = 0 Const adFilterPendingRecords = 1 Const adFilterAffectedRecords = 2 Const adFilterFetchedRecords = 3 Const adFilterPredicate = 4 '---- SearchDirection Values ---- Const adSearchForward = 0 Const adSearchBackward = 1 '---- ConnectPromptEnum Values ---- Const adPromptAlways = 1 Const adPromptComplete = 2 Const adPromptCompleteRequired = 3 Const adPromptNever = 4 '---- ConnectModeEnum Values ---- Const adModeUnknown = 0 Const adModeRead = 1 Const adModeWrite = 2 Const adModeReadWrite = 3 Const adModeShareDenyRead = 4 Const adModeShareDenyWrite = 8 Const adModeShareExclusive = &Hc Const adModeShareDenyNone = &H10 '---- IsolationLevelEnum Values ---- Const adXactUnspecified = &Hffffffff Const adXactChaos = &H00000010 Const adXactReadUncommitted = &H00000100 Const adXactBrowse = &H00000100 Const adXactCursorStability = &H00001000 Const adXactReadCommitted = &H00001000 Const adXactRepeatableRead = &H00010000 Const adXactSerializable = &H00100000 Const adXactIsolated = &H00100000 '---- XactAttributeEnum Values ---- Const adXactCommitRetaining = &H00020000 Const adXactAbortRetaining = &H00040000 '---- PropertyAttributesEnum Values ---- Const adPropNotSupported = &H0000 Const adPropRequired = &H0001 Const adPropOptional = &H0002 Const adPropRead = &H0200 Const adPropWrite = &H0400 '---- ErrorValueEnum Values ---- Const adErrInvalidArgument = &Hbb9 Const adErrNoCurrentRecord = &Hbcd Const adErrIllegalOperation = &Hc93 Const adErrInTransaction = &Hcae Const adErrFeatureNotAvailable = &Hcb3 Const adErrItemNotFound = &Hcc1 Const adErrObjectInCollection = &Hd27 Const adErrObjectNotSet = &Hd5c Const adErrDataConversion = &Hd5d Const adErrObjectClosed = &He78 Const adErrObjectOpen = &He79 Const adErrProviderNotFound = &He7a Const adErrBoundToCommand = &He7b Const adErrInvalidParamInfo = &He7c Const adErrInvalidConnection = &He7d Const adErrStillExecuting = &He7f Const adErrStillConnecting = &He81 '---- ParameterAttributesEnum Values ---- Const adParamSigned = &H0010 Const adParamNullable = &H0040 Const adParamLong = &H0080 '---- ParameterDirectionEnum Values ---- Const adParamUnknown = &H0000 Const adParamInput = &H0001 Const adParamOutput = &H0002 Const adParamInputOutput = &H0003 Const adParamReturnValue = &H0004 '---- CommandTypeEnum Values ---- Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 '---- SchemaEnum Values ---- Const adSchemaProviderSpecific = -1 Const adSchemaAsserts = 0 Const adSchemaCatalogs = 1 Const adSchemaCharacterSets = 2 Const adSchemaCollations = 3 Const adSchemaColumns = 4 Const adSchemaCheckConstraints = 5 Const adSchemaConstraintColumnUsage = 6 Const adSchemaConstraintTableUsage = 7 Const adSchemaKeyColumnUsage = 8 Const adSchemaReferentialContraints = 9 Const adSchemaTableConstraints = 10 Const adSchemaColumnsDomainUsage = 11 Const adSchemaIndexes = 12 Const adSchemaColumnPrivileges = 13 Const adSchemaTablePrivileges = 14 Const adSchemaUsagePrivileges = 15 Const adSchemaProcedures = 16 Const adSchemaSchemata = 17 Const adSchemaSQLLanguages = 18 Const adSchemaStatistics = 19 Const adSchemaTables = 20 Const adSchemaTranslations = 21 Const adSchemaProviderTypes = 22 Const adSchemaViews = 23 Const adSchemaViewColumnUsage = 24 Const adSchemaViewTableUsage = 25 Const adSchemaProcedureParameters = 26 Const adSchemaForeignKeys = 27 Const adSchemaPrimaryKeys = 28 Const adSchemaProcedureColumns = 29 %> <% Function DisplayByPage (page,order,strSQL,responsePage,cols,colID,colLink,link,del) Dim iPageCount 'The number of pages we get back Dim iPageCurrent 'The page we want to show Dim strOrderBy 'A fake parameter used to illustrate passing them Dim objPagingRs 'The ADODB recordset object Dim iRecordsShown 'Loop controller for displaying just iPageSize records Dim I 'Standard looping var Dim No Dim UID Dim colList Dim c Dim colNo colList = split(cols,",") ' Retrieve page to show or default to 1 If page = "" Then iPageCurrent = 1 Else 'iPageCurrent = CInt(Request.QueryString("page")) iPageCurrent = CInt(Request("page")) End If ' If you're doing this script with a search or something ' you'll need to pass the sql from page to page. I'm just ' paging through the entire table so I just hard coded it. ' What you show is irrelevant to the point of the sample. 'strSQL = "SELECT * FROM sample ORDER BY id;" ' Sept 30, 1999: Code Change ' Based on the non stop questions about how to pass parameters ' from page to page, I'm implementing it so I can stop answering ' the question of how to do it. I personally think this should ' be done based on the specific situation and is clearer if done ' in the same method on all pages, but it's really up to you. ' I'm going to be passing the ORDER BY parameter for illustration. ' This is where you read in parameters you'll need for your query. ' Read in order or default to id If order = "" Then strOrderBy = "id" Else strOrderBy = order End If if adoConn.ConnectionString = "" Then adoConn.open mbhDB end if ' Create recordset and set the page size Set objPagingRS = Server.CreateObject("ADODB.Recordset") objPagingRS.ActiveConnection = adoConn objPagingRS.CursorType = adOpenStatic objPagingRS.CursorLocation = adUseClient objPagingRS.LockType = adLockReadOnly objPagingRS.PageSize = iPageSize ' You can change other settings as with any RS 'objPagingRS.CursorLocation = adUseClient objPagingRS.CacheSize = iPageSize ' Open RS 'objPagingRS.Open strSQL, adoConn, adOpenStatic, adLockReadOnly, adCmdText 'set objPagingRS = adoConn.execute(strSQL) objPagingRS.open strSQL,adoConn,3,2 ' Get the count of the pages using the given page size iPageCount = objPagingRS.PageCount ' If the request page falls outside the acceptable range, ' give them the closest match (1 or max) If iPageCurrent > iPageCount Then iPageCurrent = iPageCount If iPageCurrent < 1 Then iPageCurrent = 1 ' Check page count to prevent bombing when zero results are returned! If iPageCount = 0 Then DisplayByPage = "No records found!" Else ' Move to the selected page objPagingRS.AbsolutePage = iPageCurrent ' Start output with a page x of n line DisplayByPage = DisplayByPage & "

" No=(200*(iPageCurrent-1))+1 DisplayByPage = DisplayByPage & "" if del=true Then DisplayByPage = DisplayByPage & "" End If If Not objPagingRS.EOF Then for c = 0 to ubound(colList) 'Dim colNo colNo = Val(colList(c)) DisplayByPage = DisplayByPage & "" next End If DisplayByPage = DisplayByPage & "" iRecordsShown = 0 Do While iRecordsShown < iPageSize And Not objPagingRS.EOF iRecordsShown = iRecordsShown + 1 DisplayByPage = DisplayByPage & "" if del = true then DisplayByPage = DisplayByPage & "" end if for c = 0 to ubound(colList) 'Dim colNo colNo = Val(colList(c)) If colLink > -1 and colNo = colLink Then DisplayByPage = DisplayByPage & "" Else DisplayByPage = DisplayByPage & "" End If next DisplayByPage = DisplayByPage & "" ' Can't forget to move to the next record! objPagingRS.MoveNext Loop DisplayByPage = DisplayByPage & "
 " & objPagingRs.Fields(colNo).Name & "
" DisplayByPage = DisplayByPage & "

" DisplayByPage = DisplayByPage & "
" DisplayByPage = DisplayByPage & "" DisplayByPage = DisplayByPage & " " & objPagingRs(colNo) & "" DisplayByPage = DisplayByPage & "" DisplayByPage = DisplayByPage & "

 " & objPagingRs(colNo) & "

" DisplayByPage = DisplayByPage & "

" DisplayByPage = DisplayByPage & "" DisplayByPage = DisplayByPage & "" ' All done - close table End If objPagingRS.Close Set objPagingRS = Nothing If iPageCurrent > 1 Then DisplayByPage = DisplayByPage & "[<<Prev]  " End If ' You can also show page numbers: For I = 1 To iPageCount If I = iPageCurrent Then DisplayByPage = DisplayByPage & "" & I & " " Else DisplayByPage = DisplayByPage & "" & I & " " End If Next 'I If iPageCurrent < iPageCount Then DisplayByPage = DisplayByPage & "  [Next>>]" End If End Function %> <% Const TotalCountry = 196 Dim CountryRec(197) CountryRec(0) = "-Please Choose One-" CountryRec(1) = "Albania" CountryRec(2) = "Algeria" CountryRec(3) = "American Samoa" CountryRec(4) = "Andorra" CountryRec(5) = "Angola" CountryRec(6) = "Antigua And Barbuda" CountryRec(7) = "Argentina" CountryRec(8) = "Aruba" CountryRec(9) = "Austria" CountryRec(10) = "Azerbaijan" CountryRec(11) = "Bahamas" CountryRec(12) = "Bahrain" CountryRec(13) = "Bangladesh" CountryRec(14) = "Barbados" CountryRec(15) = "Belgium" CountryRec(16) = "Belize" CountryRec(17) = "Benin" CountryRec(18) = "Bermuda" CountryRec(19) = "Bhutan" CountryRec(20) = "Bolivia" CountryRec(21) = "Botswana" CountryRec(22) = "Bouvet Island" CountryRec(23) = "Brazil" CountryRec(24) = "British Indian Ocean" CountryRec(25) = "Brunei" CountryRec(26) = "Bulgaria" CountryRec(27) = "Burkina Faso" CountryRec(28) = "Burundi" CountryRec(29) = "Byelorussian" CountryRec(30) = "Cameroon" CountryRec(31) = "Canada" CountryRec(32) = "Cape Verde" CountryRec(33) = "Cayman Islands" CountryRec(34) = "Central African Repu" CountryRec(35) = "Chad" CountryRec(36) = "Chile" CountryRec(37) = "China" CountryRec(38) = "Christmas Islands" CountryRec(39) = "Cocos(Keeling) Island" CountryRec(40) = "Colombia" CountryRec(41) = "Comoros" CountryRec(42) = "Congo" CountryRec(43) = "Cook Islands" CountryRec(44) = "Costa Rica" CountryRec(45) = "Cote D'ivoire" CountryRec(46) = "Croatia" CountryRec(47) = "Cuba" CountryRec(48) = "Cyprus" CountryRec(49) = "Czechoslovakia" CountryRec(50) = "Denmark" CountryRec(51) = "Djibouti" CountryRec(52) = "Dominica" CountryRec(53) = "Dominican Republic" CountryRec(54) = "East Timor" CountryRec(55) = "Ecuador" CountryRec(56) = "Egypt" CountryRec(57) = "El Salvador" CountryRec(58) = "Equatorian Guinea" CountryRec(59) = "Ethiopia" CountryRec(60) = "Faeroe Islands" CountryRec(61) = "Falkland Islands" CountryRec(62) = "Fiji" CountryRec(63) = "Finland" CountryRec(64) = "France" CountryRec(65) = "French Southern Terr" CountryRec(66) = "Gabon" CountryRec(67) = "Gambia" CountryRec(68) = "Germany,Federal Republic" CountryRec(69) = "Ghana" CountryRec(70) = "Gibraltar" CountryRec(71) = "Grenada" CountryRec(72) = "Guatemala" CountryRec(73) = "Guinea-Bissau" CountryRec(74) = "Guyana" CountryRec(75) = "Haiti" CountryRec(76) = "Heard And Mcdonald Island" CountryRec(77) = "Hong Kong" CountryRec(78) = "Hungary" CountryRec(79) = "Iceland" CountryRec(80) = "Indonesia" CountryRec(81) = "Iraq" CountryRec(82) = "Ireland" CountryRec(83) = "Isle Of Man" CountryRec(84) = "Israel" CountryRec(85) = "Italy" CountryRec(86) = "Jamaica" CountryRec(87) = "Japan" CountryRec(88) = "Jordan" CountryRec(89) = "Kampuchea,Democratic" CountryRec(90) = "Kazakstan" CountryRec(91) = "Kenya" CountryRec(92) = "Kirgystan" CountryRec(93) = "Kuwait" CountryRec(94) = "Lao People's Democratic" CountryRec(95) = "Lebanon" CountryRec(96) = "Lesotho" CountryRec(97) = "Libyan Arab Jamahiri" CountryRec(98) = "Liechtenstein" CountryRec(99) = "Luxemborg" CountryRec(100) = "Macau" CountryRec(101) = "Malawi" CountryRec(102) = "Malaysia" CountryRec(103) = "Maldives" CountryRec(104) = "Malta" CountryRec(105) = "Marshall Islands" CountryRec(106) = "Martinique" CountryRec(107) = "Mauritinia" CountryRec(108) = "Mauritius" CountryRec(109) = "Mexico" CountryRec(110) = "Micronesia" CountryRec(111) = "Mongolia" CountryRec(112) = "Morocco" CountryRec(113) = "Mozambique" CountryRec(114) = "Myanmar" CountryRec(115) = "Namibia" CountryRec(116) = "Nauru" CountryRec(117) = "Nepal" CountryRec(118) = "Netherlands" CountryRec(119) = "Neutral Zone" CountryRec(120) = "New Caledonia" CountryRec(121) = "New Zealand" CountryRec(122) = "Nicaragua" CountryRec(123) = "Nigeria" CountryRec(124) = "Niue" CountryRec(125) = "Norway" CountryRec(126) = "Oman" CountryRec(127) = "Others" CountryRec(128) = "Pakistan" CountryRec(129) = "Palau" CountryRec(130) = "Panama" CountryRec(131) = "Papua New Guinea" CountryRec(132) = "Paraguay" CountryRec(133) = "Peru" CountryRec(134) = "Philippines" CountryRec(135) = "Pitcairn" CountryRec(136) = "Poland" CountryRec(137) = "Portugal" CountryRec(138) = "Puerto Rico" CountryRec(139) = "Qatar" CountryRec(140) = "Reunion" CountryRec(141) = "Romania" CountryRec(142) = "Russia" CountryRec(143) = "Rwanda" CountryRec(144) = "Saint Vincent And Th" CountryRec(145) = "Samoa" CountryRec(146) = "San Marino" CountryRec(147) = "Sao Tome And Princip" CountryRec(148) = "Saudi Arabia" CountryRec(149) = "Scotland" CountryRec(150) = "Senegal" CountryRec(151) = "Seychelles" CountryRec(152) = "Sierra Leone" CountryRec(153) = "Singapore" CountryRec(154) = "Solomon Islands" CountryRec(155) = "Somalia" CountryRec(156) = "South Africa" CountryRec(157) = "South Korea" CountryRec(158) = "Spain" CountryRec(159) = "Sri Lanka" CountryRec(160) = "St.Pierre And Miquel" CountryRec(161) = "Sudan" CountryRec(162) = "Suriname" CountryRec(163) = "Svalbard And Jan May" CountryRec(164) = "Swaziland" CountryRec(165) = "Sweden" CountryRec(166) = "Switzerland" CountryRec(167) = "Syrian Arab Republic" CountryRec(168) = "Taiwan" CountryRec(169) = "Tajikestan" CountryRec(170) = "Tanzania,United Republic" CountryRec(171) = "Thailand" CountryRec(172) = "Togo" CountryRec(173) = "Tokelau" CountryRec(174) = "Tonga" CountryRec(175) = "Trinidad And Tobago" CountryRec(176) = "Tunisia" CountryRec(177) = "Turks And Caicos Island" CountryRec(178) = "Tuvalu" CountryRec(179) = "Uganda" CountryRec(180) = "Ukrainian Ssr" CountryRec(181) = "United Kingdom" CountryRec(182) = "United States" CountryRec(183) = "Uruguay" CountryRec(184) = "Uzbekistan" CountryRec(185) = "Vanuatu" CountryRec(186) = "Vatican City State" CountryRec(187) = "Venezuela" CountryRec(188) = "Vietnam" CountryRec(189) = "Virgin Islands (U.S.)" CountryRec(190) = "Wallis And Futuna Island" CountryRec(191) = "Western Samoe" CountryRec(192) = "Yemen,Democratic" CountryRec(193) = "Yugoslavia" CountryRec(194) = "Zaire" CountryRec(195) = "Zambia" CountryRec(196) = "Zimbabwe" %> <% Const TotalState = 18 Dim MalaysiaState(19) MalaysiaState(0) = "-Please Choose One-" MalaysiaState(1) = "Cameron Highlands" MalaysiaState(2) = "Genting Highlands" MalaysiaState(3) = "Johor" MalaysiaState(4) = "Kedah" MalaysiaState(5) = "Kelantan" MalaysiaState(6) = "Kuala Lumpur" MalaysiaState(7) = "Melaka" MalaysiaState(8) = "Negeri Sembilan" MalaysiaState(9) = "Perak" MalaysiaState(10) = "Perlis" MalaysiaState(11) = "Pulau Langkawi" MalaysiaState(12) = "Pulau Perhentian" MalaysiaState(13) = "Pulau Redang" MalaysiaState(14) = "Pulau Tioman" MalaysiaState(15) = "Selangor" MalaysiaState(16) = "Seremban" MalaysiaState(17) = "Terengganu" MalaysiaState(18) = "Sabah" MalaysiaState(19) = "Sarawak" %> <% Dim forumDB Dim mbhDB dim MDBPATH dim DirTour dim DirHotel dim DirHotelRsv dim DirAdsInvoice dim DirInvoice dim DirVoucher dim DirReceipt dim DirTourReceipt dim DirTemplate dim DirImage dim DirHotelDirectory dim DirMbhads dim DirHome dim HotelFolder Dim adoConn Dim memberConn Dim Country Dim iPageSize ' page size Dim Domainname Dim UploadsHotelDirVar Dim DefaultPhotoWidth Dim DefaultPhotoHeight Dim SendUsing Dim SMTPServer Dim SMTPServerPort Dim FromEmail Dim TourEmail Dim EmailUser Dim EmailPassword Dim SMTPAuthenticate Dim USD Dim UrgentAdminFee dim DirTourRsv dim DirTourInvoice dim DirTourVoucher Dim uploadsDirVar Dim BannerDirVar Dim DirBanInvoice Set adoConn = Server.CreateObject("ADODB.Connection") Set memberConn = Server.CreateObject("ADODB.Connection") 'memberConn.Open forumDB session.lcid=2057 Function CheckSelected(Choice1,Choice2) If Choice1 = Choice2 Then CheckSelected = "selected" End If End Function Function GetNextNo(ByVal PKey, ByVal TableName) Dim adoRs strSQL = "SELECT NextNo FROM tbNextPKey WHERE PKey = '" & PKey & "' AND TableName = '" & TableName & "'" if adoConn.ConnectionString = "" then adoConn.open mbhDB end if Set adoRs = adoConn.execute(strSQL) PKey = Replace(PKey, "'", "''") If Not adoRs.eof Then If Not IsNull(adoRs.Fields("NextNo")) Then GetNextNo = adoRs.Fields("NextNo") adoRs.Close adoRs.Open "UPDATE tbNextPKey SET NextNo = " & GetNextNo + 1 & " WHERE PKey = '" & PKey & "'AND TableName = '" & TableName & "'", adoConn Else GetNextNo = -1 End If Else GetNextNo = -1 End If End Function Function Val(strVal) If strVal = "" Or Not IsNumeric(strVal) Then Val = 0 Else Val = CSng(strVal) End If End Function Function IsLoggedIn() if Session("UserID") = "" Then response.redirect "Login.asp?ErrMsg=" else IsLoggedIn=true end if End Function Function IIf(Expression,TruePart,FalsePart) If Expression = True Then IIf=TruePart Else IIf=FalsePart End If End Function Function CurrentDir() Dim Destination, Dest, Pos Destination = split(Request.ServerVariables("URL"),"/") Dest = Destination(ubound(Destination)-1) 'Pos = InStr(Dest,".") 'CurrentDir = Left(Dest,Pos-1) CurrentDir=Dest End Function Function GetHotelNo(HotelCode) Dim adoRs, HotelNo Set adoRs = Server.CreateObject("ADODB.recordset") adoRs.open "SELECT * FROM tbHotel WHERE HotelCode = '" & HotelCode & "'", adoConn HotelNo = adoRs("HotelNo") adoRs.Close GetHotelNo = HotelNo End Function Function GetPhotoWidth(Orientation) If Orientation = "Portrait" Then GetPhotoWidth = DefaultPhotoWidth Else GetPhotoWidth = DefaultPhotoHeight End If End Function Function GetPhotoHeight(Orientation) If Orientation = "Portrait" Then GetPhotoHeight = DefaultPhotoHeight Else GetPhotoHeight = DefaultPhotoWidth End If End Function Function ISODate(dteDate) If IsDate(dteDate) = True Then DIM dteDay, dteMonth, dteYear dteDay = Day(dteDate) dteMonth = Month(dteDate) dteYear = Year(dteDate) ISODate = dteYear & _ "-" & Right(Cstr(dteMonth + 100),2) & _ "-" & Right(Cstr(dteDay + 100),2) Else ISODate = Null End If End Function Function GetHotel(HotelCode) Dim adoRs, Hotel Set adoRs = Server.CreateObject("ADODB.recordset") adoRs.open "SELECT * FROM tbHotel WHERE HotelCode = '" & HotelCode & "'", adoConn Hotel = adoRs("Hotel") adoRs.Close GetHotel = Hotel End Function Function SendEmail(FrmWho,ToWho,CcWho,BccWho,Sbj,Bdy,Atm) Dim sch, cdoConfig, cdoMessage, strHTML sch = "http://schemas.microsoft.com/cdo/configuration/" Set cdoConfig = CreateObject("CDO.Configuration") With cdoConfig.Fields .Item(sch & "sendusing") = SendUsing .Item(sch & "smtpserver") = SMTPServer .Item(sch & "smtpserverport") = SMTPServerPort .Item(sch & "sendusername") = EmailUser .Item(sch & "sendpassword") = EmailPassword .Item(sch & "smtpauthenticate") = SMTPAuthenticate .update End With Set cdoMessage = CreateObject("CDO.Message") ' build HTML for message body strHTML = "" strHTML = strHTML & "" strHTML = strHTML & "" strHTML = strHTML & Bdy strHTML = strHTML & "" strHTML = strHTML & "" Dim j Dim FilesToAttach FilesToAttach = Split(Atm, ";") For j = 0 To UBound(FilesToAttach) ' Create the mail attachment Dim oMailAttachment 'as MailAttachment = New 'MailAttachment(FilesToAttach(j)) ' Adding the attachment/s to the email message cdoMessage.AddAttachment FilesToAttach(j) Next With cdoMessage Set .Configuration = cdoConfig .From = FrmWho .To = ToWho .CC = CcWho .BCC = BccWho .Subject = Sbj .HTMLBody = strHTML 'if Atm <> "" Then ' .AddAttachment Atm 'End If On Error Resume Next .Send SendEmail=Err 'response.write Err End With 'On Error Resume Next '.send 'SendEmail=Err 'end with Set cdoMessage = Nothing Set cdoConfig = Nothing End Function Function GetNextUserID () Dim adoRs, UserID strSQL = "SELECT MAX(user_id) AS total FROM phpbb_users" set adoRs = memberConn.execute(strSQL) If not adoRs.eof Then UserID = adoRs("total") end if adoRs.Close GetNextUserID = UserID + 1 End Function Function GetDestByURL(Pos,URL) Dim urlStr, pgStr, dest urlStr=Split(URL,"/") If Pos = 0 Then pgStr = Split(urlStr(ubound(urlStr)),".") dest = pgStr(0) End If If Pos = 1 Then dest = urlStr(ubound(urlStr)-1) End If GetDestByURL = dest End Function Function MySQLDate(Dt) MySQLDate = Year(Dt) & "-" & Right("0" & Month(Dt),2) & "-" & Right("0" & Day(Dt),2) End Function Function ReadFileOnly(TemplatePath) Dim filesys, filetxt , StrLineTxt Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set filesys = CreateObject("Scripting.FileSystemObject") Set filetxt = filesys.OpenTextFile(TemplatePath, ForReading, False) Do While Not filetxt.AtEndOfStream StrLineTxt = StrLineTxt & filetxt.ReadLine Loop filetxt.Close ReadFileOnly = StrLineTxt End Function Sub WriteFileOnly(FilePath, StrLineTxt) Dim filesys, filetxt Dim getname, path Set filesys = CreateObject("Scripting.FileSystemObject") Set filetxt = filesys.CreateTextFile(FilePath, True) path = filesys.GetAbsolutePathName(FilePath) getname = filesys.GetFileName(path) filetxt.WriteLine(StrLineTxt) filetxt.Close If filesys.FileExists(path) Then Response.Write ("Your file, '" & getname & "', has been created.") End If End Sub function Rnd5(no) dim val, x no = FormatNumber(no,1) val = (no * 10) mod 10 if val <= 3 then x = no - (val/10) elseif val > 3 and val <= 7 then x = (no - (val/10)) + 0.5 elseif val >=8 then x = (no - (val/10)) + 1 end if 'response.write "round no=" & x Rnd5 = x End Function Function IsAllotment(hotel,room) Dim adoRs, strSQL, HotelAllotment, allotment, AllotmentFlag Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "SELECT IsAllotment FROM tbHotel WHERE HotelNo = " & hotel adoRs.Open strSQL, adoConn HotelAllotment = adoRs("IsAllotment") adoRs.Close strSQL = "SELECT Allotment FROM tbHotelRoom WHERE HotelNo = " & hotel & " AND RoomCode = '" & room & "'" adoRs.Open strSQL, adoConn If Not adoRs.EOF Then allotment = adoRs("Allotment") Else allotment = 0 End If AllotmentFlag = True If HotelAllotment = 0 Then AllotmentFlag = False Else If CInt(allotment) = 0 Then AllotmentFlag = False End If End If IsAllotment = AllotmentFlag End Function Function GetRefNo(BookingNo) GetRefNo = "MBH/" & Year(Date()) & "/H" & right(("0000" & BookingNo),5) End Function Function GetAdsRefNo(AdsNo) GetAdsRefNo = "MBH/" & Year(Date()) & "/A" & right(("0000" & AdsNo),5) End Function Function GetBanRefNo(AdsNo) GetBanRefNo = "MBH/" & Year(Date()) & "/B" & right(("0000" & AdsNo),5) End Function Function GetMerchantCode() Dim adoRs Set adoRs = Server.CreateObject("ADODB.recordset") adoRs.Open "SELECT * FROM tbOnlinePayment", adoConn GetMerchantCode = adoRs("MerchantCode") End Function Function GetSignature(PaymentId,RefNo,Amount,Status) Dim adoRs, MerchantKey, MerchantCode, Cur, Str Set adoRs = Server.CreateObject("ADODB.recordset") adoRs.Open "SELECT * FROM tbOnlinePayment", adoConn MerchantKey = adoRs("MerchantKey") MerchantCode = adoRs("MerchantCode") Cur = adoRs("Currency") Str = MerchantKey & MerchantCode & PaymentId & RefNo & Replace(Replace(Amount,".",""),",","") & Cur & Status GetSignature = GetHash(Str) End Function Function SecurePayment(HTTP_REFERER,PaymentId,RefNo,Amount,Signature,Status) Dim ErrMsg, ErrCnt, http, url, referrer ErrCnt = 0 http = split(HTTP_REFERER,"//") url = split(http(1),"/") referrer = http(0) & "//" & url(0) If lcase(referrer) <> "https://www.mobile88.com" Then ErrCnt = ErrCnt + 1 ErrMsg = "HTTP_REFERER is not from https://www.mobile88.com" & "
" End If If Session("Amount") <> Amount Then ErrCnt = ErrCnt + 1 ErrMsg = ErrMsg & "Payment amount from Mobile88 does not match ours" & "
" End If 'response.write "my sign is " & GetSignature(PaymentId,RefNo,Amount,Status) & "
" If GetSignature(PaymentId,RefNo,Amount,Status) <> Signature Then ErrCnt = ErrCnt + 1 ErrMsg = ErrMsg & "Signatrue from Mobile88 does not match ours" End If If ErrCnt = 0 Then SecurePayment = 1 Else Bdy = "There is an unsecured payment for booking " & Session("RefNo") & " with the following errors." & "
" Bdy = Bdy & ErrMsg SendEmail FromEmail,FromEmail,"","","Unsecure Payment - " & Session("RefNo"),Bdy,"" SecurePayment = 0 End If End Function Function SendToPaymexInq(byval MerchantCode, RefNo, Amount) QString="MerchantCode=" & MerchantCode & "&RefNo=" & RefNo & "&Amount=" & Amount URL = "https://www.mobile88.com/epayment/enquiry.asp" strReturn = "" Set xobj = Server.CreateObject ("MSXML2.ServerXMLHTTP") xobj.open "POST", URL, false xobj.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" xobj.send QString strReturn = xobj.responseText Set xobj = nothing SendToPaymexInq = strReturn End Function Function CheckRoomRate(HotelNo, RoomCode, AccoDate) Dim adoRsRT, strSQL, Normal, Rate, IsNormal Set adoRsRT = Server.CreateObject("ADODB.recordset") strSQL = "SELECT * FROM tbHotelRateType WHERE HotelNo = " & HotelNo & " ORDER BY RateTypeNo DESC" adoRsRT.Open strSQL, adoConn IsNormal = true 'response.write "AccoDate=" & AccoDate & "
" Do While Not adoRsRT.EOF 'response.write adoRsRT("RateTypeNo") & "
" 'response.write "PublicHOliday=" & adoRsRT("PublicHoliday") & "
" 'response.write "SchoolHOliday=" & adoRsRT("SchoolHoliday") & "
" 'response.write "Other=" & adoRsRT("Other") & "
" If adoRsRT("PublicHoliday")=0 and adoRsRT("SchoolHoliday")=0 and adoRsRT("Other")=0 and adoRsRT("Friday")=0 and adoRsRT("Saturday")=0 and adoRsRT("Sunday")=0 Then Normal = adoRsRT("RateTypeNo") End If If adoRsRT("Other") = 1 Then ' if other holiday charge other holiday rate 'response.write "Other flag" If IsOtherHoliday(AccoDate,adoRsRT("RateTypeNo")) Then Rate = GetRate(HotelNo,RoomCode,adoRsRT("RateTypeNo")) 'response.write HotelNo & "
" 'response.write adoRsRT("RateTypeNo") & "
" IsNormal = false Exit Do End If End If ' if publicholiday charge publicholiday rate If adoRsRT("PublicHoliday") = 1 Then 'response.write "PublicHoliday flag" If IsHoliday(AccoDate) Then Rate = GetRate(HotelNo,RoomCode,adoRsRT("RateTypeNo")) IsNormal = false Exit Do End If End If If adoRsRT("SchoolHoliday") = 1 Then ' if schoolholiday charge schoolholiday rate 'response.write "SchoolHoliday flag" If IsSchoolHoliday(AccoDate) Then Rate = GetRate(HotelNo,RoomCode,adoRsRT("RateTypeNo")) IsNormal = false Exit Do End If End If If adoRsRT("Friday") = 1 and Weekday(DateValue(AccoDate)) = 6 Then ' if friday 'response.write "Friday
" Rate = GetRate(HotelNo,RoomCode,adoRsRT("RateTypeNo")) IsNormal = false Exit Do End If If adoRsRT("Saturday") = 1 and Weekday(DateValue(AccoDate)) = 7 Then ' if saturday 'response.write "Saturday
" Rate = GetRate(HotelNo,RoomCode,adoRsRT("RateTypeNo")) IsNormal = false Exit Do End If If adoRsRT("Sunday") = 1 and Weekday(DateValue(AccoDate)) = 1 Then ' if sunday 'response.write "Sunday
" Rate = GetRate(HotelNo,RoomCode,adoRsRT("RateTypeNo")) IsNormal = false Exit Do 'Else 'normal 'Rate = GetRate(HotelNo,RoomCode,Normal) 'Exit Do End If adoRsRT.MoveNext Loop adoRsRT.Close If IsNormal Then Rate = GetRate(HotelNo,RoomCode,Normal) End If CheckRoomRate = Rate End Function Function IsHoliday(AccoDate) Dim adoRsHol, strSQL, holiday Set adoRsHol = Server.CreateObject("ADODB.recordset") holiday = false strSQL = "SELECT * FROM tbHoliday WHERE (HolidayDate = '" & MySQLDate(DateValue(AccoDate)) & "' AND PublicHoliday = 1) OR (HolidayDate = '" & MySQLDate(DateValue(AccoDate)) & "' AND EvePublicHoliday=1)" adoRsHol.Open strSQL, adoConn If Not adoRsHol.EOF Then holiday = true End If adoRsHol.Close IsHoliday = holiday End Function Function IsSchoolHoliday(AccoDate) Dim adoRsHol, strSQL, holiday Set adoRsHol = Server.CreateObject("ADODB.recordset") holiday = false strSQL = "SELECT * FROM tbHoliday WHERE HolidayDate = '" & MySQLDate(DateValue(AccoDate)) & "' AND SchoolHoliday = 1" adoRsHol.Open strSQL, adoConn If Not adoRsHol.EOF Then holiday = true End If adoRsHol.Close IsSchoolHoliday = holiday End Function Function IsOtherHoliday(AccoDate, RateTypeNo) Dim adoRsHol, strSQL, holiday Set adoRsHol = Server.CreateObject("ADODB.recordset") holiday = false strSQL = "SELECT * FROM tbHotelRateTypeOther WHERE RateDate = '" & MySQLDate(DateValue(AccoDate)) & "' AND RateTypeNo = " & RateTypeNo adoRsHol.Open strSQL, adoConn 'response.write strSQL & "
" If Not adoRsHol.EOF Then holiday = true End If adoRsHol.Close IsOtherHoliday = holiday End Function Function GetRate(HotelNo,RoomCode,RateTypeNo) Dim adoRsRate, strSQL, rate Set adoRsRate = Server.CreateObject("ADODB.recordset") strSQL = "SELECT * FROM tbHotelRoomRate WHERE HotelNo = " & HotelNo & " AND RoomCode = '" & RoomCode & "' AND RateTypeNo = " & RateTypeNo adoRsRate.Open strSQL, adoConn rate = adoRsRate("Rate") adoRsRate.Close 'response.write strSQL & "
" 'rate = 0 GetRate = rate End Function Function GetRunningNo() Dim adoRs strSQL = "SELECT RunningNo FROM tbOnlinePayment" if adoConn.ConnectionString = "" then adoConn.open mbhDB end if Set adoRs = adoConn.execute(strSQL) PKey = Replace(PKey, "'", "''") If Not adoRs.eof Then If Not IsNull(adoRs.Fields("RunningNo")) Then GetRunningNo = adoRs.Fields("RunningNo") adoRs.Close adoRs.Open "UPDATE tbOnlinePayment SET RunningNo = " & GetRunningNo + 1 , adoConn Else GetRunningNo = -1 End If Else GetRunningNo = -1 End If End Function Function IsUrgentBooking(CheckInDate) 'booking 7 days in advance (incl. sat & sun) is consider as urgent booking If DateDiff("d",Date(),DateValue(CheckInDate)) <= 7 Then IsUrgentBooking = True Else IsUrgentBooking = False End If End Function Function CheckRoomAvailability(HotelNo,RoomCode,AccoDate,NoUnit) Dim adoRs, strSQL Dim Allotment, BookedUnit, HeldUnit, AvailableUnit, BlockedUnit Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "SELECT Allotment FROM tbHotelRoom WHERE HotelNo = " & HotelNo & " AND RoomCode = '" & RoomCode & "'" adoRs.Open strSQL, adoConn Allotment = CInt(adoRs("Allotment")) adoRs.Close strSQL = "SELECT NoRoom FROM tbHotelBooking WHERE HotelNo = " & HotelNo & " AND RoomCode = '" & RoomCode & "' AND CheckIn <= '" & MySQLDate(AccoDate) & "' AND CheckOut > '" & MySQLDate(AccoDate) & "'" adoRs.Open strSQL, adoConn If Not adoRs.EOF Then BookedUnit = CInt(adoRs("NoRoom")) Else BookedUnit = 0 End If adoRs.Close strSQL = "SELECT SessionId, NoRoom FROM tbHotelRoomHold WHERE HotelNo = " & HotelNo & " AND RoomCode = '" & RoomCode & "' AND AccoDate = '" & MySQLDate(AccoDate) & "'" adoRs.Open strSQL, adoConn If Not adoRs.EOF Then Do While Not adoRs.EOF If CStr(Session("SessionID")) <> CStr(adoRs("SessionId")) Then HeldUnit = HeldUnit + CInt(adoRs("NoRoom")) End If adoRs.MoveNext Loop Else HeldUnit = 0 End If adoRs.Close 'check blocked unit strSQL = "SELECT BlockedUnit FROM tbHotelRoomBlock WHERE HotelNo = " & HotelNo & " AND RoomCode = '" & RoomCode & "' AND FromDate <= '" & MySQLDate(AccoDate) & "' AND ToDate >= '" & MySQLDate(AccoDate) & "'" adoRs.Open strSQL, adoConn If Not adoRs.EOF Then BlockedUnit = adoRs("BlockedUnit") Else BlockedUnit = 0 End If adoRs.Close AvailableUnit = Allotment - BookedUnit - HeldUnit - BlockedUnit If CInt(AvailableUnit) >= CInt(NoUnit) Then CheckRoomAvailability = NoUnit HoldRoom AccoDate Else CheckRoomAvailability = 0 End If End Function Sub UnholdRoom() Dim adoRs, strSQL Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "DELETE FROM tbHotelRoomHold WHERE TIMEDIFF(NOW(),CreatedDate) > TIME('00:02:00')" adoRs.Open strSQL, adoConn End Sub Sub HoldRoom(AccoDate) Dim adoRs, strSQL, HoldId Set adoRs = Server.CreateObject("ADODB.recordset") HoldId = GetNextNo("HoldId", "tbHotelRoomHold") adoRs.Open "SELECT * FROM tbHotelRoomHold WHERE SessionId = " & Session("SessionId") & " AND HotelNo=" & Session("HotelNo") & " AND RoomCode='" & Session("RoomCode") & "' AND AccoDate='" & MySQLDate(AccoDate) & "'", adoConn If adoRs.EOF Then strSQL = "INSERT INTO tbHotelRoomHold (HoldId,HotelNo,RoomCode,SessionId,CreatedDate,NoRoom,AccoDate) VALUES (" & HoldId & "," & Session("HotelNo") & ",'" & Session("RoomCode") & "'," & Session("SessionID") & ",Now()," & Session("NoUnit") & ",'" & MySQLDate(AccoDate) & "')" Else strSQL = "UPDATE tbHotelRoomHold SET HotelNo=" & Session("HotelNo") & ", RoomCode='" & Session("RoomCode") & "',NoRoom=" & Session("NoUnit") & ",AccoDate='" & MySQLDate(AccoDate) & "' WHERE SessionId=" & Session("SessionId") End If adoRs.Close adoRs.Open strSQL, adoConn 'response.write "HoldId=" & Session("HoldId") 'adoRs.Open strSQL, adoConn End Sub Sub ReleaseHoldedRoom(AccoDate) Dim adoRs, strSQL Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "DELETE FROM tbHotelRoomHold WHERE SessionId = " & Session("SessionId") & " AND HotelNo=" & Session("HotelNo") & " AND RoomCode='" & Session("RoomCode") & "' AND AccoDate='" & MySQLDate(AccoDate) & "'" adoRs.Open strSQL, adoConn End Sub Function GetMenu() Dim CurPath, ArrCurPath, ArrFolder CurPath = LCase("http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")) ArrCurPath = split(CurPath,LCase(Domainname)) ArrFolder = split(ArrCurPath(1), "/") GetMenu = ArrFolder(1) End Function Function AccessRights(role,hotelno) Dim adoRs, access Set adoRs = Server.CreateObject("ADODB.recordset") adoRs.Open "SELECT * FROM tbUserRole UR INNER JOIN tbRole R ON UR.RoleId=R.RoleId WHERE R." & role & "=1 AND UR.UserId=" & Session("UserId"), memberConn 'response.write "SELECT * FROM tblACUserRole UR INNER JOIN tblACRole R ON UR.RoleId=R.RoleId WHERE R." & role & "=1 AND UR.UserId=" & Session("UserId") If adoRs.EOF Then access = false Else access = true End If adoRs.Close 'if User is hotel and hotelno<>empty, check whether hotelno=user If hotelno<>"" Then adoRs.Open "SELECT * FROM tbUserHotel WHERE UserId=" & Session("UserId") & " AND HotelNo=" & hotelno, adoConn If adoRs.EOF Then access = false Else access = true End If End If 'adoRs.Close AccessRights = access End Function Function GetHotelNo(UserId) Dim adoRs, HotelNo, strSQL Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "SELECT HotelNo FROM tbUserHotel WHERE UserId=" & UserId 'response.write strSQL adoRs.Open strSQL, adoConn If adoRs.EOF Then HotelNo = 0 Else HotelNo = adoRs("HotelNo") End If 'adoRs.Close GetHotelNo = HotelNo End Function Function IsBlockAll(HotelNo, RoomCode, AccoDate) Dim BlockAll 'check blocked unit strSQL = "SELECT BlockedUnit FROM tbHotelRoomBlock WHERE HotelNo = " & HotelNo & " AND RoomCode = '" & RoomCode & "' AND FromDate <= '" & MySQLDate(AccoDate) & "' AND ToDate >= '" & MySQLDate(AccoDate) & "' AND BlockType='All'" adoRs.Open strSQL, adoConn If Not adoRs.EOF Then BlockAll = true Else BlockAll = false End If adoRs.Close 'response.write "blockall=" & BlockAll IsBlockAll = BlockAll End Function Function GetPaymentMethodId(PaymentMethod) Select Case PaymentMethod Case "ATM" GetPaymentMethodId= 0 Case "Credit Card" GetPaymentMethodId= 2 Case "Maybank" GetPaymentMethodId= 6 Case "Alliance" GetPaymentMethodId= 8 Case "RHB" GetPaymentMethodId= 14 Case "Hong Leong" GetPaymentMethodId= 15 Case "FPX" GetPaymentMethodId= 16 End Select End Function dim ss, ds, ts, qs ss = "one,two,three,four,five,six,seven,eight,nine" ds = "ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen," & _ "seventeen,eighteen,nineteen" ts = "twenty,thirty,forty,fifty,sixty,seventy,eighty,ninety" qs = ",thousand,million,billion" Function nnn2words(iNum) a = split(ss,",") i = iNum mod 10 if i > 0 then s = a(i-1) ii = int(iNum mod 100)\10 if ii = 1 then s = split(ds,",")(i) elseif ((ii>1) and (ii<10)) then s = split(ts,",")(ii-2) & " " & s end if i = (iNum \ 100) mod 10 if i > 0 then s = a(i-1) & " hundred " & s nnn2words = s End Function Function num2words(iNum) i = iNum if i < 0 then b = true: i = i*-1 if i = 0 then s="zero" elseif i <= 2147483647 then a = split(qs,",") for j = 0 to 3 iii = i mod 1000 i = i \ 1000 if iii > 0 then s = nnn2words(iii) & _ " " & a(j) & " " & s next else s = "out of range value" end if if b then s = "negative " & s num2words = trim(s) End Function Function GetEncrypt(byval stringToBeEncrypted) QString="stringToBeEncrypted=" & stringToBeEncrypted & "&RefNo=" & RefNo & "&Amount=" & Amount URL = "http://malaysiabudgethotel.com/AddBook.asmx/HelloWorld" strReturn = "" Set xobj = Server.CreateObject ("MSXML2.ServerXMLHTTP") xobj.open "POST", URL, false xobj.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" xobj.send QString strReturn = xobj.responseText Set xobj = nothing GetEncrypt = strReturn End Function Function GetAdsPacType(ByVal HotelNo) Dim AdsPacType AdsPacType = "" adoConn.Open mbhDB Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "SELECT AdsPacType FROM tbHotelAdsPac WHERE HotelNo = " & CInt(HotelNo) adoRs.Open strSQL, adoConn If Not adoRs.EOF Then AdsPacType = adoRs("AdsPacType") End If adoConn.Close() GetAdsPacType = AdsPacType End Function %>

<% dim url url = Request.ServerVariables("URL") url = split(url,"/") select case url(1) case "cheap-accommodation.html" response.write "Cheap Accommodation in Malaysia | Malaysia Budget Hotels" case "accommodation" select case url(2) case "kuala-lumpur-hostels.html" response.write "Budget Hotels Kuala Lumpur | Kuala Lumpur Cheap Accommodation, Malaysia" case "penang-hostels.html" response.write "Budget Hotels Penang | Penang Cheap Accommodation, Malaysia" case "melaka-hostels.html" response.write "Budget Hotels Melaka | Melaka Cheap Accommodation, Malaysia" case else response.write "Cheap Accommodation in Malaysia | Malaysia Budget Hotels" end select case "tour.html" response.write "Budget Malaysia Tours | Malaysia Travel Packages" case "tours" response.write "Budget Tour Packages in Malaysia" case "destinations.html" response.write "Places of Interest in Malaysia | Malaysia Destinations" case "destinations" response.write "Malaysia Destinations | Places of Interest in Malaysia" case "transportation.html" response.write "Malaysia Transportation" case "transportation" response.write "Malaysia Transportation" case "traveller-tips.html" response.write "Malaysia Backpacking Tips" case "tips" response.write "Malaysia Backpacking Tips" case else response.write "Malaysia Budget Hotel" end select %>

  Malaysia Budget Hotel
<% Dim urlSplit, loc, st, defaultImage, IsBanner defaultImage = Domainname & "/image/menu-bar-cut.jpg" IsBanner = 0 Set adoRsBanner = Server.CreateObject("ADODB.recordset") adoConn.Open mbhDB urlSplit = Split(Request.ServerVariables("URL"), "/") If Ubound(urlSplit) > 0 Then loc = urlSplit(1) End If 'response.write Trim(LCase(loc)) & "
" strSQL = "SELECT i.Image, i.URL, b.Width, b.Height, i.Location, i.StateCode, i.HotelNo, '' HotelCode FROM tbbannerorderitem i, tbbannertype b WHERE b.BannerID = i.BannerID AND i.BannerID = 'L' AND i.HotelNo = 0" strSQL = strSQL & " UNION " strSQL = strSQL & " SELECT i.Image, i.URL, b.Width, b.Height, i.Location, i.StateCode, i.HotelNo, h.HotelCode FROM tbbannerorderitem i, tbbannertype b, tbhotel h WHERE b.BannerID = i.BannerID AND i.HotelNo = h.HotelNo AND i.BannerID = 'L' AND i.HotelNo <> 0" adoRsBanner.Open strSQL, adoConn If Not adoRsBanner.EOF Then Do While Not adoRsBanner.EOF Select Case adoRsBanner("Location") Case "S" If Trim(LCase(loc)) = "accommodation" Then If Ubound(urlSplit) = 2 Then st = LCase(urlSplit(2)) 'response.write st & "
" If InStr(st, LCase(adoRsBanner("StateCode"))) > 0 Then IsBanner = 1 %> <% End If End If End If Case "H" If Trim(LCase(loc)) = "accommodation" Then If Ubound(urlSplit) > 2 Then st = LCase(urlSplit(2)) 'response.write st & "
" 'response.write LCase(adoRsBanner("StateCode")) & "
" If InStr(st, LCase(adoRsBanner("StateCode"))) > 0 Then ht = LCase(urlSplit(3)) 'response.write ht & "
" If InStr(ht, LCase(adoRsBanner("HotelCode"))) > 0 Then IsBanner = 1 %> <% End If End If ElseIf Ubound(urlSplit) = 2 Then 'response.write Ubound(urlSplit) & "
" ht = LCase(urlSplit(2)) 'response.write ht & "
" If LCase(ht) = "hotel.asp" Then htSplit = Split(Request.ServerVariables("QUERY_STRING"), "=") ht = EnDeCrypt(Request("h"),"hOtElpAsswOrd") 'response.write htSplit(1) & "
" 'response.write ht & "
" 'response.write adoRsBanner("HotelNo") & "
" If CInt(ht) = CInt(adoRsBanner("HotelNo")) Then IsBanner = 1 %> <% End If End If End If End If End Select adoRsBanner.MoveNext Loop End If adoRsBanner.Close adoConn.Close If IsBanner = 0 Then %> <% End If %>
" target="_blank">" height="<%=adoRsBanner("Height")%>" width="<%=adoRsBanner("Width")%>" alt="<%=adoRsBanner("URL")%>">
">" height="<%=adoRsBanner("Height")%>" width="<%=adoRsBanner("Width")%>" alt="<%=adoRsBanner("URL")%>">
">" height="<%=adoRsBanner("Height")%>" width="<%=adoRsBanner("Width")%>" alt="<%=adoRsBanner("URL")%>">

Destinations > Malaysia States > Kuala Lumpur

Click to enlarge map

Kuala Lumpur Map

Click to enlarge map

Jalan Bukit Bintang

Click to enlarge map

Jalan Petaling

Click to enlarge map

Jalan Ampang

More Kuala Lumpur Maps

 

Kuala Lumpur (KL) was established as a tin miner's shanty town at the confluence of the Klang and Gombak Rivers in 1857. With its rapid developement as one of Asia's most dynamic cities, Kuala Lumpur was given city status in 1 February 1972 and declared as a Federal Territory in 1974.

Claimed as the 'Garden City of Lights', its impressive skyline includes one of the tallest buildings in the world - Petronas Twin Towers. Besides there are other heritage buildings with unique architecture that are erected during the colonial days like the old Moorish styled railway station, stately colonial buildings and old shophouses.

The city has a comprehensive transportation system. It is accessible by KL International Airport (KLIA) in Sepang, about 50km away. Within the city itself, tourists can move around easily by using Light Rail Transport (LRT), KTM Commuter Trains, buses and taxis.

 

Places of Interest

Modern Landmarks

Petronas Twin Towers

 

Petronas Twin Towers

The Petronas Twin Towers, centrepiece of the Kuala Lumpur City Centre (KLCC), is a world-renowned icon of modern Malaysia with a height of 451.9 metres (1483 feet)..

KL Tower

 

KL Tower

KL Tower or Menara Kuala Lumpur ("Menara" is the Bahasa Malaysia word for "Tower"), standing majestically at a height of 421 metres, is the tallest tower in Southeast Asia, the tallest single standing concrete structure in the world....

Heritage Sites

Dataran Merdeka (Merdeka Square)

 

Dataran Merdeka (Merdeka Square)

Surrounding Dataran Merdeka are many remarkable histrorical buildings or landmarks. Therefore it is a good starting point to explore the city's heritage sites...

Royal Selangor Club

 

Royal Selangor Club

Royal Selangor Club was started in 1884 as a little plank building with attap roof, serving as a social and cricket club for the growing expatriate community...

Sultan Abdul Samad Building

 

Sultan Abdul Samad Building

The Sultan Abdul Samad Building, named after Sultan Abdul Samad - the State Ruler, was designed by A.C. Norman and built in 1897 to house servel administration departments during the British rule...

Pasar Seni (Central Market)

 

Pasar Seni (Central Market)

The Art Deco style Central Market, built in 1928, was designed by architect and engineer TY Lee. It has won the Coronation Architecture Design Award in 1953...

Jalan Hang Kasturi Shophouses

 

Jalan Hang Kasturi Shophouses

A short walk away from Central Market is a block of Neo-classical style shophouses along Jalan Hang Kasturi..

 

Medan Pasar (Market Square)

Market Square or Medan Pasar is situated between Pasar Besar and Lebuh Ampang. According to the locals, it has always been where the money is...

 

Lebuh Ampang

 

Jalan Tun H.S. Lee

Chinatown (Petaling Street)

 

Chinatown (Petaling Street)

KL's Chinatown or Petaling Street is a bargain hunter's paradise with a bustling and colourful street of shops, restaurants and hawker stalls in its distinctly oriental atmosphere..

 

Jalan Tuanku Abdul Rahman

Malaysia Tourism Centre (MTC)

 

Malaysia Tourism Centre (MTC)

Istana Negara

 

Istana Negara

Istana Negara which means palace in Malay, is the official residence of His Majesty The King of Malaysia...

KL Railway Station

 

KL Railway Station

Built in 1910, the Moorish-style KL Railway Station, with spires, minarets, towers and arches inspired by North Indian Islamic design...

The Heritage Centre

 

The Heritage Centre

The Rumah Penghulu Abu Seman, a fine example of a traditional Malay house, was once house of a local headman in Kampung Sungai Kechil, a small village in Mukim Bagan Samak, Bandar Baharu, Kedah...

Place of Worship

Masjid Negara

 

Masjid Negara

Masjid Wilayah Persekutuan

 

Masjid Wilayah Persekutuan

Thean Hou Temple

 

Thean Hou Temple

With its magnificent architecture featuring imposing pillars, spectacular roofs, ornate carvings and intricate embellishments,The Thean Hou Temple (chinese: 天后宫), is a popular tourist attraction...

 

Sze Ya Temple

Sri Maha Mariamman Temple

 

Sri Maha Mariamman Temple

Sri Maha Mariamman Temple, the oldest Hindu temple in Malaysia, was built in 1873 with intriguing designs like intricate carvings of Hindu deities, gold embellishments, precious stones and hand-painted motifs depicting stories from early Hinduism...

Cathedral of Saint Mary The Virgin

 

Cathedral of Saint Mary The Virgin

Cathedral of Saint Mary The Margin, started as an unpretentious wooden building along Bluff Road top of the hill, was the first brick church erected in the native States of Penisula Malaya...

Masjid Jamek

 

Masjid Jamek

Masjid Jamek, the oldest mosques in Kuala Lumpur, is located st the confluence of the Klang and Gombak rivers where the founders of the city first set foot...

 

Masjid India

 

Accommodations

Budget Hotels in Kuala Lumpur

Hotel Malaya <%adoConn.open mbhDB%>

<% 'Dim strSQL 'Dim adoRs Set adoRs = Server.CreateObject("ADODB.recordset") strSQL = "SELECT * FROM tbHotel WHERE Destination = 'kuala-lumpur' AND Active = 1" adoRs.Open strSQL, adoConn Do While Not adoRs.EOF %> /<%=adoRs("HotelCode")%>.html"> <%=IIF(adoRs("Logo")=1,"",adoRs("Hotel"))%>   <% adoRs.MoveNext Loop adoRs.Close %>

Getting There

The state-of-art Kuala Lumpur International Airport (KLIA) is the main gateway into the country and services over 45 international airlines. The city is situated about 55km from KLIA. Several public transport options provide easy access to the city. Kuala Lumpur is also accessible from Port Klang, the country's largest seaport, 41km away. An excellent road and railway network links Kuala Lumpur to Thailand in the north and Singapore in the south.

KL Sentral :

Tel: +603 2279 8699
Website: www.klsentral.com.my

KLIA Ekspres / KLIA Transit:

Tel: +603 2279 8000
Website: www.kliaekspres.com

⌈ KLIA Limousine Taxis:

Tel: +603 8787 3030 / 9223 8080

Airport limousine taxis are available at the Arrival Hall on Level 3 of KLIA. These taxis offers pick-up and transfer services using a prepaid coupon system. Travel time to the city takes between 45 minutes to an hour. Fares differ accordin to the zone and type of taxi (budget or premier). A surcharge will be imposed for transfers between midnight to 6.00pm

⌈ Airport Coach:

The airport coach provides scheduled services to Jalan Duta Bus Terminal and Chan Sow Lin LRT Station in the city. The bus station is situated at the Ground Floor of the Kuala Lumpur International Airport (KLIA).

From KLIA to Jalan Duta Bus Terminal
Hourly services are available from 6.00am - 12.30am
Fare: RM20 (Tickets can be purchased at the counter)

From KLIA to Chan Sow Lin LRT Station
Hourly services are available from 7.30am - 9.30pm
Fare: RM10 (Tickets can be purchased at the counter)

The airport coach also provides transfers to major hotels in the city and vice-versa for departing passengers. However, arrangements must be made 24 hours prior to departure. Travel time to the airport takes about 1½ hours, depending on traffice conditions.

Fare: RM25
Tel: +603 8787 3894 (Airport Coach Office, KLIA)
        +603 6203 3064/067 (Airport Coach Office, Jalan Duta Bus Terminal)

⌈ Car Rental

Car rental services are available both at the airport and at KL Sentral. The Kuala Lumpur-Seremban Highway is the main route into the city. The drive takes about one hour or less, dependin on traffic conditions.

Getting Around

Getting around the city is convenient and affordable. KL Sentral, the city's modern transportation hub, provides a comprehensive network of train, bus and taxi services.

⌈ Buses

Tel: 1-800-38-8228

Air-conditioned buses ply various routes in the main areas of the city. Bus schedules are fairly reliable depending on traffic conditions and the time of day.

⌈ Trains

An extensive rail transport system links the major parts of the city. The three services available are Putra and STAR Light Rail Transits (LRT), KL Monorail and KTM Komuter. These services are frequent, puntual and hassle-free. Feeder bus services are available from train stations to designated surrounding areas. Weekly and monthly passes are available for frequent travellers. All lines, except STAR LRT converge at the KL Sentral Station.

Light Rail Transits (LRT)

Tel: 1-800-38-8228
Website: www.rapidkl.com.my

KL Monorail

Tel: +603 2273 1888
Website: www.monorail.com.my

KTM Komuter

Tel: +603 2267 1200
Website: www.ktmb.com.my

⌈ Taxis

In Kuala Lumpur, taxi fares are based on a metered rate and are available 24 hours a day. The flag-off rate is RM2.00 and 10 cents is charged for every subsequent 150 metres. Extra charges apply for services after midnight or for services booked by phone.

 


<% On Error Resume Next adoConn.Open mbhDB Set adoRs = Server.CreateObject("ADODB.recordset") adoRs.Open "SELECT * FROM tbDestination D INNER JOIN tbState S ON D.State=S.StateCode WHERE S.Country='Malaysia' ORDER BY Destination", adoConn %>
Search Hotels

Destination

Budget


Search website


<%Select Case LCase(GetMenu()) Case "accommodation" %>

BUDGET HOTELS
by State
by Beach & Island
by Hill & Highland

<% Case "cheap-accommodation.html" %>

BUDGET HOTELS
by State
by Beach & Island
by Hill & Highland

<% Case "tours" %>

BUDGET TOURS
by Islands
by Hills & Highlands
by National Park
by City

<% Case "tour.html" %>

BUDGET TOURS
by Islands
by Hills & Highlands
by National Park
by City

<% Case "destinations" %>

DESTINATIONS
by Beach & Island
by Hill & Highland
by National Park
by State

<% Case "destinations.html" %>

DESTINATIONS
by Beach & Island
by Hill & Highland
by National Park
by State

<% End Select %>

Home | About Us | FAQ | /tell-your-friends.html','Tell_your_friends');>Tell your friends | Forum | Sitemap | Contact Us | Travel Links | Link Exchange

Copyright © 2006 - 2008 Hot Travel Station - MalaysiaBudgetHotel. All Rights Reserved.

<% if Request.ServerVariables("URL") = "/Login.asp" or Request.ServerVariables("URL") = "/logout.asp" then else session("URL")="http://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL") & "?" & Request.ServerVariables("QUERY_STRING") end if %>