Custom Actions
بالإضافة إلى عمليات CRUD القياسية، يحتوي Chamilo على عدد من متحكمات إجراءات API المخصصة (بالعشرات) التي تتعامل مع عمليات متخصصة. يختلف العدد الدقيق بين الإصدارات — قم بسرد src/CoreBundle/Controller/Api/ للحصول على المجموعة الحالية.
الموقع
تقع الإجراءات المخصصة في src/CoreBundle/Controller/Api/.
الإجراءات المخصصة البارزة
المستندات
CreateDocumentFileAction
رفع ملف أو إنشاء مجلد/رابط مستند
UpdateDocumentFileAction
استبدال ملف المستند
ReplaceDocumentFileAction
استبدال ملف مستند مع الحفاظ على معرفاته
MoveDocumentAction
نقل مستند إلى مجلد مختلف
UpdateVisibilityDocument
تبديل رؤية المستند للمتعلمين
DownloadAllDocumentsAction
تنزيل جميع المستندات في مجلد كملف ZIP
DownloadSelectedDocumentsAction
تنزيل مجموعة مختارة من المستندات كملف ZIP
DocumentUsageAction
سرد الدورات/الجلسات التي يُستخدم فيها المستند
DocumentLearningPathUsageAction
سرد مسارات التعلم التي يُستخدم فيها المستند
المصطلحات
CreateCGlossaryAction
إنشاء مصطلح مصطلحات
UpdateCGlossaryAction
تحديث مصطلح مصطلحات
ExportCGlossaryAction
تصدير المصطلحات إلى ملف
ImportCGlossaryAction
استيراد المصطلحات من ملف
ExportGlossaryToDocumentsAction
تصدير المصطلحات كمستند في الدورة
GetGlossaryCollectionController
الحصول على مجموعة المصطلحات مع تصفية مخصصة
الروابط
CreateCLinkAction
إنشاء رابط خارجي
UpdateCLinkAction
تحديث رابط خارجي
CreateCLinkCategoryAction
إنشاء فئة روابط
UpdateCLinkCategoryAction
تحديث فئة روابط
CheckCLinkAction
التحقق من إمكانية الوصول إلى عنوان URL للرابط
ExportCLinksAction
تصدير الروابط إلى ملف
CLinkDetailsController
الحصول على تفاصيل الرابط
CLinkImageController
الحصول على صورة معاينة الرابط أو تعيينها
GetLinksCollectionController
الحصول على مجموعة الروابط مع تصفية مخصصة
UpdateVisibilityLink
تبديل رؤية الرابط
UpdateVisibilityLinkCategory
تبديل رؤية فئة الروابط
UpdatePositionLink
إعادة ترتيب الروابط
مسارات التعلم
CreateCLpAction
إنشاء مسار تعلم
LpReorderController
إعادة ترتيب عناصر مسار التعلم
التقويم
UpdateCCalendarEventAction
تحديث حدث تقويم الدورة
CalendarMyStudentsScheduleAction
الحصول على جدول طلاب المعلم
المدونة
CreateCBlogAction
إنشاء منشور مدونة
CreateBlogAttachmentAction
إرفاق ملف بمنشور مدونة
UpdateVisibilityBlog
تبديل رؤية المدونة
صندوق الإرسال
CreateDropboxFileAction
رفع ملف إلى صندوق الإرسال (أداة تبادل الملفات)
أعمال الطلاب (الواجبات)
CreateStudentPublicationFileAction
تقديم ملف واجب
CreateStudentPublicationCommentAction
إضافة تعليق إلى تقديم
CreateStudentPublicationCorrectionFileAction
رفع ملف تصحيح لتقديم
الملفات الشخصية
CreatePersonalFileAction
رفع ملف إلى مساحة الملفات الشخصية للمستخدم
UpdatePersonalFileAction
تحديث ملف شخصي
الاجتماعي
LikeSocialPostController
الإعجاب بمنشور اجتماعي
DislikeSocialPostController
إلغاء الإعجاب بمنشور اجتماعي
CreateSocialPostAttachmentAction
إرفاق ملف بمنشور اجتماعي
SocialPostAttachmentsController
سرد الملحقات على منشور اجتماعي
AbstractFeedbackSocialPostController
الفئة الأساسية لإجراءات تعليقات المنشورات الاجتماعية
الجلسات
CreateSessionWithUsersAndCoursesAction
إنشاء جلسة وتسجيل مستخدمين ودورات في مكالمة واحدة
المستخدمون وروابط الوصول
CreateUserOnAccessUrlAction
إنشاء مستخدم وربطه برابط وصول
UserAccessUrlsController
سرد روابط الوصول التابعة لمستخدم
UserSkillsController
سرد المهارات الممنوحة لمستخدم
مؤتمرات الفيديو
VideoConferenceCallbackController
التعامل مع الاستدعاءات المرتدة من مزودي مؤتمرات الفيديو الخارجيين
الفئات الأساسية
BaseResourceFileAction
الفئة الأساسية لإجراءات رفع الملفات؛ تتعامل مع تحليل multipart، إنشاء عقدة المورد، والتخزين
تنفيذ إجراء مخصص
الإجراءات المخصصة هي وحدات تحكم Symfony قياسية يتم الإشارة إليها في تعريفات عمليات API Platform. يوجد سمة #[ApiResource] على الكيان، ويشير معامل controller: لكل عملية إلى فئة الإجراء:
فئة الإجراء نفسها هي وحدة تحكم قابلة للاستدعاء عادية — يتم حقن الخدمات عبر معاملات طريقة __invoke():
نقاط رئيسية:
يتم تعيين
deserialize: falseعندما يقرأ الإجراء الطلب مباشرة (مثل تحميلات الملفات متعددة الأجزاء) بدلاً من السماح لـ API Platform بتحليل جسم JSON.عادةً ما تمتد إجراءات تحميل الملفات من
BaseResourceFileAction، والتي تتعامل مع تحليل متعدد الأجزاء وربط عقدة المورد.يتم فرض الأمان عبر معامل
security:على العملية، وليس داخل وحدة التحكم.
آخر تحديث
هل كان هذا مفيدا؟