شرح أهم أوامر ملف cmd.php في XenForo التي يحتاجها مدراء المنتديات والمطورين

wGM6bKF.png

أهلًا بكم زوار ومتابعي منتدى كود نت الكرام.

في موضوع سابق، قدم لنا الأخ مهدي حميد codeNET">@codeNET أهم الأكواد والإعدادات التي ينبغي معرفتها في ملف config.php، والذي يُعد من أهم ملفات إعدادات XenForo.

ويمكنكم العودة إلى موضوعه الرائع عبر الرابط التالي:


وانطلاقًا من ذلك، أحببت أن أضيف موضوعًا آخر يسلط الضوء على جانب آخر من إمكانيات سكربت XenForo وأدواته، والتي تجعله خيارًا مفضلًا لدى العديد من المطورين وأصحاب المنتديات.

ويمكننا القول إن موضوعنا هذا متقدم بعض الشيء، إذ يتطلب قدرًا من الخبرة والمعرفة عند التعامل مع بعض الأوامر، ولذلك يُفضل عدم تنفيذ أي أمر قبل معرفة وظيفته وتأثيره.

وحديثنا اليوم سيكون عن أوامر سطر الأوامر CLI التي يوفرها XenForo من خلال ملف cmd.php.

يوفر XenForo أداة قوية تتيح لمدير المنتدى والمطور تنفيذ العديد من مهام الإدارة والصيانة والتطوير مباشرةً من خلال سطر الأوامر.

وتوجد هذه الأداة في الملف: cmd.php ويمكن استخدامها من خلال الطرفية، سواء على نظام Windows أو عبر SSH في الخوادم التي تعمل بنظام Linux.

وتصبح أوامر cmd.php مفيدة بشكل خاص عند إدارة المنتديات الكبيرة، أو تنفيذ عمليات الصيانة، أو تشخيص بعض المشاكل التي قد يصعب التعامل معها من خلال لوحة تحكم XenForo.

وفي هذا الدليل سنتعرف على أهم الأوامر التي يحتاجها مدير المنتدى المبتدئ والمتوسط، بالإضافة إلى مجموعة من الأوامر المهمة التي تفيد مطوري إضافات XenForo.

تنبيه قبل استخدام الأوامر​


بعض الأوامر المذكورة في هذا المقال تقوم بتعديل ملفات المنتدى أو قاعدة البيانات أو بيانات الإضافات، لذلك يجب التأكد من وظيفة الأمر قبل تشغيله.

ويُفضل دائمًا الاحتفاظ بنسخة احتياطية من ملفات المنتدى وقاعدة البيانات قبل تنفيذ العمليات الحساسة، خصوصًا أوامر الترقية والإضافات وقاعدة البيانات.

أولًا: تشغيل cmd.php​


انتقل إلى المجلد الرئيسي الذي يحتوي على ملفات XenForo، ثم نفذ الأمر التالي:

كود:
php cmd.php

سيعرض XenForo قائمة بالأوامر المتاحة.

١. عرض قائمة الأوامر​


كود:
php cmd.php

يستخدم هذا الأمر لعرض جميع أوامر XenForo المتاحة في المنتدى.

وهو من أفضل الأوامر التي يمكن البدء بها عند التعرف على أداة cmd.php.

ويمكن عرض المساعدة باستخدام:

كود:
php cmd.php help

كما يمكن عرض قائمة الأوامر باستخدام:

كود:
php cmd.php list

وتوفر أداة سطر الأوامر أيضًا عددًا من الخيارات العامة، مثل عرض الإصدار، ومنع التفاعل مع المستخدم، وزيادة مستوى التفاصيل في المخرجات.

ويمكن أيضًا عرض المساعدة الخاصة بأمر محدد، كما يمكن إخراج معلومات المساعدة بعدة صيغ، منها النص العادي وXML وJSON وMarkdown.

فعلى سبيل المثال:

كود:
php cmd.php help list

ولعرض المساعدة بصيغة Markdown:

كود:
php cmd.php help --format=md list

٢. عرض المساعدة لأمر معين​


يمكن استخدام:

كود:
php cmd.php help اسم-الأمر

لعرض معلومات المساعدة الخاصة بأمر معين.

وهذا مفيد لمعرفة طريقة استخدام الأمر والخيارات التي يدعمها قبل تنفيذه.

على سبيل المثال

إذا أردت معرفة طريقة استخدام أمر فحص سلامة ملفات XenForo، يمكنك تنفيذ:

كود:
php cmd.php help xf:file-check

وسيظهر لك XenForo معلومات المساعدة الخاصة بالأمر، بما في ذلك طريقة استخدامه والخيارات المتاحة له.

٣. معرفة إصدار أداة سطر الأوامر​


كود:
php cmd.php --version

يستخدم هذا الأمر لعرض إصدار أداة سطر الأوامر.

٤. عرض الإضافات المثبتة​


كود:
php cmd.php xf:addon-list

يعرض قائمة بالإضافات المثبتة في المنتدى.

ويمكن أن يكون هذا الأمر مفيدًا عند إدارة المنتدى من خلال SSH أو عند الحاجة إلى معرفة الإضافات الموجودة دون الدخول إلى لوحة التحكم.

٥. تعطيل إضافة​


كود:
php cmd.php xf:addon-disable معرف-الإضافة

يستخدم لتعطيل إضافة محددة.

مهم: إذا لم يتم تحديد معرف إضافة، فإن الأمر يقوم بتعطيل جميع الإضافات المفعلة.

لذلك يجب الحذر الشديد عند استخدام الأمر بدون تحديد معرف الإضافة.

٦. تفعيل إضافة​


كود:
php cmd.php xf:addon-enable معرف-الإضافة

يستخدم لإعادة تفعيل إضافة معطلة.

وبحسب وظيفة الأمر، يمكن استخدامه أيضًا دون تحديد معرف لإعادة تفعيل جميع الإضافات المعطلة.

٧. تثبيت إضافة​


كود:
php cmd.php xf:addon-install معرف-الإضافة

يستخدم لتثبيت إضافة محددة من خلال سطر الأوامر.

ويستفيد منه بشكل أكبر مديرو المنتديات والمطورون الذين يتعاملون مع الإضافات من خلال الطرفية.

٨. إلغاء تثبيت إضافة​


كود:
php cmd.php xf:addon-uninstall معرف-الإضافة

يستخدم لإلغاء تثبيت إضافة محددة.

تحذير: قبل تنفيذ هذا الأمر، تأكد من أنك تريد إزالة الإضافة والبيانات المرتبطة بها، واحتفظ بنسخة احتياطية عند الحاجة.

٩. ترقية إضافة​


كود:
php cmd.php xf:addon-upgrade معرف-الإضافة

يستخدم لترقية إضافة إلى إصدار أحدث.

١٠. إعادة بناء بيانات إضافة​


كود:
php cmd.php xf:addon-rebuild معرف-الإضافة

يستخدم لإعادة بناء بيانات إضافة محددة.

وقد تحتاج إلى استخدامه أثناء تطوير الإضافات أو بعد إجراء تغييرات تتطلب إعادة بناء بيانات الإضافة.

١١. فحص سلامة ملفات XenForo​


كود:
php cmd.php xf:file-check

يقوم بفحص سلامة ملفات XenForo.

ويمكن الاستفادة منه عند الاشتباه في وجود ملفات مفقودة أو ملفات تم تعديلها أو استبدالها.

ويعتبر من الأوامر المفيدة أثناء تشخيص بعض المشاكل المتعلقة بملفات النظام.

١٢. تنظيف ملفات الإضافة القديمة​


كود:
php cmd.php xf:file-clean-up معرف-الإضافة

يستخدم هذا الأمر لتنظيف الملفات القديمة المرتبطة بإضافة محددة والتي لم تعد مستخدمة.

مهم: لا يمكن تنفيذ الأمر بدون تحديد معرف الإضافة، حيث سيطلب XenForo قيمة addon عند تشغيله دون تحديدها.

لذلك يجب تحديد معرف الإضافة عند استخدام الأمر.

١٣. إصلاح جداول قاعدة البيانات المفقودة​


كود:
php cmd.php xf:repair-db

يستخدم لإصلاح جداول قاعدة البيانات المفقودة.

ويعد من أوامر الصيانة المهمة في بعض حالات مشاكل قاعدة البيانات.

تحذير: لا يعتبر هذا الأمر بديلًا عن النسخ الاحتياطي أو عن معالجة جميع مشاكل قاعدة البيانات، لذلك يُفضل أخذ نسخة احتياطية قبل تنفيذ عمليات الإصلاح الحساسة. أيضا عند عدم وجود جداول مفقودة، قد يظهر في الطرفية ما يفيد بأن جميع جداول XenForo سليمة ولا توجد جداول تحتاج إلى إصلاح. وهذا يعني أن الأمر قام بالفحص ولم يجد جداول مفقودة.

١٤. تشغيل المهام المعلقة​


كود:
php cmd.php xf:run-jobs

يقوم بتشغيل المهام المعلقة في XenForo.

ويعتبر هذا الأمر مفيدًا عند وجود مهام لم يتم تنفيذها أو عند الحاجة إلى تشغيل المهام يدويًا أثناء عمليات الصيانة. أيضا عند عدم وجود مهام معلقة، سيظهر ما يفيد بأن جميع المهام المعلقة قد تم تشغيلها. وهذا يعني أن XenForo لم يجد مهامًا متبقية تحتاج إلى التنفيذ.

١٥. إعادة بناء بيانات XenForo الأساسية​


كود:
php cmd.php xf:rebuild-master-data

يستخدم لإعادة بناء بيانات XenForo الأساسية.

ويمكن أن تحتاج إليه أثناء بعض عمليات الصيانة أو عند التعامل مع مشاكل متعلقة ببيانات النظام.

ملاحظة: قد تستغرق عملية إعادة بناء البيانات الأساسية بعض الوقت، خصوصًا في المنتديات الكبيرة، وقد يعرض XenForo نسبة تقدم العملية والوقت المستغرق حتى اكتمالها.

ثانيًا: أوامر إعادة بناء البيانات​


يحتوي XenForo على مجموعة من أوامر إعادة البناء التي يمكن استخدامها لإعادة إنشاء بعض البيانات والعدادات.

١٦. إعادة بناء عدادات الأقسام​


كود:
php cmd.php xf-rebuild:forums

يقوم بإعادة بناء عدادات الأقسام في المنتدى.

ويمكن استخدامه عندما تصبح بعض العدادات غير متوافقة مع البيانات الفعلية الموجودة في المنتدى.

١٧. إعادة بناء عدادات المواضيع​


كود:
php cmd.php xf-rebuild:threads

يعيد بناء عدادات المواضيع.

١٨. إعادة بناء عدد مشاركات المستخدمين​


كود:
php cmd.php xf-rebuild:message-counts

يعيد بناء عدد المشاركات للمستخدمين.

وقد يكون مفيدًا بعد عمليات حذف أو استيراد أو تغييرات كبيرة في محتوى المنتدى.

١٩. إعادة بناء بيانات المستخدمين​


كود:
php cmd.php xf-rebuild:users

يقوم بإعادة بناء عدادات وذاكرة التخزين المؤقت المرتبطة بالمستخدمين.

٢٠. إعادة بناء نقاط التفاعلات​


كود:
php cmd.php xf-rebuild:reaction-score

يقوم بإعادة بناء نقاط تفاعلات المستخدمين.

٢١. إعادة بناء فهرس البحث​


كود:
php cmd.php xf-rebuild:search

يقوم بإعادة بناء فهرس البحث في المنتدى.

ويعتبر من أهم أوامر إعادة البناء عند مواجهة مشاكل في نتائج البحث أو بعد إجراء تغييرات كبيرة على محتوى المنتدى.

ملاحظة: قد تستغرق إعادة بناء فهرس البحث وقتًا يعتمد على حجم المحتوى الموجود في المنتدى، وقد يعرض XenForo تقدم عملية إعادة البناء أثناء التنفيذ.

٢٢. إعادة بناء خريطة الموقع​


كود:
php cmd.php xf-rebuild:sitemap

يقوم بإعادة بناء خريطة الموقع XML.

٢٣. إعادة بناء الإحصائيات اليومية​


كود:
php cmd.php xf-rebuild:stats

يقوم بإعادة بناء الإحصائيات اليومية في XenForo.

ثالثًا: أوامر تحسين الصور والمرفقات​


يوفر XenForo مجموعة من الأوامر التي تساعد في معالجة الصور والمرفقات.

٢٤. تحسين المرفقات وتحويلها إلى WebP​


كود:
php cmd.php xf-rebuild:attachment-optimization

يستخدم لتحسين المرفقات وتحويلها إلى صيغة WebP.
ملحوظة، يجب تفعيل خيار تحسين الصور من لوحة التحكم >> إعداد >> الخيارات >> خيارات المستخدم. وإلا ستخرج لك هذه الرسالة

Image optimization is not enabled. Please enable it in the control panel options to use this command.

٢٥. إعادة بناء الصور المصغرة للمرفقات​


كود:
php cmd.php xf-rebuild:attachment-thumbnails

يعيد إنشاء الصور المصغرة للمرفقات.

ويمكن استخدامه عند وجود مشكلة في الصور المصغرة أو بعد بعض عمليات الصيانة.

ملاحظة: إذا لم تكن هناك صور مصغرة تحتاج إلى إعادة البناء، فقد ينتهي الأمر دون عرض نتائج تفصيلية في الطرفية.

٢٦. تحسين الصور الرمزية​


كود:
php cmd.php xf-rebuild:avatar-optimization

يقوم بتحسين الصور الرمزية وتحويلها إلى WebP.

ملاحظة: قد ينتهي الأمر دون عرض رسائل تفصيلية إذا لم توجد صور تحتاج إلى معالجة.

٢٧. تحسين صور أغلفة الملفات الشخصية​


كود:
php cmd.php xf-rebuild:profile-banner-optimization

يقوم بتحسين صور أغلفة الملفات الشخصية وتحويلها إلى WebP.

ملاحظة: قد ينتهي الأمر دون عرض رسائل تفصيلية إذا لم توجد صور تحتاج إلى معالجة.

رابعًا: أوامر قاعدة البيانات والترميز​


٢٨. تحويل جداول XenForo إلى utf8mb4​


كود:
php cmd.php xf:convert-utf8mb4

يستخدم لتحويل جداول XenForo إلى ترميز utf8mb4.

تنبيه: هذا الأمر مرتبط بقاعدة البيانات، لذلك لا ينبغي تشغيله بشكل عشوائي، ويجب التأكد من الحاجة إليه والتوافق مع بيئة قاعدة البيانات قبل تنفيذه. وعلى الأغلب لن تحتاجه إلا عند إستيراد محتوى منتدى قديم إلى Xenforo.

ملاحظة: إذا كانت قاعدة البيانات تستخدم بالفعل الإعداد المناسب، أو لم توجد جداول قابلة للتحويل، فقد يخبرك XenForo بأنه لا توجد جداول تحتاج إلى التحويل، وبالتالي لا يتم إجراء أي تغيير.

٢٩. تحويل فهرس البحث إلى InnoDB​


كود:
php cmd.php xf:convert-search-innodb

يستخدم لتحويل فهرس البحث في MySQL إلى InnoDB.

وهو أمر متخصص أكثر، ولذلك يفضل استخدامه عند معرفة سبب الحاجة إليه.

ملاحظة: إذا كان فهرس البحث مضبوطًا بالفعل لاستخدام محرك InnoDB، فلن يقوم الأمر بأي تغيير، وسيخبرك XenForo بأن فهرس البحث مهيأ بالفعل لاستخدام InnoDB.

خامسًا: ترقية XenForo​


كود:
php cmd.php xf:upgrade

يستخدم لترقية XenForo من خلال سطر الأوامر.

ويكون مفيدًا بشكل خاص في الخوادم التي تتم إدارتها من خلال SSH أو عندما يفضل المدير تنفيذ عملية الترقية من الطرفية.

مهم جدًا:

قبل ترقية XenForo:

  • خذ نسخة احتياطية من قاعدة البيانات.
  • احتفظ بنسخة احتياطية من ملفات المنتدى.
  • تأكد من توافق الإضافات مع الإصدار الجديد.
  • تأكد من توافق القالب المستخدم.

ملاحظة: إذا كنت تستخدم بالفعل أحدث إصدار من XenForo، فسيخبرك الأمر بأن الإصدار الحالي هو نفسه الإصدار المستهدف، ولن يتم تنفيذ عملية ترقية جديدة.

وقد يسألك XenForo في هذه الحالة عما إذا كنت تريد إعادة بناء البيانات الأساسية.

سادسًا: أوامر الاستيراد​


٣٠. تنفيذ عملية استيراد​


كود:
php cmd.php xf:import

يستخدم لتنفيذ عملية استيراد تم إعدادها من خلال لوحة التحكم.

ويمكن أن يكون مفيدًا عند نقل منتدى أو بيانات من نظام آخر إلى XenForo.

٣١. إنهاء عملية الاستيراد​


كود:
php cmd.php xf:import-finalize

يستخدم لإنهاء عملية استيراد تم إعدادها من خلال لوحة التحكم.

مهم: لا يمكن استخدام هذين الأمرين بشكل مستقل لإنشاء عملية استيراد جديدة.

يجب أولًا إعداد عملية الاستيراد من خلال لوحة تحكم XenForo، بستخدام إضافة المستورد. وبعد ذلك يمكن تنفيذ عملية الإستيراد من خلال سطر الأوامر.

إذا لم توجد جلسة استيراد صالحة، فسيخبرك XenForo بأنه يجب إعداد عملية الاستيراد من لوحة التحكم.

سابعًا: أهم أوامر cmd.php لمطوري إضافات XenForo​


لا تقتصر أداة cmd.php على إدارة المنتدى والصيانة، بل تحتوي على مجموعة كبيرة من الأوامر المخصصة لمطوري الإضافات.

٣٢. إنشاء إضافة جديدة​


كود:
php cmd.php xf-addon:create

يقوم بإنشاء إضافة جديدة وكتابة ملف addon.json الأساسي.

٣٣. إنشاء إصدار جاهز للتوزيع​


كود:
php cmd.php xf-addon:build-release

يقوم بتصدير بيانات XML الحالية للإضافة وإنشاء ملف ZIP وحفظه في مجلد _releases.

٣٤. تصدير بيانات الإضافة​


كود:
php cmd.php xf-addon:export

يقوم بتصدير ملفات XML الخاصة بالإضافة.

٣٥. مزامنة addon.json​


كود:
php cmd.php xf-addon:sync-json

يقوم بمزامنة محتويات ملف addon.json مع قاعدة البيانات.

ويشمل ذلك تحديث العنوان والإصدار وقيمة JSON hash عند الحاجة.

٣٦. التحقق من addon.json​


كود:
php cmd.php xf-addon:validate-json

يتحقق من أن ملف addon.json يحتوي على القيم المطلوبة وأن أنواع البيانات صحيحة.

٣٧. زيادة إصدار الإضافة​


كود:
php cmd.php xf-addon:bump-version

يستخدم لتحديث رقم إصدار الإضافة.

٣٨. تنفيذ خطوة تثبيت محددة من Setup​


كود:
php cmd.php xf-addon:install-step

يمكن استخدامه لتشغيل خطوة محددة من كلاس Setup الخاصة بالإضافة.

وتوجد أوامر مشابهة لخطوات الترقية وإلغاء التثبيت:

كود:
php cmd.php xf-addon:upgrade-step

كود:
php cmd.php xf-addon:uninstall-step

ثامنًا: أوامر التطوير المتقدم​


يحتوي XenForo أيضًا على مجموعات كبيرة من أوامر التطوير ضمن: xf-dev و: xf-designer و: xf-make وهذه الأوامر موجهة بشكل أساسي إلى مطوري XenForo والإضافات. ومن خلالها يمكن إنشاء العديد من مكونات الإضافة، مثل:

  • Controller
  • Entity
  • Finder
  • Job
  • Listener
  • Option
  • Phrase
  • Route
  • Service
  • Template
  • Cron

كما توجد أوامر لتصدير واستيراد القوالب والعبارات والخيارات والصلاحيات والمسارات وغيرها من بيانات التطوير.

والتي لا يحتاج مدير المنتدى العادي إلى استخدام هذه المجموعة إلا إذا كان يعمل على تطوير XenForo أو إنشاء الإضافات.

هل يحتاج مدير المنتدى إلى معرفة جميع أوامر cmd.php؟​


لا.

وجود عدد كبير من الأوامر لا يعني أن مدير المنتدى بحاجة إلى حفظها جميعًا.

وبالنسبة للمستخدم المبتدئ والمتوسط، فإن أهم الأوامر التي يستحق معرفتها هي:

كود:
php cmd.php help
php cmd.php list
php cmd.php --version
php cmd.php xf:addon-list
php cmd.php xf:addon-enable
php cmd.php xf:addon-disable
php cmd.php xf:addon-upgrade
php cmd.php xf:file-check
php cmd.php xf:file-clean-up
php cmd.php xf:repair-db
php cmd.php xf:run-jobs
php cmd.php xf:rebuild-master-data
php cmd.php xf-rebuild:forums
php cmd.php xf-rebuild:threads
php cmd.php xf-rebuild:users
php cmd.php xf-rebuild:message-counts
php cmd.php xf-rebuild:search
php cmd.php xf-rebuild:sitemap
php cmd.php xf-rebuild:stats
php cmd.php xf:upgrade

أما أوامر التطوير مثل xf-dev وxf-make فتهم المطورين أكثر من مديري المنتديات.

الخلاصة​


يُعد cmd.php من الأدوات المهمة في XenForo، خصوصًا عند إدارة المنتديات من خلال SSH أو تنفيذ عمليات الصيانة والتطوير.

ومن خلاله يمكن لمدير المنتدى تنفيذ العديد من المهام، ومنها:

  • إدارة الإضافات.
  • فحص ملفات XenForo.
  • إصلاح بعض مشاكل قاعدة البيانات.
  • تشغيل المهام المعلقة.
  • إعادة بناء الإعدادات والبيانات.
  • إعادة بناء فهرس البحث.
  • إعادة بناء خريطة الموقع.
  • إعادة بناء الإحصائيات.
  • تحسين الصور والمرفقات.
  • ترقية XenForo.
  • تنفيذ عمليات الاستيراد.

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

نصيحة:

لا تقم بتشغيل أي أمر لمجرد أنك وجدته في قائمة cmd.php. اقرأ وظيفة الأمر أولًا، وتأكد من البيانات التي سيعدلها أو يحذفها، وخصوصًا الأوامر المتعلقة بقاعدة البيانات والإضافات والترقية.

ويُفضل دائمًا أخذ نسخة احتياطية قبل تنفيذ العمليات الحساسة. أو تجربة الأوامر على Localhost قبل تجربتها على المنتدى الفعلي.

ملاحظة حول اختلاف الأوامر:

الأوامر المذكورة في هذا المقال مبنية على قائمة أوامر XenForo 2.3.12، وقد تختلف بعض الأوامر أو وظائفها في الإصدارات الأخرى، كما يمكن للإضافات المثبتة أن تضيف أوامر خاصة بها إلى cmd.php.

وبهذا ينتهي موضوعنا لهذا اليوم، وأراكم قريبا إن شاء الله. تقبلو تحياتي:
AhmedBakr (MesterPerfect)
 
التعديل الأخير:
اولاً استاذنا الغالي ، نورتنا بمنتداك ان شاء الله .. وتم منحك عضوية شخصيات كود نت ، وطبعًا انتَ من الشخصيات الكبيره والمساهمه في تطوير المبرمج العربي ...
شكرًا على هذا الشرح الرائع والمفصل
 
اولاً استاذنا الغالي ، نورتنا بمنتداك ان شاء الله .. وتم منحك عضوية شخصيات كود نت ، وطبعًا انتَ من الشخصيات الكبيره والمساهمه في تطوير المبرمج العربي ...
شكرًا على هذا الشرح الرائع والمفصل
الله يبارك فيك أخي مهدي هذا من ذوقك
تشرفت بالإنضمام لمنتداك الرائع وأتمنا أن أقدم ما يفيد الجميع بإذن الله
 
الله يبارك فيك أخي مهدي هذا من ذوقك
تشرفت بالإنضمام لمنتداك الرائع وأتمنا أن أقدم ما يفيد الجميع بإذن الله
يسعدني ذلك ..
نورتنا وشرفتنا مرا اخرى ، فمنتدى كود نت هوَ بيتك ان شاء الله وانتم اهل البيت ونحن الضيوف ..
يامرحبـا
 
يسعدني ذلك ..
نورتنا وشرفتنا مرا اخرى ، فمنتدى كود نت هوَ بيتك ان شاء الله وانتم اهل البيت ونحن الضيوف ..
يامرحبـا
الله يرفع قدرك أخي الكريم شكرا لك
 
عودة
أعلى أسفل