{"id":2978,"date":"2026-09-12T20:46:05","date_gmt":"2026-09-12T20:46:05","guid":{"rendered":"https:\/\/tfmsohag.com\/wordpress\/?page_id=2978"},"modified":"2026-09-12T21:15:28","modified_gmt":"2026-09-12T21:15:28","slug":"%d8%a7%d9%84%d9%86%d8%aa%d9%8a%d8%ac%d8%a9-%d8%a7%d9%84%d8%b5%d9%8a%d9%81%d9%8a%d8%a9","status":"publish","type":"page","link":"https:\/\/tfmsohag.com\/wordpress\/%d8%a7%d9%84%d9%86%d8%aa%d9%8a%d8%ac%d8%a9-%d8%a7%d9%84%d8%b5%d9%8a%d9%81%d9%8a%d8%a9\/","title":{"rendered":"\u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0635\u064a\u0641\u064a\u0629"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2978\" class=\"elementor elementor-2978\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0078373 e-flex e-con-boxed e-con e-parent\" data-id=\"0078373\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-884a22a elementor-widget elementor-widget-heading\" data-id=\"884a22a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062b\u0627\u0646\u0649 \u0627\u0644\u0635\u064a\u0641\u0649 <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-24444f0 e-flex e-con-boxed e-con e-parent\" data-id=\"24444f0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b83297 elementor-widget elementor-widget-html\" data-id=\"3b83297\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"ar\" dir=\"rtl\">\r\n\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n\r\n    <title>\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0637\u0627\u0644\u0628<\/title>\r\n\r\n    <style>\r\n        * {\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            margin: 0;\r\n            font-family: Tahoma, Arial, sans-serif;\r\n            background: #f3f6fa;\r\n            color: #172033;\r\n        }\r\n\r\n        .container {\r\n            width: 100%;\r\n            max-width: 900px;\r\n            margin: 50px auto;\r\n            padding: 15px;\r\n        }\r\n\r\n        .card {\r\n            background: #fff;\r\n            border-radius: 20px;\r\n            padding: 30px;\r\n            box-shadow: 0 10px 35px rgba(0,0,0,.08);\r\n        }\r\n\r\n        h1 {\r\n            text-align: center;\r\n            margin: 0 0 10px;\r\n            font-size: 30px;\r\n        }\r\n\r\n        .subtitle {\r\n            text-align: center;\r\n            color: #777;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .search-area {\r\n            display: flex;\r\n            gap: 10px;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        #nationalId {\r\n            flex: 1;\r\n            height: 55px;\r\n            border: 1px solid #d5dbe3;\r\n            border-radius: 12px;\r\n            padding: 0 15px;\r\n            font-size: 18px;\r\n            text-align: center;\r\n            direction: ltr;\r\n            outline: none;\r\n        }\r\n\r\n        #nationalId:focus {\r\n            border-color: #2878c8;\r\n        }\r\n\r\n        .search-btn {\r\n            height: 55px;\r\n            padding: 0 35px;\r\n            border: none;\r\n            border-radius: 12px;\r\n            background: #2878c8;\r\n            color: white;\r\n            font-size: 17px;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .search-btn:hover {\r\n            background: #1d5f9e;\r\n        }\r\n\r\n        #message {\r\n            display: none;\r\n            padding: 14px;\r\n            border-radius: 10px;\r\n            text-align: center;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .success {\r\n            display: block !important;\r\n            background: #e8f7ed;\r\n            color: #18743b;\r\n        }\r\n\r\n        .error {\r\n            display: block !important;\r\n            background: #ffe9e9;\r\n            color: #b42318;\r\n        }\r\n\r\n        #result {\r\n            display: none;\r\n        }\r\n\r\n        .result-title {\r\n            text-align: center;\r\n            margin: 25px 0;\r\n        }\r\n\r\n        .data-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 14px;\r\n        }\r\n\r\n        .data-box {\r\n            background: #f8fafc;\r\n            border: 1px solid #e5e7eb;\r\n            border-radius: 12px;\r\n            padding: 17px;\r\n        }\r\n\r\n        .label {\r\n            display: block;\r\n            color: #777;\r\n            font-size: 13px;\r\n            margin-bottom: 7px;\r\n            line-height: 1.7;\r\n        }\r\n\r\n        .value {\r\n            display: block;\r\n            font-size: 17px;\r\n            font-weight: bold;\r\n            line-height: 1.7;\r\n            word-break: break-word;\r\n        }\r\n\r\n        .gpa {\r\n            grid-column: 1 \/ -1;\r\n            text-align: center;\r\n            background: #eef6ff;\r\n            border-color: #c9e1fa;\r\n        }\r\n\r\n        .gpa .value {\r\n            font-size: 28px;\r\n            color: #1769aa;\r\n        }\r\n\r\n        .loading {\r\n            text-align: center;\r\n            color: #777;\r\n            margin-top: 15px;\r\n            display: none;\r\n        }\r\n\r\n        @media (max-width: 650px) {\r\n\r\n            .container {\r\n                margin: 20px auto;\r\n            }\r\n\r\n            .card {\r\n                padding: 20px 15px;\r\n            }\r\n\r\n            .search-area {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .search-btn {\r\n                width: 100%;\r\n            }\r\n\r\n            .data-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .gpa {\r\n                grid-column: auto;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n\r\n\r\n<body>\r\n\r\n<div class=\"container\">\r\n\r\n    <div class=\"card\">\r\n\r\n        <h1>\u0627\u0644\u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0639\u0646 \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0637\u0627\u0644\u0628<\/h1>\r\n\r\n        <div class=\"subtitle\">\r\n            \u0623\u062f\u062e\u0644 \u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0642\u0648\u0645\u064a \u0644\u0644\u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0639\u0646 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0637\u0627\u0644\u0628\r\n        <\/div>\r\n\r\n\r\n        <div class=\"search-area\">\r\n\r\n            <input\r\n                id=\"nationalId\"\r\n                type=\"text\"\r\n                inputmode=\"numeric\"\r\n                placeholder=\"\u0623\u062f\u062e\u0644 \u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0642\u0648\u0645\u064a\"\r\n                autocomplete=\"off\"\r\n            >\r\n\r\n            <button\r\n                class=\"search-btn\"\r\n                onclick=\"searchStudent()\"\r\n            >\r\n                \u0628\u062d\u062b\r\n            <\/button>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div id=\"loading\" class=\"loading\">\r\n            \u062c\u0627\u0631\u064a \u062a\u062d\u0645\u064a\u0644 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0646\u062a\u0627\u0626\u062c...\r\n        <\/div>\r\n\r\n\r\n        <div id=\"message\"><\/div>\r\n\r\n\r\n        <div id=\"result\">\r\n\r\n            <h2 class=\"result-title\">\r\n                \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0637\u0627\u0644\u0628\r\n            <\/h2>\r\n\r\n\r\n            <div class=\"data-grid\">\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelC\">\u0627\u0633\u0645 \u0627\u0644\u0637\u0627\u0644\u0628<\/span>\r\n                    <span class=\"value\" id=\"valueC\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelD\">\u0643\u0648\u062f \u0627\u0644\u0637\u0627\u0644\u0628<\/span>\r\n                    <span class=\"value\" id=\"valueD\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelE\">\u0627\u0644\u062a\u062e\u0635\u0635<\/span>\r\n                    <span class=\"value\" id=\"valueE\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelF\">F<\/span>\r\n                    <span class=\"value\" id=\"valueF\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelG\">G<\/span>\r\n                    <span class=\"value\" id=\"valueG\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelH\">H<\/span>\r\n                    <span class=\"value\" id=\"valueH\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelI\">I<\/span>\r\n                    <span class=\"value\" id=\"valueI\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelJ\">J<\/span>\r\n                    <span class=\"value\" id=\"valueJ\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box\">\r\n                    <span class=\"label\" id=\"labelK\">K<\/span>\r\n                    <span class=\"value\" id=\"valueK\"><\/span>\r\n                <\/div>\r\n\r\n\r\n                <div class=\"data-box gpa\">\r\n                    <span class=\"label\" id=\"labelL\">\r\n                        \u0627\u0644\u0645\u0639\u062f\u0644 \u0627\u0644\u062a\u0631\u0627\u0643\u0645\u064a\r\n                    <\/span>\r\n\r\n                    <span class=\"value\" id=\"valueL\"><\/span>\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<script>\r\n\r\n\/* =========================================================\r\n   \u2b50 \u062d\u0637 \u0644\u064a\u0646\u0643 \u0627\u0644\u0640 CSV \u0628\u062a\u0627\u0639\u0643 \u0647\u0646\u0627 \u0641\u0642\u0637 \u2b50\r\n   ========================================================= *\/\r\n\r\nconst CSV_URL = \"https:\/\/tfmsohag.com\/wordpress\/wp-content\/uploads\/2026\/09\/\u0646\u062a\u064a\u062c\u0629-\u0627\u0644\u0645\u0633\u062a\u0648\u0649-\u0627\u0644\u062b\u0627\u0646\u0649-\u0635\u064a\u0641\u0649-2026.csv\";\r\n\r\n\r\n\/* =========================================================\r\n   \u0645\u062a\u063a\u064a\u0631\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\r\n   ========================================================= *\/\r\n\r\nlet rows = [];\r\nlet headers = [];\r\nlet dataLoaded = false;\r\n\r\n\r\n\/* =========================================================\r\n   \u062a\u062d\u0648\u064a\u0644 Google Sheets Link \u0625\u0644\u0649 CSV Link\r\n   \u0644\u0648 \u0627\u0644\u0644\u064a\u0646\u0643 \u0628\u0627\u0644\u0641\u0639\u0644 CSV \u0639\u0627\u062f\u064a\u060c \u064a\u0633\u064a\u0628\u0647 \u0643\u0645\u0627 \u0647\u0648\r\n   ========================================================= *\/\r\n\r\nfunction getCSVUrl(url) {\r\n\r\n    url = url.trim();\r\n\r\n    if (\r\n        url.includes(\"docs.google.com\/spreadsheets\/d\/\")\r\n    ) {\r\n\r\n        const match = url.match(\r\n            \/spreadsheets\\\/d\\\/([^\/]+)\/\r\n        );\r\n\r\n        if (match) {\r\n\r\n            const spreadsheetId = match[1];\r\n\r\n            let gid = \"0\";\r\n\r\n            const gidMatch =\r\n                url.match(\/[?&#]gid=([0-9]+)\/);\r\n\r\n            if (gidMatch) {\r\n                gid = gidMatch[1];\r\n            }\r\n\r\n            return (\r\n                \"https:\/\/docs.google.com\/spreadsheets\/d\/\" +\r\n                spreadsheetId +\r\n                \"\/export?format=csv&gid=\" +\r\n                gid\r\n            );\r\n        }\r\n    }\r\n\r\n    return url;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0640 CSV\r\n   ========================================================= *\/\r\n\r\nasync function loadCSV() {\r\n\r\n    const loading =\r\n        document.getElementById(\"loading\");\r\n\r\n    loading.style.display = \"block\";\r\n\r\n\r\n    try {\r\n\r\n        const finalURL =\r\n            getCSVUrl(CSV_URL);\r\n\r\n\r\n        const response =\r\n            await fetch(finalURL, {\r\n                method: \"GET\",\r\n                cache: \"no-store\"\r\n            });\r\n\r\n\r\n        if (!response.ok) {\r\n            throw new Error(\r\n                \"HTTP Error: \" + response.status\r\n            );\r\n        }\r\n\r\n\r\n        let csvText =\r\n            await response.text();\r\n\r\n\r\n        \/*\r\n           \u0625\u0632\u0627\u0644\u0629 BOM \u0627\u0644\u062e\u0627\u0635 \u0628\u0645\u0644\u0641\u0627\u062a UTF-8\r\n        *\/\r\n\r\n        csvText =\r\n            csvText.replace(\/^\\uFEFF\/, \"\");\r\n\r\n\r\n        \/*\r\n           \u0642\u0631\u0627\u0621\u0629 CSV\r\n        *\/\r\n\r\n        const parsed =\r\n            parseCSV(csvText);\r\n\r\n\r\n        if (parsed.length < 2) {\r\n            throw new Error(\"CSV empty\");\r\n        }\r\n\r\n\r\n        \/*\r\n           \u0623\u0648\u0644 \u0635\u0641 = \u0623\u0633\u0645\u0627\u0621 \u0627\u0644\u0623\u0639\u0645\u062f\u0629\r\n        *\/\r\n\r\n        headers =\r\n            parsed[0].map(function(cell) {\r\n                return cell.trim();\r\n            });\r\n\r\n\r\n        \/*\r\n           \u0628\u0627\u0642\u064a \u0627\u0644\u0635\u0641\u0648\u0641 = \u0627\u0644\u0637\u0644\u0627\u0628\r\n        *\/\r\n\r\n        rows =\r\n            parsed.slice(1);\r\n\r\n\r\n        dataLoaded = true;\r\n\r\n\r\n        loading.style.display = \"none\";\r\n\r\n\r\n    } catch (error) {\r\n\r\n        console.error(error);\r\n\r\n        loading.style.display = \"none\";\r\n\r\n        showMessage(\r\n            \"\u062d\u062f\u062b \u062e\u0637\u0623 \u0641\u064a \u062a\u062d\u0645\u064a\u0644 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0646\u062a\u0627\u0626\u062c. \u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646 \u0631\u0627\u0628\u0637 CSV \u0635\u062d\u064a\u062d \u0648\u0645\u062a\u0627\u062d.\",\r\n            \"error\"\r\n        );\r\n\r\n    }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CSV Parser \u0627\u062d\u062a\u0631\u0627\u0641\u064a\r\n   \u064a\u062a\u0639\u0627\u0645\u0644 \u0645\u0639:\r\n   - \u0627\u0644\u0639\u0631\u0628\u064a\r\n   - \u0627\u0644\u0641\u0648\u0627\u0635\u0644\r\n   - \u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0627\u0642\u062a\u0628\u0627\u0633\r\n   - \u0627\u0644\u0623\u0633\u0637\u0631 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u062f\u0627\u062e\u0644 \u0627\u0644\u0646\u0635\r\n   ========================================================= *\/\r\n\r\nfunction parseCSV(text) {\r\n\r\n    const result = [];\r\n\r\n    let row = [];\r\n\r\n    let value = \"\";\r\n\r\n    let inQuotes = false;\r\n\r\n\r\n    for (let i = 0; i < text.length; i++) {\r\n\r\n        const char = text[i];\r\n\r\n        const next = text[i + 1];\r\n\r\n\r\n        \/*\r\n           Quote \u062f\u0627\u062e\u0644 Quote\r\n        *\/\r\n\r\n        if (\r\n            char === '\"' &&\r\n            inQuotes &&\r\n            next === '\"'\r\n        ) {\r\n\r\n            value += '\"';\r\n\r\n            i++;\r\n\r\n            continue;\r\n        }\r\n\r\n\r\n        \/*\r\n           \u0628\u062f\u0627\u064a\u0629 \/ \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u0646\u0635 \u0627\u0644\u0645\u062d\u0627\u0637 \u0628\u0640 \"\"\r\n        *\/\r\n\r\n        if (char === '\"') {\r\n\r\n            inQuotes = !inQuotes;\r\n\r\n            continue;\r\n        }\r\n\r\n\r\n        \/*\r\n           \u0627\u0644\u0641\u0627\u0635\u0644\u0629\r\n        *\/\r\n\r\n        if (\r\n            char === ',' &&\r\n            !inQuotes\r\n        ) {\r\n\r\n            row.push(value);\r\n\r\n            value = \"\";\r\n\r\n            continue;\r\n        }\r\n\r\n\r\n        \/*\r\n           \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u0633\u0637\u0631\r\n        *\/\r\n\r\n        if (\r\n            (char === '\\n' || char === '\\r') &&\r\n            !inQuotes\r\n        ) {\r\n\r\n            if (\r\n                char === '\\r' &&\r\n                next === '\\n'\r\n            ) {\r\n                i++;\r\n            }\r\n\r\n\r\n            row.push(value);\r\n\r\n            value = \"\";\r\n\r\n\r\n            if (\r\n                row.some(function(cell) {\r\n                    return cell.trim() !== \"\";\r\n                })\r\n            ) {\r\n\r\n                result.push(row);\r\n\r\n            }\r\n\r\n\r\n            row = [];\r\n\r\n            continue;\r\n        }\r\n\r\n\r\n        value += char;\r\n    }\r\n\r\n\r\n    \/*\r\n       \u0622\u062e\u0631 \u062e\u0644\u064a\u0629\r\n    *\/\r\n\r\n    if (\r\n        value !== \"\" ||\r\n        row.length > 0\r\n    ) {\r\n\r\n        row.push(value);\r\n\r\n        if (\r\n            row.some(function(cell) {\r\n                return cell.trim() !== \"\";\r\n            })\r\n        ) {\r\n\r\n            result.push(row);\r\n\r\n        }\r\n    }\r\n\r\n\r\n    return result;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u062a\u0646\u0638\u064a\u0641 \u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0642\u0648\u0645\u064a\r\n   ========================================================= *\/\r\n\r\nfunction normalizeNationalId(value) {\r\n\r\n    if (\r\n        value === null ||\r\n        value === undefined\r\n    ) {\r\n        return \"\";\r\n    }\r\n\r\n\r\n    let id =\r\n        String(value)\r\n        .trim();\r\n\r\n\r\n    \/*\r\n       \u0625\u0632\u0627\u0644\u0629 BOM\r\n    *\/\r\n\r\n    id =\r\n        id.replace(\/^\\uFEFF\/, \"\");\r\n\r\n\r\n    \/*\r\n       \u0625\u0632\u0627\u0644\u0629 .0 \u0644\u0648 CSV \u062c\u0627\u064a \u0645\u0646 Excel \u0628\u0637\u0631\u064a\u0642\u0629 \u0645\u0639\u064a\u0646\u0629\r\n    *\/\r\n\r\n    id =\r\n        id.replace(\/\\.0$\/, \"\");\r\n\r\n\r\n    \/*\r\n       \u0625\u0632\u0627\u0644\u0629 \u0645\u0633\u0627\u0641\u0627\u062a \u062f\u0627\u062e\u0644 \u0627\u0644\u0631\u0642\u0645\r\n    *\/\r\n\r\n    id =\r\n        id.replace(\/\\s+\/g, \"\");\r\n\r\n\r\n    return id;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0627\u0644\u0628\u062d\u062b\r\n   ========================================================= *\/\r\n\r\nfunction searchStudent() {\r\n\r\n    const input =\r\n        document.getElementById(\"nationalId\");\r\n\r\n\r\n    const nationalId =\r\n        normalizeNationalId(input.value);\r\n\r\n\r\n    \/*\r\n       \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0642\u062f\u064a\u0645\u0629\r\n    *\/\r\n\r\n    document.getElementById(\"result\")\r\n        .style.display = \"none\";\r\n\r\n\r\n    if (!dataLoaded) {\r\n\r\n        showMessage(\r\n            \"\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0644\u0645 \u064a\u062a\u0645 \u062a\u062d\u0645\u064a\u0644\u0647\u0627 \u0628\u0639\u062f\u060c \u0627\u0646\u062a\u0638\u0631 \u0644\u062d\u0638\u0629 \u062b\u0645 \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649.\",\r\n            \"error\"\r\n        );\r\n\r\n        return;\r\n    }\r\n\r\n\r\n    if (!nationalId) {\r\n\r\n        showMessage(\r\n            \"\u0645\u0646 \u0641\u0636\u0644\u0643 \u0623\u062f\u062e\u0644 \u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0642\u0648\u0645\u064a.\",\r\n            \"error\"\r\n        );\r\n\r\n        return;\r\n    }\r\n\r\n\r\n    \/*\r\n       B = index 1\r\n    *\/\r\n\r\n    let foundRow = null;\r\n\r\n\r\n    for (\r\n        let i = 0;\r\n        i < rows.length;\r\n        i++\r\n    ) {\r\n\r\n        const row = rows[i];\r\n\r\n\r\n        if (!row || row.length < 12) {\r\n            continue;\r\n        }\r\n\r\n\r\n        const excelNationalId =\r\n            normalizeNationalId(row[1]);\r\n\r\n\r\n        if (\r\n            excelNationalId === nationalId\r\n        ) {\r\n\r\n            foundRow = row;\r\n\r\n            break;\r\n        }\r\n    }\r\n\r\n\r\n    \/*\r\n       \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631\r\n    *\/\r\n\r\n    if (!foundRow) {\r\n\r\n        showMessage(\r\n            \"\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0647\u0630\u0627 \u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0642\u0648\u0645\u064a.\",\r\n            \"error\"\r\n        );\r\n\r\n        return;\r\n    }\r\n\r\n\r\n    \/*\r\n       =====================================================\r\n       \u0639\u0631\u0636 C \u2192 L\r\n       =====================================================\r\n    *\/\r\n\r\n    setLabel(\r\n        \"labelC\",\r\n        headers[2],\r\n        \"\u0627\u0633\u0645 \u0627\u0644\u0637\u0627\u0644\u0628\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelD\",\r\n        headers[3],\r\n        \"\u0643\u0648\u062f \u0627\u0644\u0637\u0627\u0644\u0628\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelE\",\r\n        headers[4],\r\n        \"\u0627\u0644\u062a\u062e\u0635\u0635\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelF\",\r\n        headers[5],\r\n        \"F\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelG\",\r\n        headers[6],\r\n        \"G\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelH\",\r\n        headers[7],\r\n        \"H\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelI\",\r\n        headers[8],\r\n        \"I\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelJ\",\r\n        headers[9],\r\n        \"J\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelK\",\r\n        headers[10],\r\n        \"K\"\r\n    );\r\n\r\n    setLabel(\r\n        \"labelL\",\r\n        headers[11],\r\n        \"\u0627\u0644\u0645\u0639\u062f\u0644 \u0627\u0644\u062a\u0631\u0627\u0643\u0645\u064a\"\r\n    );\r\n\r\n\r\n    \/*\r\n       \u0627\u0644\u0642\u064a\u0645\r\n    *\/\r\n\r\n    document.getElementById(\"valueC\")\r\n        .textContent = getCell(foundRow, 2);\r\n\r\n\r\n    document.getElementById(\"valueD\")\r\n        .textContent = getCell(foundRow, 3);\r\n\r\n\r\n    document.getElementById(\"valueE\")\r\n        .textContent = getCell(foundRow, 4);\r\n\r\n\r\n    document.getElementById(\"valueF\")\r\n        .textContent = getCell(foundRow, 5);\r\n\r\n\r\n    document.getElementById(\"valueG\")\r\n        .textContent = getCell(foundRow, 6);\r\n\r\n\r\n    document.getElementById(\"valueH\")\r\n        .textContent = getCell(foundRow, 7);\r\n\r\n\r\n    document.getElementById(\"valueI\")\r\n        .textContent = getCell(foundRow, 8);\r\n\r\n\r\n    document.getElementById(\"valueJ\")\r\n        .textContent = getCell(foundRow, 9);\r\n\r\n\r\n    document.getElementById(\"valueK\")\r\n        .textContent = getCell(foundRow, 10);\r\n\r\n\r\n    document.getElementById(\"valueL\")\r\n        .textContent = getCell(foundRow, 11);\r\n\r\n\r\n    \/*\r\n       \u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0646\u062a\u064a\u062c\u0629\r\n    *\/\r\n\r\n    document.getElementById(\"result\")\r\n        .style.display = \"block\";\r\n\r\n\r\n    showMessage(\r\n        \"\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0637\u0627\u0644\u0628.\",\r\n        \"success\"\r\n    );\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0642\u0631\u0627\u0621\u0629 \u062e\u0644\u064a\u0629 \u0628\u0623\u0645\u0627\u0646\r\n   ========================================================= *\/\r\n\r\nfunction getCell(row, index) {\r\n\r\n    if (\r\n        !row ||\r\n        row[index] === undefined ||\r\n        row[index] === null\r\n    ) {\r\n        return \"\";\r\n    }\r\n\r\n    return String(row[index]).trim();\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0648\u0636\u0639 \u0627\u0633\u0645 \u0627\u0644\u0639\u0645\u0648\u062f\r\n   ========================================================= *\/\r\n\r\nfunction setLabel(\r\n    elementId,\r\n    header,\r\n    fallback\r\n) {\r\n\r\n    const element =\r\n        document.getElementById(elementId);\r\n\r\n\r\n    if (\r\n        header &&\r\n        String(header).trim() !== \"\"\r\n    ) {\r\n\r\n        element.textContent =\r\n            String(header).trim();\r\n\r\n    } else {\r\n\r\n        element.textContent =\r\n            fallback;\r\n    }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   \u0627\u0644\u0631\u0633\u0627\u0626\u0644\r\n   ========================================================= *\/\r\n\r\nfunction showMessage(\r\n    text,\r\n    type\r\n) {\r\n\r\n    const message =\r\n        document.getElementById(\"message\");\r\n\r\n\r\n    message.textContent = text;\r\n\r\n    message.className = type;\r\n\r\n    message.style.display = \"block\";\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Enter = \u0628\u062d\u062b\r\n   ========================================================= *\/\r\n\r\ndocument\r\n.getElementById(\"nationalId\")\r\n.addEventListener(\r\n    \"keydown\",\r\n    function(event) {\r\n\r\n        if (event.key === \"Enter\") {\r\n\r\n            searchStudent();\r\n\r\n        }\r\n\r\n    }\r\n);\r\n\r\n\r\n\/* =========================================================\r\n   \u062a\u062d\u0645\u064a\u0644 CSV \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627\r\n   ========================================================= *\/\r\n\r\nloadCSV();\r\n\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062b\u0627\u0646\u0649 \u0627\u0644\u0635\u064a\u0641\u0649 \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0637\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0639\u0646 \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0637\u0627\u0644\u0628 \u0623\u062f\u062e\u0644 \u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0642\u0648\u0645\u064a \u0644\u0644\u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0639\u0646 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0637\u0627\u0644\u0628 \u0628\u062d\u062b \u062c\u0627\u0631\u064a \u062a\u062d\u0645\u064a\u0644 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0646\u062a\u0627\u0626\u062c&#8230; \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0637\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0637\u0627\u0644\u0628 \u0643\u0648\u062f \u0627\u0644\u0637\u0627\u0644\u0628 \u0627\u0644\u062a\u062e\u0635\u0635 F G H I J K \u0627\u0644\u0645\u0639\u062f\u0644 \u0627\u0644\u062a\u0631\u0627\u0643\u0645\u064a<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2978","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/pages\/2978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/comments?post=2978"}],"version-history":[{"count":14,"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/pages\/2978\/revisions"}],"predecessor-version":[{"id":2996,"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/pages\/2978\/revisions\/2996"}],"wp:attachment":[{"href":"https:\/\/tfmsohag.com\/wordpress\/wp-json\/wp\/v2\/media?parent=2978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}