menu_bgservdownloadthemesdirforumhome
Smf عربى



عرض المشاركات

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


مواضيع - islam2hamy

صفحات: 1 [2] 3 4 ... 12
16
يسمح هذا المود للأعضاء بإضافة علامات للمواضيع التى يريدون متابعتها بإستمرار
حيث تظهر فى صفحة العلامات الخاصة بهم






لا تنس تعديل التصاريح الخاصة بالاعضاء للشماح لهم بـ "إنشاء علامات للمواضيع"

لتحميل المود من هنا
لتحميل التعريب من هنا

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

الان يمكنك تحميل المودات التى هى من برمجتنا من موقعك مباشرتاً
وذلك عن طريقة لوحة تحكم إدارة المنتدى بقسم تثبيت الرزم

وذلك بإضافة ملقم بإسم "Smf عربى" و رابط "http://www.smfarabic.com/mods"
كما هو موضح بالصور التالبة






أو اذا كنت تستخدم أحد موداتنا فسوف تجد الملقم موجود بالفعل


18
مود معرض (الصور / وملفات الفيديو) - Aeva (Media Gallery & Auto-embedder)

يقوم هذا المود بإنشاء معرض (صور/ملفات فيديو) داخل المنتدى

وهذا هو مثال للمود



لتحميل المود من هنا
لتحميل التعريب من هنا

19
القسم الإسلامى / لماذا أؤمن بالله و أنا لا أراه؟
« في: 25 , ديسمبر, 2011 - 06:38:16 صباحاً »
كان هناك غلام أُرسل إلى بلاد بعيده للدراسة وظل هناك فترة من الزمن بعد عودته طلب من يجيب على أسئلته الثلاثة
ثم أخيرا وجد العالم الجليل "الامام الشافعي" ودار بينهما الحوار التالي:

الغلام: من أنت ؟ وهل تستطيع الاجابه على أسئلتي الثلاث؟

المعلم: أنا عبد فقير الي الله..
وسأجيب على أسئلتك بإذن الله؟

الغلام: هل أنت متأكد؟ الكثير من الأطباء والعلماء قبلك لم يستطيعوا الاجابه على أسئلتي؟!

الامام: سأحاول جاهدا وبعون الله ساجيب علي اسئلتك

الغلام:
1-هل الله موجود فعلا؟ وإذا كان كذلك أرني شكله؟
2-ما هو القضاء والقدر؟
3-إذا كان الشيطان مخلوقا من نار..فلماذا يلقى فيها بعد ذلك وهي لن تؤثر فيه ؟

صفع الامام الغلام صفعه قويه على وجهه

فقال الغلام وهو يتألم: لماذا صفعتني؟ وما الذي جعلك تغضب مني؟

أجاب المعلم: لست غاضبا وإنما الصفعة هي الاجابه على أسئلتك الثلاث...

الغلام: ولكني لم أفهم شيئا؟

المعلم: ماذا تشعر بعد إن صفعتك؟

الغلام: بالطبع اشعر بالألم؟

المعلم: إذا هل تعتقد إن هذا الألم موجود؟
الغلام: نعم
المعلم: ارني شكله؟
الغلام: لا أستطيع؟
المعلم: هذا هو جوابي الأول..
كلنا نشعر بوجود الله ولكن لا نستطيع رؤيته

ثم أضاف: هل حلمت البارحة باني سوف أصفعك ؟
الغلام: لا؟
المعلم: هل خطر ببالك أني سأصفعك اليوم ؟
الغلام: لا
المعلم: هذا هو القضاء والقدر؟

ثم أضاف: يدي التي صفعتك بها مما خلقت ؟
الغلام: من طين!
المعلم: وماذا عن وجهك ؟
الغلام: من طين!
المعلم: ماذا تشعر بعد أن صفعتك؟
الغلام: اشعر بالألم؟
المعلم: تماما..فبالرغم من أن الشيطان مخلوق من نار..ولكن إذا شاء الله فستكون النار مكانا أليما للشيطان !!!

20
قسم البرامج / برنامج FileZilla لنقل الملفات عن طريق الـ FTP
« في: 24 , ديسمبر, 2011 - 10:08:56 صباحاً »
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

اقدم لكم أعضاء و زوار المنتدى الكرام البرنامج الرائع
"FileZilla"



و هو البرنامج الشهير لنقل الملفات من الحاسب الخاص بك إلى السرفر/الخادم (( والعكس ))
وذلك عن طريق بروتوكول نقل الملفات FTP


من مميزات هذا البرنامج :
  • مجانى (( فهو من البرامج مفتوحة المصدر ))
  • يدعم اللغة العربية
  • واجهة بسيطة , وسهل الاستخدام
  • يعمل على جميع أنظمة التشغيل ((Windows, Linux, ...))
       والكثير من الميزات الأخرى

وهذه هى واجهة البرنامج



للتحميل تفضل بزيارة الموقع
FileZilla

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

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

1 - طرق حفظ نسخة إحتياطية من قاعدة البيانات :

  • عن طريق لوحة تحكم الإدارة :
  • الإدارة --> الصيانة --> قاعدة المعطيات --> نسخ إحتياطة من قواعد البيانات
    ويفضل حفظها بثلاثة أشكال (( بالخيار الاول فقط "مرة" , و بالخيار الثانى فقط "مرة" , والخيارين معا "مرة" )) وبالتأكيد نستخدم خيار ضغط الملف الى .gzip مع كل نسخة .

  • عن طريق أداة حفظ نسخة إحتياطية من قاعدة البيانات - create_backup.php - المجودة بهذا الموضوع هنا :
  • حيث تقوم بوضع الملف فى مجلد المنتدى الرئيسى وفتحه من المتصفح , ثم تقوم بإدخال البيانات اللازمة و التى هى خاصة بقاعدة البيانات و اسم المستخدم وكلمة السر للـ MySQL

  • عن طريق البرنامج MySQLDumper :
  • وهو برنامج سهل وبسيط ويدعم اللغة العربية , قم بتحميله من الموقع ثم رفعه على موقعك و تثبيته عن طريق إدخال بيانات الـ MySQL

2 - طرق إستعادة نسخة إحتياطية من قاعدة البيانات :

  • عن طريق phpMyAdmin من لوحة تحكم الموقع :
  • استورد --> ثم نختار مكان الملف من على جهاز الكمبيوتر الخاص بك --> ثم نختار شيفرة الاحرف الخاصة بالملف --> اترك باقى الاعدادات كما هى ثم إضغط "تنفيذ"


  • عن طريق أداة إستعادة نسخة إحتياطية من قاعدة البيانات - restore_backup.php - المجودة بهذا الموضوع هنا :
  • تقوم بوضع الملف فى مجلد المنتدى الرئيسى وفتحه من المتصفح , ثم تقوم بإدخال البيانات اللازمة و التى هى خاصة بقاعدة البيانات و اسم المستخدم وكلمة السر للـ MySQL و مسار الملف الذى سوف يتم إستخدامه

  • عن طريق البرنامج MySQLDumper :
  • وهو برنامج سهل وبسيط ويدعم اللغة العربية , قم بتحميله من الموقع ثم رفعه على موقعك و تثبيته عن طريق إدخال بيانات الـ MySQL

أتمنى ان يكون الموضوع مفيد للجميع

22
القسم التعليمى / كيفية التعامل مع الملف (( package-info.xml ))
« في: 21 , ديسمبر, 2011 - 06:54:56 صباحاً »
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله و بركاته

موضوع هذا الدرس هو شرح مفصل عن الملف ((package-info.xml))


تعريفه :

    هو الملف الذى يحتوى على الأوامر الخاصة بإجراء تعديلات على ملفات المنتدى .

بداية و نهاية الملف :

    بداية الملف تحتوى على تعريف عن لغة الملف - والتى هى xml - ونوعه - أنه مود لمنتدى Smf - ثم اسم المود وصاحبه ثم اسم المود الذى سوف يظهر عند التثبيت ثم رقم الإصدار الخاص به .

وهذا هو شكلها :


شفرة: [اختيار]
<?xml version="1.0"?>
<!DOCTYPE package-info SYSTEM "http://www.simplemachines.org/xml/package-info">
<package-info xmlns="http://www.simplemachines.org/xml/package-info" xmlns:smf="http://www.simplemachines.org/">
    <id>إسم المستخدم الذى أنت قمت بالتجسل به فى موقع الـ "simplemachines.org" :إسم المود</id>
    <name>إسم المود الذى سوف يظهر أثناء عملية التثبيت</name>
    <type>نوع الرزمة</type>
    <version>رقم الإصدار الخاص بالمود</version>

بالنسبة للأمر "type" - نوع الرزمة - سنجد أنه 3 أنواع  لتثبيت ملفات لغة "language", لتثبيت مود "modification" , لتثبيت صور شخصية  "avatar"

وهذا هو شكل النهاية و هو كود إقفال للوسم  :

شفرة: [اختيار]
</package-info>

و الأن نأتى "للحشو" :
- ما هو بين البداية و النهاية - وهى الأوامر الخاصة بإجراء عملية التثبيت .

وفى هذه النقطة نحتاج الى تحديد 3 عناصر هامة :

1- النسخة التى يتوافق معها هذا المود .
2 - نوع العمليات التى سوف تتم (( تثبيت المود , ترقية نسخة قديمة , إلغاء تثبيت المود )) .
3 - الملفات التى سوف يتم إستخدامها للتعديل , ومسارها اذا كانت سوف يتم نسخها بالكامل .

وهذه بعض المُتغيرات التى يفهمها البرنامج والتى تساعدك فى تسهيل عملية تحديد مسار الملف الذى سوف يتم تعديله :


اقتباس
  • $boarddir : وغيره من الملفات فى هذا المسار index.phpوهو يشير الى المسار الرئيسى للمنتدى حيث الملف
  • $sourcedir :  (  إلخ ...,Post.php, Admin.php)  حيث تجد الملفات /Sources  وهو يشير الى المجلد
  • $avatardir : حيث يمكنك إيجاد الصور الشخصية ./Avatars وهو يشير الى المجلد
  • $themedir:  وهو يشير إلى المجلد الخاص بالقالب - الإستايل - الرئيسى .
  • $themes_dir : وهو يشير الى المجلد الذى يحتوى على كل القوالب الخاصة بالمنتدى , بما فى ذلك القالب الرئيسى
  • $imagesdir : وهو يشير الى المجلد الخاص بالصورة للقالب الرئيسي .
  • $languagedir : وهو يشير الى المجلد الخاص بملفات اللغة الخاصة بالمنتدى .
  • $smileysdir : وهو يشير الى المجلد الخاص بالإبتسامات .


والان مع شرح هذه العملية "الحشو" :

1 - وهى تبدأ بتحديد النسخة التى سوف يعمل عليها المود :

وهى مثلا : 1.1.15 أو 2.0.1 أو الاثنين معاً إذا كانت متوافقة معهما .
ويتم كتابة هذا الامر داخل نوع العملية .

2 - تحديد نوع العملية وهناك 3 أنواع :

شفرة: [اختيار]
<install></install>, <upgrade></upgrade>, <uninstall></uninstall>

حيث يتم دمجه بإصدار المنتدى و إستخدامه بهذه الطريقة :
شفرة: [اختيار]
    <install for="1.1.0 - 1.1.99">
        الملفات التى سوف يقوم بإستخدامها توضع هنا
    </install>

وفى هذا المثال أخبرته بأن المود يعمل على جميع إصدارات المنتدى بدء من النسخة 1.1.0 وحتى النسخة 1.1.99 أو يمكننى كتابت الإصدار الحالى فقط , وهو مثلاً : 1.1.15
وتتم نفس العملية مع الاوامر الخاصة بالترقية و إلغاء التثبيت

وفى حالة اذا كان المود يعمل أيضا على النسخة 2.0 فهناك إحتمالين :
* اذا كان سوف يتم إستخدام نفس الملفات فى الإصدارين فيمكنك كتابة رقم الإصدارين وبينهما فاصلى هكذا "1.0,2.0"
* اذا كان كل اصدار له الملفات الخاصة به , فإنك سوف تقوم بفتح كود تثبيت جديد بعد الانتهاء من كود التثبيت الأول .


3 - تحديد الملفات التى سوف يتم إستخدامها و كيفية إستخدامها :

* ملف إقرأنى "readme.txt" وهذا الملف يكون به شرح بسيط عن المود وكيفية استعماله , وهذا هو الامر الخاص به


شفرة: [اختيار]
<readme type="file" parsebbc="true">readme.txt</readme>


وبالنسبة للنسخة 2.0 من المنتدى فهى تسمح لك بوضع عدة ملفات لغة بحيث تظهر للمستخدم بلغته التى يستخدمها وهى بهذا الشكل

شفرة: [اختيار]
        <readme lang="english" parsebbc="true" type="file">readme.english.txt</readme>
        <readme lang="arabic-utf8" parsebbc="true" type="file">readme.arabic-utf8.txt</readme>

* ملف التعديلات والذى سبق أن تحدثنا عنه , وهذا هو الامر الخاص به

شفرة: [اختيار]
<modification format="xml" type="file">modification.xml</modification>

* ملفات يجب نسخها الى مكان ما بالمنتدى "require-file" وهذا هو الامر الخاص بها

شفرة: [اختيار]
<require-file name="إسم ومكان الملف بالرزمة" destination="مسار مجلد اللغة" />
<require-file name="lang/UsersOnlineToday.english.php" destination="$languagedir" />

* مجلد يجب نسخه بما فى داخله من ملفات الى مكان ما بالمنتدى "require-dir" وهذا هو الامر الخاص بها

شفرة: [اختيار]
<require-dir destination="مسار المجلد" name="إسم المجلد"/>
<require-dir destination="$boarddir" name="getid3"/>


*  وفى حالة الحاجة الى إنشاء ملف او مجلد فارغ نستخدم الأمر "create-file و create-dir" بنفس الشكل فى المثال السابق

* أيضا يمكنك نقل ملف او مجلد مع خاصية تغير اسمه عن طريق الأمر "move-file و move-dir" ولكن هذا الامر لا يتم استخدامه كثيرا

* و فى حالة اذا كان المود له إعدادات يجب تهيئتها من لوحة تحكم المدير , فإنك تستطيع وضع أمر يختصر بعمل إعادة توجيه الى رابط الإعدادات الخاصة بالمود وذلك بعد الإنتهاء من عملية التثبيت , وهذا هو الأمر

شفرة: [اختيار]
<redirect url="رابط الإعدادات">ملف إقرأنى يظهر قبل التوجيه ليخبر المدير انه سوف يتم إعداة التوجيه</redirect>
<redirect url="?action=downloads;sa=adminset">redirect.txt</redirect>

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

شفرة: [اختيار]
<code>mod_sql.php</code>

و بالنسبة للنسخة 2.0 يفضل إستخدام الأمر ((<database>mod_sql.php</database>))

كل ما سبق يختص بعملية التثبيت والترقية , أما فى حالة إلغاء التثبيت فإنه يتم إستخدام الأوامر الأتية بنفس الشكل السابق

* بالنسبة لملف التعديل , يتم إضافة الامر "reverse="true"" كما هو موضح بالاسفل


شفرة: [اختيار]
<modification type="file" format="xml" reverse="true">modification.xml</modification>

* بالنسبة لحذف الملفات و المجلدات يكون الامر هكذا

شفرة: [اختيار]
<remove-file name="مسار الملف بإستخدام المُتغير/إسم الملف"/>
<remove-file name="$boarddir/newscore.php"/>

وبالمثل مع المجلد

شفرة: [اختيار]
<remove-dir name="$boarddir/getid3"/>



وهذا مثال على مود تم إنشائه لتثبيت صور شخصية :

شفرة: [اختيار]
<install>

   <readme>readme.txt</readme>

   <require-dir name="Cool_Avatars!" destination="$avatardir" />

</install>


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

شفرة: [اختيار]
<?xml version="1.0"?>
<!DOCTYPE package-info SYSTEM "http://www.simplemachines.org/xml/package-info">
<package-info xmlns="http://www.simplemachines.org/xml/package-info" xmlns:smf="http://www.simplemachines.org/">
<id>islam2hamy:WelcomeBack</id>
<name>Welcome Back</name>
<version>1.0</version>

<type>modification</type>

    <!--// Install for SMF 2.0 Beta 2 and above //-->
<install for="2.0 - 2.99.99">
    <readme type="file" parsebbc="true">read me.txt</readme>
    <modification type="file">welcomeback.2.0.x.xml</modification>
    <modification type="file">language-utf8.xml</modification>
    <modification type="file">language.xml</modification>
    <require-file name="login3.php" destination="$sourcedir" />
    <require-file name="logout3.php" destination="$sourcedir" />
    <require-file name="login3.template.php" destination="$themedir" />
    <require-file name="logout3.template.php" destination="$themedir" />
</install>

    <!--// Install for SMF 2.0 Beta 2 and above //-->
<uninstall for="2.0 - 2.99.99">
    <modification type="file" reverse="true">welcomeback.2.0.x.xml</modification>
    <modification type="file" reverse="true">language-utf8.xml</modification>
    <modification type="file" reverse="true">language.xml</modification>
    <remove-file name="$sourcedir/login3.php" />
    <remove-file name="$sourcedir/logout3.php" />
    <remove-file name="$themedir/login3.template.php"  />
    <remove-file name="$themedir/logout3.template.php"  />
</uninstall>
</package-info>

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

23
القسم التعليمى / كيفية التعامل مع الملف (( modification.xml ))
« في: 20 , ديسمبر, 2011 - 07:20:40 صباحاً »
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله و بركاته

موضوع هذا الدرس هو شرح مفصل عن الملف ((modification.xml))


تعريفه :

    هو الملف الذى يحتوى على الأوامر الخاصة بإجراء تعديلات على ملفات المنتدى .

بداية و نهاية الملف :

    بداية الملف تحتوى على تعريف عن لغة الملف - والتى هو xml - ونوعه - أنه مود لمنتدى Smf - ثم اسم المود وصاحبه ثم رقم الإصدار الخاص به .

وهذا هو شكلها :

شفرة: [اختيار]
<?xml version="1.0"?>
<!DOCTYPE modification SYSTEM "http://www.simplemachines.org/xml/modification">

<modification xmlns="http://www.simplemachines.org/xml/modification" xmlns:smf="http://www.simplemachines.org/">
    <id>إسم المستخدم الذى أنت قمت بالتجسل به فى موقع الـ "simplemachines.org" :إسم المود</id>
    <version>رقم الإصدار الخاص بالمود</version>

وهذا هو شكل النهاية و هو كود إقفال للوسم مود :
شفرة: [اختيار]
</modification>

و الأن نأتى "للحشو" :
- ما هو بين البداية و النهاية - وهى الأوامر الخاصة بإجراء تعديلات على ملفات المنتدى .

وفى هذه النقطة نحتاج الى تحديد 3 عناصر هامة :

1- اسم و مسار الملف الذى سوف يتم إجراء التعديل عليه .
2 - نوع التعديل الذى سوف يتم (( إستبدال كود بكود أخر , إضافة كود بعد كود موجود بالملف , إضافة كود قبل كود موجود بالملف , إضافة كود بآخر الملف )) .
3 - الكود الأصلى الذى سوف يتم البحث عنه والذى هو موجود بالملف المراد تعديله , والكود الذى سوف يتم إضافته .

وهذه بعض المُتغيرات التى يفهمها البرنامج والتى تساعدك فى تسهيل عملية تحديد مسار الملف الذى سوف يتم تعديله :


اقتباس
  • $boarddir : وغيره من الملفات فى هذا المسار index.phpوهو يشير الى المسار الرئيسى للمنتدى حيث الملف
  • $sourcedir :  (  إلخ ...,Post.php, Admin.php)  حيث تجد الملفات /Sources  وهو يشير الى المجلد
  • $avatardir : حيث يمكنك إيجاد الصور الشخصية ./Avatars وهو يشير الى المجلد
  • $themedir:  وهو يشير إلى المجلد الخاص بالقالب - الإستايل - الرئيسى .
  • $themes_dir : وهو يشير الى المجلد الذى يحتوى على كل القوالب الخاصة بالمنتدى , بما فى ذلك القالب الرئيسى
  • $imagesdir : وهو يشير الى المجلد الخاص بالصورة للقالب الرئيسي .
  • $languagedir : وهو يشير الى المجلد الخاص بملفات اللغة الخاصة بالمنتدى .
  • $smileysdir : وهو يشير الى المجلد الخاص بالإبتسامات .

والان مع شرح هذه العملية "الحشو" :

1 - وهى تبدأ بمسار الملف كالمثال التالى :

شفرة: [اختيار]
<file name="$languagedir/Modifications.arabic-utf8.php">
هنا نكتب العملية
</file>

لاحظ معى اننا قمنا بإستخدام المُتغير "$languagedir" لكى نخبر البرنامج - المنتدى - بأن الملف الذى نريد تعديله موجود بمجلد اللغة ثم أخبرناه بإسم الملف وهو "Modifications.arabic-utf8.php"

و قبل إنهاء هذا الامر بـ "<" يمكننا وضع أمر أخر يخبره هل هذا التعديل مهم أم يمكنه تركه اذا لم يكن موجود وذلك بالكود (("error="skip))  ,او الكود  (("error="fatal)) إذا كان هذا التعديل مهم جدا ولا يجب الإستغناء عنه وعدم إكمال عميلة التثبيت و إظهار خطأ , أو ترك الكود بدون هذا الامر كما هو بالاعلى وهذا يعنى انه سوف يظهر خطأ لكن يمكنه الإستمرار فى تثبيت المود مع عدم تعديل هذه الجزءية .

ثم تكون نهياة التعديل على هذا الملف بالوسم (( </file> ))

2 - البدء فى عملية التعديل , وهى توضع بين هذا الوسم  :

شفرة: [اختيار]
<operation>
خاصية البحث و التعديل تكتب هنا
</operation>

3 - نوع التعديل وعملية البحث عن الكود الاصلى, وهى توضع بين هذا الوسم  :
شفرة: [اختيار]
<search position="نوع التعديل هنا">
<![CDATA[ الكود هنا ]]>
</search>

وكما وضحنا سابقا فهناك 4 أنواع من التعديلات (( إستبدال كود بكود أخر , إضافة كود بعد كود موجود بالملف , إضافة كود قبل كود موجود بالملف , إضافة كود بآخر الملف ))
وتكون بهذا الشكل
(( <search position="replace"> أو <search position="before"> أو <search position="after"> أو <search position="end" /> )) على الترتيب

ثم نقوم بوضع الكود الذى نريد البحث عنه داخل الامر (( <![CDATA[ الكود هنا ]]> )) ثم لإنهاء أمر البحث الوسم (( </search> )) إلا فى حالة "end" لانه يتم اغلاق الوسم فى نفس السطر بالعلامة"/" (( <search position="end" /> ))

ثم بعد ذلك نختم بالوسم الخاص بالتعديل الذى سوف يتم
شفرة: [اختيار]
<add>
  <![CDATA[ هنا نكتب التعديل الذى سوف يتم ]]>
</add>

وهذا شكل الأمر بالكامل :

شفرة: [اختيار]
<file name="$languagedir/إسم الملف.php">
   <operation>
     <search position="نوع التعديل هنا">
       <![CDATA[
الكود هنا
]]></search>
     <add>
       <![CDATA[
هنا نكتب التعديل الذى سوف يتم
]]></add>
   </operation>
</file>

لاحظ أنه :

يمكنك عمل اكثر من تعديل على نفس الملف و ذلك عن طريق بداية وسم (( <operation></operation> )) جديد بعد إنتهاء الوسم الاول ,
أيضا يمكنك التعديل على اكثر من ملف و ذلك عن طريق بداية وسم جديد (( </file> <file name=""> ))




وهذا هو مثال للملف النهائى لكى تطبق عليها ما تعلمناه مأخوذ من مود الألعاب الفلاش :

شفرة: [اختيار]
<?xml version="1.0"?>
<?xml-stylesheet href="modification.xsl" type="text/xsl"?>
<!DOCTYPE modification SYSTEM "http://www.simplemachines.org/xml/modification">

<modification xmlns="http://www.simplemachines.org/xml/modification" xmlns:smf="http://www.simplemachines.org/">
<!-- This information needs to be the same as that in the package-info.xml. -->
<id>Niko:Arcade</id>
<version>2.5 RC1</version>

<file name="$boarddir/index.php">
<operation>
<search position="after"><![CDATA[ elseif (empty($_REQUEST['action']))]]></search>
<add><![CDATA[ // Check for arcade actions
// IBPArcade v2.x.x Games support
elseif (isset($_REQUEST['act']) && strtolower($_REQUEST['act']) == 'arcade')
{
$_REQUEST['action'] = 'arcade';

if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'newscore')
$_REQUEST['sa'] = 'ibpsubmit2';

require_once($sourcedir . '/Arcade.php');
return 'Arcade';
}
// IBPArcade v3.x.x Games support
elseif (isset($_REQUEST['autocom']) && $_REQUEST['autocom'] == 'arcade')
{
$_REQUEST['action'] = 'arcade';

if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'savescore')
$_REQUEST['sa'] = 'ibpsubmit3';
elseif (isset($_REQUEST['do']) && $_REQUEST['do'] == 'verifyscore')
$_REQUEST['sa'] = 'ibpverify';

require_once($sourcedir . '/Arcade.php');
return 'Arcade';
}
elseif (isset($_REQUEST['play']) && !isset($_REQUEST['game']))
{
$_REQUEST['game'] = $_REQUEST['play'];
unset($_REQUEST['play']);
$_REQUEST['sa'] = 'play';

require_once($sourcedir . '/Arcade.php');
return 'Arcade';
}
elseif (isset($_REQUEST['highscore']) && !isset($_REQUEST['game']))
{
$_REQUEST['game'] = $_REQUEST['highscore'];
unset($_REQUEST['highscore']);
$_REQUEST['sa'] = 'highscore';

require_once($sourcedir . '/Arcade.php');
return 'Arcade';
}
elseif ((isset($_REQUEST['game']) || isset($_REQUEST['match'])) && !isset($_REQUEST['action']))
{
require_once($sourcedir . '/Arcade.php');
return 'Arcade';
}
]]></add>
</operation>

<operation>
<search position="before"><![CDATA[ 'announce' => array('Post.php', 'AnnounceTopic'),]]></search>
<add><![CDATA[
'arcade' => array('Arcade.php','Arcade'),]]></add>
</operation>
</file>

<file name="$sourcedir/ManageSettings.php">
<operation>
<search position="after"><![CDATA[ );

// Are we getting info for the help section.]]></search>
<add><![CDATA[ // arcade = arcade (makes sense, right?)
'arcade' => array(
'url' => 'action=admin;area=arcade',
'settings' => array(
'arcadeEnabled' => 1,
),
),]]></add>
</operation>
</file>

<file name="$sourcedir/ManagePermissions.php">
<operation>
<search position="before"><![CDATA[ 'profile_remote_avatar' => array(false, 'profile', 'use_avatar'),]]></search>

<add><![CDATA[
'arcade_view' => array(false, 'arcade', 'arcade'),
'arcade_play' => array(false, 'arcade', 'arcade'),
'arcade_submit' => array(false, 'arcade', 'arcade'),
'arcade_comment' => array(true, 'arcade', 'arcade', 'arcade_moderate'),
'arcade_user_stats' => array(true, 'arcade', 'arcade', 'arcade_moderate'),
'arcade_edit_settings' => array(true, 'arcade', 'arcade', 'arcade_moderate'),
'arcade_create_match' => array(false, 'arcade', 'arcade'),
'arcade_join_match' => array(false, 'arcade', 'arcade'),
'arcade_join_invite_match' => array(false, 'arcade', 'arcade'),
'arcade_admin' => array(false, 'arcade', 'administrate'),
]]></add>
</operation>

<operation>
<search position="before"><![CDATA[ $context['non_guest_permissions'] = array(]]></search>
<add><![CDATA[
'arcade_admin',
'arcade_create_match',
'arcade_join_match',
'arcade_join_invite_match',
'arcade_comment',
'arcade_edit_settings',
'arcade_user_stats',]]></add>
</operation>
</file>

<file name="$sourcedir/Profile.php">
<operation>
<search position="after"><![CDATA[ 'issuewarning' => array(]]></search>
<add><![CDATA[
'arcadeChallenge' => array(
'label' => $txt['sendArcadeChallenge'],
'file' => 'Profile-Arcade.php',
'function' => 'arcadeChallenge',
'enabled' => !empty($modSettings['arcadeArenaEnabled']) && !empty($modSettings['arcadeEnabled']),
'permission' => array(
'own' => array(),
'any' => array('arcade_create_match'),
),
),
]]></add>
</operation>

<operation>
<search position="after"><![CDATA[ 'showposts' => array(]]></search>
<add><![CDATA[
'arcadeStats' => array(
'label' => $txt['arcadeStats'],
'file' => 'Profile-Arcade.php',
'function' => 'arcadeStats',
'enabled' => !empty($modSettings['arcadeEnabled']),
'permission' => array(
'own' => array('arcade_user_stats_any', 'arcade_user_stats_own'),
'any' => array('arcade_user_stats_any'),
),
),
]]></add>
</operation>

<operation>
<search position="after"><![CDATA[ 'forumprofile' => array(]]></search>
<add><![CDATA[
'arcadeSettings' => array(
'label' => $txt['arcadeSettings'],
'file' => 'Profile-Arcade.php',
'function' => 'arcadeSettings',
'enabled' => !empty($modSettings['arcadeEnabled']),
'permission' => array(
'own' => array('arcade_edit_settings_any', 'arcade_edit_settings_own'),
'any' => array('arcade_edit_settings_any'),
),
),
]]></add>
</operation>
</file>
</modification>

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

24
القسم التعليمى / مقدمة : فى إنشاء مود لمنتدى Smf
« في: 19 , ديسمبر, 2011 - 07:09:24 صباحاً »
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

سوف نتناول فى هذا الدرس إن شاء الله
مقدمة عن تصميم المودات للمنتدى من نوع Smf

1 - ماذا تحتاج لكى تبدأ فى تصميم مود :

  • معرفة جيدة بالغات التالية (( PHP , HTML )) .
  • يفضل أيضا أن تكون على دراية باللغة (( MySql )) .
  • برنامج السيرفر المحلى ((مثلا : Wamp Server )) .
  • برنامج مُحرر نصوص (( مثلا : Notepad++ )) .
  • برنامج ضغط و فك ضغط الملفات (( مثلا : WinRAR )) .
  • الفكرة التى تريد تنفيذها ;)
2 - و الأن بعد ما أصبحت لديك ما سوف نقوم بإستخدامه تعالى لنلقى نظرة على كيفية التعامل مع المودات لإنشاءها :


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

  • الملف (( package-info.xml )) .
  • وهو الملف الخاص بتعريف نسخة المنتدى Smf على الرزمة حيث يحتوى على اسمها و إصدارها و اسم صاحبها , وكذلك الإصدارات التى سوف تعمل عليه (( و سوف نتحدث بشكل مفصل عن هذا الملف فى درس آخر فهو من الملفات الهامة جدا )) .
                   
  • الملف (( modification.xml )) .
  • وهو الملف الذى يحتوى على التعديلات التى سوف يتم تطبيقها من أجل تثبيت الرزمة (( و سوف نتناوله بالشرح المفصل أيضا فى درس آخر لانه ايضا من الملفات الهامة جدا )) .
                   
  • الملف (( readme.txt )) .
  • وهو الملف الذى به شرح مبسط عن تعريف المود وكذلك طريقة عمله , وهذا الملف يظهر لنا ما بداخله أثناء تثبيت الرزمة من لوحة الإدارة .

وهذه ملفات قد تحتاج الى وضعها أيضا داخل الرزمة :

  • الملف (( language.xml )) .
  • وهذا الملف نستخدمه لإضفة أى تعديل سوف يتم على ملفات اللغة الخاصة بالمنتدى .
                   
  • الملف (( mod.xxxx.php )) .
  • وهذا الملف نستخدمه فى حالات قليلة عندما تكون الرزمة ذات برمجة كبيرة و لها خصائص كثيرة فأننا سوف نطر الى كتابة الكثير من الجمل التى سوف يقوم المود بإستخدامها , لذلك فهو يفضل فى هذه الحالة ادراج هذه الجمل فى ملف مستقل بذاته ليسهل أيضا ترجمته الى عدة لغات .
                   
  • الملف (( mod.template.php )) .
  • وهذا الملف نستخدمه فى حالات قليلة عندما تكون الرزمة ذات برمجة كبير  ولها صفحة مستقلة بها يظهر بها المود فسوف نحتاج حينها الى تصميم صفحة خاصة به عن طريق هذا الملف .
                   
  • الملف (( readme.xxxx.txt )) .
  • ونستخدم ايضا هذا الملف فى حالة وجود عدة ترجمات من المود .
  • الملف (( mod.sql.php )) .
  • ونستخدم هذا الملف فى حالة إذا كانت هناك تغيرات سوف تتم داخل قاعدة البيانات , مثلاً : إنشاء جدول جديد .
  • الملف (( redirect.txt )) .
  • ونستخدم هذا الملف لإخبار المدير بأنه سوف يتم إعادة توجيهه الى إعدادات المود , وذلك إذا كان المود له صفحة إعدادات يجب تفعيلها بعض خصائصها بواسطة المدير لإستخدامه .
ملحوظة : mod = إسم المود , xxxx = اللغة

ولا ننسى أن كل هذه الملفات تكون داخل ملف مضغوط "رزمة" ذات إمتداد ((.zip))

25
القسم الإسلامى / قصة : فى بيتنا باب
« في: 18 , ديسمبر, 2011 - 10:35:26 صباحاً »
 فى إحدى القرى الفقيرة كانت هناك ام و ابنها الصغير الذى لم يتجاوز ال 10 سنوات
يعيشان على سطح منزل , فى غرفة من أربع جوانب خشبية وباب ولا يوجد سقف لهذه "العشة" - إذا صح التعبير عنها بذلك -


وفى إحدى أيام الشتاء القارص أمطرت مطراً شديداً ولم تدرى الام ماذا تفعل وكيف تحمى نفسها و ابنها من المطر
 
وسرعان ما فكرت و تصرفت
فقامت بخلع الباب من مكانه و وضعته مسنوداً على الحائط و إحتمت هيا و إبنها تحته من المطر
 
فنظر إليها الصبى و إبتسم و قال لها بكل رضى "الحمد لله يا امى فى بيتنا باب"

26
قسم البرامج / برنامج فك ضغط و ضفط الملفات - WinRAR
« في: 17 , ديسمبر, 2011 - 10:08:21 مسائاً »
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

اقدم لكم أعضاء و زوار المنتدى الكرام البرنامج الرائع
"WinRAR"



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


وهذه هى واجهة البرنامج



ويتم ضغط الملفات بالضغط على الملف بزر الفأرة الأيمن ثم إختيار "Add to archive" كما هو موضح بالصورة



لكى نضغط ملفات الرزمة "المود" الذى قمنا ببرمجته - على سبيل المثال - ويكون بالامتداد ((.zip)) كما هو موضح بالصورة



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



والأن لتحميل البرنامج
قم بالضغط هنا

27
يسمح لك هذا المود بإنشاء مواضيع فى المنتدى إقتباساً من تلقيم ما "تغذية RSS"
يمكنك إستخدامه مثلا فى جلب الأخبر من موقع إخبارى
وهذا مثال على الموضوع الذى تم إنشئه بواسطة المود


لتحميل المود من هنا
لتحميل التعريب من هنا

28
قسم البرامج / السرفر "الخادم" المحلى Wamp Server
« في: 14 , ديسمبر, 2011 - 08:54:27 صباحاً »
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
اقدم لكم أعضاء و زوار المنتدى الكرام البرنامج الرائع
"Wamp Server"



و هو يعمل كـ "سرفر / خادم" محلى على جهاز الكمبيوتر الخاص بك
حيث يمكنك استخدامه كـ"معمل تجارب" قبل تثبيت اى شئ على موقعك
وذلك للتأكد من ان ما تريد تثبيته يعمل بشكل جيد ولن يؤثر بالخطأ على موقعك
فهو يعمل كأنه خادم حقيقى فعلا ولكنه "على جهارز الكمبيوتر الخاص بك" ;)


والأن مع شرح عملية التثبيت بالصور








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




وأخيراً مع رابط التحميل
إضغط هنا


29
قسم البرامج / مُحرر النصوص Notepad++
« في: 12 , ديسمبر, 2011 - 04:16:45 مسائاً »
بسم الله الرحمن الرحيم

أضع بين يديكم اليوم أفضل برنامح مُحرر نصوص مفتوح المصدر
إنه
Notepad++



يعتبر هذا البنامج من أقوى برامج مُحررات النصوص "المفتوح المصدر"
و به الكثير من الميزات الرائعة , ونذكر منها على سبيل المثال :
  • مجانى "فهو مفتوح المصدر"
  • سهل الاستخدام "ويمتاز بواجهة بسيطة و غير معقدة"
  • متعدد اللغات "يدعم اللغة العربية"
  • متعدد الترميزات "حيث تجد UTF-8 , ANSI والكثير من الترميزات الاخرى"
  • متعدد لغات البرمجة "PHP , HTML , C#, XML , والمزيد "

بالإضافة الى باقى الميزات الكثيرة و الجميلة
وهذه صورة من البرنامج :



للتحميل تفضل بزيارة الموقع

30
القسم الإسلامى / قصة : إشتقت إلى أن أتزوج
« في: 12 , ديسمبر, 2011 - 10:32:59 صباحاً »
يقول مالك ابن دينار

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


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

حتى اكتمل سن فاطمة 3 سنوات
فلما أكملت .... الــ 3 سنوات ماتت فاطمة
 
يقول:
فانقلبت أسوأ مما كنت .. ولم يكن عندي الصبر الذي عند المؤمنين ما يقويني على
البلاء .. فعدت أسوا مما كنت .. وتلاعب بي الشيطان .. حتى جاء يوما
 
فقال لي شيطاني:
لتسكرن اليوم سكرة ما سكرت مثلها من قبل!!
فعزمت أن أسكر وعزمت أن أشرب الخمر وظللت طوال الليل أشرب وأشرب وأشرب
فرأيتني تتقاذفني الأحلام .. حتى رأيت تلك الرؤيا

رأيتني يوم القيامة وقد أظلمت الشمس .. وتحولت البحار إلى نار.. وزلزلت الأرض ...
واجتمع الناس إلى يوم القيامه .. والناس أفواج .. وأفواج .. وأنا بين الناس
وأسمع المنادي ينادي فلان ابن فلان .. هلم للعرض على الجبار
 
يقول:
فأرى فلان هذا وقد تحول وجهه إلى سواد شديد من شده الخوف
حتى سمعت المنادي ينادي باسمي .. هلم للعرض على الجبار
 
يقول:
فاختفى البشر من حولي (هذا في الرؤية) وكأن لا أحد في أرض المحشر .. ثم رأيت
ثعبانا عظيماً شديداً قويا يجري نحوي فاتحا فمه. فجريت أنا من شده الخوف
فوجدت رجلاً عجوزاً ضعيفاًً .....

فقلت:
آه: أنقذني من هذا الثعبان

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

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


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

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

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


أسألك تبارك وتعالى أن ترزقنا التو به
 
لا إله إلا أنت سبحانك .. إني كنت من الظالمين

صفحات: 1 [2] 3 4 ... 12