{"id":10201,"date":"2025-07-09T09:01:43","date_gmt":"2025-07-09T06:01:43","guid":{"rendered":"http:\/\/demo.ttu.edu.jo\/?page_id=10201"},"modified":"2025-09-03T13:52:48","modified_gmt":"2025-09-03T10:52:48","slug":"e-calendar","status":"publish","type":"page","link":"https:\/\/www.ttu.edu.jo\/en\/e-calendar\/","title":{"rendered":"Calendar"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<div style=\"text-align: center;\">\n\n<div class=\"afb-calendar-container\" id=\"afb-calendar-root\">\n    \n    <div id=\"afb-loading\" style=\"display: none;\">\n        <div class=\"afb-spinner\"><\/div>\n    <\/div>\n    \n    <div id=\"afb-calendar-content\">\n        \n        <!-- Header Compact -->\n        <div class=\"afb-calendar-header\">\n            <h2 class=\"afb-university-title\">\n                University Academic Calendar            <\/h2>\n            \n            <!-- Filters Row Compact -->\n            <div class=\"afb-filters-row\">\n                <div class=\"afb-filter-group\">\n                    <label>Academic Year<\/label>\n                    <select id=\"afb-academic-year\" class=\"afb-select\">\n                        <option value=\"\">Select Year<\/option>\n                                                    <option value=\"141\">2026\/2027<\/option>\n                                                    <option value=\"137\">2025\/2026<\/option>\n                                            <\/select>\n                <\/div>\n                \n                <div class=\"afb-filter-group\">\n                    <label>Semester<\/label>\n                    <select id=\"afb-semester\" class=\"afb-select\" disabled>\n                        <option value=\"\">Select Semester<\/option>\n                                                    <option value=\"138\">Fall Semester<\/option>\n                                                    <option value=\"139\">Spring Semester<\/option>\n                                                    <option value=\"140\">Summer Semester<\/option>\n                                            <\/select>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"border-top my-3\"><\/div>\n        <!-- Stats Cards Compact -->\n        <div class=\"afb-stats-row\" id=\"afb-stats\" style=\"display: none;\">\n            <div class=\"afb-stat-card\">\n                <div class=\"stat-value\" id=\"days-remaining\">-<\/div>\n                <div class=\"stat-label\">Days Until Event<\/div>\n            <\/div>\n            <div class=\"afb-stat-card\">\n                <div class=\"stat-value\" id=\"exams-remaining\">-<\/div>\n                <div class=\"stat-label\">Upcoming Exams<\/div>\n            <\/div>\n            <div class=\"afb-stat-card\">\n                <div class=\"stat-value\" id=\"holidays-count\">-<\/div>\n                <div class=\"stat-label\">Holidays<\/div>\n            <\/div>\n            <div class=\"afb-stat-card\">\n                <div class=\"stat-value\" id=\"total-events\">-<\/div>\n                <div class=\"stat-label\">Total Events<\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Tabs Compact -->\n        <div class=\"afb-tabs-row\" id=\"afb-tabs\" style=\"display: none;\">\n            <button class=\"afb-tab active\" data-type=\"all\">All Events<\/button>\n            <button class=\"afb-tab\" data-type=\"exams\">Exams<\/button>\n            <button class=\"afb-tab\" data-type=\"registration\">Registration<\/button>\n            <button class=\"afb-tab\" data-type=\"holidays\">Holidays<\/button>\n        <\/div>\n        \n        <!-- Search Compact -->\n        <div class=\"afb-search-row\" id=\"afb-search\" style=\"display: none;\">\n            <input type=\"text\" id=\"afb-search-input\" \n                   placeholder=\"Search activity...\" \n                   class=\"afb-search-input\">\n        <\/div>\n        \n        <!-- Table Compact -->\n        <div class=\"afb-table-wrapper\" id=\"afb-table-wrapper\" style=\"display: none;\">\n            <table class=\"afb-calendar-table\" id=\"afb-calendar-table\">\n                <thead>\n                    <tr>\n                        <th>Activity<\/th>\n                        <th>Date<\/th>\n                        <th class=\"afb-order-col\">#<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody id=\"afb-table-body\">\n                    <tr>\n                        <td colspan=\"3\" class=\"afb-placeholder\">\n                            Please select year and semester                        <\/td>\n                    <\/tr>\n                <\/tbody>\n            <\/table>\n        <\/div>\n        \n    <\/div>\n<\/div>\n\n<script>\nwindow.afbCalendarData = {\n    ajax_url: \"https:\/\/www.ttu.edu.jo\/wp-admin\/admin-ajax.php\",\n    nonce: \"3c0eba2fc8\",\n    is_rtl: false,\n    language: \"en\"\n};\n<\/script>\n\n<style>\n\/* ============================================\n   COMPACT CALENDAR STYLES\n   ============================================ *\/\n\n:root {\n    --afb-primary: #4361ee;\n    --afb-primary-dark: #3a56d4;\n    --afb-secondary: #764ba2;\n    --afb-bg: #f8f9fc;\n    --afb-card-bg: #ffffff;\n    --afb-text: #2c3e50;\n    --afb-text-light: #6c757d;\n    --afb-border: #e9ecef;\n    --afb-hover: #f1f3f9;\n}\n\n.afb-calendar-container {\n    max-width: 100%;\n    margin: 0;\n    padding: 20px;\n    background: var(--afb-bg);\n    font-family: inherit;\n    direction: ltr;\n}\n\n\/* Header *\/\n.afb-university-title {\n    font-size: 20px;\n    font-weight: 600;\n    color: var(--afb-text);\n    text-align: center;\n    margin: 0 0 15px 0;\n    padding: 0;\n}\n\n\/* Filters Row - Compact *\/\n.afb-filters-row {\n    display: flex;\n    gap: 15px;\n    justify-content: center;\n    margin-bottom: 20px;\n    flex-wrap: wrap;\n}\n\n.afb-filter-group {\n    flex: 1;\n    max-width: 250px;\n}\n\n.afb-filter-group label {\n    display: block;\n    margin-bottom: 5px;\n    font-size: 12px;\n    font-weight: 500;\n    color: var(--afb-text-light);\n}\n\n.afb-select {\n    width: 100%;\n    padding: 8px 12px;\n    border: 1px solid var(--afb-border);\n    border-radius: 8px;\n    font-size: 14px;\n    background: var(--afb-card-bg);\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.afb-select:focus {\n    outline: none;\n    border-color: var(--afb-primary);\n    box-shadow: 0 0 0 2px rgba(67, 97, 238, 0.1);\n}\n\n\/* Stats Cards - Compact *\/\n.afb-stats-row {\n    display: flex;\n    gap: 12px;\n    justify-content: center;\n    margin-bottom: 20px;\n    flex-wrap: wrap;\n}\n\n.afb-stat-card {\n    background: linear-gradient(135deg, var(--afb-primary) 0%, var(--afb-secondary) 100%);\n    border-radius: 12px;\n    padding: 10px 15px;\n    text-align: center;\n    min-width: 100px;\n    color: white;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.afb-stat-card .stat-value {\n    font-size: 22px;\n    font-weight: bold;\n    line-height: 1.2;\n}\n\n.afb-stat-card .stat-label {\n    font-size: 11px;\n    opacity: 0.9;\n    margin-top: 4px;\n}\n\n\/* Tabs - Compact *\/\n.afb-tabs-row {\n    display: flex;\n    gap: 8px;\n    justify-content: center;\n    margin-bottom: 15px;\n    flex-wrap: wrap;\n}\n\n.afb-tab {\n    padding: 6px 16px;\n    background: none;\n    border: none;\n    border-radius: 20px;\n    cursor: pointer;\n    font-size: 13px;\n    font-weight: 500;\n    transition: all 0.2s ease;\n    color: var(--afb-text-light);\n    font-family: inherit;\n}\n\n.afb-tab:hover {\n    background: var(--afb-hover);\n    color: var(--afb-primary);\n}\n\n.afb-tab.active {\n    background: var(--afb-primary);\n    color: white;\n}\n\n\/* Search - Compact *\/\n.afb-search-row {\n    margin-bottom: 15px;\n    text-align: center;\n}\n\n.afb-search-input {\n    width: 100%;\n    max-width: 280px;\n    padding: 8px 15px;\n    border: 1px solid var(--afb-border);\n    border-radius: 25px;\n    font-size: 13px;\n    transition: all 0.2s ease;\n    font-family: inherit;\n}\n\n.afb-search-input:focus {\n    outline: none;\n    border-color: var(--afb-primary);\n    box-shadow: 0 0 0 2px rgba(67, 97, 238, 0.1);\n}\n\n\/* Table - Compact *\/\n.afb-table-wrapper {\n    overflow-x: auto;\n    border-radius: 12px;\n    background: var(--afb-card-bg);\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.afb-calendar-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 13px;\n}\n\n.afb-calendar-table th {\n    background: var(--afb-text);\n    color: white;\n    padding: 10px 12px;\n    font-weight: 500;\n    text-align: center;\n    font-size: 13px;\n}\n\n.afb-calendar-table td {\n    padding: 10px 12px;\n    border-bottom: 1px solid var(--afb-border);\n    text-align: center;\n    color: var(--afb-text);\n}\n\n.afb-calendar-table tbody tr:hover {\n    background: var(--afb-hover);\n}\n\n.afb-calendar-table .afb-order-col {\n    width: 45px;\n    text-align: center;\n}\n\n.afb-placeholder {\n    text-align: center;\n    padding: 30px !important;\n    color: var(--afb-text-light);\n}\n\n\/* Loading *\/\n#afb-loading {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background: rgba(255, 255, 255, 0.8);\n    z-index: 9999;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n\n.afb-spinner {\n    width: 30px;\n    height: 30px;\n    border: 3px solid var(--afb-border);\n    border-top-color: var(--afb-primary);\n    border-radius: 50%;\n    animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n    to { transform: rotate(360deg); }\n}\n\n\/* Degree Badge *\/\n.degree-badge {\n    background: var(--afb-hover);\n    color: var(--afb-text);\n    padding: 3px 9px;\n    border-radius: 15px;\n    font-size: 12px;\n    display: inline-block;\n}\n\n\/* Responsive *\/\n@media (max-width: 640px) {\n    .afb-calendar-container {\n        padding: 12px;\n    }\n    \n    .afb-stats-row {\n        gap: 8px;\n    }\n    \n    .afb-stat-card {\n        min-width: 80px;\n        padding: 8px 10px;\n    }\n    \n    .afb-stat-card .stat-value {\n        font-size: 18px;\n    }\n    \n    .afb-stat-card .stat-label {\n        font-size: 10px;\n    }\n    \n    .afb-tab {\n        padding: 5px 12px;\n        font-size: 12px;\n    }\n    \n    .afb-calendar-table th,\n    .afb-calendar-table td {\n        padding: 8px;\n        font-size: 12px;\n    }\n}\n\n@media (min-width: 641px) and (max-width: 768px) {\n    .afb-stat-card {\n        min-width: 110px;\n    }\n}\n<\/style>\n\n<script>\n(function() {\n    'use strict';\n    \n    const AJAX_URL = window.afbCalendarData.ajax_url;\n    let NONCE = window.afbCalendarData.nonce;\n    const LANGUAGE = window.afbCalendarData.language;\n\n    \/\/ \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0645\u0648\u0642\u0639 \u064a\u0633\u062a\u062e\u062f\u0645 \u0643\u0627\u0634 \u0635\u0641\u062d\u0627\u062a (\u0645\u062b\u0644 WP Rocket)\u060c \u0641\u0625\u0646 \u0627\u0644\u0640 nonce \u0627\u0644\u0645\u0637\u0628\u0648\u0639\n    \/\/ \u062f\u0627\u062e\u0644 HTML \u0642\u062f \u064a\u0643\u0648\u0646 \u0642\u062f\u064a\u0645\u064b\u0627\/\u0645\u0646\u062a\u0647\u064a \u0627\u0644\u0635\u0644\u0627\u062d\u064a\u0629. \u0647\u0630\u0647 \u0627\u0644\u062f\u0627\u0644\u0629 \u062a\u0637\u0644\u0628 nonce \u062c\u062f\u064a\u062f\n    \/\/ \u0645\u0628\u0627\u0634\u0631\u0629 \u0645\u0646 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 (\u0647\u0630\u0627 \u0627\u0644\u0637\u0644\u0628 \u0646\u0641\u0633\u0647 \u0644\u0627 \u064a\u064f\u062e\u0632\u064e\u0651\u0646 \u0641\u064a \u0627\u0644\u0643\u0627\u0634).\n    async function refreshNonce() {\n        try {\n            const params = new URLSearchParams();\n            params.append('action', 'afb_refresh_nonce');\n            const response = await fetch(AJAX_URL, {\n                method: 'POST',\n                headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n                body: params.toString()\n            });\n            const result = await response.json();\n            if (result.success && result.data && result.data.nonce) {\n                NONCE = result.data.nonce;\n                return true;\n            }\n        } catch (e) {\n            console.error('AFB Calendar: failed to refresh nonce', e);\n        }\n        return false;\n    }\n    \n    const yearSelect = document.getElementById('afb-academic-year');\n    const semesterSelect = document.getElementById('afb-semester');\n    const loadingDiv = document.getElementById('afb-loading');\n    const statsRow = document.getElementById('afb-stats');\n    const tabsRow = document.getElementById('afb-tabs');\n    const searchRow = document.getElementById('afb-search');\n    const tableWrapper = document.getElementById('afb-table-wrapper');\n    const tableBody = document.getElementById('afb-table-body');\n    const searchInput = document.getElementById('afb-search-input');\n    const tabs = document.querySelectorAll('.afb-tab');\n    \n    let currentType = 'all';\n    let currentSearch = '';\n    \n    function showLoading(show) {\n        loadingDiv.style.display = show ? 'flex' : 'none';\n    }\n    \n    function showContent(show) {\n        const display = show ? 'flex' : 'none';\n        if (statsRow) statsRow.style.display = show ? display : 'none';\n        if (tabsRow) tabsRow.style.display = show ? display : 'none';\n        if (searchRow) searchRow.style.display = show ? display : 'none';\n        if (tableWrapper) tableWrapper.style.display = show ? 'block' : 'none';\n    }\n    \n    function updateSemesterDropdown() {\n        semesterSelect.disabled = !yearSelect.value;\n        if (!yearSelect.value) {\n            semesterSelect.value = '';\n            showContent(false);\n            tableBody.innerHTML = '<tr><td colspan=\"3\" class=\"afb-placeholder\">' + (LANGUAGE === 'ar_jo' ? '\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0633\u0646\u0629 \u0648\u0627\u0644\u0641\u0635\u0644' : 'Please select year and semester') + '<\/td><\/tr>';\n        }\n    }\n    \n    async function loadCalendarData(isRetry) {\n        const yearId = yearSelect.value;\n        const semesterId = semesterSelect.value;\n        \n        if (!yearId || !semesterId) {\n            showContent(false);\n            tableBody.innerHTML = '<tr><td colspan=\"3\" class=\"afb-placeholder\">' + (LANGUAGE === 'ar_jo' ? '\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0633\u0646\u0629 \u0648\u0627\u0644\u0641\u0635\u0644' : 'Please select year and semester') + '<\/td><\/tr>';\n            return;\n        }\n        \n        if (!isRetry) {\n            showLoading(true);\n            showContent(false);\n        }\n        \n        try {\n            const params = new URLSearchParams();\n            params.append('action', 'afb_get_calendar_data');\n            params.append('nonce', NONCE);\n            params.append('year_id', yearId);\n            params.append('semester_id', semesterId);\n            params.append('type', currentType);\n            params.append('search', currentSearch);\n            \n            const response = await fetch(AJAX_URL, {\n                method: 'POST',\n                headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n                body: params.toString()\n            });\n            \n            const result = await response.json();\n            \n            \/\/ \u0625\u0630\u0627 \u0641\u0634\u0644 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 nonce (\u0635\u0641\u062d\u0629 \u0645\u062d\u0641\u0648\u0638\u0629 \u0628\u0627\u0644\u0643\u0627\u0634 \u0628\u0640 nonce \u0642\u062f\u064a\u0645) \u0646\u062c\u0644\u0628 nonce \u062c\u062f\u064a\u062f\n            \/\/ \u0648\u0646\u0639\u064a\u062f \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0645\u0631\u0629 \u0648\u0627\u062d\u062f\u0629 \u0641\u0642\u0637\u060c \u062f\u0648\u0646 \u0623\u064a \u062a\u062f\u062e\u0644 \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\n            if (!result.success && !isRetry && result.data && result.data.message === 'Invalid nonce') {\n                const refreshed = await refreshNonce();\n                if (refreshed) {\n                    return loadCalendarData(true);\n                }\n            }\n            \n            if (result.success && result.data) {\n                const events = result.data.data || [];\n                const stats = result.data.stats || {};\n                updateTable(events);\n                updateStats(stats);\n                showContent(true);\n            } else {\n                tableBody.innerHTML = '<tr><td colspan=\"3\" class=\"afb-placeholder\">' + (result.data?.message || (LANGUAGE === 'ar_jo' ? '\u0644\u0627 \u062a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a' : 'No data')) + '<\/td><\/tr>';\n                showContent(true);\n            }\n        } catch (error) {\n            console.error('AFB Calendar Error:', error);\n            tableBody.innerHTML = '<tr><td colspan=\"3\" class=\"afb-placeholder\">' + (LANGUAGE === 'ar_jo' ? '\u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644' : 'Loading error') + '<\/td><\/tr>';\n            showContent(true);\n        } finally {\n            showLoading(false);\n        }\n    }\n    \n    function updateTable(data) {\n        if (!data || data.length === 0) {\n            tableBody.innerHTML = '<tr><td colspan=\"3\" class=\"afb-placeholder\">' + (LANGUAGE === 'ar_jo' ? '\u0644\u0627 \u062a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a' : 'No data available') + '<\/td><\/tr>';\n            return;\n        }\n        \n        let html = '';\n        data.forEach((item, idx) => {\n            const degreeNumber = item.sort_order || (idx + 1);\n            html += `\n                <tr>\n                    <td>${escapeHtml(item.activity || '')}<\/td>\n                    <td>${escapeHtml(item.date || '')}<\/td>\n                    <td class=\"afb-order-col\"><span class=\"degree-badge\">${degreeNumber}<\/span><\/td>\n                <\/tr>\n            `;\n        });\n        tableBody.innerHTML = html;\n    }\n    \n    function updateStats(stats) {\n        const daysElem = document.getElementById('days-remaining');\n        const examsElem = document.getElementById('exams-remaining');\n        const holidaysElem = document.getElementById('holidays-count');\n        const totalElem = document.getElementById('total-events');\n        \n        if (daysElem) {\n            const nearestDays = stats.nearest_event?.days_remaining;\n            daysElem.textContent = (nearestDays && nearestDays > 0) ? nearestDays : '-';\n        }\n        \n        if (examsElem) {\n            examsElem.textContent = stats.upcoming_exams || '0';\n        }\n        \n        if (holidaysElem) {\n            holidaysElem.textContent = stats.holidays_count || '0';\n        }\n        \n        if (totalElem) {\n            totalElem.textContent = stats.total_events || '0';\n        }\n    }\n    \n    function escapeHtml(text) {\n        if (!text) return '';\n        const div = document.createElement('div');\n        div.textContent = text;\n        return div.innerHTML;\n    }\n    \n    async function filterByType(type) {\n        currentType = type;\n        tabs.forEach(tab => {\n            if (tab.dataset.type === type) {\n                tab.classList.add('active');\n            } else {\n                tab.classList.remove('active');\n            }\n        });\n        await loadCalendarData();\n    }\n    \n    async function searchEvents() {\n        currentSearch = searchInput.value;\n        await loadCalendarData();\n    }\n    \n    \/\/ Event Listeners\n    yearSelect.addEventListener('change', () => {\n        updateSemesterDropdown();\n        if (yearSelect.value && semesterSelect.value) {\n            loadCalendarData();\n        }\n    });\n    \n    semesterSelect.addEventListener('change', () => {\n        if (yearSelect.value && semesterSelect.value) {\n            loadCalendarData();\n        }\n    });\n    \n    tabs.forEach(tab => {\n        tab.addEventListener('click', () => {\n            filterByType(tab.dataset.type);\n        });\n    });\n    \n    if (searchInput) {\n        let debounceTimer;\n        searchInput.addEventListener('input', () => {\n            clearTimeout(debounceTimer);\n            debounceTimer = setTimeout(() => {\n                searchEvents();\n            }, 300);\n        });\n    }\n    \n    \/\/ Save selections\n    yearSelect.addEventListener('change', () => {\n        if (yearSelect.value) localStorage.setItem('afb_selected_year', yearSelect.value);\n        else localStorage.removeItem('afb_selected_year');\n    });\n    \n    semesterSelect.addEventListener('change', () => {\n        if (semesterSelect.value) localStorage.setItem('afb_selected_semester', semesterSelect.value);\n        else localStorage.removeItem('afb_selected_semester');\n    });\n    \n    \/\/ Initialize\n    updateSemesterDropdown();\n    \n    const savedYear = localStorage.getItem('afb_selected_year');\n    const savedSemester = localStorage.getItem('afb_selected_semester');\n    if (savedYear && savedSemester) {\n        yearSelect.value = savedYear;\n        semesterSelect.value = savedSemester;\n        semesterSelect.disabled = false;\n        loadCalendarData();\n    }\n})();\n<\/script>\n<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"University Academic Calendar Academic Year Select Year 2026\/2027 2025\/2026 Semester Select Semester \u0627\u0644\u0641\u0635\u0644 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0641\u0635\u0644 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0627\u0644\u062b\u0627\u0646\u064a \u0627\u0644\u0641\u0635\u0644 \u0627\u0644\u062f\u0631\u0627\u0633\u064a","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","footnotes":""},"class_list":["post-10201","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/pages\/10201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/comments?post=10201"}],"version-history":[{"count":0,"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/pages\/10201\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/media?parent=10201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}