إضافة Certificate لتوتارا

نظام إصدار وإدارة الشهادات الإلكترونية

نظرة عامة

إضافة Certificate هي إضافة موديول (Module) شاملة لنظام توتارا لتعلّم (Totara Learn) تهدف إلى إصدار وإدارة الشهادات الإلكترونية للمستخدمين عند إكمالهم للدورات التدريبية أو تحقيقهم لشروط معينة.

توفر هذه الإضافة نظامًا متكاملاً لإنشاء وتخصيص وإصدار الشهادات الإلكترونية بصيغة PDF مع دعم كامل للغة العربية والإنجليزية وغيرها من اللغات. تدعم الإضافة أنواع شهادات مختلفة، محرر مخصص، إدارة الخطوط، QR Codes للتحقق من الشهادات، وأدوات تخصيص متقدمة.

يمكن تخصيص الشهادات بالكامل من حيث التصميم، المحتوى، الخطوط، الألوان، الحدود، الأختام، والتوقيعات. كما تدعم الإضافة إشعارات البريد الإلكتروني، تقارير الشهادات، والتحقق من الشهادات عبر QR Code.

المميزات الرئيسية

📜 إصدار الشهادات الإلكترونية

  • إصدار شهادات PDF احترافية
  • إصدار تلقائي عند إكمال الدورة
  • إصدار بناءً على شروط معينة (الدرجات، الوقت، الأنشطة)
  • تخزين الشهادات الصادرة
  • معاينة الشهادات قبل الإصدار

🎨 أنواع الشهادات المتعددة

  • A4 Embedded - شهادة A4 مع خطوط مدمجة
  • A4 Non-Embedded - شهادة A4 بدون خطوط مدمجة
  • Letter Embedded - شهادة Letter مع خطوط مدمجة
  • Letter Non-Embedded - شهادة Letter بدون خطوط مدمجة
  • Custom Editor - محرر مخصص للشهادات

✏️ المحرر المخصص (Custom Editor)

  • واجهة تحرير مرئية للشهادات
  • سحب وإفلات العناصر
  • تخصيص الخطوط والأحجام والألوان
  • إضافة النصوص والصور
  • إضافة العناصر الديناميكية (اسم المستخدم، اسم الدورة، التاريخ، إلخ)
  • معاينة فورية للتغييرات

🔤 إدارة الخطوط المتقدمة

  • مدير خطوط متقدم (Font Manager)
  • رفع خطوط مخصصة (TTF, OTF, WOFF, WOFF2)
  • معاينة الخطوط
  • اختبار الخطوط
  • دعم متعدد اللغات
  • خطوط افتراضية مدعومة (Dejavusans, Dejavuserif)
  • خطوط عربية خاصة

🔲 QR Code للتحقق

  • توليد QR Code تلقائي لكل شهادة
  • التحقق من صحة الشهادة عبر QR Code
  • صفحة تحقق منفصلة
  • تأمين الشهادات من التزوير

🎨 التخصيص الكامل

  • تخصيص الحدود (Borders) - خطوط أو صور
  • إضافة الأختام (Seals)
  • إضافة التوقيعات (Signatures)
  • إضافة العلامات المائية (Watermarks)
  • تخصيص النصوص والخطوط
  • تخصيص الألوان
  • تخصيص المحاذاة (Left, Center, Right)

📄 بناء القوالب (Template Builder)

  • إنشاء قوالب شهادات مخصصة
  • نظام عناصر متقدم
  • العناصر الديناميكية (Dynamic Elements)
  • تصدير واستيراد القوالب
  • التحقق من القوالب (Template Validation)

📊 التقارير والإحصائيات

  • تقرير الشهادات الصادرة
  • عرض الشهادات لكل مستخدم
  • عرض الشهادات لكل دورة
  • تصدير البيانات
  • حذف الشهادات الصادرة

📧 إشعارات البريد الإلكتروني

  • إرسال الشهادات عبر البريد الإلكتروني
  • إشعارات للمدربين عند إصدار شهادة
  • إشعارات لأطراف أخرى (Notify Others)
  • تخصيص محتوى البريد الإلكتروني

🌐 دعم متعدد اللغات

  • دعم كامل للغة العربية
  • دعم اللغة الإنجليزية
  • دعم RTL و LTR
  • خطوط خاصة بالعربية
  • تنسيق التواريخ حسب اللغة

✅ نظام التحقق (Validation System)

  • التحقق من بيانات الشهادة
  • التحقق من الخطوط
  • التحقق من القوالب
  • التحقق من المحتوى

التثبيت

المتطلبات

خطوات التثبيت

  1. نسخ الملفات:

    انسخ مجلد certificate إلى مجلد server/mod/ في توتارا

    C:\wamp64\www\totara\server\mod\certificate
  2. تثبيت الإضافة:

    انتقل إلى صفحة إدارة الموقع (Site Administration) في توتارا. سيتم اكتشاف الإضافة الجديدة تلقائيًا وستظهر رسالة تشير إلى إكمال التثبيت.

  3. ترقية قاعدة البيانات:

    اضغط على زر "Upgrade database" إذا ظهرت رسالة ترقية قاعدة البيانات. سيتم إنشاء الجداول التالية:

    • certificate - لحفظ معلومات الشهادات
    • certificate_issues - لحفظ الشهادات الصادرة
    • وغيرها من الجداول
  4. إعداد الخطوط (اختياري):

    قم برفع الخطوط المخصصة من خلال Font Manager إذا كنت تريد استخدام خطوط خاصة.

💡 ملاحظة: الخطوط الافتراضية (Dejavusans, Dejavuserif) مدعومة مدمجة. يمكنك استخدامها مباشرة أو رفع خطوط مخصصة.

الإعدادات

إعدادات الموديول

عند إنشاء نشاط Certificate جديد في دورة، يمكنك تكوين:

الإعداد الوصف
Certificate Name اسم الشهادة
Certificate Type نوع الشهادة (A4, Letter, Embedded, Non-embedded, Custom)
Orientation الاتجاه (Portrait, Landscape)
Border Style نمط الحدود (Border Image أو Lines)
Border Color لون الحدود
Custom Text نص مخصص (للتوقيعات والأسماء)
Delivery طريقة التسليم (Open in Browser, Force Download, Email)
Email Others إرسال إشعارات لآخرين
Print Teacher طباعة اسم المدرب على الشهادة
Print Seal طباعة الختم على الشهادة
Print Signature طباعة التوقيع على الشهادة
Locking Options خيارات القفل (متى يُصدر الشهادة)
Issue Options خيارات الإصدار (عند إكمال الدورة، بناءً على الدرجة، إلخ)

إعدادات النظام

يمكن تكوين إعدادات النظام من:

Site Administration > Plugins > Activity modules > Certificate

الإعدادات المتاحة:

الاستخدام

إنشاء نشاط Certificate

  1. انتقل إلى الدورة التدريبية
  2. قم بتفعيل "Turn editing on"
  3. انقر على "Add an activity or resource"
  4. اختر "Certificate"
  5. املأ النموذج:
    • اسم الشهادة
    • نوع الشهادة
    • إعدادات التصميم
    • خيارات الإصدار
  6. انقر على "Save and return to course"

معاينة الشهادة

يمكن معاينة الشهادة من:

/mod/certificate/certificate_preview.php?id=CERTIFICATE_ID

أو من داخل النشاط - زر "Preview"

تتيح صفحة المعاينة:

استلام الشهادة

يمكن للمستخدمين استلام الشهادة من:

مشاهدة الشهادات الخاصة

يمكن للمستخدمين عرض جميع شهاداتهم من:

/mod/certificate/viewarchive.php

تعرض هذه الصفحة:

التحقق من الشهادة

يمكن التحقق من صحة الشهادة من:

/mod/certificate/verify.php

أو من خلال مسح QR Code الموجود على الشهادة

أنواع الشهادات

A4 Embedded

شهادة بحجم A4 مع خطوط مدمجة (Embedded Fonts). تستخدم خطوط Dejavusans و Dejavuserif. مناسبة للغات التي تستخدم أحرف خاصة مثل العربية.

المميزات:

المحرر المخصص (Custom Editor)

نظرة عامة

المحرر المخصص هو أداة متقدمة تسمح بإنشاء وتعديل تصميمات الشهادات بطريقة مرئية وسهلة. يمكنك إضافة العناصر، تعديلها، نقلها، وتخصيصها بسهولة.

الوصول إلى المحرر

يمكن الوصول إلى المحرر المخصص من:

/mod/certificate/certificate_editor.php?id=CERTIFICATE_ID

أو من داخل نشاط Certificate - زر "Edit Certificate"

العناصر المتاحة

يمكن إضافة العناصر التالية:

العنصر الوصف
Text Element عنصر نص ثابت
Dynamic Element عنصر ديناميكي (اسم المستخدم، اسم الدورة، التاريخ، إلخ)
Image Element صورة
Border Element حدود
Seal Element ختم
Signature Element توقيع
Watermark Element علامة مائية

تخصيص العناصر

يمكن تخصيص كل عنصر:

العناصر الديناميكية

العناصر الديناميكية المتاحة:

إدارة الخطوط (Font Management)

مدير الخطوط

يمكن الوصول إلى مدير الخطوط من:

/mod/certificate/font_manager.php

يسمح مدير الخطوط بـ:

رفع خط جديد

  1. انتقل إلى Font Manager
  2. انقر على "Upload Font"
  3. اختر ملف الخط (TTF, OTF, WOFF, WOFF2)
  4. أدخل اسم الخط (اختياري)
  5. انقر على "Upload"
  6. سيتم حفظ الخط في مجلد fonts/

الخطوط المدعومة

الإضافة تدعم:

الخطوط الافتراضية

الإضافة تأتي مع خطوط افتراضية:

اختبار الخط

يمكن اختبار الخط لمعرفة:

QR Code للتحقق

نظرة عامة

كل شهادة يتم إصدارها تحصل على QR Code فريد. يمكن استخدام هذا QR Code للتحقق من صحة الشهادة والتأكد من أنها أصليّة وليست مزورة.

كيف يعمل

  1. عند إصدار شهادة، يتم توليد رمز فريد (Unique Code)
  2. يتم إنشاء QR Code يحتوي على رابط التحقق
  3. يتم طباعة QR Code على الشهادة
  4. يمكن مسح QR Code للتحقق من صحة الشهادة

التحقق من الشهادة

يمكن التحقق من الشهادة من:

/mod/certificate/verify.php?code=CERTIFICATE_CODE

أو من خلال:

صفحة التحقق

تعرض صفحة التحقق:

💡 ملاحظة: QR Code يوفر أمانًا إضافيًا للشهادات ويساعد في منع التزوير.

بناء القوالب (Template Builder)

نظرة عامة

نظام بناء القوالب يسمح بإنشاء قوالب شهادات مخصصة باستخدام واجهة برمجية. يمكن بناء قوالب معقدة ومتطورة باستخدام هذا النظام.

استخدام Template Builder

use mod_certificate\builder\template_builder; $builder = new template_builder('A4_embedded'); $template = $builder ->addTextElement('Certificate Title', 10, 30, 'freesans', 30, '#000080', 'C') ->addTextElement('This is to certify that', 10, 50, 'freeserif', 20, '#000000', 'C') ->addDynamicElement('user_name', 10, 70, ['font' => 'freesans', 'size' => 30]) ->addTextElement('has completed the course', 10, 90, 'freeserif', 20, '#000000', 'C') ->addDynamicElement('course_name', 10, 110, ['font' => 'freesans', 'size' => 20]) ->addDynamicElement('date', 10, 130, ['font' => 'freeserif', 'size' => 14]) ->build();

التحقق من القوالب

يمكن التحقق من صحة القوالب للتأكد من أنها صحيحة ولا تحتوي على أخطاء. يقوم النظام بالتحقق من:

التخصيص

الحدود (Borders)

يمكن تخصيص الحدود بطريقتين:

الأختام (Seals)

يمكن إضافة أختام من:

التوقيعات (Signatures)

يمكن إضافة توقيعات من:

العلامات المائية (Watermarks)

يمكن إضافة علامات مائية من:

تخصيص النصوص

يمكن تخصيص:

خيارات الإصدار

يمكن تحديد متى تُصدر الشهادة:

الصلاحيات (Capabilities)

الإضافة تحتوي على الصلاحيات التالية:

الصلاحية الوصف الافتراضي
certificate:addinstance إضافة نشاط Certificate المديرون والمدربون
certificate:view عرض الشهادة جميع المستخدمين المسجلين
certificate:student استلام الشهادة جميع المستخدمين المسجلين
certificate:manage إدارة نشاط Certificate المديرون والمدربون
certificate:printteacher طباعة اسم المدرب على الشهادة المدربون
certificate:receivenotification تلقي إشعارات عند إصدار شهادة المدربون
💡 ملاحظة: يمكن تخصيص هذه الصلاحيات من Site Administration > Users > Permissions > Define roles

استكشاف الأخطاء

المشاكل الشائعة

الشهادة لا تُصدر

الخطوط لا تظهر بشكل صحيح

QR Code لا يعمل

الصور لا تظهر

المحرر المخصص لا يعمل

الشهادة لا تُرسل عبر البريد الإلكتروني

سجلات الأخطاء

يمكن العثور على سجلات الأخطاء في ملفات السجل الخاصة بتوتارا. يتم تسجيل جميع الأخطاء مع البادئة [CERTIFICATE] لتسهيل البحث.

وضع التصحيح

لتمكين وضع التصحيح في توتارا لرؤية رسائل الأخطاء التفصيلية:

  1. انتقل إلى Site Administration > Development > Debugging
  2. فعّل "Debug messages"
  3. حدد مستوى التصحيح
  4. احفظ التغييرات