{"id":12931,"date":"2026-04-11T14:12:58","date_gmt":"2026-04-11T11:12:58","guid":{"rendered":"http:\/\/demo.ttu.edu.jo\/?page_id=12931"},"modified":"2026-04-11T14:12:58","modified_gmt":"2026-04-11T11:12:58","slug":"staff","status":"publish","type":"page","link":"https:\/\/www.ttu.edu.jo\/en\/departments\/internal-audit\/staff\/","title":{"rendered":"\u0643\u0627\u062f\u0631 \u0627\u0644\u0631\u0642\u0627\u0628\u0629 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid vc_custom_1770467687779 vc_row-has-fill vc_row-o-equal-height vc_row-flex wd-rs-6987316083567\"><div class=\"wpb_column vc_column_container vc_col-sm-12 wd-rs-698b0c38adfef\"><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<p style=\"text-align: center;\">        <div class=\"afb-emp-container\" dir=\"ltr\"\n             data-wp-id=\"50\"\n             data-dp-id=\"\"\n             data-show-manager=\"0\"\n             data-lang=\"en\"\n             data-nonce=\"811cbd4ac0\"\n             style=\"position:relative;\">\n\n            <!-- Loading Overlay -->\n            <div class=\"afb-emp-loading\" style=\"display:none;\" aria-live=\"polite\">\n                <div class=\"afb-emp-spinner\" role=\"status\"><\/div>\n                <span>Loading\u2026<\/span>\n            <\/div>\n\n            <!-- Header -->\n            <div class=\"afb-emp-header\">\n                <div class=\"afb-emp-header-inner\">\n                    <div class=\"afb-emp-header-icon\">\n                        <i class=\"fas fa-building-columns\"><\/i>\n                    <\/div>\n                    <div class=\"afb-emp-header-text\">\n                        <div class=\"afb-emp-title\">\n                            <h2 id=\"afb-title\">Loading\u2026<\/h2>\n                        <\/div>\n                        <div class=\"afb-emp-stats\">\n                            <span class=\"afb-emp-stat\">\n                                <i class=\"fas fa-users\"><\/i>\n                                Total Employees:\n                                <strong id=\"afb-total-count\">\u2014<\/strong>\n                            <\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Manager Card -->\n            <div id=\"afb-manager-container\"><\/div>\n\n            <!-- Filters -->\n            <div class=\"afb-emp-filters\">\n                <div class=\"afb-emp-filter-group\">\n                    <label for=\"afb-dept-filter\">\n                        <i class=\"fas fa-sitemap\"><\/i>\n                        Filter by Department                    <\/label>\n                    <select id=\"afb-dept-filter\" class=\"afb-emp-filter-select\">\n                        <option value=\"all\">\u2014 All Departments \u2014<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"afb-emp-filter-group\">\n                    <label for=\"afb-position-filter\">\n                        <i class=\"fas fa-briefcase\"><\/i>\n                        Filter by Position                    <\/label>\n                    <select id=\"afb-position-filter\" class=\"afb-emp-filter-select\">\n                        <option value=\"all\">\u2014 All Positions \u2014<\/option>\n                        <option value=\"has_position\">Administrative<\/option>\n                        <option value=\"no_position\">No Position<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"afb-emp-filter-group\">\n                    <label for=\"afb-sort-select\">\n                        <i class=\"fas fa-arrow-down-a-z\"><\/i>\n                        Sort By                    <\/label>\n                    <select id=\"afb-sort-select\" class=\"afb-emp-filter-select\">\n                        <option value=\"position\">By Position<\/option>\n                        <option value=\"alphabetical\">Alphabetical<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <!-- Table -->\n            <div class=\"afb-emp-table-wrapper\">\n                <div class=\"afb-emp-table-header\">\n                    <div class=\"afb-emp-table-title\">\n                        <i class=\"fas fa-list-ul\"><\/i>\n                        Employee List                    <\/div>\n                    <div class=\"afb-emp-table-count\">\n                        <span class=\"afb-emp-badge\" id=\"afb-emp-count\">0<\/span>\n                        Employees                    <\/div>\n                <\/div>\n                <div class=\"afb-emp-table-responsive\">\n                    <table class=\"table table-sm afb-emp-table\" style=\"text-align:left;\">\n                        <thead>\n                            <tr>\n                                <th style=\"text-align:left;\">Name<\/th>\n                                <th style=\"text-align:left;\">Job Title<\/th>\n                                <th style=\"text-align:left;\">Department<\/th>\n                                <th style=\"text-align:center; width:80px;\"><\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"afb-emp-tbody\">\n                            <tr><td colspan=\"4\" style=\"text-align:center;padding:40px;\">\n                                <div class=\"afb-emp-spinner\" style=\"margin:0 auto;\"><\/div>\n                            <\/td><\/tr>\n                        <\/tbody>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <!-- Modal -->\n            <div id=\"afb-emp-modal\" class=\"afb-emp-modal\" style=\"display:none;\" role=\"dialog\" aria-modal=\"true\"\n                 aria-label=\"Employee Details\">\n                <div class=\"afb-emp-modal-content\" dir=\"ltr\">\n                    <div class=\"afb-emp-modal-header\">\n                        <h3><i class=\"fas fa-id-card\" style=\"margin-inline-end:8px;\"><\/i>Employee Details<\/h3>\n                        <span class=\"afb-emp-modal-close\" role=\"button\" tabindex=\"0\" aria-label=\"Close\">&times;<\/span>\n                    <\/div>\n                    <div class=\"afb-emp-modal-body\">\n                        <div class=\"afb-emp-detail-row\">\n                            <span class=\"afb-emp-detail-label\">Name<\/span>\n                            <span class=\"afb-emp-detail-value\" id=\"modal-name\"><\/span>\n                        <\/div>\n                        <div class=\"afb-emp-detail-row\">\n                            <span class=\"afb-emp-detail-label\">Position<\/span>\n                            <span class=\"afb-emp-detail-value\" id=\"modal-position\"><\/span>\n                        <\/div>\n                        <div class=\"afb-emp-detail-row\">\n                            <span class=\"afb-emp-detail-label\">Workplace<\/span>\n                            <span class=\"afb-emp-detail-value\" id=\"modal-workplace\"><\/span>\n                        <\/div>\n                        <div class=\"afb-emp-detail-row\">\n                            <span class=\"afb-emp-detail-label\">Department<\/span>\n                            <span class=\"afb-emp-detail-value\" id=\"modal-dept\"><\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <script type=\"text\/javascript\">\n        \/* ----------------------------------------------------------------\n           AFB TTU Employee \u2013 Secure Version\n           \u0644\u0627 \u064a\u062a\u0645 \u062a\u062e\u0632\u064a\u0646 \u0623\u064a \u0628\u064a\u0627\u0646\u0627\u062a \u062d\u0633\u0627\u0633\u0629 \u0641\u064a \u0627\u0644\u0640 HTML\n        ---------------------------------------------------------------- *\/\n        (function ($) {\n            'use strict';\n\n            var LANG       = \"en\";\n            var TEXT_ALIGN = LANG === 'ar' ? 'right' : 'left';\n            var AJAX_URL   = \"https:\\\/\\\/www.ttu.edu.jo\\\/wp-admin\\\/admin-ajax.php\";\n\n            var LBL = {\"loading\":\"Loading\\u2026\",\"total_emp\":\"Total Employees\",\"manager\":\"Manager\",\"filter_dept\":\"Filter by Department\",\"filter_pos\":\"Filter by Position\",\"sort_by\":\"Sort By\",\"all_depts\":\"All Departments\",\"all_pos\":\"All Positions\",\"admin_pos\":\"Administrative\",\"no_pos\":\"No Position\",\"by_pos\":\"By Position\",\"alphabetical\":\"Alphabetical\",\"emp_list\":\"Employee List\",\"employee\":\"Employees\",\"col_name\":\"Name\",\"col_pos\":\"Job Title\",\"col_dept\":\"Department\",\"no_emp\":\"No employees found\",\"no_results\":\"No matching results\",\"load_error\":\"Loading error\",\"modal_title\":\"Employee Details\",\"lbl_name\":\"Name\",\"lbl_pos\":\"Position\",\"lbl_wp\":\"Workplace\",\"lbl_dept\":\"Department\",\"details\":\"\"};\n\n            var currentEmployees = [];\n            var currentDept      = 'all';\n            var currentPosition  = 'all';\n            var currentSort      = 'position';\n            var isLoading        = false;\n\n            \/* \u2500\u2500 XSS-safe escaping \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n            function esc(s) {\n                if (!s) return '';\n                return String(s)\n                    .replace(\/&\/g, '&amp;')\n                    .replace(\/<\/g, '&lt;')\n                    .replace(\/>\/g, '&gt;')\n                    .replace(\/\"\/g, '&quot;')\n                    .replace(\/'\/g, '&#39;');\n            }\n\n            \/* \u2500\u2500 Load from server \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n            function loadEmployees() {\n                if (isLoading) return;\n                isLoading = true;\n\n                var $container = $('.afb-emp-container');\n                $container.find('.afb-emp-loading').show();\n\n                $.ajax({\n                    url:      AJAX_URL,\n                    type:     'POST',\n                    dataType: 'json',\n                    data: {\n                        action:       'afb_get_employees',\n                        wp_id:        $container.data('wp-id'),\n                        dp_id:        $container.data('dp-id'),\n                        sort_type:    currentSort,\n                        lang:         LANG,\n                        show_manager: $container.data('show-manager') ? 'yes' : 'no',\n                        nonce:        $container.data('nonce')\n                    },\n                    success: function (res) {\n                        if (!res.success) {\n                            showError(res.data || LBL.load_error);\n                            return;\n                        }\n                        var d = res.data;\n                        currentEmployees = d.employees || [];\n\n                        \/* Title *\/\n                        var titleHtml = d.dp_name\n                            ? esc(d.dp_name) + ' <span class=\"afb-emp-subtitle\">\u2014 ' + esc(d.wp_name) + '<\/span>'\n                            : esc(d.wp_name);\n                        $('#afb-title').html(titleHtml);\n                        $('#afb-total-count').text(d.total_count);\n\n                        \/* Manager *\/\n                        if (d.manager && d.manager.DISPLAY_NAME) {\n                            var m = d.manager;\n                            $('#afb-manager-container').html(\n                                '<div class=\"afb-emp-manager\">' +\n                                  '<div class=\"afb-emp-manager-badge\"><i class=\"' + esc(m.POSITION_ICON || 'fas fa-user-tie') + '\"><\/i><\/div>' +\n                                  '<div class=\"afb-emp-manager-info\">' +\n                                    '<span class=\"afb-emp-manager-label\"><i class=\"fas fa-crown\"><\/i> ' + esc(LBL.manager) + '<\/span>' +\n                                    '<h3>' + esc(m.DISPLAY_NAME) + '<\/h3>' +\n                                    '<p class=\"afb-emp-manager-position\"><i class=\"' + esc(m.POSITION_ICON || 'fas fa-user-tie') + '\"><\/i> ' + esc(m.DISPLAY_POSITION) + '<\/p>' +\n                                  '<\/div>' +\n                                '<\/div>'\n                            );\n                        } else {\n                            $('#afb-manager-container').empty();\n                        }\n\n                        \/* Dept filter *\/\n                        var $df = $('#afb-dept-filter').empty();\n                        $df.append('<option value=\"all\">\u2014 ' + esc(LBL.all_depts) + ' \u2014<\/option>');\n                        $.each(d.unique_departments, function (i, dept) {\n                            if (dept && dept.trim()) {\n                                $df.append('<option value=\"' + esc(dept) + '\">' + esc(dept) + '<\/option>');\n                            }\n                        });\n\n                        renderTable();\n                    },\n                    error: function () { showError(LBL.load_error); },\n                    complete: function () {\n                        isLoading = false;\n                        $('.afb-emp-container .afb-emp-loading').hide();\n                    }\n                });\n            }\n\n            \/* \u2500\u2500 Render table rows (\u0628\u062f\u0648\u0646 \u062a\u062e\u0632\u064a\u0646 \u0628\u064a\u0627\u0646\u0627\u062a \u0641\u064a HTML) \u2500\u2500 *\/\n            function renderTable() {\n                var $tbody  = $('#afb-emp-tbody').empty();\n                var rows    = '';\n                var visible = 0;\n\n                $.each(currentEmployees, function (index, emp) {\n                    var hasPos  = !!(emp.DISPLAY_POSITION);\n                    var dept    = emp.DEPARTMENT_NAME || '-';\n                    var deptOk  = (currentDept     === 'all' || dept === currentDept);\n                    var posOk   = (currentPosition === 'all' ||\n                                  (currentPosition === 'has_position' &&  hasPos) ||\n                                  (currentPosition === 'no_position'  && !hasPos));\n                    if (!deptOk || !posOk) return;\n                    visible++;\n\n                    var icon = emp.POSITION_ICON || 'fas fa-user';\n                    \/\/ \u2705 \u0646\u0633\u062a\u062e\u062f\u0645 index \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062d\u0633\u0627\u0633\u0629\n                    \/\/ \u2705 \u0644\u0627 \u0646\u0636\u0639 \u0623\u064a \u0628\u064a\u0627\u0646\u0627\u062a \u0641\u064a data-emp\n\n                    rows +=\n                        '<tr class=\"afb-emp-row' + (emp.IS_HEAD_OF_RECORDS ? ' afb-emp-head-records' : '') + '\"' +\n                            ' data-department=\"' + esc(dept) + '\"' +\n                            ' data-position=\"' + (hasPos ? 'has_position' : 'no_position') + '\"' +\n                            ' data-emp-index=\"' + index + '\">' +  \/\/ \u0641\u0642\u0637 index \u0631\u0642\u0645\u064a\n\n                        '<td class=\"afb-emp-name\" style=\"text-align:' + TEXT_ALIGN + ';\">' +\n                            (hasPos ? '<span class=\"afb-emp-admin-badge\"><i class=\"fas fa-user-tie\"><\/i><\/span> ' : '') +\n                            esc(emp.DISPLAY_NAME || '-') +\n                        '<\/td>' +\n\n                        '<td class=\"afb-emp-position\" style=\"text-align:' + TEXT_ALIGN + ';\">' +\n                            (hasPos\n                                ? '<i class=\"' + esc(icon) + ' afb-position-icon\"><\/i>' + esc(emp.DISPLAY_POSITION)\n                                : '<span class=\"afb-emp-no-position\">\u2014<\/span>') +\n                        '<\/td>' +\n\n                        '<td style=\"text-align:' + TEXT_ALIGN + ';\">' + esc(dept) + '<\/td>' +\n\n                       '<td style=\"text-align:center;\">' +\n    '<button type=\"button\" class=\"afb-emp-view\" data-index=\"' + index + '\">' +\n        '<i class=\"fas fa-info-circle afb-info-icon\"><\/i> ' + esc(LBL.details) +\n    '<\/button>' +\n'<\/td>' +\n                        '<\/tr>';\n                });\n\n                if (visible === 0) {\n                    rows = '<tr><td colspan=\"4\" style=\"text-align:center;\">' +\n                           '<div class=\"afb-emp-empty\"><i class=\"fas fa-user-slash\"><\/i>' +\n                           '<p>' + esc(currentEmployees.length === 0 ? LBL.no_emp : LBL.no_results) + '<\/p><\/div>' +\n                           '<\/td><\/tr>';\n                }\n\n                $tbody.html(rows);\n                $('#afb-emp-count').text(visible);\n            }\n\n            \/* \u2500\u2500 Show modal (\u062a\u0633\u062a\u062f\u0639\u064a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0645\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0648\u0644\u064a\u0633 \u0645\u0646 HTML) \u2500\u2500 *\/\n            function showEmployeeModal(index) {\n                var emp = currentEmployees[index];\n                if (!emp) return;\n\n                $('#modal-name').html(esc(emp.DISPLAY_NAME || '-'));\n                $('#modal-position').html(esc(emp.DISPLAY_POSITION || '-'));\n                $('#modal-workplace').html(esc($('#afb-title').text().replace(\/\u2014.*$\/, '').trim() || '-'));\n                $('#modal-dept').html(esc(emp.DEPARTMENT_NAME || '-'));\n                \n                $('#afb-emp-modal').fadeIn(200);\n            }\n\n            function showError(msg) {\n                $('#afb-emp-tbody').html(\n                    '<tr><td colspan=\"4\" style=\"text-align:center;\">' +\n                    '<div class=\"afb-emp-error\">' + esc(msg) + '<\/div><\/td><\/tr>'\n                );\n            }\n\n            \/* \u2500\u2500 Events \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n            $(document).on('click', '.afb-emp-view', function (e) {\n                e.preventDefault();\n                var index = $(this).data('index');\n                if (index !== undefined) {\n                    showEmployeeModal(index);\n                }\n            });\n\n            $(document).on('change', '#afb-sort-select', function (e) {\n                e.preventDefault();\n                currentSort = $(this).val();\n                loadEmployees();\n            });\n\n            $(document).on('change', '#afb-dept-filter, #afb-position-filter', function (e) {\n                e.preventDefault();\n                currentDept     = $('#afb-dept-filter').val();\n                currentPosition = $('#afb-position-filter').val();\n                renderTable();\n            });\n\n            \/* Close modal *\/\n            $(document).on('click', '.afb-emp-modal-close', function () {\n                $('#afb-emp-modal').fadeOut(200);\n            });\n            $(window).on('click', function (e) {\n                if ($(e.target).is('#afb-emp-modal')) {\n                    $('#afb-emp-modal').fadeOut(200);\n                }\n            });\n\n            \/* \u2500\u2500 Init \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n            loadEmployees();\n\n        })(jQuery);\n        <\/script>\n        <\/p>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"Loading\u2026 Loading\u2026 Total Employees: \u2014 Filter by Department \u2014 All Departments \u2014 Filter by Position \u2014 All Positions \u2014 Administrative","protected":false},"author":1,"featured_media":0,"parent":11617,"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-12931","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/pages\/12931","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=12931"}],"version-history":[{"count":0,"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/pages\/12931\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/pages\/11617"}],"wp:attachment":[{"href":"https:\/\/www.ttu.edu.jo\/en\/wp-json\/wp\/v2\/media?parent=12931"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}