Help
RSS
API
Feed
Maltego
Contact
Domain > zicontrols.com.sg
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
Files that talk to zicontrols.com.sg
MD5
A/V
169af8a5cd1abde5d129cfc5b20acd4d
[
HEUR.JS.Trojan.b
] [
Js.Trojan.Raas.Auto
]
DNS Resolutions
Date
IP Address
2014-04-01
103.9.103.191
(
ClassC
)
2025-05-28
104.21.70.67
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Wed, 28 May 2025 06:13:01 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Wed, 28 May 2025 07:13:01 GMTLocation: https://zicontrols.com.sg/Report-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?s4Aoe5SHP5iuGL0Qn%2FRGSG8esJM6hsB5u%2BqpgJM2u8Te7n843uoaL%2FPxP1j7KrprKV01trAkhHoMu%2FcJTY%2FQlBdkH3kRvMjeaXsySdj551Ek9igXisKxHZxFnrWxByV1z6jAFiw%3D%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 946b9a8d1f4596ba-PDXalt-svc: h3:443; ma86400server-timing: cfL4;desc?protoTCP&rtt8644&min_rtt8644&rtt_var4322&sent1&recv3&lost0&retrans0&sent_bytes0&recv_bytes56&delivery_rate0&cwnd243&unsent_bytes0&cid0000000000000000&ts0&x0 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 28 May 2025 06:13:02 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}X-Powered-By: PHP/8.3.9Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidatePragma: no-cacheVary: accept-encodingCf-Cache-Status: DYNAMICReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sTBisz%2B9Bn6wyLj83AIOiRdkzG3zX0P%2F2qoMnlSBxuXU0SFVljrclvMkBajHIpm0f1rcGmtdTR6eRvei6V5zJTZwi06Yq2C9cqllX9xNLqA%3D%3D}}Set-Cookie: PHPSESSIDjd3jfk8flvljd4m3uiuih6d968; Path/CF-RAY: 946b9a8d8d611687-PDXalt-svc: h3:443; ma86400 !-- Assume already got general.js with ajaxsend function -->script> function startPageDebug(){ var debugSettings callReqDebug(https://+window.location.hostname+/include/debugUtils/frontend/reqDebug.php, {command : getDebugSetting}); var pageDebugSwitch ; sessionStorage.removeItem(debugPageLoadStartTime); sessionStorage.removeItem(debugPageLoadEndTime); sessionStorage.removeItem(debugCode); sessionStorage.removeItem(pageDebugSwitch); if(pageDebugSwitch 1){ var debugPage homepage.php; window.ajaxEnabled true; var pageStartLoadTime getCurrentFormattedDate(); sessionStorage.setItem(debugSwitch, pageDebugSwitch); sessionStorage.setItem(pageStartLoadTime, pageStartLoadTime); debugCode `\nStart loading page ${debugPage} | ${pageStartLoadTime}\n`; sessionStorage.setItem(debugCode, debugCode); } } function pageDebug(){ var pageDebugSwitch ; var debugPageLoadThreshold ; if(pageDebugSwitch 1){ var method POST; var debug 0; var bypassBlocking 0; var bypassLoading 0; var resourceLoadFinishFlag 0; var pageLoadFinishFlag 0; var pageStartLoadTime sessionStorage.getItem(pageStartLoadTime); var debugPage homepage.php; var debugCode sessionStorage.getItem(debugCode); var debugID; // Counter to track the number of processed entries let processedEntriesCount 0; let debounceTimeout; document.addEventListener(click, function(event) { if(resourceLoadFinishFlag 1){ pageLoadFinishFlag 1; sessionStorage.setItem(pageStartLoadTime, getCurrentFormattedDate()); sessionStorage.setItem(debugCode, `Reset Timer | `+getCurrentFormattedDate()+`\n`); } }); $(select).on(change, function(){ if(resourceLoadFinishFlag 1){ pageLoadFinishFlag 1; sessionStorage.setItem(pageStartLoadTime, getCurrentFormattedDate()); sessionStorage.setItem(debugCode, `Reset Timer | `+getCurrentFormattedDate()+`\n`); } }); // Log existing entries (for already loaded resources) and find the latest responseEnd const existingEntries performance.getEntriesByType(resource); const totalEntriesCount existingEntries.length; logPerformanceEntries(existingEntries); // Check if there are no existing entries if (totalEntriesCount 0) { debugCode + `No page content needs to be loaded.\n`; sessionStorage.setItem(debugCode, debugCode); } // Function to log performance entries with their types and responseEnd function logPerformanceEntries(entries) { entries.forEach(entry > { const fileName entry.name.substring(entry.name.lastIndexOf(/) + 1); var debugCode sessionStorage.getItem(debugCode); debugCode + `Name : ${fileName} | Type : ${entry.initiatorType} | Duration(ms) : ${entry.duration}\n` sessionStorage.setItem(debugCode, debugCode); }); // Increment the counter by the number of processed entries processedEntriesCount + entries.length; // Check if all entries have been processed if (processedEntriesCount totalEntriesCount) { var debugCode sessionStorage.getItem(debugCode); debugCode + `All page basic content has been loaded.\n`; sessionStorage.setItem(debugCode, debugCode); } } document.addEventListener(DOMContentLoaded, () > { var debugCode sessionStorage.getItem(debugCode); debugCode + `\nPage HTML Loaded DOMContentLoaded ` + getCurrentFormattedDate() + `\n`; sessionStorage.setItem(debugCode, debugCode); }); window.addEventListener(load, (event) > { resourceLoadFinishFlag 0; var debugPage homepage.php; var pageStartLoadTime sessionStorage.getItem(pageStartLoadTime); var pageEndLoadTime getCurrentFormattedDate(); var debugCode sessionStorage.getItem(debugCode); debugCode + `Page External Resource Loaded window.load ` + getCurrentFormattedDate() + `\n`; sessionStorage.setItem(debugCode, debugCode); var pageLoadTime getDifferenceInSeconds(pageEndLoadTime, pageStartLoadTime); if(pageLoadTime > debugPageLoadThreshold && pageLoadFinishFlag 0){ var formData { command : updatePageLoadDuration, debugPage : debugPage, debugCode : debugCode, debugPageLoadStartTime : pageStartLoadTime, debugPageLoadEndTime : pageEndLoadTime, }; fCallback resetPageStartLoadTime; ajaxSend(include/debugUtils/frontend/reqDebug.php, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); }else{ resourceLoadFinishFlag 1; } }); // IF api called or any other network resources. // Create a PerformanceObserver instance const observer new PerformanceObserver((list) > { const entries list.getEntries(); // logPerformanceEntries(entries); entries.forEach(entry > { const fileName entry.name.substring(entry.name.lastIndexOf(/) + 1); if(fileName ! reqDebug.php && entry.initiatorType xmlhttprequest){ resourceLoadFinishFlag 0; var debugPage homepage.php; var pageEndLoadTime getCurrentFormattedDate(); var pageStartLoadTime sessionStorage.getItem(pageStartLoadTime); var pageLoadTime getDifferenceInSeconds(pageEndLoadTime, pageStartLoadTime); var debugCode sessionStorage.getItem(debugCode); debugCode + `\nName : ${fileName} | Type : ${entry.initiatorType} | Duration(ms) : ${entry.duration}\n`; sessionStorage.setItem(debugCode, debugCode); // Set a timeout to update after 1 second // Clear the previous timeout and set a new one clearTimeout(debounceTimeout); if(pageLoadTime > debugPageLoadThreshold && pageLoadFinishFlag 0){ debounceTimeout setTimeout(() > { updatePageLoadDuration(debugPage, debugCode, pageStartLoadTime, pageEndLoadTime); }, 1000); }else{ resourceLoadFinishFlag 1; } } }); }); // Start observing resource entries observer.observe({ entryTypes: resource }); function updatePageLoadDuration(page, code, start, end){ var formData { command : updatePageLoadDuration, debugPage : page, debugCode : code, debugPageLoadStartTime : start, debugPageLoadEndTime : end, }; fCallback resetPageStartLoadTime; ajaxSend(include/debugUtils/frontend/reqDebug.php, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } } function resetPageStartLoadTime(data, message){ resourceLoadFinishFlag 1; pageLoadFinishFlag 1; sessionStorage.setItem(pageStartLoadTime, getCurrentFormattedDate()); sessionStorage.setItem(debugCode, `Reset Timer | `+getCurrentFormattedDate()+`\n`); } } function getCurrentFormattedDate() { var date new Date(); var year date.getFullYear(); var month String(date.getMonth() + 1).padStart(2, 0); // Months are zero-indexed var day String(date.getDate()).padStart(2, 0); var hours String(date.getHours()).padStart(2, 0); var minutes String(date.getMinutes()).padStart(2, 0); var seconds String(date.getSeconds()).padStart(2, 0); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } function getDifferenceInSeconds(dateString1, dateString2) { const date1 new Date(dateString1); const date2 new Date(dateString2); // Difference in milliseconds const differenceInMs Math.abs(date2 - date1); // Convert milliseconds to seconds return Math.floor(differenceInMs / 1000); } function callReqDebug(url, data){ const xhr new XMLHttpRequest(); xhr.open(POST, url, true); xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded; charsetUTF-8); xhr.onload function() { if (xhr.status > 200 && xhr.status 400) { // Success! const response JSON.parse(xhr.responseText); // console.log(response, response); // console.log(response.statusMsg); // Log the response message // console.log(response.data_received); // Log any data received } else { // Error handling console.error(Request debug failed with status:, xhr.status); } }; xhr.onerror function() { // Network errors console.error(Request debug failed); }; const urlEncodedData Object.keys(data) .map(key > encodeURIComponent(key) + + encodeURIComponent(datakey)) .join(&); xhr.send(urlEncodedData); } function ajaxStartDebug(url, command){ url url.split(/)1; var adminSiteDebug sessionStorage.getItem(debugSwitch); if(adminSiteDebug && command ! updatePageLoadDuration){ var debugCode sessionStorage.getItem(debugCode); debugCode + \nStart ajax with + url + | Command + command + | + getCurrentFormattedDate() + \n; sessionStorage.setItem(debugCode, debugCode); } } function ajaxSuccessDebug(url, command, obj){ url url.split(/)1; var adminSiteDebug sessionStorage.getItem(debugSwitch); if(adminSiteDebug && command ! updatePageLoadDuration){ var debugCode sessionStorage.getItem(debugCode); var callbackDebugCode obj.callbackDebugCode; debugCode + callbackDebugCode; var currentTime getCurrentFormattedDate(); debugCode + Ajax success with + url + | Command + command + | + currentTime + \n; sessionStorage.setItem(debugCode, debugCode); } } function ajaxErrorDebug(url, command){ url url.split(/)1; var adminSiteDebug sessionStorage.getItem(debugSwitch); if(adminSiteDebug && command ! updatePageLoadDuration){ var debugCode sessionStorage.getItem(debugCode); var currentTime getCurrentFormattedDate(); debugCode + Ajax callback error with + url + | Command + command + | + currentTime + \n; sessionStorage.setItem(debugCode, debugCode); } }/script>!DOCTYPE html>html langen >!-- begin::Head -->head> !-- meta charsetutf-8/> --> !-- SEO Meta - Start --> title>Zicon Controls | Zicon | 45+ Years of HVAC Expertise Across APEC/title> meta namedescription contentWith 45+ years of expertise, Zicon Controls offers advanced HVAC systems across APEC, providing high-quality solutions for industrial and commercial needs.> meta charsetUTF-8> meta nameviewport contentwidthdevice-width,initial-scale1> meta nameauthor contentZicon Controls> link relcanonical hrefhttps://zicontrols.com.sg/> meta propertyog:title contentZicon Controls | 45+ Years of HVAC Expertise Across APEC> meta propertyog:description contentWith 45+ years of expertise, Zicon Controls offers advanced HVAC systems across APEC, providing high-quality solutions for industrial and commercial needs.> meta propertyog:url contentzicontrols.com.sg> meta propertyog:type contentwebsite> meta propertyog:site_name contentZicon Controls> meta propertyog:locale contenten_US> meta propertyog:image contenthttps://365production.sgp1.digitaloceanspaces.com/zicon/67f22607896e5.webp> meta propertyog:image:width content1200> meta propertyog:image:height content630> meta propertyog:video content> meta propertyog:video:width content> meta propertyog:video:height content> meta nametwitter:card contentsummary_large_image> meta nametwitter:title contentZicon Controls | 45+ Years of HVAC Expertise Across APEC> meta nametwitter:description contentWith 45+ years of expertise, Zicon Controls offers advanced HVAC systems across APEC, providing high-quality solutions for industrial and commercial needs.> meta nametwitter:image contenthttps://365production.sgp1.digitaloceanspaces.com/zicon/67f22607896e5.webp> meta nametwitter:site content@zicontrols> meta nametwitter:creator content@zicontrols> link relicon hrefhttps://zicontrols.com.sg/images/project/Zicon-favicon-white.ico> link relapple-touch-icon href../images/project/Zicon favicon white.ico> meta namerobots contentmax-snippet:-1, max-video-preview:-1> meta namegoogle-site-verification content_MpYecRy78Liic309HPWwcebsCgZf2ZIW-AMIob3xPY /> !-- SEO Meta - End --> !--begin:: Global Mandatory Vendors --> !-- link hrefvendors/general/perfect-scrollbar/css/perfect-scrollbar.css relstylesheet typetext/css /> --> !--end:: Global Mandatory Vendors --> style> :root { /*--content:;*/ --specialLimited:; --content:; --contentMonth:; } /style> !--begin:: Global Optional Vendors --> !-- link hrefvendors/general/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css relstylesheet typetext/css /> --> !-- link hrefvendors/general/bootstrap-datetime-picker/css/bootstrap-datetimepicker.css relstylesheet typetext/css /> --> !-- link hrefvendors/general/bootstrap-timepicker/css/bootstrap-timepicker.css relstylesheet typetext/css /> --> !-- link hrefvendors/general/bootstrap-daterangepicker/daterangepicker.css relstylesheet typetext/css /> --> !-- link hrefvendors/general/select2/dist/css/select2.css relstylesheet typetext/css /> --> !-- link hrefvendors/general/socicon/css/socicon.css relstylesheet typetext/css /> --> !-- link hrefvendors/custom/vendors/line-awesome/css/line-awesome.css relstylesheet typetext/css /> --> !-- link hrefvendors/custom/vendors/flaticon/flaticon.css relstylesheet typetext/css /> --> !-- link hrefvendors/custom/vendors/flaticon2/flaticon.css relstylesheet typetext/css /> --> !-- link hrefvendors/general/@fortawesome/fontawesome-free/css/all.min.css relstylesheet typetext/css /> --> !-- link hrefplugins/font-awesome/css/font-awesome.css relstylesheet typetext/css /> --> !--end:: Global Optional Vendors --> !-- link hrefplugins/jquery-datatable/media/css/dataTables.bootstrap.min.css relstylesheet typetext/css /> --> !-- link hrefplugins/jquery-datatable/extensions/FixedColumns/css/dataTables.fixedColumns.min.css relstylesheet typetext/css /> --> !-- link hrefplugins/datatables-responsive/css/datatables.responsive.css relstylesheet typetext/css mediascreen /> --> !-- link hrefcss/datatables.min.css?ts relstylesheet typetext/css /> --> !-- link hrefcss/aos.css?v relstylesheet typetext/css /> --> link hrefcss/main.min.css relstylesheet typetext/css /> link hrefcss/theme_v1.0.1.css relstylesheet typetext/css /> link hrefcss/general_v1.0.2.css relstylesheet typetext/css /> link hrefcss/custom_v1.0.38.css relstylesheet typetext/css /> !-- link hrefcss/customResponsive.css?v1743510915 relstylesheet typetext/css /> --> !-- link hrefcss/landing.css?v1743510915 relstylesheet typetext/css /> --> !-- link hrefcss/header.css?v relstylesheet typetext/css /> --> !-- link hrefcss/homepage.css?v relstylesheet typetext/css /> --> !--end::Global Theme Styles --> !--begin::Layout Skins(used by all pages) --> !--end::Layout Skins --> !-- link relshortcut icon href /> --> !-- ongong2135 --> script srcjs/standardJS/cookie.js?v1.0.2 typetext/javascript>/script> script> var muid getCookieValue(memberUID) ?? ; var deviceId getCookieValue(memberDeviceID) ?? ; var token ; var ref ; var url window.location.href; const formData new FormData(); console.log(); let groupData { memberUID: muid, url: url, token : token, ref : ref, deviceId:deviceId }; formData.append(command, recordUTMTrack); formData.append(paramsgroupData, JSON.stringify(groupData)); const xhr new XMLHttpRequest(); xhr.open(POST, scripts/reqClient.php, false); // false makes the request synchronous xhr.send(formData); // Check the response status if (xhr.status > 200 && xhr.status 300) { var obj JSON.parse(xhr.responseText); if(obj.statusok) { console.log(record utm track); } else { console.log(record utm track failed 1); } } else { console.log(record utm track failed 2); } /script>/head>!-- end::Head -->div idcanvasLoader classhide> div idcanvasLoaderContainer> div classdank-ass-loader> div classrow> div classarrowLoading up outer outer-18>/div> div classarrowLoading down outer outer-17>/div> div classarrowLoading up outer outer-16>/div> div classarrowLoading down outer outer-15>/div> div classarrowLoading up outer outer-14>/div> /div> div classrow> div classarrowLoading up outer outer-1>/div> div classarrowLoading down outer outer-2>/div> div classarrowLoading up inner inner-6>/div> div classarrowLoading down inner inner-5>/div> div classarrowLoading up inner inner-4>/div> div classarrowLoading down outer outer-13>/div> div classarrowLoading up outer outer-12>/div> /div> div classrow> div classarrowLoading down outer outer-3>/div> div classarrowLoading up outer outer-4>/div> div classarrowLoading down inner inner-1>/div> div classarrowLoading up inner inner-2>/div> div classarrowLoading down inner inner-3>/div> div classarrowLoading up outer outer-11>/div> div classarrowLoading down outer outer-10>/div> /div> div classrow> div classarrowLoading down outer outer-5>/div> div classarrowLoading up outer outer-6>/div> div classarrowLoading down outer outer-7>/div> div classarrowLoading up outer outer-8>/div> div classarrowLoading down outer outer-9>/div> /div> /div> /div> /div>div classmodal fade idcanvasMessage tabindex-1 roledialog aria-labelledbyexampleModalLabel stylepadding-left:17px; padding-right: 17px; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content stylepadding:30px;> div classmodal-header> !-- div idcanvasTitle classmt-2 modal-title>/div> --> button typebutton classclose data-dismissmodal aria-labelClose> /button> /div> !-- div classmodalLine>/div> --> div classmodal-body modalBodyFont align-self-center text-center> !-- img altfood pictures src idmodalIcon classmodal-icon> --> !-- i classfa fa-check-bell-o modal-icon>/i> --> div idcanvasIcon>/div> div idcanvasTitle classmt-2 modal-title>/div> div idcanvasAlertMessage classmt-2 modalText>/div> /div> div classmodal-footer justify-content-center> button idcanvasCloseBtn typebutton classbtn btn-primary font-light letterSpace data-dismissmodal data-langM00111> Close /button> /div> /div> /div>/div>div classmodal fade centerModal idaddCartModal tabindex-1 roledialog aria-labelledbyexampleModalLabel stylepadding-left:17px; padding-right: 17px; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content> div classmodal-header> button typebutton classclose data-dismissmodal aria-labelClose> /button> /div> !-- div classmodalLine>/div> --> div classmodal-body modalBodyFont align-self-center text-center> !-- img altfood pictures src/images/project/successIcon.png classmodal-icon> --> i classfa fa-check modal-icon>/i> !-- div classmt-3 modal-title> /div> --> div classmt-3 modalText> /div> /div> div classmodal-footer justify-content-center> button typebutton classbtn btn-default letterSpace w-100 data-dismissmodal data-langM03398> /button> button onclickwindow.location.hrefshoppingCart typebutton classml-3 btn btn-primary green letterSpace w-100 data-dismissmodal data-langM02817> /button> /div> /div> /div>/div>div classmodal fade idcountryRemoveModal tabindex-1 roledialog aria-labelledbyexampleModalLabel stylepadding-left:17px; padding-right: 17px; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content> div classmodal-header> button typebutton classclose data-dismissmodal aria-labelClose> /button> /div> !-- div classmodalLine>/div> --> div classmodal-body modalBodyFont align-self-center text-center> !-- img altfood pictures src/images/project/successIcon.png classmodal-icon> --> i classfa fa-check modal-icon>/i> !-- div classmt-3 modal-title> /div> --> div classmt-3 modalText> span idcountryRemoveText>/span> /div> /div> div classmodal-footer justify-content-center> button typebutton classbtn btn-default letterSpace data-dismissmodal data-langM00258> /button> /div> /div> /div>/div>div classmodal fade idsoldOutPackageModal tabindex-1 roledialog aria-labelledbyexampleModalLabel stylepadding-left:17px; padding-right: 17px; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content> div classmodal-header> button typebutton classclose data-dismissmodal aria-labelClose> /button> /div> !-- div classmodalLine>/div> --> div classmodal-body modalBodyFont align-self-center text-center> !-- img altfood pictures src/images/project/successIcon.png classmodal-icon> --> i classfa fa-check modal-icon>/i> !-- div classmt-3 modal-title> /div> --> div classmt-3 modalText> span idpackageRemoveText>/span> /div> /div> div classmodal-footer justify-content-center> button onclicklocation.reload(); typebutton classbtn btn-default letterSpace data-dismissmodal data-langM00258> /button> /div> /div> /div>/div>div classqrModal modal fade show idqr_modal tabindex-1 roledialog aria-labelledbyexampleModalLabel styledisplay: none; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content styleborder-radius: 0;> div classmodal-header> !-- span classmodal-title>Referral Code/span> --> button typebutton classclose data-dismissmodal aria-labelClose>/button> /div> div classmodal-body text-center id> div classposition-relative> div class idqrcode>/div> div classiconQRposition> img altfood pictures classiconQR src> /div> /div> div classmodalText referralTitle mt-3> Referral Link: /div> div classmt-2> div classp-2 referralWrap> div classrow> div classcol-7> input typetext classform-control referralInp value idqrInput readonlyreadonly> /div> div classcol-5 alignMiddle> button typebutton classbtn btn-primary py-2 onclickcopyQR()>Copy Link/button> /div> /div> /div> /div> div classcopiedMsg mt-2 styledisplay: none;> i classfa fa-check aria-hiddentrue>/i> /div> div classmt-2> !-- a hrefjavascript:; classbtn btnSocial fb onclickshareFacebook(qrInput)> img altfood pictures classsocialMediaIcon src/images/project/sm1.png> /a> a hrefjavascript:; classbtn btnSocial twitter onclickshareTwitter(qrInput)> img altfood pictures classsocialMediaIcon src/images/project/sm2.png> /a> --> !-- a hrefjavascript:; classbtn btnSocial whatsapp onclickshareWhatsapp(qrInput)> img classsocialMediaIcon altfood pictures src/images/project/sm5.png> /a> --> /div> /div> /div> /div>/div>div classmodal fade idnews_modal tabindex-1 roledialog aria-labelledbyexampleModalLabel styledisplay: none; padding-right: 17px; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content> span classmodalIcon>/span> div classmodal-header> !-- span classmodal-title newsTitle>Title/span> --> button typebutton classclose data-dismissmodal aria-labelClose> /button> /div> div classmodalLine>/div> div classmodal-body modalBodyFont> div classnewsDes stylemargin-top: 10px;>Today, 26 October 2019 Kuala Lumpur curreny raised to 50% above on the rate of ringgit, hurry and travel more!/div> /div> div classmodal-footer> button typebutton classbtn btnPrimaryModal>Download/button> /div> /div> /div>/div>script> startPageDebug();/script>section class d-none d-md-none d-lg-block w-100 homepageHeader fixed-header idheaderTopBar> div classkt-container p-2 homepageheadder-banner-bg m-0 w-100 d-none> /div> div idheaderTopBar2> div classkt-container p-2 homepageheadder-bg section py-3 px-5 transparent-bg kt-container my-0 > div classcol-12> div classrow align-items-center ipad-pro-between> div classcol-3 p-0 px-5> a hrefhomepage> div classd-flex align-items-center> img srcimages/project/Ziconlogo_blackcolour.webp class stylewidth: 180px; altlogo > /div> /a> /div> div classcol-7 d-flex justify-content-center p-0 ipad-pro-spacing> div classheader_menu_div> a classdropbtn showDropdown px-0 font-dark font-sm homepageBtn headerBtn href/homepage data-lang> Home /a> /div> div classheader_menu_div> a classdropbtn showDropdown px-0 font-dark font-sm our-servicebtn headerBtn href/our-services data-lang> Our Services /a> /div> div classheader_menu_div position-relative product-outer-div> a classdropbtn showDropdown px-0 font-dark font-sm dropdown-toggle href/our-products data-lang iddropdownMenuButton> Our Products /a> div classproduct-dropdown aria-labelledby idproductCategoryDropDown> !-- a classdropdown-item href#>Action/a> a classdropdown-item href#>Another action/a> a classdropdown-item href#>Something else here/a> --> /div> /div> div classheader_menu_div> a classdropbtn showDropdown px-0 font-dark font-sm blogsbtn headerBtn href/blogs data-lang> Information /a> /div> div classheader_menu_div> a classdropbtn showDropdown px-0 font-dark font-sm headerBtn href/contact-us data-lang> Contact Us /a> /div> /div> !-- div classcol-3 p-0 d-flex justify-content-end> button classbtn btn-primary btn-width-short onclick$.redirect(contact-us) stylebackground: #E90000!important;> Contact Us /button> /div> --> /div> /div> /div> /div>/section>section classheaderMenu homepageHeaderMobile d-block d-md-block d-lg-none transparent-bg w-100 idheaderMobileTopBar> div classsection py-2> div classkt-container row align-items-center> div classcol-5 px-0 d-flex justify-content-start> div classdropdown onclickshowSidebar()> i classfa fa-bars menuIcon font-dark>/i> /div> /div> div classcol-7 px-0 d-flex justify-content-end> a hrefhomepage> div> img srcimages/project/Ziconlogo_blackcolour.webp classhomepage_header_logo altlogo stylewidth:140px; margin-right:17px;> !-- span classfont-dark font-weight-bold content-text>简单云吞面/span> --> /div> /a> /div> !-- div classcol-5 px-0 d-flex justify-content-end> div classdropdown onclickshowSidebar()> i classfa fa-bars menuIcon font-dark>/i> /div> /div> --> /div> /div> div idsidebar classmobileSidebar> div classtext-center mt-4> a hrefhomepage> div> img classsidebarLogo altlogo srcimages/project/Ziconlogo_blackcolour.webp stylewidth:140px; margin-right:17px;> !-- span classfont-dark font-weight-bold content-text>简单云吞面/span> --> /div> /a> /div> div classmy-3 px-4 text-left blackFont btn-group font-dark> a classdropbtn showDropdown px-0 font-dark href/homepage data-langM00604> Home /a> /div> div classmy-3 px-4 text-left blackFont btn-group font-dark> a classdropbtn showDropdown px-0 font-dark href/our-services data-lang> Our Services /a> /div> div classmy-3 px-4 text-left blackFont btn-group font-dark> a classdropbtn showDropdown px-0 font-dark href/our-products data-lang> Our Products /a> /div> div classmy-3 px-4 text-left blackFont btn-group font-dark> a classdropbtn showDropdown px-0 font-dark href/blogs data-lang> Information /a> /div> div classmy-3 px-4 text-left blackFont btn-group font-dark> a classdropbtn showDropdown px-0 font-dark href/contact-us data-lang> Contact Us /a> /div>!-- div classmy-3 px-4 text-left blackFont btn-group font-dark> button classdropbtn showDropdown px-0 font-light onclick$.redirect(contact-us) stylebackground: #E90000!important; color: white;> Contact Us /button> /div> --> /div> div idsidebarBG classtransparentBG onclickhideSidebar()> div idcloseButton classcloseSidebar> i classfa fa-times menuIcon>/i>/div> /div>/section>style> /style>body styleoverflow-x: hidden;> div idoverlay classoverlay>/div> div idcontentSection style class> !-- Section 1 --> section idhomepage-section-outer classkt-container homepage-section-1 mt-0 px-0 pt-0 section> div idhomepage-section-1 classw-100 d-flex align-items-center pt-5 section pr-0> /div> !-- div classcol-12 col-md-8 d-flex pb-md-5 pb-2> div classcol-1 d-md-block d-none stylejustify-items: center;margin-top: 4px;> div classorange-Point-dot> /div> /div> div classcol-md-11 col-12> div idbanner-section> /div> div classmt-5 d-flex> div> testing /div> div> testing /div> /div> /div> /div> --> /section> section classsection default-secondary-bg-color kt-container additionalSection d-flex flex-wrap justify-content-between align-items-center idhomepageIntroSection> !-- div classcol-12 col-lg-4 p-4 > div classimage-container stylebackground:#d6d6d6> img srcimages/Image 237.webp altThermostat classimg-fluid> div classtext-overlay> div> h5>Mechanical and Electronic Thermostats/h5> p>At Zicon, we offer reliable mechanical and electronic thermostats, from traditional models to advanced, programmable systems./p> a href# classtext-white text-decoration-none>Read More →/a> /div> /div> /div> /div> div classcol-12 col-lg-4 p-4 > div classimage-container stylebackground:#d6d6d6> img srcimages/large2.webp altThermostat classimg-fluid> div classtext-overlay> div> h5>Mechanical and Electronic Thermostats/h5> p>At Zicon, we offer reliable mechanical and electronic thermostats, from traditional models to advanced, programmable systems./p> a href# classtext-white text-decoration-none>Read More →/a> /div> /div> /div> /div> div classcol-12 col-lg-4 p-4 > div classimage-container stylebackground:#d6d6d6> img srcimages/Group 43915.webp altThermostat classimg-fluid> div classtext-overlay> div> h5>Mechanical and Electronic Thermostats/h5> p>At Zicon, we offer reliable mechanical and electronic thermostats, from traditional models to advanced, programmable systems./p> a href# classtext-white text-decoration-none>Read More →/a> /div> /div> /div> /div> --> /section> !-- Section 2 --> section classsection default-secondary-bg-color kt-container pl-0 pr_xxl> div classouter-section-div> div classrow mx-0> div classcol-12 col-md-7 inner-section-div default-secondary-bg-color> div idsec2Title classfont-dark font-weight-thick font-lg mb-3 font-lg__34> With over 45 years of experience and expertise /div> div idsec2Description classfont-weight-thin font-dark font-md mb-3> Zicon Controls has become a leader in the design, manufacturing, and sourcing of HVAC systems and automated control applications. We prioritize quality, providing a comprehensive range of HVAC products with advanced technology at competitive prices to serve both industrial and commercial needs across APEC. /div> div idsec2Button> /div> /div> /div> /div> /section> !-- Section 3 --> section classposition-relative px-0 section kt-container> div classsec3-title-container> h2 idAboutUsTitle classfont-xl font-dark font-weight-thick px-5 text-center font-light>/h2> h3 idAboutUsDescription classfont-md font-dark font-weight-thin px-5 text-center font-light>/h3> /div> div class> div idhomepage-section-2 classd-flex align-items-center px-3 px-md-5 py-5 padding-container> /div> /div> /section> !-- Section 4 --> section classsection kt-container px-md-2 px-lg-5 mission-section-div> div classrow justify-content-center idsection4Container> /div> /section> section classsection kt-container> div classrow justify-content-center idsection5Container> /div> /section> !-- div classkt-sticky-toolbar stylemargin-top: 100px; background-color: rgba(255, 255, 255, 0.15); cursor: pointer;> a idwhatsappPin> img srcimages/project/whatsapp.svg stylewidth:50px; data-toggletooltip title data-placementleft> /a>/div> -->!-- 11 Changi North Street 1, #03-01, Singapore 498823 -->section classhomepage_footer footer footer-bg-color > div classsection mt-5 stylebox-shadow: 0px 0px 10px #00000042; border-radius: 50px 50px 0 0> div classkt-container row> div classcol-12 px-0 pb-2> a href/homepage> img srcimages/project/Ziconlogo_blackcolour.webp altlogo classhomepage_footer_logo mb-3 width72% stylemax-width: 150px> /a> /div> div classd-flex justify-content-between col-12 flex-wrap px-0> div classcol-lg-auto col-md-8 col-12 px-0 align-item-center> div classbodyText font-sm font-weight-thin font-dark pb-2 data-langM00621>Efficient, Reliable, and Sustainable br> HVAC Solutions for Modern Buildings/div> hr> div classbodyText smaller font-dark pb-2 d-flex data-lang> div classcol-1 pl-0 pr-0 d-flex justify-content-center> !-- img srcimages/project/Group 5.svg class styleheight:15px; alt> --> div classfont-awesome-icon-div> i classfa fa-map-marker aria-hiddentrue stylefont-size: 13px; color: white;>/i> /div> /div> div classcol-11 address-hover onclickopenAddress1() stylecursor: pointer;> p classmb-0 font-dark font-sm font-weight-thin>11 Changi North Street 1/p> p classmb-0 font-dark font-sm font-weight-thin> #03-01 /p> p classmb-0 font-dark font-sm font-weight-thin>Singapore 498823/p> /div> /div> /div> div classcol-lg-auto col-md-4 col-12 mt-5 mt-md-0 px-0> div classbodyText font-md font-weight-thick font-dark pb-2>Navigation/div> div classbodyText smaller pb-2> a classfont-dark font-sm font-weight-thin href/homepage data-langM00603> About Us /a> /div> div classbodyText smaller pb-2> a class font-dark font-sm font-weight-thin href/our-services data-langM00603> Our Services /a> /div> div classbodyText smaller pb-2> a class font-dark font-sm font-weight-thin href/our-products data-langM00004> Our Products /a> /div> div classbodyText smaller pb-2> a class font-dark font-sm font-weight-thin href/blogs data-langM00603> Information /a> /div> div classbodyText smaller pb-2> a class font-dark font-sm font-weight-thin href/contact-us data-langM00314> Contact Us /a> /div> /div> div classcol-lg-auto col-md-8 col-12 mt-5 mt-lg-0 px-0> div classbodyText font-md font-weight-thick font-dark pb-2>Contact Information/div> div classbodyText smaller font-dark pb-2 d-flex data-lang> div classcol-1 pl-0 pr-0 d-flex justify-content-center> !-- img srcimages/project/Group 8.svg class stylewidth:15px; alt> --> div classfont-awesome-icon-div> i classfa fa-envelope aria-hiddentrue stylefont-size: 13px; color: white;>/i> /div> /div> div classcol-11 font-sm font-weight-thin> a classfont-dark font-sm font-weight-thin href/cdn-cgi/l/email-protection#0a6b6e6763644a70636965647e786566792469656724796d target_blank>span class__cf_email__ data-cfemailb4d5d0d9dddaf4ceddd7dbdac0c6dbd8c79ad7dbd99ac7d3>email protected/span>/a> /div> /div> div classbodyText smaller font-dark pb-2 d-flex data-lang> div classcol-1 pl-0 pr-0 d-flex justify-content-center> !-- img srcimages/project/Group 4.svg class stylewidth:15px; alt> --> div classfont-awesome-icon-div> i classfa fa-phone aria-hiddentrue stylefont-size: 13px; color: white;>/i> /div> /div> div classcol-11 font-sm font-weight-thin> !-- a classfont-sm font-weight-thin text-decoration-none hrefhttps://api.whatsapp.com/send?phone6567427155 target_blank>+65 6742 7155/a> --> a classfont-sm font-weight-thin text-decoration-none hreftel:+6567427155>+65 6742 7155/a> /div> /div> !-- div classbodyText font-dark smaller pb-2 font-sm font-weight-thin> div classd-flex align-items-center> div classfont-awesome-icon-div mr-2> i classfa fa-linkedin aria-hiddentrue stylefont-size: 13px; color: white;>/i> /div> span classfont-dark font-sm>Zicon Controls/span> /div> /div> div classbodyText font-dark smaller pb-2 font-sm font-weight-thin> div classd-flex align-items-center> div classfont-awesome-icon-div mr-2> i classfa fa-facebook aria-hiddentrue stylefont-size: 13px; color: white;>/i> /div> span classfont-dark font-sm>Zicon Controls/span> /div> /div> div classbodyText font-dark smaller pb-2 font-sm font-weight-thin> div classd-flex align-items-center> div classfont-awesome-icon-div mr-2> i classfa fa-instagram aria-hiddentrue stylefont-size: 13px; color: white;>/i> /div> span classfont-dark font-sm>Zicon Controls/span> /div> /div> --> /div> div classcol-lg-auto col-md-4 col-12 mt-5 mt-lg-0 px-0 d-flex flex-column > div classbodyText font-md font-weight-thick font-dark pb-2>Legal Compliance/div> a href/terms-and-conditions target_blank classbodyText font-dark smaller pb-2 font-sm> Terms and Conditions /a> a href/privacy-policy target_blank classbodyText font-dark smaller pb-2 font-sm> Privacy Policy /a> /div> /div> /div> !-- hr styleborder-color:#9d9d9d classw-100 d-block my-2 > --> !-- div classkt-container row d-flex flex-column-reverse flex-sm-row mt-5> div idfooterLine1 classcol-sm-6 mt-2 col-12 p-0 d-flex flex-column flex-sm-row justify-content-between align-items-center> div classbodyText smaller font-dark font-sm data-langM00627>©2025 /div> /div> -->!-- div idfooterLine3 classcol-sm-6 mt-2 col-12 p-0 d-flex flex-row justify-content-center justify-content-md-end align-items-center> div classml-3 cursor-pointer onclickwindow.open()> img src../images/project/fb-icon-white.svg stylewidth:23px; alt> /div> div classml-3 cursor-pointer onclickwindow.open()> img src../images/project/Group 15.svg alt> /div> div classml-3 cursor-pointer onclickwindow.open(https://api.whatsapp.com/send?phone65 6742 7155)> img src../images/project/Group 16.svg alt> /div> /div> --> /div> /div>/section>section classd-flexjustify-content-center align-items-center flex-column p-4 px-0 stylebackground:#19191A> div classcopyright font-light font-xs font-weight-thin text-center> !-- a hrefterms-and-conditions classcopyright font-light font-xs font-weight-thin text-center target_blank>Terms and Condition/a> | a hrefprivacy-policy classcopyright font-light font-xs font-weight-thin text-center target_blank>Privacy Policiesa> --> h2 classcopyright font-light font-xs font-weight-thin text-center mb-0> © span classfont-light font-xs idcurrentYear>/span> ZiconControls. All Rights Reserved. /h2> h2 classcopyright font-light font-xs font-weight-thin text-center mb-0> div classbodyText smaller font-light font-xs text-center data-langM00913>Powered by a hrefhttps://365production.net/ target_blank classbodyText smaller font-light font-xs text-center>365Production.net/a>/div> /h2> /div> /section> script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script> console.log(hello) const newDate new Date() const currentYear newDate.getFullYear(); document.getElementById(currentYear).innerHTML currentYear /script>/body>!-- captcha -->div idoverlay styleposition: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: none; z-index:9999;>/div>div idshowCaptcha styleposition: fixed;top: 50%;left: 50%; transform: translate(-50%, -50%); display:none; z-index: 9999; > div class> div class justify-content-center> div classslidercaptcha card> div classcard-header> div classclose styletop: 8px; width:0px>/div> /div> div classcard-body> div idcaptcha>/div> /div> /div> /div> /div>/div>div classmodal fade idcontanctUsConfirmationModal tabindex-1 roledialog aria-labelledbyexampleModalLabel stylepadding-left:17px; padding-right: 17px; aria-modaltrue> div classmodal-dialog roledocument> div classmodal-content stylepadding: 30px> div classmodal-header> button typebutton classclose data-dismissmodal aria-labelClose> /button> /div> div classmodal-body modalBodyFont align-self-center text-center> !-- img classwarning-img src../images/warning-modal.svg alt> --> i classfa fa-question-circle-o fa-4x stylecolor: #fca500; margin-bottom: 15px;>/i>br/> div classdelete-modal-title data-langS00039> /div> div classdelete-modal-description data-lang> div data-lang idsignUpConfirmText> /div> /div> /div> div classmodal-footer justify-content-center row> button idcancelBtn typebutton classcol-5 btn btn-secondary letterSpace data-dismissmodal data-langM00896> /button> button iddeleteBtn typebutton classcol-5 btn btn-primary letterSpace data-dismissmodal data-langM00897 onclick submitContactUs()> /button> /div> /div> /div>/div>div idkt_scrolltop classkt-scrolltop stylebackground-color: #fff> i classfa fa-arrow-up stylecolor: #1B75BB;>/i>/div>script> var language english;/script>!-- begin::Global Config(global config for global JS sciprts) -->script> var KTAppOptions {colors:{state:{brand:#374afb,light:#ffffff,dark:#282a3c,primary:#5867dd,success:#34bfa3,info:#36a3f7,warning:#ffb822,danger:#fd3995},base:{label:#c5cbe3,#a1a8c3,#3d4465,#3e4466,shape:#f0f3ff,#d9dffa,#afb4d4,#646c9a}}};/script>!--begin:: Standard Member Platform JS -->script srcjs/standardJS/general.js?v1.0.2 typetext/javascript>/script>script srclanguage/lang_english.js?v1.0.2>/script>script typetext/javascript> var pageName homepage.php; var userId ; var projectByPassLoading ; if(handleUIDStatusfalse) { if(languagechineseTraditional || languagechineseSimplified) { showMessage(您的浏览器当前禁用了 cookies。禁用 cookies 可能会导致您无法正常访问此网站的某些功能。请在浏览器设置中启用 cookies 后重试。, Warning, Cookies 已被禁用, times-circle, ); } else { showMessage(Cookies are currently disabled in your browser. Without cookies, you may experience issues accessing certain features of this site. Please enable cookies in your browser settings and try again., Warning, Cookies are Disabled, times-circle, ); } } $(document).ready(function() { // if(pageName homepage.php || pageName contact-us.php){ // $(#headerTopBar).removeClass(secondary-bg).addClass(transparent-bg); // $(.header-bg-color).removeClass(secondary-bg).addClass(transparent-bg); // }else{ // $(#headerTopBar).removeClass(transparent-bg).addClass(secondary-bg); // } setActiveMenuLink(); $(#whatsappPin).click(function(){ window.open(https://api.whatsapp.com/send?phone6567427155, _blank); }); // to handle the push down animation at side bar for account $(#accountDetails).click(function(){ $(#accountItems).toggleClass(show) }) if(pageName 404) { return true } $(.showDropdown).click(function(){ $(.showDropdown).not(this).removeClass(open); if($(this).hasClass(open)){ $(this).removeClass(open); }else{ $(this).addClass(open); } }); $(.input-daterange input).each(function() { $(this).daterangepicker({ singleDatePicker: true, timePicker: false, locale: { format: DD/MM/YYYY } }); $(this).val(); }); $(.menuIcon, .sideBarScreen).click(function() { if($(.sideBar).hasClass(open)){ $(.sideBar).removeClass(open); $(.sideBarScreen).hide(); }else{ $(.sideBar).addClass(open); $(.sideBarScreen).show(); } }); $(.changeLanguage).click(function(){ changeLanguage($(this).attr(language)); }); window.ajaxEnabled true; loadHeaderDropDown() var url scripts/reqClient.php; var method POST; var debug 0; var bypassBlocking 0; var bypassLoading 0; var fCallback ; var formData { command : getContentData, params : { section : announcement, } }; fCallback fetchData; // ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0) var tokenID ; var accountType ; // to load account member info if(tokenID ! && (pageName reward.php || pageName addresses.php || pageName add-address.php || pageName editAddress.php || pageName orders.php)) { loadMemberAPI() } if(tokenID ! && (pageName ! confirm-order.php && pageName ! review-order.php && pageName ! payment.php && pageName ! merchandise-details.php)) { // loadGetShoppingCartAPI() } if(tokenID ! && pageName ! favourite-list.php) { // loadFavouriteListAPI() } if(tokenID || accountType Guest) { // Pages that no need token ID if( pageName blog-details.php || pageName blogs.php || pageName ecatalogue.php || pageName products_bk.php || pageName products.php || pageName product.php || pageName product-details.php || pageName our-products.php || pageName our-services.php || pageName contact-us.php || pageName homepage.php || pageName payment.php || pageName confirm-order.php || pageName checkout-as.php || pageName review-order.php || pageName order-status.php || pageName sign-in.php || pageName sign-up.php || pageName forgot-password.php || pageName verify-your-identity.php || pageName merchandise.php || pageName merchandise-details.php || pageName order-tracking.php || pageName reset-password.php|| pageName favourite-list.php|| pageName track-order.php || pageName book-dining.php || pageName terms-and-conditions.php || pageName privacy-policy.php) return true; // No access token, thus dont allow to call backend window.ajaxEnabled false; showMessage(, error, , , homepage); return true; } var currentTime 1748412781; var sessionTimeOut 1748412781; var sessionExpireTime 0; if((currentTime - sessionTimeOut) > sessionExpireTime) { // $.ajax({ // type: POST, // url: scripts/reqLogin.php, // data: {type : logout}, // success : function(result) { // }, // error : function(result) { // } // }); // errorHandler(3, ); // window.ajaxEnabled false; } }); function changeLanguage(language) { var url scripts/reqLogin.php; var method POST; var debug 0; var bypassBlocking 0; var bypassLoading 0; var fCallback reloadPage; var formData {command: setLanguage, language : language}; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function loadMemberAPI(){ var url scripts/reqClient.php; var method POST; var debug 0; var bypassBlocking 0; var bypassLoading 0; var formData { command: getMemberDetails, }; fCallback loadMemberInfo; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function loadMemberInfo(data, message){ $(#memberName).html(data.member.name) $(#memberEmail).html(data.member.email) } function openAddress1(){ const address 11 Changi North Street 1, #03-01, Singapore 498823; window.open(`https://www.google.com/maps?q${encodeURIComponent(address)}`, _blank); } function reloadPage() { location.reload(); } // removeFirstTwoCharacters function removeFirstTwoCharacters(inputString) { if (inputString.substring(0, 2) 60) { return inputString.substring(2); } else if (inputString.charAt(0) 0 && !inputString.substring(1).startsWith(60)) { return inputString.substring(1); } return inputString; } function copyQR() { /* Get the text field */ var copyText document.getElementById(qrInput); /* Select the text field */ copyText.select(); copyText.setSelectionRange(0, 99999); /*For mobile devices*/ /* Copy the text inside the text field */ document.execCommand(copy); /* Alert the copied text */ // alert(Copied QR Link: + copyText.value); $(.copiedMsg).show(); setTimeout(function(){$(.copiedMsg).hide();},3000); } if(pageName ! merchandise.php){ var position $(window).scrollTop(); // should start at 0 $(window).scroll(function() { var scroll $(window).scrollTop(); if (scroll > position) { $(#kt_header_mobile).removeClass(header-mobile); $(#mobile_fix).removeClass(header-mobile); } else if ($(window).scrollTop() > 400 ) { $(#kt_header_mobile).addClass(header-mobile); $(#mobile_fix).addClass(header-mobile); } position scroll; }); } function shareFacebook(id) { var getUrl $(#+id).val(); window.open(https://www.facebook.com/sharer/sharer.php?u+encodeURIComponent(getUrl)); } function shareTwitter(id) { var getUrl $(#+id).val(); window.open(https://twitter.com/intent/tweet?url+encodeURIComponent(getUrl)+&textCheck out my registration url); } function shareWhatsapp(id) { var getUrl $(#+id).val(); } function shareWeibo(id) { var getUrl $(#+id).val(); window.open(http://service.weibo.com/share/share.php?url+encodeURIComponent(getUrl)+&appkey&titleCheck out my registration URL: &pic&ralateUid&languagezh_cn); } function shareTelegram(id) { var getUrl $(#+id).val(); window.open(https://t.me/share/url?textPlease check out my registration URL&url+encodeURIComponent(getUrl)); } function countdownTimer(data, message){ $(#forgotEmail).prop(disabled,true); $(#otpBtn).prop(disabled,true); $(#otpBtn).addClass(homepage_modal_disabled); $(#forgotEmail).addClass(homepage_modal_disabled); $(#forgotEmailDiv).addClass(homepage_modal_disabled); var timer data.resendOTPCountDown; var tempMin, tempSec; tempMin timer/60; tempSec timer%60; tempSec (tempSec 10) ? 0 + tempSec : tempSec; tempMin Number(tempMin).toFixed(0); tempSec Number(tempSec).toFixed(0); var timer2; timer2 tempMin+:+tempSec; // console.log(timer2) $(#otpBtn).html(timer2); var interval setInterval(function() { var timer timer2.split(:); var minutes parseInt(timer0, 10); var seconds parseInt(timer1, 10); --seconds; minutes (seconds 0) ? --minutes : minutes; seconds (seconds 0) ? 59 : seconds; seconds (seconds 10) ? 0 + seconds : seconds; $(#otpBtn).html(minutes + : + seconds); // console.log($(#otpBtn).html()) timer2 minutes + : + seconds; if(timer2 0:00) { clearInterval(interval); $(#otpBtn).html(Send OTP); $(#otpBtn).removeClass(homepage_modal_disabled); $(#forgotEmail).removeClass(homepage_modal_disabled); $(#forgotEmailDiv).removeClass(homepage_modal_disabled); $(#otpBtn).prop(disabled,false); $(#forgotEmail).prop(disabled,false); } }, 1000); } function removeCookie(cookieName) { cookieValue ; cookieLifetime -1; var date new Date(); date.setTime(date.getTime()+(cookieLifetime*24*60*60*1000)); var expires ; expires+date.toGMTString(); document.cookie cookieName++JSON.stringify(cookieValue)+expires+; path/; } function showSidebar(){ $(.mobileSidebar).addClass(open); } function hideSidebar(){ $(.mobileSidebar).removeClass(open); } function showModal(){ $(#loginModal).modal(show); } function showForgotPwdModal(){ $(#loginModal).modal(hide); $(#forgotPwdModal).modal(show); } function getNumberOfWishlistItems() { var formData { command : getWishList, }; showCanvas(); $.ajax({ type : POST, // define the type of HTTP verb we want to use (POST for our form) url : scripts/reqDefault.php, // the url where we want to POST data : formData, // our data object dataType : text, // what type of data do we expect back from the server encode : true }) .done(function(data) { hideCanvas(); var obj JSON.parse(data); if(obj.status ok) { loadNumberOfWishlistItems(obj.data, obj.statusMsg); } else { if(obj.statusMsg ! ) { if(obj.data ! null && obj.data.field) showCustomErrorField(obj.data.field, obj.statusMsg); else errorHandler(obj.code, obj.statusMsg); } } }); } function getNumberOfFavouriteItems() { var formData { command : getProductFavouriteList, }; showCanvas(); $.ajax({ type : POST, // define the type of HTTP verb we want to use (POST for our form) url : scripts/reqDefault.php, // the url where we want to POST data : formData, // our data object dataType : text, // what type of data do we expect back from the server encode : true }) .done(function(data) { hideCanvas(); var obj JSON.parse(data); if(obj.status ok) { loadNumberOfFavouriteItems(obj.data, obj.statusMsg); } else { if(obj.statusMsg ! ) { if(obj.data ! null && obj.data.field) showCustomErrorField(obj.data.field, obj.statusMsg); else errorHandler(obj.code, obj.statusMsg); } } }); } function loadNumberOfWishlistItems(data, message) { var html ; html + ` img srcimages/project/star-icon2.png width20px> div classnumOfWislistItems>0/div>`; $(.wishlistIcon).html(html); var numberOfWishlistItems if(data)numberOfWishlistItems data.length; else numberOfWishlistItems ; //var numberOfWishlistItems data.length; if(numberOfWishlistItems > 0) $(.numOfWislistItems).html(numberOfWishlistItems); } function loadNumberOfFavouriteItems(data, message) { var html ; html + ` img srcimages/project/love-icon.png width20px> div classnumOfFavouriteItems>0/div> `; $(.favouriteIcon).html(html); var numberOfFavouriteItems; if(data)numberOfFavouriteItems data.length; else numberOfFavouriteItems ; if(numberOfFavouriteItems > 0) $(.numOfFavouriteItems).html(numberOfFavouriteItems); } function addItemToWishlist(id) { var formData { command : addWishList, product_id : id ? id : selectedId, action : add }; var fCallback successAddItemToWishlist; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function addItemToFavourite(id, inList, fav_id) { var formData { command : addProductFavouriteList, clientID: }; if(inList) { formDataaction remove; formDatafavid fav_id; } else { formDataaction add; formDataproduct_id id ? id : selectedId; } var fCallback successAddItemToFavourite; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function successAddItemToFavourite(data, message) { $(.food-detail-div-fix-width).find(.fa-heart).toggleClass(active); var redirect ; if(pageName foodDetails.php) { getNumberOfFavouriteItems(); showMessage(message, success, , success); } else if(pageName favourite.php){ redirect favourite; } showMessage(message, success, , success, redirect); } function showRemoveConfirmationModal(id) { selectedId id; $(#removeConfirmationModal).modal(); } function removeItemFromWishlist() { var formData { command : addWishList, wishlistid : selectedId, action : remove }; var fCallback successRemoveItemFromWishlist; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function successRemoveItemFromWishlist(data, message) { showMessage(message, success, , success, wishlist); } function removeItemFromFavouritelist() { var formData { command : addProductFavouriteList, clientID: , favid : selectedId, action : remove }; var fCallback successRemoveItemFromFavourite; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function successRemoveItemFromFavourite(data, message) { showMessage(message, success, , success, favourite); } function loadGetShoppingCartAPI() { const formData { command: getShoppingCart, params:{ postcode : , promo_code: , deliveryMethod: , redeemAmount: , } }; var fCallback loadCartItem; ajaxSend(scripts/reqDefault.php, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function loadCartItem(data, message){ if(data.cartQuantity){ if(data.cartQuantity 0){ $(#numberOfItemInCart).hide(); $(#numberOfItemInCart__mobile).hide(); } else { $(#numberOfItemInCart).show(); $(#numberOfItemInCart__mobile).show(); $(#numberOfItemInCart).html(data.cartQuantity) $(#numberOfItemInCart__mobile).html(data.cartQuantity) } } } function loadFavouriteListAPI(){ const formData { command: getProductFavouriteList, }; var fCallback loadFavNum; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function loadFavNum(data, message){ if(data){ $(#favItemNumDisplay).attr(src, images/project/ori-love-icon-f.svg) $(#favItemNumDisplay__mobile).attr(src, images/project/ori-love-icon-f.svg) } else { $(#favItemNumDisplay).attr(src, images/project/fav-icon.svg) $(#favItemNumDisplay__mobile).attr(src, images/project/fav-icon.svg) } } /* Page debug function from class.debug_js.php */ pageDebug(); let announcements ; let currentIndex 0; const announcementWrapper document.getElementById(announcement-wrapper2); let announcementElement document.getElementById(announcement-text2); function fetchData(data) { announcements data.contentData.map(item > item.subtitle); if (announcements.length > 1) { $(.announcement-bar2).removeClass(d-none); announcementElement.textContent announcements0; setInterval(updateAnnouncement, 5000); } else if (announcements.length 1) { $(.announcement-bar2).removeClass(d-none); announcementElement.textContent announcements0; announcementElement.style.transform translateY(0); } else { $(.announcement-bar2).addClass(d-none); } // adjustTopbarContent(); } function updateAnnouncement(data) { if (!announcementElement) { console.error(Announcement element not found); return; } announcementElement.style.transform translateY(-80%); setTimeout(() > { currentIndex (currentIndex + 1) % announcements.length; const newAnnouncement document.createElement(div); newAnnouncement.className announcement2; newAnnouncement.textContent announcementscurrentIndex; newAnnouncement.style.transform translateY(80%); announcementWrapper.appendChild(newAnnouncement); setTimeout(() > { newAnnouncement.style.transform translateY(0); }, 50); setTimeout(() > { if (announcementElement) { announcementWrapper.removeChild(announcementElement); announcementElement newAnnouncement; } }, 500); }, 500); } function adjustTopbarContent() { var windowHeight $(window).height(); var windowWidth $(window).width(); // Correct the typo here var topbarHeight $(#headerTopBar).outerHeight(); // jQuery equivalent var topbarMobileHeight $(#headerMobileTopBar).outerHeight(); // jQuery equivalent if(windowWidth > 769) { $(#contentSection).css(padding-top, topbarHeight); } else if(windowWidth 769 && windowWidth > 0) { // Corrected comparison operator $(#contentSection).css(padding-top, topbarMobileHeight); } else { $(#contentSection).css(padding-top, 0); }}function toggleDropdown() { const dropdown document.querySelector(.dropdownContent); dropdown.style.display dropdown.style.display block ? none : block;}function setActiveMenuLink() { const currentUrl window.location.pathname; // console.log(currentUrl , currentUrl); $(.header_menu_div a).each(function() { const linkHref currentUrl.replace(/^\/|\/$/g, ); // console.log(this); // console.log(linkHref , currentUrl); if ($(this).attr(href)/homepage && currentUrl /) { $(this).addClass(active); } else if ($(this).attr(href) `/${linkHref}`) { $(this).addClass(active); } else { $(this).removeClass(active); } // if ($(this).attr(href) linkHref) { // $(this).addClass(active); // } else { // $(this).removeClass(active); // } }); } function loadHeaderDropDown(){ var pageNumber 1; var formData { command: memberSearch, params:{ pageNumber: pageNumber, searchData: , // searchData: JSON.stringify(searchArray), } }; var fCallback loadDropDownHeader; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); } function loadDropDownHeader(data, message){ let headerDropDown ``; $.each(data.categoryList, function(k, v){ headerDropDown + `a classdropdown-item hrefjavascript:; onclickredirectProductListing(${vid})>${vname}/a>` }) $(#productCategoryDropDown).html(headerDropDown) } function redirectProductListing(categoryId){ const url `product?cat_id${encodeURIComponent(categoryId)}`; window.location.href `/${url}`; }/script>/html>script>var url scripts/reqClient.php;var method POST;var debug 0;var bypassBlocking 0;var bypassLoading 0;var fCallback ;var slideIndex 1;var FBshare window.location.href;var errorFieldArr // Done from nginx redirect urlvar toPage ;$(document).ready(function(){ getContentPageData(); $(.headerBtn).removeClass(active); $(.homepagebtn).addClass(active);});function getContentPageData(){ var formData { command : getPageContentDataByPriority, params : { pageUrl : homepage, type : ``, pageId: } }; var fCallback renderPageData; ajaxSend(url, formData, method, fCallback, debug, bypassBlocking, bypassLoading, 0); }function mapDataToObject2(dataArray) { let mappedData {}; $.each(dataArray, function(_, item) { let key, value Object.entries(item)0; // Get key-value pair if (key) { (mappedDatakey || ).push(value); // Initialize array only if necessary } }); return mappedData;}function renderPageData(dataOri, message){ // const data mapDataToObject(dataOri); const data mapDataToObject2(dataOri); // console.log(data, dataori) // console.log(mapDataToObjecta2 , mapDataToObjecta2); loadBanner(data.WBannerTitle1 , data.WBannerTitle2, data.WBannerSubtitle1, data.WBannerSubtitle2, data.WBannerSubtitle3); // loadContentAndDetails(data.BannerContent1 , data.BannerContentDescription1 , data.BannerContent2 , data.BannerContentDescription2 , data.BannerContent3 , data.BannerContentDescription3); loadSec2Content(data.WPitchTitle , data.WPitchSubtitle, data.WPitchButton1, data.WPitchButton2); loadAboutContent(data.WAboutUsTitle ,data.WAboutUsSubtitle , data.WAboutUsContent1, data.WAboutUsContent2 , data.WAboutUsContent3 , data.WAboutUsContent4); loadSection4(data.WMissionTitle, data.WMissionContent); loadNewIntroSection(data.WIntroContent) loadHomepageContact(data.WContactUsTitle, data.WContactUsContent)}function loadHomepageContact(title, content){ // console.log(title, content, contact) let contactHtml ; contactHtml + ` div classcol-12 col-lg-6 mb-5 mb-lg-0> img src${title0imageUrl} alt classw-100 contact-border> /div> div classcol-12 col-lg-6 homepage-container-div> div classmb-4 font-xl font-weight-bold stylewhite-space: pre-line;>${title0text}/div> div classmb-5 stylewhite-space: pre-line;> ${content0text} /div> div classcol-12 d-flex mt-3 p-0 align-items-center> a hrefmailto:admin@zicontrols.com.sg> button classbtn btn-special btn-special-2 pr-5 pl-3 py-3 text-left btn-hover-effect> h3 classfont-lg font-light font-weight-thin m-0> Contact Us /h3> /button> /a> div classbtn-arrow-right-blue d-flex justify-content-center align-items-center ml-3 btn-arrow-right-blue2> img src../images/project/Path 20.svg class styleheight:25px; alt> /div> /div> /div> ` $(#section5Container).html(contactHtml) }function loadNewIntroSection(title) { // console.log(title); let introHtml ; $.each(title, function(k, v) { let textFormatted formatText(vtext); // Format text dynamically introHtml + `div classcol-12 col-lg-4 p-4> div classimage-container position-relative stylebackground:#d6d6d6> img src${vimageUrl} altThermostat classimg-fluid> div classtext-overlay> div classfont-light> ${textFormatted} a href${vurl} classtext-white text-decoration-none mt-2>Read More →/a> /div> /div> div classabsolute-border>/div> /div> /div>`; }); $(#homepageIntroSection).html(introHtml);}function formatText(text) { if (!text) return ; // Ensure text is not undefined text text.trim(); let lines text.split(/\n+/); // Split text by new lines let formattedText ; $.each(lines, function(index, line) { if (/^\*\*(.*?)\*\*$/.test(line)) { formattedText + `h5>${line.replace(/\*\*/g, )}/h5>\n`; } else if (line ! ) { formattedText + `p>${line}/p>\n`; } }); return formattedText;}function loadAboutContent(title, subtitle, content1, content2, content3, content4){ $(#homepage-section-2).css(background, `url(${title0.imageUrl})`) $(#homepage-section-2).css(background-size , `cover`); $(#homepage-section-2).css(background-position , `center`); $(#AboutUsTitle).html(`${title0.text}`) $(#AboutUsDescription).html(`${subtitle0.text}`) let contentHtml ; contentHtml + ` div classw-100 px-5 pt-5> div classfont-width__lg> div classfont-md font-light mb-3> ${content10.text} /div> div classfont-xl font-light font-weight-bold mb-3 styleline-height: 1.2;> ${content20.text} /div> div classfont-md font-light> ${content30.text} /div> /div> div classfont-md font-light text-left font-width_special_md> ${content40.text} div> /div> ` $(#homepage-section-2).html(contentHtml)}function loadSec2Content(title , subtitle1, button1, button2){ $(#sec2Title).html(`${title0.text}`); $(#sec2Description).html(`${subtitle10.text}`); let sec2BtnHtml ; sec2BtnHtml + ` button classposition-relative sec2-Btn mr-4 mb-4 mb-lg-3 btn-hover-effect> a hrefour-products> div classfont-xs font-light text-left> ${button10.text} /div> div classfont-md font-light font-weight-thick text-left> ${button11.text} /div> div classbutton-arrow> i classfa fa-chevron-right aria-hiddentrue stylecolor: #0044CE;>/i> /div> /a> /button> button classposition-relative sec2-Btn contact-Btn mb-4 mb-lg-3 btn-hover-effect> a hrefcontact-us> div classfont-md font-light font-weight-thick text-left> ${button20.text} /div> div classfont-xs font-light text-left> ${button21.text} /div> div classbutton-arrow contact-arrow> i classfa fa-chevron-right aria-hiddentrue stylecolor: #E90000;>/i> /div> /a> /button> ` $(#sec2Button).html(sec2BtnHtml)}function loadContentAndDetails(content1 , description1 , content2 , description2 , content3 , description3){ $(#BannerContent1).text(content10.text); $(#BannerContentDescription1).text(description10.text); $(#BannerContent2).text(content20.text); $(#BannerContentDescription2).text(description20.text); $(#BannerContent3).text(content30.text); $(#BannerContentDescription3).text(description30.text);}function loadBanner(title1, title2, subtitle1, subtitle2, subtitle3){ var titleHTML ``; var subtitleHTML ``; // $.each(title , function(index , value){ $(#homepage-section-1).css(background , `url(${title20.imageUrl})`); $(#homepage-section-1).css(background-size , `cover`); $(#homepage-section-1).css(background-position , `center`); titleHTML + ` div classw-100 pl-0 pl-md-5 pt-5> div classfont-lg font-light font-lg__mobile mb-2> ${subtitle10.text} /div> `; // }); // $.each(subtitle , function(index , value){ titleHTML + ` div classfont-xxxl font-light font-weight-bold> ${title10.text} /div> div classfont-xxl font-light font-weight-bold styleletter-spacing: 4.5;> ${title20.text} /div> div classfont-lg font-light font-lg__mobile mt-2> ${subtitle20.text} /div> `; // }); titleHTML + ` div classd-flex justify-content-between align-items-end mb-5 flex-column flex-md-row> div classfont-md font-light font-width__sm my-5 my-md-4> ${subtitle30.text} /div> div classbanner-add-container position-relative> div classbanner-img-container> img src${title10.imageUrl}/> /div> /div> /div> /div> ` $(#homepage-section-1).append(titleHTML); // $(#homepage-section-1).append(subtitleHTML);} function loadSection4(title, subtitle){ let contentHtml ; contentHtml + ` div classcol-12 col-md-4__large mb-5 mb-lg-0 px-4 mission-container> div classsec4-inner-div first-div> div classposition-relative mb-3 d-flex justify-content-between align-items-center> div classsec4-img-container> img src${title0.imageUrl}/> /div> div classfont-dark font-weight-thick spec-font> ${title0.text} /div> /div> div classfont-dark font-md styleline-height: 1.2;> ${subtitle0.text} /div> /div> /div> div classcol-12 col-md-4__large mb-5 mb-lg-0 px-4 mission-container> div classsec4-inner-div second-div> div classposition-relative mb-3 d-flex justify-content-between align-items-center> div classsec4-img-container> img src${title1.imageUrl}/> /div> div classfont-light font-weight-thick spec-font> ${title1.text} /div> /div> div classfont-light font-md styleline-height: 1.2;> ${subtitle1.text} /div> /div> /div> div classcol-12 col-md-4__large mb-5 mb-lg-0 px-4 mission-container> div classsec4-inner-div third-div> div classposition-relative mb-3 d-flex justify-content-between align-items-center> div classsec4-img-container> img src${title2.imageUrl}/> /div> div classfont-light font-weight-thick ml-3 spec-font> ${title2.text} /div> /div> div classfont-light font-md styleline-height: 1.2;> ${subtitle2.text} /div> /div> /div> ` $(#section4Container).html(contentHtml);}function adjustTopbarContent() { var windowHeight $(window).height(); var windowWidth $(window).width(); // Correct the typo here var topbarHeight $(#headerTopBar).outerHeight(); // jQuery equivalent var topbarMobileHeight $(#headerMobileTopBar).outerHeight(); // jQuery equivalent if(windowWidth > 767) { $(#contentSection).css(margin-top, topbarHeight); } else if(windowWidth 767 && windowWidth > 0) { // Corrected comparison operator $(#contentSection).css(margin-top, topbarMobileHeight); } else { $(#contentSection).css(margin-top, 0); }}/script>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]