Help
RSS
API
Feed
Maltego
Contact
Domain > www.mmjsvnarnaul.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2021-05-14
23.111.171.162
(
ClassC
)
2025-11-22
13.232.35.77
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: nginxDate: Sat, 22 Nov 2025 19:49:51 GMTContent-Type: text/htmlContent-Length: 162Connection: keep-aliveLocation: https://www.mmjsvnarnaul.com/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/center>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginxDate: Sat, 22 Nov 2025 19:49:52 GMTContent-Type: text/htmlContent-Length: 59631Last-Modified: Wed, 03 Sep 2025 05:48:50 GMTConnection: keep-aliveETag: 68b7d6c2-e8efAccept-Ranges: bytes !DOCTYPE html>html>head runatserver> title>Mata Mariam Jan Seva Vidyalaya | Home/title> meta namedescription contentMata Mariam Jan Seva Vidyalaya in Mahendragarh, haryana is a Sr. Sec School was established by Delhi Catholic Archdiocese at Narnaul in April 1992. The School is affiliated to the CBSE Board, Delhi. Best school in Mahendragarh, haryana. /> meta namekeywords contentMata Mariam Jan Seva Vidyalaya in Mahendragarh, Mata Mariam Jan Seva Vidyalaya in haryana, Mata Mariam Jan Seva Vidyalaya in narnaul, Best school in haryana, students, teachers, principals, cbse, isc, k-12 education, exams. /> meta charsetutf-8> link relcanonical hrefhttps://www.mmjsvnarnaul.com/ /> meta namecopyright contentMata Mariam Jan Seva Vidyalaya, Mahendragarh> meta namelanguage contentEn> meta namerobots contentnoodp,index,follow /> meta nameClassification contentOrganization> meta nameurl contenthttps://www.mmjsvnarnaul.com/ /> meta namecoverage contentWorldwide> meta namedistribution contentGlobal> meta http-equivCache-control contentpublic> link relicon hrefhttps://webapi.entab.info/api/image/MMJSVN/public/images/favicon.png typeimage/x-icon /> meta nameviewport contentwidthdevice-width,minimum-scale1,initial-scale1> link hrefhttps://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css relstylesheet> link hrefhttps://cdn.jsdelivr.net/npm/bootstrap-icons/font/bootstrap-icons.css relstylesheet> link relstylesheet hrefcss/animate.css /> link relstylesheet typetext/css hrefcss/style.css> style> #home { color: #198754 !important; } /style> script typeapplication/ld+json>{@context: http://schema.org,@type: organization,name : Mata Mariam Jan Seva Vidyalaya, Mahendragarh,url: https://www.mmjsvnarnaul.com/,logo: https://webapi.entab.info/api/image/MMJSVN/public/images/logo.gif,image: https://webapi.entab.info/api/image/MMJSVN/public/images/sld1.jpg,description: Mata Mariam Jan Seva Vidyalaya in Mahendragarh, haryana is a Sr. Sec School was established by Delhi Catholic Archdiocese at Narnaul in April 1992. The School is affiliated to the CBSE Board, Delhi. Best school in Mahendragarh, haryana.,telephone: 01282-260211,address: {@type: PostalAddress,streetAddress: Nasibpur, Mahendragarh,addressLocality: Narnaul,addressRegion: Haryana,addressCountry : India,postalCode: 123001}}/script> !-- Global site tag (gtag.js) - Google Analytics --> script async srchttps://www.googletagmanager.com/gtag/js?idUA-226382214-1>/script> script> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, UA-226382214-1); /script>/head>body> !--Page Loaded Popup--> div classmodal fade idexampleModalToggle aria-hiddentrue aria-labelledbyexampleModalToggleLabel tabindex-1> div classmodal-dialog modal-dialog-centered> div classmodal-content> div idmodalH classcarousel slide data-bs-ridecarousel> div classcarousel-inner> /div> button classcarousel-control-prev typebutton data-bs-target#modalH data-bs-slideprev> span classcarousel-control-prev-icon aria-hiddentrue>/span> span classvisually-hidden>Previous/span> /button> button classcarousel-control-next typebutton data-bs-target#modalH data-bs-slidenext> span classcarousel-control-next-icon aria-hiddentrue>/span> span classvisually-hidden>Next/span> /button> /div> /div> /div> /div> !--Online Reg--> div classOnlineR idOnlineRegistration> span classbounce1> a href# target_blank classparantlogo idregistration-url>Online Registration/a> a href# target_blank idattachment-link styledisplay: none;> i classbi bi-paperclip idattachment-icon styledisplay: none;>/i> /a> /span> /div> !-- erp-links --> div classerp-links> a hrefhttps://entab.online/MMJSVN target_blank> img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/Campulogo.png altMata Mariam Jan Seva Vidyalay classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 /> /a> /div> !--Hedaer--> div iducheader>/div> !--Slider Sec--> div classslider-sec data-aosfade-right> !-- div classbgoverlay>/div> --> !--Highlights--> div classhighligh_sec> marquee onmouseoverstop(); onmouseoutstart();> p idhighlights-content> !-- a href# target_blank>Stay connected for more updates! span>i classbi bi-paperclip>/i>/span>/a> | a href# target_blank> Stay connected for more updates! span>i classbi bi-paperclip>/i>/span>/a> --> /p> /marquee> /div> !--Slider--> div idcarouselExampleControls classcarousel slide data-bs-ridecarousel> div classcarousel-inner> div classcarousel-item active>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld13.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld12.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld11.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld10.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld1.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> !-- div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld2.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> --> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld3.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld4.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> !-- div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld5.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> --> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld6.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld7.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld8.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> div classcarousel-item>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/sld9.jpg classd-block w-100 altMata Mariam Jan Seva Vidyalay />/div> /div> button classcarousel-control-prev typebutton data-bs-target#carouselExampleControls data-bs-slideprev> span classcarousel-control-prev-icon aria-hiddentrue>/span> span classvisually-hidden>Previous/span> /button> button classcarousel-control-next typebutton data-bs-target#carouselExampleControls data-bs-slidenext> span classcarousel-control-next-icon aria-hiddentrue>/span> span classvisually-hidden>Next/span> /button> /div> /div> !--About Sec--> div classabout-sec> div classcontainer> div classrow> div classarea> ul classcircles> li>/li> li>/li> li>/li> li>/li> li>/li> li>/li> li>/li> li>/li> li>/li> li>/li> /ul> /div> div classcol-xl-6 col-lg-12 data-aosfade-left> img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/about.jpg classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> /div> div classcol-xl-6 col-lg-12 data-aosfade-right> h5>About Our School/h5> h1>Mata Mariam Jan Seva Vidyalaya/h1> p>Mata Mariam Jan Seva Vidyalaya was established by Delhi Catholic Archdiocese at Narnaul in April 1992 and is managed by the Society of Pilar, Goa, to impart education to children of all communities with special emphasis on character building, national integration, inculcation of patriotic spirit and secular outlook. /p> a classread-more hrefabout-us.html>Read More i classbi bi-arrow-right>/i>/a> div classtab-sec> div classtabset> !-- Tab 1 --> input typeradio nametabset idtab1 aria-controlsmarzen checked> label fortab1>Vision/label> !-- Tab 2 --> input typeradio nametabset idtab2 aria-controlsrauchbier> label fortab2>Our Core Values/label> !-- Tab 3 --> input typeradio nametabset idtab3 aria-controlsdunkles> label fortab3>Objective/label> div classtab-panels> section idmarzen classtab-panel> h2>Vision/h2> p>To prepare dynamic and caring citizens, who will meet the challenges of a global society while retaining their traditional values.br> To be a centre for excellence in education, and in keeping with the rich heritage of India will stress the simultaneous development of the Spirit, Mind and Body. We will endeavour to create compassionate, responsible and innovative global citizens who are committed to the development of India. /p> a classread-more hrefaims-objectives.html>Read More i classbi bi-arrow-right>/i>/a> /section> section idrauchbier classtab-panel> h2>Our Core Values/h2> p>The core ideology of this institution is to impart quality education to all its students. The emphasis is on formation of good human beings and citizens who can in turn contribute to the society and its welfare. /p> a classread-more hrefaims-objectives.html>Read More i classbi bi-arrow-right>/i>/a> /section> section iddunkles classtab-panel> h2>Objectives/h2> p> To provide a near-ideal ambience, outstanding teaching resource and facilities to foster all round development.br> To nurture and promote intellectual abilities. /p> a classread-more hrefaims-objectives.html>Read More i classbi bi-arrow-right>/i>/a> /section> /div> /div> /div> /div> /div> /div> /div> !--Latest News --> div classlatest-sec> div classbg-clr> div classcontainer> div classrow> div classcol-xl-6 col-lg-12> h5>Note the Dates /h5> h1>Latest News a hrefnews.html> i classbi bi-box-arrow-in-right>/i> /a> /h1> div classrow new_slid idmixedSlider_news> div classMS-content> !-- Dynamic news items will be inserted here by JavaScript --> /div> div classMS-controls> button namedata typebutton onclickgetData() classMS-left>i classbi bi-arrow-left>/i>/button> button namedata typebutton onclickgetData() classMS-right>i classbi bi-arrow-right>/i>/button> /div> /div> /div> !--School Topper --> div classcol-xl-6 col-lg-12 topers_new> h5>Congradulations /h5> h1>School Toppers/h1> div classrow> !--School Topper 12th--> div classcol-xl-6 col-lg-6 col-sm-6> div classrow new_slid idmixedSlider_top12> div classMS-content idtopperSlider> !-- Dynamic topper content will be injected here --> /div> div classtop_sec>Class XII/div> div classMS-controls> button namedata typebutton onclickgetData() classMS-left>i classbi bi-arrow-left>/i>/button> button namedata typebutton onclickgetData() classMS-right>i classbi bi-arrow-right>/i>/button> /div> /div> /div> !--School Topper 10th--> div classcol-xl-6 col-lg-6 col-sm-6> div classrow new_slid idmixedSlider_top10> div classMS-content idtopperSlider10> !-- Dynamically generated topper items will appear here --> /div> div classtop_sec>Class X/div> div classMS-controls> button namedata typebutton onclickgetData() classMS-left>i classbi bi-arrow-left>/i>/button> button namedata typebutton onclickgetData() classMS-right>i classbi bi-arrow-right>/i>/button> /div> /div> /div> /div> /div> /div> /div> /div> /div> !--Events Sec--> div classevent-sec> div classcontainer> div classtext-center> h5>Recent Activities /h5> h1>Upcoming Events a hrefevents.html>i classbi bi-box-arrow-in-right>/i>/a>/h1> /div> div classrow new_slid idmixedSlider_event> div classMS-content eventslide> !-- Dynamic Event Items will be inserted here --> /div> div classMS-controls> button namedata typebutton onclickgetData() classMS-left>i classbi bi-arrow-left>/i>/button> button namedata typebutton onclickgetData() classMS-right>i classbi bi-arrow-right>/i>/button> /div> /div> /div> /div> !--Quick Links--> div classicons-sec> div classcontainer> div classtext-center> h5>Significant Bridge/h5> h1>Quick Links/h1> /div> div classrow> div classcol data-aosfade-left>a hrefsyllabus.html> div classcard> div classrow g-0> div classcol-md-4>img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/syllabus.png classimg-fluid rounded-start lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> /div> div classcol-md-8> div classcard-body> h4>Syllabus/h4> /div> /div> /div> /div> /a> /div> div classcol data-aosfade-left>a hreflibrary.html> div classcard> div classrow g-0> div classcol-md-4>img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/booklist.png classimg-fluid rounded-start lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> /div> div classcol-md-8> div classcard-body> h4>Library/h4> /div> /div> /div> /div> /a> /div> !-- div classcol data-aosfade-left>a hreffee.html> div classcard> div classrow g-0> div classcol-md-4>img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/fee.png classimg-fluid rounded-start lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> /div> div classcol-md-8> div classcard-body> h4>Fee/h4> /div> /div> /div> /div> /a> /div> --> div classcol data-aosfade-right>a hrefmagazines.html> div classcard> div classrow g-0> div classcol-md-4>img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/magazine.png classimg-fluid rounded-start lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> /div> div classcol-md-8> div classcard-body> h4>Magazines/h4> /div> /div> /div> /div> /a> /div> div classcol data-aosfade-right>a hrefabout-us.html> div classcard> div classrow g-0> div classcol-md-4>img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/school.png classimg-fluid rounded-start lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> /div> div classcol-md-8> div classcard-body> h4>School/h4> /div> /div> /div> /div> /a> /div> /div> /div> /div> !--message-sec--> div classmessage-sec> div classbg-clr> div classcontainer> h5>From the Desk/h5> h1>Message Desk a hrefprincipal.html>i classbi bi-box-arrow-in-right>/i>/a>/h1> /div> div classrow> div classcol-xl-8 col-lg-12 message-data> div classmsg-left> p idprincipal-message1> It is an honor to be the principal of MMJSV. An illustrious heritage institution as it stands today is what it is because of the collaboration and passion of the Management, Teachers, Parents & Students down the ages. Therefore, let us continue to work together with passion as pilgrims of faith by putting all our energies together for one common goal: to inculcate compassion and care in our society, in view of shaping individuals who are responsible for themselves and for others, individuals who will care for all creatures and the earth. /p> /div> div classmsgright> img idprincipal-image data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/principal.jpg classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 data-aosfade-right /> h3>Principals Message a hrefprincipal.html>i classbi bi-box-arrow-in-right>/i>/a>/h3> h3 idprincipal-name>Fr. John Marcus Fernandes/h3> /div> /div> div classcol-xl-4 col-lg-12>/div> /div> /div> /div> !--Gallery-sec--> div classgallery-sec> div classrow> div classcol-xl-6 col-lg-12 data-aosfade-left> div classrow> div classcol>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/gallery.jpg classimg-fluid altMata Mariam Jan Seva Vidyalay />/div> div classcol>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/gallery.jpg classimg-fluid altMata Mariam Jan Seva Vidyalay />/div> div classclearfix>/div> div classcol>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/gallery.jpg classimg-fluid altMata Mariam Jan Seva Vidyalay />/div> div classcol>img srchttps://webapi.entab.info/api/image/MMJSVN/public/images/gallery.jpg classimg-fluid altMata Mariam Jan Seva Vidyalay />/div> /div> /div> div classcol-xl-4 col-lg-12 gallery-bg data-aosfade-right> div classrow> h5>Special Moments/h5> h1>Photo Gallery a hrefphoto-gallery.html>i classbi bi-arrow-right>/i>/a>/h1> p>We love the idea of bringing our work to the general public, not just people who go to gallery openings. /p> div classclearfix>/div> div classcol> img data-srchttps://webapi.entab.info/api/image/MMJSVN/public/images/video-player.png classicon-img lazyload data-sizesauto data-threshold1 data-expand10 altMata Mariam Jan Seva Vidyalay /> h3>Video Gallery a hrefvideo-gallery.html>i classbi bi-arrow-right>/i>/a>/h3> p>Video Informs and Entertains People/p> /div> div classcol> iframe width100% height180 srchttps://www.youtube.com/embed/PgRXCvZf94c titleYouTube video player frameborder0 allowaccelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture allowfullscreen>/iframe> /div> /div> /div> /div> /div> !--Footer--> div idfooter>/div> !---script-------> script srchttps://code.jquery.com/jquery-1.9.1.min.js>/script> script srchttps://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js>/script> !-- Custom jQuery Script --> script typetext/javascript> document.addEventListener(DOMContentLoaded, function () { function loadHeader() { fetch(/uc/ucheader.html) .then(response > response.text()) .then(data > { document.getElementById(ucheader).innerHTML data; executeScripts(document.getElementById(ucheader)); }) .catch(error > console.error(Error loading header:, error)); } function loadFooter() { fetch(/uc/ucfooter.html) .then(response > response.text()) .then(data > { document.getElementById(footer).innerHTML data; executeScripts(document.getElementById(footer)); }) .catch(error > console.error(Error loading footer:, error)); } function executeScripts(container) { const scripts container.getElementsByTagName(script); for (let i 0; i scripts.length; i++) { const script document.createElement(script); if (scriptsi.src) { // Handle external scripts script.src scriptsi.src; } else { // Handle inline scripts script.textContent scriptsi.textContent; } document.head.appendChild(script); } } // Load content sections loadHeader(); loadFooter(); }); /script> !--Dynmic modal--> script typetext/javascript> document.addEventListener(DOMContentLoaded, function () { const API_URL https://webapi.entab.info; // Function to fetch data from the API const fetchData async (endpoint) > { try { const response await fetch(`${API_URL}/api/${endpoint}/MMJSVN`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return await response.json(); } catch (error) { console.error(`Error fetching ${endpoint}:`, error); return null; } }; // Function to load data and update the news content const loadData async () > { const notificationData await fetchData(notification); if (notificationData) updateHighlightContent(notificationData); }; //1 Function to update the modal content const updateHighlightContent (data) > { const carouselInner document.querySelector(#modalH .carousel-inner); const modalElement document.getElementById(exampleModalToggle); // Clear carousel inner if no data is provided if (!Array.isArray(data) || data.length 0) { carouselInner.innerHTML ; if (modalElement) { const modalInstance bootstrap.Modal.getInstance(modalElement); if (modalInstance) { modalInstance.hide(); } } return; } // 1 Populate carousel inner with MOdal items carouselInner.innerHTML data.map((item, index) > { const hasImage item.image && item.image.length > 0; const imageUrl hasImage ? `https://webapi.entab.info/api/image/${item.image0}` : https://webapi.entab.info/api/image/MMJSVN/public/images/school.jpg; // Default placeholder image return ` div classcarousel-item ${index 0 ? active : }> div classmodal-header> h1>${item.title || Notification Title}/h1> button typebutton classbtn-close btn-close-white data-bs-dismissmodal aria-labelClose>/button> /div> div classmodal-body> div classcard modalcard> div classrow> div classcard-body> ${hasImage ? `img data-src${imageUrl} classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 alt${item.title || Notification}/>` : } p>${item.description || Notification Description}/p> div classclearfix>/div> div classd-grid gap-2 d-md-flex justify-content-center> ${item.attachments && item.attachments.length > 0 ? `a hrefhttps://webapi.entab.info/api/image/${item.attachments0} classbtn btn-secondary btn-sm target_blank>Attachment/a>` : } ${item.url ? `a target_blank href${item.url} classbtn btn-secondary btn-sm>${item.urlTitle || Click Here}/a>` : } /div> /div> /div> /div> /div> /div> `; }).join(); // Show modal after content update if (modalElement) { const modalInstance bootstrap.Modal.getInstance(modalElement) || new bootstrap.Modal(modalElement); modalInstance.show(); } }; const formatDate (dateString) > { const date new Date(dateString); return `${date.getDate()} ${date.toLocaleString(default, { month: short })} ${date.getFullYear()}`; }; // Load data when the DOM content is loaded loadData(); }); // Function to toggle the top navigation menu function myFunction() { var x document.getElementById(myTopnav); x.className x.className topnav ? topnav responsive : topnav; } /script> !--Online REg--> script> document.addEventListener(DOMContentLoaded, async function () { const API_URL https://webapi.entab.info; // Base API URL const SCHOOL_CODE MMJSVN; const onlineRegistrationUrl `${API_URL}/api/onlineRegistration/${SCHOOL_CODE}`; const fallbackUrl https://www.mmjsvnarnaul.com/; // Default fallback URL // Function to fetch Online Registration Data const fetchOnlineRegistrationData async () > { try { const response await fetch(onlineRegistrationUrl); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching registration data:, error); return ; // Return an empty array in case of error } }; // Function to update the existing HTML structure dynamically const updateOnlineRegistration (data) > { const container document.getElementById(OnlineRegistration); if (!container) { console.error(OnlineRegistration container not found.); return; } if (!Array.isArray(data) || data.length 0) { // Hide the entire section if no data is found container.style.display none; return; } // Use the first available item from the API response const item data0; // Extract title and registration URL const registrationTitle item.title || Online Registration; const registrationUrl item.url && item.url.trim() ! ? item.url : fallbackUrl; // Check if an attachment exists and build the correct URL const hasAttachment item.attachments && Array.isArray(item.attachments) && item.attachments.length > 0; const attachmentUrl hasAttachment ? `${API_URL}/api/image/${(item.attachments0)}` : null; // Update the URL and title dynamically const registrationLink container.querySelector(a#registration-url); registrationLink.setAttribute(href, registrationUrl); registrationLink.textContent registrationTitle; // Handle attachment icon visibility and link const attachmentIcon container.querySelector(i#attachment-icon); const attachmentLink container.querySelector(a#attachment-link); if (hasAttachment) { attachmentIcon.style.display inline; // Show the attachment icon if data exists attachmentLink.style.display inline; // Make the attachment link visible attachmentLink.setAttribute(href, attachmentUrl); } else { attachmentIcon.style.display none; // Hide the attachment icon if no attachment exists attachmentLink.style.display none; // Hide the attachment link if no attachment exists } container.style.display inline; // Ensure the section is visible when data is available }; // Fetch and update the content dynamically const data await fetchOnlineRegistrationData(); updateOnlineRegistration(data); }); /script> !--Highlights--> script> document.addEventListener(DOMContentLoaded, function () { const API_URL https://webapi.entab.info; const SCHOOL_CODE MMJSVN; // Set your school code here const highlightContainer document.getElementById(highlights-content); // Function to fetch highlight data from API const getHighlight async () > { try { const response await fetch(`${API_URL}/api/highlight/${SCHOOL_CODE}`); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching highlights:, error); return ; // Return an empty array in case of error } }; // Function to update marquee content dynamically const updateHighlightContent (highlights) > { if (!highlightContainer) { console.error(Highlight container not found); return; } if (!Array.isArray(highlights) || highlights.length 0) { highlightContainer.innerHTML ` Stay tuned for more information about the latest updates. `; return; } // Construct marquee content dynamically const content highlights .map((item) > { const description item.description || Stay tuned for more updates!; // Check if an attachment exists const hasAttachment item.attachments && Array.isArray(item.attachments) && item.attachments.length > 0; const attachmentLink hasAttachment ? `${API_URL}/api/image/${item.attachments0}` : #; // Show Click Here only if an attachment exists const clickHereSpan hasAttachment ? `i classbi bi-paperclip>/i>` : ; return `${description} a href${attachmentLink} target_blank>${clickHereSpan}/a>`; }) .join( || ); // Join each item with || highlightContainer.innerHTML content; }; // Fetch highlights and update marquee content getHighlight().then(updateHighlightContent); }); /script> !--News--> script> document.addEventListener(DOMContentLoaded, async function () { const API_URL https://webapi.entab.info; const newsApiUrl `${API_URL}/api/news/all/MMJSVN`; // API Endpoint for fetching news const BASE_IMAGE_URL `${API_URL}/api/image/`; // Base URL for image paths const defaultImage https://webapi.entab.info/api/image/MMJSVN/public/images/news.jpg; // Static fallback image // Static fallback data (in case no data is available from the API) const staticNews { title: News Title 1, fromDate: 2025-03-10T12:00:00Z, description: Stay tuned for latest updates., url: #, // You can adjust the URL if necessary }, { title: News Title 2, fromDate: 2025-03-09T12:00:00Z, description: Stay tuned for latest updates., url: #, }, { title: News Title 3, fromDate: 2025-03-08T12:00:00Z, description: Stay tuned for latest updates., url: #, }, { title: News Title 4, fromDate: 2025-03-07T12:00:00Z, description: Stay tuned for latest updates., url: #, } ; // Function to fetch news data from the API const fetchNewsData async () > { try { const response await fetch(newsApiUrl); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching news data:, error); return ; // Return an empty array to avoid breaking UI } }; // Function to update the News section dynamically const updateNewsSection (data ) > { const newsSlider document.querySelector(#mixedSlider_news .MS-content); if (!newsSlider) { console.error(News slider container not found.); return; } // Clear any existing content newsSlider.innerHTML ; // If no data, use static fallback data if (data.length 0) { data staticNews; // Use static fallback data } // Sort the news by date (latest first) and limit to 4 items const latestNews data .sort((a, b) > new Date(b.fromDate) - new Date(a.fromDate)) .slice(0, 4); // Limit to the latest 4 items // Function to format the date as DD MMM YYYY const formatDate (dateString) > { const options { year: numeric, month: short, day: numeric }; const date new Date(dateString); return date.toLocaleDateString(en-GB, options); // Use en-GB to get the correct format }; // Assign classes for each card-wrapper const cardClasses one, two, three, four; // Generate and insert dynamic news items latestNews.forEach((news, index) > { const newsTitle news.title || News Title; const newsDate formatDate(news.fromDate) || dd.mm.yyyy; // Format the date const newsDescription news.description || Stay connected for more updates!; const newsUrl news.url || #; // Dynamic URL (can be adjusted) // Handle image attachment const newsImage (Array.isArray(news.attachments) && news.attachments.length > 0) ? `${BASE_IMAGE_URL}${news.attachments0}` // Use the first attachment as the image or fallback : defaultImage; // Extract the attachment URL, assuming its the first item in the `attachments` array. const attachmentUrl (Array.isArray(news.attachments) && news.attachments.length > 0) ? `${BASE_IMAGE_URL}${news.attachments0}` // Assuming this is the attachment URL : null; // No attachment // Log the full image URL for debugging console.log(Image URL:, newsImage); // Determine which class to assign const cardClass cardClassesindex % cardClasses.length; // Create news item and append it to the slider const newsItem document.createElement(div); newsItem.classList.add(col-lg-6, col-md-6, col-sm-6, col-sx-12, item); // Conditionally add the clickable link only if attachmentUrl exists let newsItemHTML ` div classcard-wrapper ${cardClass}> div classcard-header> h1 classcard-header-text2>${newsTitle}/h1> p classcard-header-text3>${newsDescription}/p> `; if (attachmentUrl) { newsItemHTML + `a href${attachmentUrl} target_blank>p>Click Here/p>/a>`; } newsItemHTML + ` /div> div classcard-footer> div classfooter-content-wrap> div classfooter-text-wrap> h1>${newsDate.split( )0}/h1> p>${newsDate.split( )1}/p> /div> i classfas fa-angle-double-right>/i> /div> /div> /div> `; newsItem.innerHTML newsItemHTML; newsSlider.appendChild(newsItem); }); // Initialize or refresh the multislider after dynamically adding items $(#mixedSlider_news).multislider({ duration: 750, interval: 3000 }); }; // Fetch and update the news dynamically const newsData await fetchNewsData(); updateNewsSection(newsData); }); /script> !--Events--> script> document.addEventListener(DOMContentLoaded, () > { const API_URL https://webapi.entab.info; const cdn_url https://webapi.entab.info; let allEvents ; let selectedYear all; let selectedMonth all; // Fetch events from the API const getEvents async () > { try { const response await fetch(`${API_URL}/api/events/All/MMJSVN`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data await response.json(); return data; } catch (error) { console.error(Error fetching events:, error); return ; } }; // Format date to DD MM YYYY const formatDate (dateString) > { const date new Date(dateString); const day String(date.getDate()).padStart(2, 0); const month String(date.getMonth() + 1).padStart(2, 0); const year date.getFullYear(); return `${day} / ${month} / ${year}`; }; // Populate events content dynamically const updateEventsContent () > { const eventSlider document.querySelector(.eventslide); // Clear previous events eventSlider.innerHTML ; if (allEvents.length 0) { eventSlider.innerHTML p>No events available at the moment./p>; return; } // Filter events based on selected year and month const filteredEvents allEvents.filter(event > { const eventDate new Date(event.date); const eventYear eventDate.getFullYear().toString(); const eventMonth (eventDate.getMonth() + 1).toString(); return (selectedYear all || eventYear selectedYear) && (selectedMonth all || eventMonth selectedMonth); }); // Sort events by date (latest first) filteredEvents.sort((a, b) > new Date(b.date) - new Date(a.date)); // Add the filtered events to the slider filteredEvents.forEach(event > { const eventDate formatDate(event.date); const eventTime event.time || 00:00; const eventImage event.images && event.images.length > 0 ? `${cdn_url}/api/image/${event.images0}` : https://webapi.entab.info/api/image/MMJSVN/public/images/events.jpg; const hasAttachment event.attachments && event.attachments.length > 0; const attachmentLink hasAttachment ? `${cdn_url}/api/image/${event.attachments0}` : #; // Only show the attachment section if the event has an attachment const attachmentSection hasAttachment ? `span> View Attachment i classfas fa-arrow-right>/i> /span>` : ; // If no attachment, leave empty string // Create event item element const eventItem document.createElement(div); eventItem.classList.add(col-xl-3, col-lg-6, col-md-6, col-12, event-1, item); eventItem.setAttribute(data-aos, fade-left); // Add AOS for animation (can be dynamic per event) eventItem.innerHTML ` img data-src${eventImage} classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 alt${event.title || Event Image} /> article> div classdata-sec> h3>${event.title || Event Title}/h3> p>${event.description || Stay tuned for latest updates}/p> ul> li>${eventTime}/li> li>${event.location || Location}/li> li>a href${attachmentLink} target_blank ${hasAttachment ? : styledisplay:none}>View/a>/li> /ul> /div> div classdate-sec>${eventDate}/div> /article> `; eventSlider.appendChild(eventItem); }); // Initialize the slider (using Multislider or OwlCarousel depending on your preference) $(#mixedSlider_event).multislider({ duration: 750, interval: 3000 }); }; // Initialize the page getEvents().then(events > { allEvents events; updateEventsContent(); // Update the content when data is fetched }); }); /script> !--Message Desk --> script> document.addEventListener(DOMContentLoaded, async () > { const API_URL https://webapi.entab.info; const principalMessageUrl `${API_URL}/api/PrincipalMessage/MMJSVN`; const fallbackImageUrl https://webapi.entab.info/api/image/MMJSVN/public/images/principal.jpg; // Fetch Principal Message from API const fetchPrincipalMessage async () > { try { const response await fetch(principalMessageUrl); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching principal message:, error); return null; } }; // Update Principal Message Content const updatePrincipalContent (messages) > { const messageContainer document.getElementById(principal-message); const nameElement document.getElementById(principal-name); const imageElement document.getElementById(principal-image); if (messages && messages.length > 0) { const principalMessages messages.filter(item > item.category.toLowerCase() principal); if (principalMessages.length > 0) { const messageData principalMessages0; // Update message content messageContainer.innerHTML messageData.message || No message available.; // Update Principal Name nameElement.textContent messageData.name || Principal; // Update Image const imageUrl messageData.attachments?.length > 0 ? `${API_URL}/api/image/${messageData.attachments0}` : fallbackImageUrl; imageElement.src imageUrl; } else { messageContainer.innerHTML No message found for Principal.; nameElement.textContent Principal; imageElement.src fallbackImageUrl; } } else { messageContainer.innerHTML No message found for Principal.; nameElement.textContent Principal; imageElement.src fallbackImageUrl; } }; // Initialize Content const messages await fetchPrincipalMessage(); updatePrincipalContent(messages || ); }); /script> !--Photo Gallery--> script> document.addEventListener(DOMContentLoaded, async function () { const API_URL https://webapi.entab.info; const galleryApiUrl `${API_URL}/api/gallery/all/MMJSVN`; // Replace MMJSVN with your actual identifier const fallbackImageUrl `${API_URL}/api/image/MMJSVN/public/images/gal-1.jpg`; // Function to fetch gallery data const fetchGalleryData async () > { try { const response await fetch(galleryApiUrl); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching gallery data:, error); return ; // Return empty array on error } }; // Function to update the gallery dynamically with the latest 4 images const updateGalleryContent (data) > { const galleryCols document.querySelectorAll(.gallery-sec .col-xl-6 .row .col); if (galleryCols.length 4) { console.error(Not enough gallery columns to update.); return; } // Limit the data to the latest 4 items const latestImages data .filter(item > item.category PhotoGallery) // Ensure its a Photo Gallery .sort((a, b) > new Date(b.date) - new Date(a.date)) // Sort by latest date .slice(0, 4) // Limit to the first 4 gallery items .flatMap(item > item.attachments?.map(attachment > `${API_URL}/api/image/${attachment}` // Construct image URL ) || fallbackImageUrl ); // Fill the gallery columns with the latest images latestImages.forEach((image, index) > { if (galleryColsindex) { galleryColsindex.querySelector(img).src image; } }); }; // Fetch and display the latest 4 gallery images (or fallback to static data) const galleryData await fetchGalleryData(); updateGalleryContent(galleryData); }); /script> !--School Topper 12th--> script> document.addEventListener(DOMContentLoaded, async function () { const API_URL https://webapi.entab.info; const topperApiUrl `${API_URL}/api/topper/MMJSVN`; // API Endpoint const BASE_IMAGE_URL `${API_URL}/api/image/`; // Base image URL const DEFAULT_IMAGE https://webapi.entab.info/api/image/MMJSVN/public/images/toppers.jpg; // Default student image let allTopperData ; let uniqueYears ; let currentYear new Date().getFullYear(); let nextYear currentYear + 1; let currentSessionYear `${currentYear}-${nextYear}`; // Function to fetch topper data from the API const fetchTopperData async () > { try { const response await fetch(topperApiUrl); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching topper data:, error); return ; } }; // Function to update the Topper Slider dynamically const updateTopperSlider (data ) > { const topperSlider document.getElementById(topperSlider); if (!topperSlider) { console.error(Topper slider container not found.); return; } // Clear existing content topperSlider.innerHTML ; // Filter data for Class XII toppers const filteredToppers data .filter(item > item.class XII) // Filter only Class XII toppers .sort((a, b) > parseFloat(b.division || 0) - parseFloat(a.division || 0)); // Sort by division (highest first) // If no toppers are available, show a placeholder if (filteredToppers.length 0) { topperSlider.innerHTML ` div classitem col-12> div classtopers_sec> img data-src${DEFAULT_IMAGE} classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 altNo Topper Available /> h3>Student Name/h3> h4>Stream - --%/h4> /div> /div> `; return; } // Generate topper items dynamically filteredToppers.forEach(topper > { const imageUrl topper.attachments && topper.attachments.length > 0 ? `${BASE_IMAGE_URL}${topper.attachments0}` : DEFAULT_IMAGE; const percentage topper.division ? `${topper.division}` : --%; const topperName topper.name || Student Name; const topperSubject topper.stream || Subject; const topperItem document.createElement(div); topperItem.classList.add(item, col-12); topperItem.innerHTML ` div classtopers_sec> img data-src${imageUrl} classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 alt${topperName} /> h3>${topperName}/h3> h4>${topperSubject} ${percentage}/h4> /div> `; topperSlider.appendChild(topperItem); }); // Initialize the slider after content is updated initializeSlider(); }; // Initialize MultiSlider const initializeSlider () > { $(#mixedSlider_top12).multislider({ duration: 750, interval: 3000 }); }; // Function to get the most recent data for the current or fallback year const getTopperDataForYear (data, year) > { const filteredDataForYear data.filter(item > item.sessionYear year); return filteredDataForYear; }; // Fetch and update topper data dynamically const topperData await fetchTopperData(); if (topperData && topperData.length > 0) { // Populate available years from the fetched data uniqueYears ...new Set(topperData.map(item > item.sessionYear)).sort((a, b) > b.localeCompare(a)); // First, try to fetch data for the current year (2024-25) let dataForCurrentYear getTopperDataForYear(topperData, currentSessionYear); // If no data is available for the current year, fall back to the latest available year if (dataForCurrentYear.length 0) { // Fallback to the latest available year (most recent year) const latestYear uniqueYears0; dataForCurrentYear getTopperDataForYear(topperData, latestYear); } // Display the toppers data for the selected year (current or latest available) updateTopperSlider(dataForCurrentYear); } else { console.warn(No topper data available.); } }); /script> !--School Topper 10th--> script> document.addEventListener(DOMContentLoaded, async function () { const API_URL https://webapi.entab.info; const topperApiUrl `${API_URL}/api/topper/MMJSVN`; // API Endpoint const BASE_IMAGE_URL `${API_URL}/api/image/`; // Base image URL const DEFAULT_IMAGE https://webapi.entab.info/api/image/MMJSVN/public/images/toppers.jpg; // Default student image let allTopperData ; let uniqueYears ; let currentYear new Date().getFullYear(); let nextYear currentYear + 1; let currentSessionYear `${currentYear}-${nextYear}`; // Function to fetch topper data from the API const fetchTopperData async () > { try { const response await fetch(topperApiUrl); if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`); return await response.json(); } catch (error) { console.error(Error fetching topper data:, error); return ; } }; // Function to update the Topper Slider dynamically const updateTopperSlider (data ) > { const topperSlider document.getElementById(topperSlider10); if (!topperSlider) { console.error(Topper slider container not found.); return; } // Clear existing content topperSlider.innerHTML ; // Filter data for Class X toppers const filteredToppers data .filter(item > item.class X) // Filter only Class X toppers .sort((a, b) > parseFloat(b.division || 0) - parseFloat(a.division || 0)); // Sort by division (highest first) // If no toppers are available, show a placeholder if (filteredToppers.length 0) { topperSlider.innerHTML ` div classitem col-12> div classtopers_sec> img data-src${DEFAULT_IMAGE} classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 altNo Topper Available /> h3>Student Name/h3> h4>Stream - --%/h4> /div> /div> `; return; } // Generate topper items dynamically filteredToppers.forEach(topper > { const imageUrl topper.attachments && topper.attachments.length > 0 ? `${BASE_IMAGE_URL}${topper.attachments0}` : DEFAULT_IMAGE; const percentage topper.division ? `${topper.division}` : --%; const topperName topper.name || Student Name; const topperSubject topper.stream || Subject; const topperItem document.createElement(div); topperItem.classList.add(item, col-12); topperItem.innerHTML ` div classtopers_sec> img data-src${imageUrl} classimg-fluid lazyload data-sizesauto data-threshold1 data-expand10 alt${topperName} /> h3>${topperName}/h3> h4>${topperSubject} ${percentage}/h4> /div> `; topperSlider.appendChild(topperItem); }); // Initialize the slider after content is updated initializeSlider(); }; // Initialize MultiSlider const initializeSlider () > { $(#mixedSlider_top10).multislider({ duration: 750, interval: 3000 }); }; // Function to get the most recent data for the current or fallback year const getTopperDataForYear (data, year) > { const filteredDataForYear data.filter(item > item.sessionYear year); return filteredDataForYear; }; // Fetch and update topper data dynamically const topperData await fetchTopperData(); if (topperData && topperData.length > 0) { // Populate available years from the fetched data uniqueYears ...new Set(topperData.map(item > item.sessionYear)).sort((a, b) > b.localeCompare(a)); // First, try to fetch data for the current year (2024-25) let dataForCurrentYear getTopperDataForYear(topperData, currentSessionYear); // If no data is available for the current year, fall back to the latest available year if (dataForCurrentYear.length 0) { // Fallback to the latest available year (most recent year) const latestYear uniqueYears0; dataForCurrentYear getTopperDataForYear(topperData, latestYear); } // Display the toppers data for the selected year (current or latest available) updateTopperSlider(dataForCurrentYear); } else { console.warn(No topper data available.); } }); /script> !---multislider script-------> script typetext/javascript srcjs/multislider.js>/script> !-- animate Script --> script typetext/javascript srcjs/animate.js>/script> script> AOS.init(); /script>/body>/html>
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
]