اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

مساعدة في تحديث النسخة لدى المستخدمين


alzahrani07

الردود الموصى بها

السلام عليكم ورحمة الله وبركاته

 

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

 

سؤالي لو يوم أضفت مثلا نموذج جديد أو تقرير صعبة علي اتواصل مع المستخدمين واحد واحد عشان اعطيهم النسخة الجديدة

 

كيف ممكن احل هذه المشكلة عن الطريق الأكواد ؟ يعني مثلا أضيف النسخة الجديد على مجلد والبرنامج تلقائي يستبدلها بدال النسخة القديمة

رابط هذا التعليق
شارك

ابو زهرة هناك طرق عديدة في المنتدى لتحديث برنامجك لدى المستخدمين ... ابحث تجد ... منها هذا ...

في ٢٦‏/١٠‏/٢٠١٨ at 04:25, Elsayed Bn Gemy said:

السلام عليكم ورحمة الله تعالى وبركاته

فى البداية اود ان اعتذر عن قلة مشاركاتى وذلك لقلة تعاملى مع الاكسس نظرا لانشغالى بـــ بيئة بيسك.نت

ببساطة نحن مستخدمى الاكسس نريد ان يكون لدينا هذا الزر فى برامجنا 😂😂😂

ereet.png.133c8ee12e3440c43ca23a0616b4bebe.png

 

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

فكانت نتيجة المحاولة هو ربط قاعدة البيانات اكسس بقاعدة بيانات سيكوال موجودة على استظافة مجانية

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

وهذا الموضوع يشرح ذلك

 

 

 

 

 

وكانت اكبر المشاكل التى تقابلنى هى الاستضافة المجانية التى بعد شهرين او اكثر تحذف قاعدة بياناتك بدون سابق انذار

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

 

فكان التفكير فى استخدام البرامج السحابية (جوجل درايف - وان درايف - دروبوكس )

واكبر المشاكل التى ستقابلك هى المزامنة

ثم المشكلة الاخرى وهى انك لن تطلب من كل المستخدمين تثبيت اى من البرامج السحابية لديه واعطائة  اسم المستخدم وكلمة السر الخاص بالبرنامج السحابى الذى سترفع عليه التحديث

حتى تتم المزامنة على جهاز العميل اولا باول

 

 

اذا فما هو الحل

انا اريد ان يضغط العميل على زر ( البحث عن تحديث جديد ) ثم يجد رسالة تخبره ان برنامجه محدث  او انه توفر اصدار جديد من البرنامج

 

اليكم فكرتى قد تحتاجونها او لا  ولكن ما كنت لابخل عليكم بشئ فاء الله على به

الفكرة بسيطة جدا تتلخص فى ملف نصى LastVersion.Txt قمت بكتابته

به مجموعة اسطر  الاول هو رقم الاصدار الجديد

الثانى هو رابط تحميل التحديث الجديد

وبعد هذا سطور على حسب الحاجة تقوم بالتعريف فيها بالتحديث الجديد ومميزاته

 

4446.png.66dae64346d1831ae8b374874425a2c5.png

طريقة العمل

 

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

وتفريغ الاسطر التى بداخله الى مربعات النصوص التى بالنموذج

ثم يقارن رقم التحديث الجديد بالرقم الحالى  ويعلمك اذا كانت نسختك محدثة ام تحتاج تحديث

المشاكل التى واجهتنى

1 - عدم وجود (direct download link  او static download link )  نظرا لتغير رابط تحميل الملف النصى دائما  فماذا سافعل اذ قمت مسبقا بادراج رابط ثابت لتحميل الملف النصى داخل البرنامج

2 - اذا اطلقت نسخة  جديدة من برنامجى  فساحتاج الى تعديل الملف النصى المحمل مسبقا والمدرج رابط التحميل الخاص به فى النموذج

 

فكانت الحلول هو عمل  static download link  للملف النصى  اى رابط تحميل ثابت للملف النصى

 

تابع معى

المتطلبات

----------------------

ان يقوم مصمم البرنامج فقط بالتسجيل على الموقع السحابى  (https://www.dropbox.com/h)   .. المصمم فقط  ان شئت قلت كأنك حجزت استضافة مجانية بها 12 جيجا بايت ومجانية

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

مثل هذا الشكل

477.png.5aa9f90bd075b7d15935ed2343e1755c.png

 

الدالة الثانية

1492151997_.png.dbed55aad56bcc281ed539e1659b1a99.png

 

ثم يقوم بانشاء الملف النصى الخاص بالبرنامج الذى صممه

انا كتبته بهذا الشكل

4446.png.66dae64346d1831ae8b374874425a2c5.png

 

 


 

سنستخدم البرنامج السحابى دروبوكس (https://www.dropbox.com/h)

بعد التسجيل  - يمكنك التسجيل بسهوله عليه عن طريق رابط جوجل  دون الحاجة الى ملئ البيانات

بعد التسجيل ستجد نفسك فى الصفحة الرئيسية الخاصة بك

e9605d84-1f37-464d-b222-1b253938561c.png

بعد كتابة الملف النصى نقوم برفعه على الدروبكس

 

00.png.ecde007ed2960445de55bfd8c9632973.png

 

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

1.png.3295acc7a0e7bc68232e9eb6cb022740.png

2.png.87511391ff416738b639fbb782889ac7.png

 

بعد اخذ اللينك كوبى بقى اهم خطوة وهى عمل رابط تحميل مباشر له

تابع معى

ستجد رابط المشاركة  بهذا الشكل الرابط الذى اخذته كوبى  

https://www.dropbox.com/s/n6oa483hwhlpkst/LastVersion.txt?dl=0


فقط استبدل 
https://www.dropbox.com
استبدلها 
https://dl.dropboxusercontent.com

ليصبح شكل الرابط هكذا 

https://dl.dropboxusercontent.com/s/n6oa483hwhlpkst/LastVersion.txt?dl=0
وبذلك اصبح لديك رابط مباشر له 

 

بعذ ذلك خذ الرابط الجديد وادرجه فى البرنامج

فى هذا الكود

445657805_444.png.24c4daff4a8463b3bf1f384d8da93f53.png

644270793_.png.81777797ea85645b7863823f8adbc0d1.png

 

ثم نقوم برفع القاعدة الجديدة المحدثة  على الدروبكس  وعمل رابط مباشر لها  ولكن هذه المرة نقوم بادراج الرابط المباشر هذا فى الملف النصى لا فى البرنامج

مع مراعاة  ان نقوم بتحديث رقم الاصدار فيها قبل رفها ليطابق رقم الاصدار الموجود فى الملف النصى

1328732874_7.png.37d19ea71fcb24e6eee76146b214bd42.png

 

والان فيديو يشرح طريقة العمل

 

 

 

 

تم اضافة اسم للمستخدم وكلمة السر يمكنك الان تجربة البرنامج

 

المرفق

 

 

LinkToUpdate.accdb 540 kB · 101 downloads

 

اتمنى ان اكون عرفت اشرح    وطبعا انا منتظر تشريفكم بتعليق لتجربة مرفقى المتواضع

 

رابط هذا التعليق
شارك

والله يا صاحبي ناقل كل ما بحثت طلع لي تحدث الجداول استعلام التحديث جنني هههههههههههه

مو راضي يعترف بتحديث النسخة

الله يعطيك العافيه بأشوف الرابط اللي حطيته نا شاء الله يغننيني عن البحث

رابط هذا التعليق
شارك

22 ساعات مضت, alzahrani07 said:

كيف ممكن احل هذه المشكلة عن الطريق الأكواد ؟ يعني مثلا أضيف النسخة الجديد على مجلد والبرنامج تلقائي يستبدلها بدال النسخة القديمة

أخي العزيز أنا حليت هذي المشكلة ولله الحمد والفضل عن طريق وضع نسخة التحديث في مجلد على الشبكة الداخلية مثلما ذكرت أنت .. وبالاستعانه ببرنامج ال WinRAR يقوم بتنصيب النسخة الجديدة في جميع الأجهزة .. لعلي أجد فرصة لشرح ذلك في مقطع فيديو لاحقا بإذن الله .. 

ولكن في عجالة هذه هي الطريقة :

1- إنشاء جدول في ملف الواجهات ال Front End  ووضع حقل واحد فيه وسجل واحد وهو حقل تاريخ يكتب فيه [تاريخ النسخة الحالية] وهذا الجدول لا يتم نقله إلى ملف الجداول ال Back End بل يضل في نسخة الواجهات .

2- جدول آخر يكون في ملف الجداول ال Back End وهو جدول إداري تضع فيه حقلين الأول [تاريخ آخر تحديث] و الثاني حقل نعم/لا [هل تريد تحديث النسخة؟] وتتحكم به من عندك (النسخة الإدارية)  .

3- تعمل ماكرو AUTOEXEC يعمل عند فتح قاعدة البيانات .. وهذا الماكرو يشغل بدوره كود وظيفته كالتالي :

  • أولا يذهب لخانة [هل تريد تحديث النسخة؟] ... إذا كنت وضعت عليها  ☑️ ينتقل للخطوة التالية ، وإذا فاضي يخرج من ال sub .
  • ثانيا يقارن بين التاريخين ، التاريخ الموجود في الجدول الذي أنشأته لمعرفة [تاريخ النسخة الحالية] في الخطوة رقم (1) وبين التاريخ الموجود في الجدول الإداري [تاريخ آخر تحديث] في الخطوة رقم (2) ، فإذا كان  [تاريخ آخر تحديث] أصغر من أو يساوي <= [تاريخ النسخة الحالية] يخرج من ال sub ،  وإذا كان [تاريخ آخر تحديث] أكبر من >  [تاريخ النسخة الحالية] فإنه ينتقل للخطوة التالية ويقوم بتحديث النسخة .
  • بعد عملية التحقق من أن هناك تحديث جديد كما مر في الخطوتين السابقتين ، تطلق رسالة بزر واحد [OK] مفادها (( أن هناك تحديث جديد ستقوم بتحميله بعد قليل )) ..
  • بعدها يقوم الأكسس بفتح برنامج ال WinRAR الذي بدوره سيقوم بتنصيب التحديث الجديد في جهاز المستخدم واستبدال النسخة القديمة بالجديدة .
  • قبل أن يعمل برنامج ال WinRAR بتنصيب التحديث الجديد ، تتأكد من إغلاق الأكسس (عن طريق الكود نفسه) وذلك مباشرة بعد تشغيل ال WinRAR ، وإلا فسيواجه ال WinRAR مشكلة في استبدال الملف القديم .
  • سيقوم برنامج ال WinRAR تلقائيا بفتح النسخة الجديدة بعد تثبيتها.

وبذلك يتم تحديث ملف الواجهات فقط بنقرتين .. 😉

طبعا يجب الانتباه إلى تحديث [تاريخ النسخة الحالية] إلى نفس تاريخ  [تاريخ آخر تحديث] في الجدول الموجود في النسخة المطورة وإلا فستقع في دوامة التحديث اللانهائي .

بالنسبة لبرنامج ال WinRAR هناك إعدادات خاصة به أيضا لتحويله إلى ملف تنفيذي exe وإعطائه أمر استبدال الملفات القديمة بالحالية وتشغيل النسخة الجديدة ( وهذا جزء هام طبعا في هذه العملية كلها) ولكن للأسف لا يسعني ذكرها الآن ، ولكنك قد تجد ضالتك في هذا الفيديو بإذن الله ..

https://www.youtube.com/watch?v=MZHuoV7pd7E&t=410s

هذا والسلام عليكم 

تم تعديل بواسطه Moosak
  • Like 3
رابط هذا التعليق
شارك

ابو زهرة موضوعك جدا سهل و بسيط للغاية

تستطيع تحديث البرنامج بالكامل لدى جميع المستخدمين بإستخدام لوحة الأوامر CMD

سويت لك هذا المثال للتوضيح و تقدر تضيف جدول فيه اسماء المستخدمين الي قام بالتحديث يصير ما تظهر عنده الرسالة او التنبيه

اتفضل هذا المثال

الفكرة بإختصار

بعد ما تخلص من جميع تعديلاتك تقوم تنشئ نسخة مماثلة من آخر التعديلات يعني نسخة احتياطية

و تحطها في مجلد خاص بالتحديثات بحيث يدخل المستخدم و ياخذ نسخة من التحديث 

و يستبدل النسخة الي عنده بالنسخة المحدثة 

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

سيتم انشاء ملف نصي يتحوي على جميع هذه الأوامر و سيتم ارساله لشاشة الأوامر CMD

image.png.a9dfcda77538ccf94b3c4d2c89547c4f.png

image.png.32cc0abb3c563e7d8a635656c624035c.png

image.png.7510e4b47e2c342bd5e9036f2b773d8f.png

 

image.png.d5b671f3bce3502284db502f67d94973.png

Pro.zip

تم تعديل بواسطه د.كاف يار
  • Like 8
  • Thanks 1
رابط هذا التعليق
شارك

في ٢٧‏/١٠‏/٢٠٢١ at 21:53, د.كاف يار said:

ابو زهرة موضوعك جدا سهل و بسيط للغاية

تستطيع تحديث البرنامج بالكامل لدى جميع المستخدمين بإستخدام لوحة الأوامر CMD

سويت لك هذا المثال للتوضيح و تقدر تضيف جدول فيه اسماء المستخدمين الي قام بالتحديث يصير ما تظهر عنده الرسالة او التنبيه

اتفضل هذا المثال

الفكرة بإختصار

بعد ما تخلص من جميع تعديلاتك تقوم تنشئ نسخة مماثلة من آخر التعديلات يعني نسخة احتياطية

و تحطها في مجلد خاص بالتحديثات بحيث يدخل المستخدم و ياخذ نسخة من التحديث 

و يستبدل النسخة الي عنده بالنسخة المحدثة 

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

سيتم انشاء ملف نصي يتحوي على جميع هذه الأوامر و سيتم ارساله لشاشة الأوامر CMD

image.png.a9dfcda77538ccf94b3c4d2c89547c4f.png

image.png.32cc0abb3c563e7d8a635656c624035c.png

image.png.7510e4b47e2c342bd5e9036f2b773d8f.png

 

image.png.d5b671f3bce3502284db502f67d94973.png

Pro.zip 78.16 kB · 10 downloads

الله يوفقك أستاذنا العزيز .. دائما متميز 👍🏼

رابط هذا التعليق
شارك

في ٢٨‏/١٠‏/٢٠٢١ at 01:53, د.كاف يار said:

ابو زهرة موضوعك جدا سهل و بسيط للغاية

تستطيع تحديث البرنامج بالكامل لدى جميع المستخدمين بإستخدام لوحة الأوامر CMD

سويت لك هذا المثال للتوضيح و تقدر تضيف جدول فيه اسماء المستخدمين الي قام بالتحديث يصير ما تظهر عنده الرسالة او التنبيه

اتفضل هذا المثال

الفكرة بإختصار

بعد ما تخلص من جميع تعديلاتك تقوم تنشئ نسخة مماثلة من آخر التعديلات يعني نسخة احتياطية

و تحطها في مجلد خاص بالتحديثات بحيث يدخل المستخدم و ياخذ نسخة من التحديث 

و يستبدل النسخة الي عنده بالنسخة المحدثة 

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

سيتم انشاء ملف نصي يتحوي على جميع هذه الأوامر و سيتم ارساله لشاشة الأوامر CMD

image.png.a9dfcda77538ccf94b3c4d2c89547c4f.png

image.png.32cc0abb3c563e7d8a635656c624035c.png

image.png.7510e4b47e2c342bd5e9036f2b773d8f.png

 

image.png.d5b671f3bce3502284db502f67d94973.png

Pro.zip 78.16 kB · 12 downloads

شكرا لك لأكثر من ثلاث سنوات ابحث عن حل سهل و مفهوم بهذي الطريقة

رابط هذا التعليق
شارك

في ٢٧‏/١٠‏/٢٠٢١ at 20:53, د.كاف يار said:

ابو زهرة موضوعك جدا سهل و بسيط للغاية

تستطيع تحديث البرنامج بالكامل لدى جميع المستخدمين بإستخدام لوحة الأوامر CMD

سويت لك هذا المثال للتوضيح و تقدر تضيف جدول فيه اسماء المستخدمين الي قام بالتحديث يصير ما تظهر عنده الرسالة او التنبيه

اتفضل هذا المثال

الفكرة بإختصار

بعد ما تخلص من جميع تعديلاتك تقوم تنشئ نسخة مماثلة من آخر التعديلات يعني نسخة احتياطية

و تحطها في مجلد خاص بالتحديثات بحيث يدخل المستخدم و ياخذ نسخة من التحديث 

و يستبدل النسخة الي عنده بالنسخة المحدثة 

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

سيتم انشاء ملف نصي يتحوي على جميع هذه الأوامر و سيتم ارساله لشاشة الأوامر CMD

image.png.a9dfcda77538ccf94b3c4d2c89547c4f.png

image.png.32cc0abb3c563e7d8a635656c624035c.png

image.png.7510e4b47e2c342bd5e9036f2b773d8f.png

 

image.png.d5b671f3bce3502284db502f67d94973.png

Pro.zip 78.16 kB · 23 downloads

 

د. كاف الطريقة هذه مع أنظمة الشركة اللي عندنا مشت معاي تمام ولله الحمد

 

باقي لي مشكلة واحدة بس لو تقدر تحلها لي

 

ملف Update File CMD كيف احذفه بعد ما تخلص العملية لانه ما ينفع يجلس قدام المستخدم لان برنامجي على سطح المكتب موجود ؟

رابط هذا التعليق
شارك

استبدل الكود في حدث عند الفتح بالتالي

On Error Resume Next
If DCount("*", "UPDATES", "[Select]=False") <> 0 Then
    Call NewUPDATE
Else
    Kill CurrentProject.Path & "\UpdateFile.cmd"
End If

 

  • Like 2
رابط هذا التعليق
شارك

في ٣١‏/١٠‏/٢٠٢١ at 15:10, د.كاف يار said:

استبدل الكود في حدث عند الفتح بالتالي

On Error Resume Next
If DCount("*", "UPDATES", "[Select]=False") <> 0 Then
    Call NewUPDATE
Else
    Kill CurrentProject.Path & "\UpdateFile.cmd"
End If

 

ممتاز نجح

رابط هذا التعليق
شارك

  • 2 months later...
في ٢٨‏/١٠‏/٢٠٢١ at 01:53, د.كاف يار said:

ابو زهرة موضوعك جدا سهل و بسيط للغاية

تستطيع تحديث البرنامج بالكامل لدى جميع المستخدمين بإستخدام لوحة الأوامر CMD

سويت لك هذا المثال للتوضيح و تقدر تضيف جدول فيه اسماء المستخدمين الي قام بالتحديث يصير ما تظهر عنده الرسالة او التنبيه

اتفضل هذا المثال

الفكرة بإختصار

بعد ما تخلص من جميع تعديلاتك تقوم تنشئ نسخة مماثلة من آخر التعديلات يعني نسخة احتياطية

و تحطها في مجلد خاص بالتحديثات بحيث يدخل المستخدم و ياخذ نسخة من التحديث 

و يستبدل النسخة الي عنده بالنسخة المحدثة 

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

سيتم انشاء ملف نصي يتحوي على جميع هذه الأوامر و سيتم ارساله لشاشة الأوامر CMD

image.png.a9dfcda77538ccf94b3c4d2c89547c4f.png

image.png.32cc0abb3c563e7d8a635656c624035c.png

image.png.7510e4b47e2c342bd5e9036f2b773d8f.png

 

image.png.d5b671f3bce3502284db502f67d94973.png

Pro.zip 78.16 kB · 50 downloads

اواجه مشكلة مع اوفيس 2003

رسالة خطأ اظن تفرق المكتبات عن الاصدار الاحدث 

هل من حل للمشكلة ؟

رابط هذا التعليق
شارك

  • 4 months later...

السلام عليكم 

مشكور جدا على التحليل الرشيق و الجيد 

لكن لي سؤال

قلت يجب ان نرفع الملف النصي و نكتب فيه رابط التحميل

هل تقصد رابط تحميل النسخة الجديدة من البرنامج ام رابط تحميل الملف النصي 

ثم اذا كنت تقصد رابط تحميل الملف النصي  اي اننا سنرفعه قبل الحصول على رابط التحميل رجاءا مزبدا من التوضيح لان الدرس جيد لكن  لم اتمكن من فهم اللخبطة الاخيرة شكرا 

 

رابط هذا التعليق
شارك

في 26‏/10‏/2021 at 19:07, ناقل said:

ابو زهرة هناك طرق عديدة في المنتدى لتحديث برنامجك لدى المستخدمين ... ابحث تجد ... منها هذا ...

 

السلام عليكم 

لقد قمت بكل الاجراءات التي ذكرتها لكن تاتي رسالة خطا مثل ما هو مبين بالصورة  رجاءا ماذا يعني ذلك 

121212.PNG.ee1b53fd53debe388765574862c722a0.PNG

رابط هذا التعليق
شارك

قريبا إن شاء الله .. 😊

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

أكسس فقط .. 😉👌🏼

 

:jump: :: ترقبوا :: :jump:

تم تعديل بواسطه Moosak
  • Like 4
رابط هذا التعليق
شارك

2 ساعات مضت, Moosak said:

طريقة إبداعية جديدة وحصرية لتحديث نسخة الواجهات FE

ياريت تعملها على قناتك في اليوتيوب استاذ موسى  ...

احب اللهجة العمانية كثيرا

  • Like 1
رابط هذا التعليق
شارك

10 ساعات مضت, Moosak said:

قريبا إن شاء الله .. 😊

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

أكسس فقط .. 😉👌🏼

 

:jump: :: ترقبوا :: :jump:

متابع ^_^

رابط هذا التعليق
شارك

14 ساعات مضت, Moosak said:

قريبا إن شاء الله .. 😊

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

أكسس فقط .. 😉👌🏼

 

:jump: :: ترقبوا :: :jump:

متابع

رابط هذا التعليق
شارك

17 ساعات مضت, Moosak said:

قريبا إن شاء الله .. 😊

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

أكسس فقط .. 😉👌🏼

 

:jump: :: ترقبوا :: :jump:

متابع

 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information