PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Notice: ob_end_clean(): Failed to delete buffer. No buffer to delete in /home/qpfajntr/ekhaya.265thami.com/qxtr.php on line 8
$#$#$#

Dir : /home/qpfajntr/
Server: Linux premium288.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
IP: 162.254.39.137
Choose File :

Url:
Dir : /home/qpfajntr/test (1).html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Banking Systems Dashboard</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        :root {
            --primary: #2563eb;
            --primary-light: #dbeafe;
            --secondary: #f59e0b;
            --dark: #1e293b;
            --light: #f8fafc;
            --gray: #64748b;
            --light-gray: #e2e8f0;
            --white: #ffffff;
            --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
            --shadow-hover: 0 6px 12px -2px rgba(0, 0, 0, 0.08);
            --radius: 0.75rem;
        }
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--light);
            color: var(--dark);
            padding: 2rem;
            line-height: 1.5;
        }
        
        header {
            max-width: 1200px;
            margin: 0 auto 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
        }
        
        .logo {
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        
        .logo-icon {
            background: var(--primary);
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            font-weight: bold;
        }
        
        .logo-text {
            font-weight: 700;
            font-size: 1.5rem;
        }
        
        .logo-text span {
            color: var(--primary);
        }
        
        .search-container {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: nowrap; /* prevents wrapping to next line */
        }

        
        .favorite-filter {
            display: flex;
            gap: 0.75rem;
            background: var(--white);
            padding: 0.5rem;
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            border: 1px solid var(--light-gray);
        }
        
        .filter-button {
            background: var(--white);
            border: 1px solid var(--light-gray);
            border-radius: 0.625rem;
            padding: 0.625rem 1.25rem;
            cursor: pointer;
            font-weight: 600;
            color: var(--gray);
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
            font-size: 0.875rem;
        }
        
        .filter-button:hover {
            transform: translateY(-1px);
            border-color: var(--light-gray);
            box-shadow: var(--shadow-hover);
        }
        
        .filter-button.active {
            background: var(--primary);
            color: var(--white);
            border-color: var(--primary);
            box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.2);
        }
        
        #gridSearch {
            padding: 0.75rem 1rem;
            width: 250px;
            flex-shrink: 0;  /* prevents shrinking */
            border: 1px solid var(--light-gray);
            border-radius: var(--radius);
            font-size: 1rem;
            background: var(--white);
            transition: all 0.2s ease;
            box-shadow: var(--shadow);
        }

        
        #gridSearch:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
            outline: none;
        }
        
        .ll-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 2rem;
            max-width: 1200px;
            margin: 0 auto;
            padding: 1rem;
        }
        
        .ll-grid-item {
            background: var(--white);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 1.5rem;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            border: 1px solid var(--light-gray);
            display: flex;
            flex-direction: column;
            position: relative;
        }
        
        .ll-grid-item:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-hover);
            border-color: var(--light-gray);
        }
        
        .system-logo {
            width: 108px;
            height: 55px;
            object-fit: contain;
            margin: 0 auto 1.5rem;
            display: block;
        }
        
        .favorite-star {
            position: absolute;
            top: 1rem;
            right: 1rem;
            color: var(--light-gray);
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 1.25rem;
            z-index: 10;
        }
        
        .favorite-star.favorited {
            color: var(--secondary);
            filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.15));
        }
        
        .favorite-star:hover {
            transform: scale(1.15);
        }
        
        .linklistcatname {
            color: var(--dark);
            font-size: 1.125rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            text-align: center;
            line-height: 1.3;
        }
        
        .link-description {
            font-size: 0.875rem;
            color: var(--gray);
            margin-bottom: 1rem;
            text-align: center;
        }
        
        .track_this_link {
            color: var(--primary);
            text-decoration: none;
            font-weight: 600;
            font-size: 0.875rem;
            margin-top: auto;
            transition: color 0.2s ease;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            justify-content: center;
            padding: 0.75rem;
            border-radius: 0.5rem;
            background: var(--primary-light);
        }
        
        .track_this_link:hover {
            color: var(--primary);
            text-decoration: underline;
            background: #e0f2fe;
        }
        
        .hidden {
            display: none !important;
        }
        
        #noResults {
            display: none;
            text-align: center;
            grid-column: 1 / -1;
            padding: 2rem;
            font-size: 1.25rem;
            color: var(--gray);
        }
        
        #scrollTopBtn {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            z-index: 1000;
            background-color: var(--primary);
            color: var(--white);
            border: none;
            border-radius: 50%;
            padding: 1rem;
            font-size: 1.25rem;
            cursor: pointer;
            box-shadow: var(--shadow-hover);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
        }
        
        #scrollTopBtn.show {
            opacity: 1;
            visibility: visible;
        }
        
        .system-info {
            margin-top: 1rem;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }
        
        .system-info div {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
        }
        
        .system-info i {
            color: var(--primary);
        }
        
        .favorites-divider {
            grid-column: 1 / -1;
            text-align: center;
            margin: 1rem 0;
            position: relative;
        }
        
        .favorites-divider::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            height: 1px;
            background: var(--light-gray);
            z-index: 1;
        }
        
        .favorites-divider span {
            position: relative;
            display: inline-block;
            background: var(--light);
            padding: 0 1rem;
            z-index: 2;
            color: var(--gray);
            font-size: 0.875rem;
        }
        
        @media (max-width: 768px) {
            body {
                padding: 1.5rem;
            }
            
            header {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .search-container {
                width: 100%;
            }
            
            .ll-grid {
                grid-template-columns: 1fr;
                margin: 0;
                padding: 0;
            }
            
            #scrollTopBtn {
                bottom: 1rem;
                right: 1rem;
                width: 40px;
                height: 40px;
                font-size: 1rem;
            }
        }
        .typewriter-container {
  text-align: center;
  padding: 30px 10px;
  font-family: 'Inter', sans-serif;
}

.typewriter-text {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  border-right: 2px solid #6366f1;
  font-size: 1rem;
  color: #1e293b;
  max-width: 0;
  animation: typing 12s steps(98, end) infinite;
}


@keyframes typing {
  0% {
    max-width: 0;
  }
  58.33% {
    max-width: 98ch; 
  }
  100% {
    max-width: 98ch; 
  }
}

.typewriter-content a {
  color: #3b82f6;
  font-weight: 600;
  text-decoration: underline;
}

.typewriter-content a {
  color: red !important;        
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.typewriter-content a:hover {
  color: darkred !important;    
  text-decoration: underline;
}

.typewriter-text::after {
  content: '|';
  animation: blink-caret 0.75s step-end infinite;
  color: #6366f1;
}

@keyframes blink-caret {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}
.logo-img {
    width: 60px;
    height: auto;
    object-fit: contain;
    display: block;
}
    </style>
</head>
<body>
    <header>
        <div class="logo">
        <img src="logos/nbm.png" alt="NBM Logo" class="logo-img">
        <div class="logo-text"><span>NBM Systems Dashboard</span></div>
        </div>

        <div class="search-container">
            <div class="favorite-filter">
                <button class="filter-button active" data-filter="all">All Systems</button>
                <button class="filter-button" data-filter="favorites">Favorites ★</button>
            </div>
            <input type="text" id="gridSearch" placeholder="Search systems...">
        </div>
    </header>
    
    <div class="ll-grid" id="gridContainer">
        <!-- Systems will be inserted here by JavaScript -->
    </div>
    
    <div id="noResults">No matching systems found.</div>
    
    <button id="scrollTopBtn" title="Back to top">↑</button>
<div class="typewriter-container">
  <p class="typewriter-text">
    <span class="typewriter-content">If you have any issues with any of the systems please <a href="https://servicedesk.natbankmw.com/HomePage.do?view_type=my_view" target="_blank">click here</a> to access the Manage Engine.</span>
  </p>
</div>
    <script>
        // System data with logos
        const systems = [
            {
                name: "T24",
                url: "http://192.168.250.100/NBMPROD2/servlet/BrowserServlet?",
                logo: "logos/Temenos-T24.png",
                description: "Core banking system"
            },
            {
                name: "BUSINESS POINT",
                url: "https://192.168.1.22/bp/LoginPage?ReturnUrl=%2Fbp",
                logo: "logos/businesspoint.png",
                description: "Business banking portal"
            },
            {
                name: "BRIMS",
                url: "http://192.168.1.42:1991/WEB/GENERAL/frmLoginWebDesktop.aspx",
                logo: "https://cdn-icons-png.flaticon.com/512/2942/2942789.png",
                description: "Branch information management"
            },
            {
                name: "CASH PASSPORT",
                url: "https://mw.prepaid.branchportal.com/#/",
                logo: "logos/CASHPASSPORT.png",
                description: "Prepaid card management"
            },
            {
                name: "CERBERUS",
                url: "https://192.168.1.90/login?r=%2Ffile",
                logo: "logos/CERBERUS.png",
                description: "File management system"
            },
            {
                name: "CIMS",
                url: "https://192.168.1.228:8181/cims/#/auth/login",
                logo: "logos/mis.png",
                description: "Customer information system"
            },
            {
                name: "CHATBOT",
                url: "https://sso.natbank.co.mw/",
                logo: "logos/CHATBOT.webp",
                description: "AI customer support"
            },
            {
                name: "COGNOS",
                url: "https://dwca.natbank.co.mw/ibmcognos/bi/",
                logo: "logos/IBM.png",
                description: "Business intelligence"
            },
            {
                name: "CORTEX",
                url: "https://192.168.240.203:7002/CortexOnline-NBM/logon.jsp",
                logo: "logos/CORTEX.jpg",
                description: "Data analytics platform"
            },
            {
                name: "C-REG",
                url: "https://192.168.1.186/NBMCReg/loginsystem.aspx",
                logo: "logos/c-reg.png",
                description: "Compliance registration"
            },
            {
                name: "EFT",
                url: "https://192.168.1.38/processEft/login.seam",
                logo: "logos/eft.png",
                description: "Electronic funds transfer"
            },
            {
                name: "FORMS",
                url: "https://192.168.1.229/forms/#/login",
                logo: "logos/form.png",
                description: "Digital forms platform"
            },
            {
                name: "FX APP",
                url: "https://webratessvr.natbank.co.mw:8383/FXManager/login.xhtml?jfwid=0391bff19db9625f18d12cafa1e4%3A0",
                logo: "logos/forex.png",
                description: "Foreign exchange management"
            },
            {
                name: "GIEOM",
                url: "https://192.168.1.109/Account/Login",
                logo: "logos/GIEOM.jpg",
                description: "Financial management system"
            },
            {
                name: "HELLO PAISA",
                url: "https://ppi.daytonacap.com/",
                logo: "logos/HELLOPAISA.jpg",
                description: "Mobile payment solution"
            },
            {
                name: "IDU",
                url: "https://192.168.1.125/iduConcept_Client/Login.aspx",
                logo: "logos/IDU.jpg",
                description: "Budgeting system",
                extra: "BUDGETING SYSTEM"
            },
            {
                name: "LEASEPAC",
                url: "http://192.168.1.161:8083/Login.aspx",
                logo: "logos/lease.png",
                description: "Lease management"
            },
            {
                name: "LOAN ORIGINATING SYSTEM",
                url: "https://rlos.natbank.co.mw/ARXSSO/oauth/doLogin",
                logo: "logos/loan.png",
                description: "Loan application processing"
            },
            {
                name: "MANAGE ENGINE",
                url: "https://servicedesk.natbankmw.com/HomePage.do?logout=true",
                logo: "logos/it support.png",
                description: "IT service management"
            },
            {
                name: "MO626 ADMIN PORTAL",
                url: "https://192.168.150.86:5000/",
                logo: "logos/Mo626-2.png",
                description: "Mobile banking admin"
            },
            {
                name: "MODEFIN",
                url: "https://banknet360admin.natbankmw.com/mfmbs/loginc.jsp#b",
                logo: "logos/MODEFIN.jpg",
                description: "Core banking network"
            },
            {
                name: "MONEY EXPRESS",
                url: "https://192.168.1.168:8282/moneyXpress/#/auth/logout",
                logo: "logos/transfer.png",
                description: "Money transfer service",
                extra: "UNDER MAINTENANCE"
            },
            {
                name: "MONEYGRAM",
                url: "https://login.moneygram.com/auth/UI/Login/?logout=true",
                logo: "logos/moneygram.jpeg",
                description: "International money transfer"
            },
            {
                name: "MYFUEL CARD",
                url: "https://admin.nbmyfuel.com/login",
                logo: "logos/puma.png",
                description: "Fuel card management"
            },
            {
                name: "MYFUEL CARD 2",
                url: "https://192.168.1.173/",
                logo: "logos/puma.png",
                description: "Alternative fuel card portal"
            },
            {
                name: "PERSONAL PROPERTY SECURITY REGISTRY",
                url: "https://ppsr.registrargeneral.gov.mw/",
                logo: "logos/emblem.png",
                description: "Property security registry"
            },
            {
                name: "POSTILION",
                url: "https://192.168.240.65:8080/portal/BoxOwnerLogin.faces",
                logo: "logos/cardpay.png",
                description: "Transaction processing"
            },
            {
                name: "QUANTUM",
                url: "https://tsmapp.natbank.co.mw/account/logon?ReturnUrl=%2Fquantum%2Faccount%2Flogon%3FReturnUrl%3D%252Fquantum%252F",
                logo: "logos/treasure.png",
                description: "Treasury management"
            },
            {
                name: "SAGE 300 PEOPLE",
                url: "https://sage300.natbank.co.mw/WebSelfService#/signin",
                logo: "logos/Sage People.png",
                description: "HR management system"
            },
            {
                name: "SIGCAP",
                url: "https://192.168.1.123/WebClient_NBM/Pages/MainScreen.html",
                logo: "logos/Signature.png",
                description: "Signature capture"
            },
            {
                name: "TRANSUNION",
                url: "https://secure.transunionafrica.com/mw/Common/login.action",
                logo: "logos/TransUnion.png",
                description: ""
            },
            
            {
                name: "VOICE LOGGER",
                url: "http://192.168.15.177/login.htm",
                logo: "logos/record.png",
                description: "Call recording system"
            },
            {
                name: "WEB RETRIEVE",
                url: "https://192.168.1.123/WebClient_NBM/Pages/MainScreen.html",
                logo: "logos/documentation.png",
                description: "Document retrieval"
            },
            {
                name: "WESTERN UNION",
                url: "https://wuagentportal.westernunion.com/ap/login.do",
                logo: "logos/western Union.png",
                description: "Money transfer service"
            }
        ];

        document.addEventListener('DOMContentLoaded', function () {
            const gridContainer = document.getElementById('gridContainer');
            const searchInput = document.getElementById('gridSearch');
            const filterButtons = document.querySelectorAll('.filter-button');
            const noResults = document.getElementById('noResults');
            const scrollTopBtn = document.getElementById('scrollTopBtn');
            let currentFilter = 'all';
            let favorites = JSON.parse(localStorage.getItem('systemFavorites')) || [];
            
            // Render systems
            function renderSystems() {
                gridContainer.innerHTML = '';
                
                systems.forEach(system => {
                    const systemName = system.name.toLowerCase();
                    const isFavorite = favorites.includes(systemName);
                    
                    const item = document.createElement('div');
                    item.className = 'll-grid-item';
                    item.dataset.name = systemName;
                    
                    item.innerHTML = `
                        <i class="favorite-star ${isFavorite ? 'fas favorited' : 'far'} fa-star"></i>
                        <img src="${system.logo}" alt="${system.name} logo" class="system-logo">
                        <div class="linklistcatname">${system.name}</div>
                        ${system.extra ? `<div class="link-description">${system.extra}</div>` : ''}
                        <div class="link-description">${system.description}</div>
                        <a class="track_this_link" href="${system.url}" target="_blank">
                            Visit Site <i class="fas fa-external-link-alt" style="font-size:0.8em;"></i>
                        </a>
                        <div class="system-info">
                            <div><i class="fas fa-globe"></i> ${new URL(system.url).hostname}</div>
                        </div>
                    `;
                    
                    gridContainer.appendChild(item);
                });
                
                // Attach favorite event listeners
                document.querySelectorAll('.favorite-star').forEach(star => {
                    star.addEventListener('click', function() {
                        const systemName = this.closest('.ll-grid-item').dataset.name;
                        const isFavorited = this.classList.contains('favorited');
                        
                        if (isFavorited) {
                            favorites = favorites.filter(name => name !== systemName);
                            this.classList.replace('fas', 'far');
                        } else {
                            favorites.push(systemName);
                            this.classList.replace('far', 'fas');
                        }
                        
                        this.classList.toggle('favorited');
                        localStorage.setItem('systemFavorites', JSON.stringify(favorites));
                        applyFilters();
                    });
                });
            }
            
            // Apply filters
            function applyFilters() {
                const searchQuery = searchInput.value.toLowerCase();
                const items = document.querySelectorAll('.ll-grid-item');
                let visibleItems = 0;
                
                items.forEach(item => {
                    const name = item.dataset.name;
                    const description = item.querySelector('.link-description')?.textContent.toLowerCase() || '';
                    const matchesSearch = name.includes(searchQuery) || description.includes(searchQuery);
                    const isFavorite = favorites.includes(name);
                    
                    const shouldShow = 
                        matchesSearch && 
                        (currentFilter === 'all' || (currentFilter === 'favorites' && isFavorite));
                    
                    item.classList.toggle('hidden', !shouldShow);
                    if (shouldShow) visibleItems++;
                });
                
                // Show/hide no results message
                noResults.style.display = visibleItems === 0 ? 'block' : 'none';
                
                // For all view, reorder with favorites first and add divider
                if (currentFilter === 'all') {
                    // Get all visible items
                    const visibleItems = Array.from(items).filter(item => !item.classList.contains('hidden'));
                    
                    // Separate favorites and non-favorites
                    const favoriteItems = visibleItems.filter(item => favorites.includes(item.dataset.name));
                    const nonFavoriteItems = visibleItems.filter(item => !favorites.includes(item.dataset.name));
                    
                    // Clear the container
                    gridContainer.innerHTML = '';
                    
                    // Append favorite items
                    favoriteItems.forEach(item => gridContainer.appendChild(item));
                    
                    // Add divider if we have both types of items
                    if (favoriteItems.length > 0 && nonFavoriteItems.length > 0) {
                        const divider = document.createElement('div');
                        divider.className = 'favorites-divider';
                        divider.innerHTML = '<span>Other Systems</span>';
                        gridContainer.appendChild(divider);
                    }
                    
                    // Append non-favorite items
                    nonFavoriteItems.forEach(item => gridContainer.appendChild(item));
                }
            }
            
            // Initialize
            renderSystems();
            applyFilters();
            
            // Filter button handler
            filterButtons.forEach(button => {
                button.addEventListener('click', function() {
                    filterButtons.forEach(btn => btn.classList.remove('active'));
                    this.classList.add('active');
                    currentFilter = this.dataset.filter;
                    applyFilters();
                });
            });
            
            // Search input handler
            searchInput.addEventListener('input', applyFilters);
            
            // Scroll to top handler
            window.addEventListener('scroll', () => {
                if (window.scrollY > 300) {
                    scrollTopBtn.classList.add('show');
                } else {
                    scrollTopBtn.classList.remove('show');
                }
            });
            
            scrollTopBtn.addEventListener('click', () => {
                window.scrollTo({ top: 0, behavior: 'smooth' });
            });
        });
    </script>
</body>
</html>