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

مسيرتي في برمجة ملحقي ( ملحق الإستبدال )

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


موضوع مغلق


11-02-2016 03:36 صباحاً
معلومات الكاتب ▼
انضم في : 31-12-2014
رقم العضوية : 5,837
المشاركات : 62
الدولة : أرض الله الواسعة
الجنس :
قوة السمعة : 400
موقعي : زيارة موقعي
ohpdky


كيف الحال ؟ ارجو ان تكونوا في تمام الصحة والعافية
أتمنى ان لا يكون قسم الموضوع خاطئ (رغم انه انسب مكان له )

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

92186

فكرة الملحق :
الملحق سيقوم بالبحث داخل المواضيع عن نصوص معينة
وحينما يجد نص معين فسيقوم بإستبداله بنص آخر مختلف حسب الخيارات المتاحة
92186
ماذا تستفيد من الملحق ؟
كما نعلم جميعًا ان برنامج pbb يتوفر فيه ميزة الكلمات الممنوعة، ولكنه يقوم بإضافة علامة * بعد الحرف الأول مع الإبقاء على الكلمة
ولكن فكرة الملحق هي استبدال الكلمة بالكامل بكلمة اخرى وستفيدك في حالة رغبتك بتعديل بعض الكلمات او حتى تطبيق بعض التعديلات عليها
92186
امثلة على الفكرة :
كلمة pbb تصبح PBBoard او رابط الموقعhttps://pbboard.info/
كلمة php تصبح رابط الموقع الرسمي :http://php.net/
كلمة Google تصبحwww.google.com

وهكذا
92186

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

حاليًا ما زلت ابحث عن موارد للفكرة، اما ان اقوم بإنشاء جدول في قاعدة البيانات يتم حفظ الإعدادات فيه، او استخدام ملف محلي
وهل استخدم php ام javascript ( استخدام php قد يتسبب في ضغط على موارد السيرفر )

يتبع ...
تم تحرير الموضوع بواسطة :أبو العصافير بتاريخ:11-02-2016 03:07 مساءً
سبب التعديل : تبديل كلمة هاك إلى ملحق (مصطلح الهاكات خاص بنسخ vb وليس pbb وانا خلطت بينهم


look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  11-02-2016 04:12 صباحاً   [1]
معلومات الكاتب ▼
انضم في : 31-12-2014
رقم العضوية : 5,837
المشاركات : 62
الدولة : أرض الله الواسعة
الجنس :
قوة السمعة : 400
موقعي : زيارة موقعي
بعد البحث بين php و javascript
تم اختيار php لسببين
السبب الأول توفر دالة str_ireplace والتي تقوم بالعمل بأسهل طريقة ممكنة

والسبب الثاني هو في دوال javascript دوالها عادة تكون case-sensitive ( حساسة لحالة الأحرف مثل الحروف الكبيرة والصغيرة )
يوجد طرق اخرى للقيام بالعملية ولكن سأحتاج لعمليات اكثر
وانا لا اريد ان استهلك موارد المتصفح وخاصة لو كان هنالك اكثر من نص لإستبداله

اما بالنسبة لدوال php فقد تكون ادق وبها ميزة الخصوصية نوعًا ما
فقد لا يريد صاحب الموقع ان تظهر الكلمات التي يتم استبدالها في احد اكواد javasctipt في المتصفح

رغم ان استخدام Javascript قد يكون اسهل من ناحية التعامل
لأن الموضوع يكون داخل class بمسمى text فيكون التعامل اسهل بكثييير عن المعتاد

وما زال الوقت مبكرًا على إصدار الأحكام
يتبع ....


تم تحرير المشاركة بواسطة :أبو العصافير بتاريخ:11-02-2016 04:18 صباحاً

سبب التعديل : توسيط

look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  12-02-2016 04:49 صباحاً   [2]
معلومات الكاتب ▼
انضم في : 18-07-2009
رقم العضوية : 1
المشاركات : 12,562
الدولة : KSA
الجنس :
الدعوات : 52
قوة السمعة : 74,136
موقعي : زيارة موقعي
حسناً يمكنني مساعدتك على اتمام الهاك فهو لايتطلب الكثير من الجهد

مافهمته انك تريد ان يكون الاستبدال غير نهائي للكلمات
ومشابه لخاصية الكلمات الممنوعة لكن يكون استبدال كلمات بكلمات اخرى
بما انه لم يسبق لك ان قمت ببرمجة اي هاك من قبل لمنتديات PBBoard وهذه هي المرة الأولى لك

فسأساعدك ببرمجته هذا الملحق بالطريقة الصحيحة وسهل التركيب واضافته لك بالمرفقات في ردي القادم

فيجب عليك ان تحرر ملف xml للملحق
وتطلع على طريقة برمجته وتجاريها وتتعلم منها
ومن خلالها يمكنك طرح استفساراتك عن اي شيء في طريقة برمجة الهاك وسأجيبك عنها

سأبدأ ببرمجة الملحق الآن واضافتة بالمرفقات بردي القادم

look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  12-02-2016 05:32 صباحاً   [3]
معلومات الكاتب ▼
انضم في : 18-07-2009
رقم العضوية : 1
المشاركات : 12,562
الدولة : KSA
الجنس :
الدعوات : 52
قوة السمعة : 74,136
موقعي : زيارة موقعي
تم انجاز ملحق مستبدل الكلمات بكلمات أخرى مباشرة بشكل غير نهائي

MTM0NzI4MQ2727word_replacer

يمكنك تحميله من المرفقات وتجربته ويجب عليك ان تحرر ملف xml للملحق
وتطلع على طريقة برمجته وتجاريها وتتعلم منها
ومن خلالها يمكنك طرح استفساراتك عن اي شيء في طريقة برمجة الهاك وسأجيبك عنها
 
 
  word_replacer.zip   تحميل zip مرات التحميل :(29)
الحجم :(29.02) KB


look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  12-02-2016 10:20 مساءً   [4]
معلومات الكاتب ▼
انضم في : 31-12-2014
رقم العضوية : 5,837
المشاركات : 62
الدولة : أرض الله الواسعة
الجنس :
قوة السمعة : 400
موقعي : زيارة موقعي
ما شاء الله عليك
ما زلت اقوم ببناء الكلاس الخاص بالملحق
حاليًا قمت بتنزيله وسأقوم بالإطلاع عليه
شكرًا لك


تم تحرير المشاركة بواسطة :أبو العصافير بتاريخ:12-02-2016 10:20 مساءً


look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  13-02-2016 02:23 صباحاً   [5]
معلومات الكاتب ▼
انضم في : 18-07-2009
رقم العضوية : 1
المشاركات : 12,562
الدولة : KSA
الجنس :
الدعوات : 52
قوة السمعة : 74,136
موقعي : زيارة موقعي
حسناً انا اريدك ان تسأل اكثر وتدخل في اعمق التفاصيل في برمجة الهاكات
وتستفسر اكثر وتطرح تجاربك حتى لو كانت متواضعه في البداية
ويفضل ان يكون لديك خبرة جيدة في لغة PHP وتطلع أكثر على الشروحات الخاصة ببرمجة الهاكات كهذا الشرح
[شرح]: برمجة هاك وتركيبه عن طريق الأضافات البرمجية
وتحمل اكبر عدد من الهاكات وتطلع عليها بتعمق
فنحن فعلاً بحاجة لأن نزيد من عدد المطورين وخصوصاً مبرمجي الملحقات الاضافية لمنتديات PBBoard على الساحة
فلا تتردد بوضع تجاربك مهما كانت
وسنشير عليك بطريقة تحسينها وكيف تقوم بها على أكمل وجه
لكن عليك ان تكثر من الممارسة والتدريب وبعض من الجهد لتزيد من خبرتك وقدراتك
وبخصوص هذا الهاك مستبدل الكلمات هولا يحتاج إلى كلاس خاص فهو ملحق من المستوى العادي ليس له كثير من المتطلبات لا يأخذ وقت في تنفيذه على المطور المتمرس

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

look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  13-02-2016 02:31 صباحاً   [6]
معلومات الكاتب ▼
انضم في : 31-12-2014
رقم العضوية : 5,837
المشاركات : 62
الدولة : أرض الله الواسعة
الجنس :
قوة السمعة : 400
موقعي : زيارة موقعي
في هذا الرد سأقوم بتحليل الملحق، على بركة الله :
CODE
<?xml version="1.0" encoding="UTF-8"?>

هذا عنصر ثابت وهو خاص بلغة xml
CODE
<plugin name="ملحق مستبدل الكلمات بكلمات أخرى مباشرة بشكل غير نهائي">

هذا اسم الملحق
<version>1.0</version>
اصدار الملحق

CODE
​<description><![CDATA[
<ul>
<li><b>التوافق: PBB3.0.2 فقط ، برمجة: <a href="https://pbboard.info/forums/u1" target="_blank"><font color="green">Soliman</font></b></a></li>
<li><a href="index.php?page=options&hooks=1&mainhooks=1&word_replacer=1"><font color="blue">صفحة استبدال الكلمات</font></a></li>
</ul>
]]></description>


وصف الملحق وقد تم استخدام CDATA لأنه يحتوي على اكواد html وعلامتي < و > ولأنك تريد وضعه على شكل نقاط
وهو يظهر هنا :
rnshj

CODE
​<author>Soliman</author>
<url>pbboard.info</url>

بيانات صانع الملحق

<copyrights><![CDATA[pbboard.info]]></copyrights>
هذا حقوق الملحق ولكن لا ادري اين يظهر (لم اجده في لوحة التحكم )

CODE
<installcode><![CDATA[
$PowerBB->DB->sql_query('INSERT INTO ' . $PowerBB->table['info'] . " SET var_name='wreplacer_first',value='' ");
$PowerBB->DB->sql_query('INSERT INTO ' . $PowerBB->table['info'] . " SET var_name='wreplacer_second',value='' ");
]]></installcode>


هنا تم تطبيق كودين على sql حيث تم إضافة سطرين جديدن في الجدول info وهما wreplacer_first و wreplacer_second

CODE
​<uninstallcode><![CDATA[
$PowerBB->DB->sql_query('DELETE FROM ' . $PowerBB->table['info'] . " WHERE var_name='wreplacer_first' ");
$PowerBB->DB->sql_query('DELETE FROM ' . $PowerBB->table['info'] . " WHERE var_name='wreplacer_second' ");
]]></uninstallcode>


هنا حذف الملحق والكود يقوم بحذف السطرين الذين تم إضافتهما سابقًا في عملية التنصيب

=====================================================

CODE
<admin_templates>

هذي البداية للتعديلات التي تظهر في لوحة الإدارة
CODE
<template name="word_replacer_main.tpl" type="new">


هذا امر انشاء قالب في مجلد cpstyles ثم مجلد template في لوحة تحكم الإدارة واسم ملف يكون word_replacer_main.tpl والملف جديد type="new"

CODE

<text><![CDATA[
<div class="address_bar">{$lang['Control_Panel']} »
<a href="index.php?page=options&hooks=1&mainhooks=1&word_replacer=1">صفحة استبدال الكلمات</a>
</div>

<form action="index.php?page=options&hooks=1&update=1&word_replacer=1" method="post" name="myform">
<table cellpadding="3" cellspacing="1" width="90%" class="t_style_b" border="0" align="center">
<tr>
<td class="main1" colspan="2" align="center">
مستبدل الكلمات أو الجمل
</td>
</tr>
<tr>
<td class="row2" colspan="2" align="center">
يرجى كتابة كل من الكلمات او الجمل التي تريد استبدالها في سطر جديد , تقابلها الكلمات او الجمل البديلة.
</td>
</tr>
    <tr>
        <td class="row1">
        <div align="center">الكلمات او الجمل التي تريد استبدالها<div/>
<textarea name="wreplacer_first" rows="5" cols="50">{$_CONF['info_row']['wreplacer_first']}</textarea>
        </td>
        <td class="row1">
<div align="center">الكلمات او الجمل البديلة<div/>
<textarea name="wreplacer_second" rows="5" cols="50">{$_CONF['info_row']['wreplacer_second']}</textarea>
</td>
    </tr>

<tr>
<td class="main2" colspan="2" align="center">
<input type="submit" value="تنفيذ" />
</td>
</tr>
</table>
</form>


]]></text>


هذا محتوى القالب word_replacer_main.tpl وهو غالبًا لوحة التحكم اللي بالصورة هذي :
MTM0NzI4MQ2727word_replacer

===============================================

بعدها ننتقل للخطاطيف
CODE
​<hook main_place="options_main" place="options_main"><![CDATA[<option value="index.php?page=options&hooks=1&mainhooks=1&word_replacer=1">ملحق مستبدل الكلمات والجمل</option>]]></hook>


هذا الكود يضيف هذا الخيار (مع ارسال القيمة word_replacer :
lnphq

======================
CODE

<hook main_place="mainInfoHooks" place="mainInfoHooks"><![CDATA[
if ($PowerBB->_GET['word_replacer'])
{
$PowerBB->template->display('word_replacer_main');
exit;
}
]]></hook>



هذا الكود يعرض الخيارات حق الهاك في حالة فتحه من الخيارات والطلب التالي :
CODE
index.php?page=options&hooks=1&mainhooks=1&word_replacer=1

وحسب ما فهمته كالتالي :
CODE
if ($PowerBB->_GET['word_replacer'])​


هذا الكود يتأكد ان الطلب فيه word_replacer ضمن الرابط فيقوم بعرض القالب : word_replacer_main.tpl سابقًا كالتالي :
CODE
​$PowerBB->template->display('word_replacer_main');

اما بالنسبة لــ exit; فلم افهم لماذا وضعت هنا رغم ان الكود اكتمل ولا يوجد عمليات بعده

==================================
CODE
<hook main_place="updateInfoHooks" place="updateInfoHooks"><![CDATA[
if ($PowerBB->_GET['word_replacer'])
{
        $update = array();
        $update[0] = $PowerBB->info->UpdateInfo(array('value'=>$PowerBB->_POST['wreplacer_first'],'var_name'=>'wreplacer_first'));
        $update[1] = $PowerBB->info->UpdateInfo(array('value'=>$PowerBB->_POST['wreplacer_second'],'var_name'=>'wreplacer_second'));
        if ($update[0] and $update[1])
        {
            $PowerBB->functions->msg($PowerBB->_CONF['template']['_CONF']['lang']['updated_successfully_Please_wait']);
            $PowerBB->functions->redirect('index.php?page=options&hooks=1&mainhooks=1&word_replacer=1');
        }
        exit;
}
]]></hook>


هذا الكود يتم استدعاؤه عند النقر على طلب التعديل الموجود في القالب word_replacer_main.tpl في الطلب
CODE
​index.php?page=options&hooks=1&update=1&word_replacer=1


ويقوم هذا الكود بحفظ الكلمات وإستبدالاتها في السطرين في جدول info

===========================================

CODE
​<hook main_place="BBCodeParseHooks_cr" place="BBCodeParseHooks_cr"><![CDATA[
$wreplacer_firstf = explode("\r\n",$PowerBB->_CONF['info_row']['wreplacer_first']);
$wreplacer_secondf = explode("\r\n",$PowerBB->_CONF['info_row']['wreplacer_second']);

$text = @str_ireplace($wreplacer_firstf,$wreplacer_secondf,$text);
$text = str_replace($wreplacer_firstf,$wreplacer_secondf,$text);
]]></hook>


وهذا هو اهم خطاف
هذا الخطاف يبدو انه يقوم بعمل BBCode او فحص المواضيع والردود قبل عرضها في الموضوع
وهو يقوم بالتالي :
ينشئ مصفوفة (array) ويحفظها في المتغير $wreplacer_firstf عبر تقسيم الكلمات في السطر wreplacer_first بإستخدام الدالة explode
ويقوم بنفس العملية للسطر wreplacer_second

بعد ذلك يقوم بعمل استبدال للكلمات ( مع تجاهل حالة الاحرف ) عبر استخدام الدالة str_ireplace مع إلغاء عرض الأخطاء فيه بإستخدام علامة @ قبل الدالة
والمفترض ان يتوقف هنا لأنه يكون قد اكمل عمله

ولكن يوجد كود اضافي لا اعرف ما سبب وجوده
str_replace رغم استعمال str_ireplace من قبل وتطبيقه

ولذلك هذا قد يتسبب في مشكلة في حالة الرغبة في استبدال جملة بأخرى فسيتكرر الأمر

مثال :
كلمة " مرحبًا " تصبح " مرحبا بك "
مع تواجد السطرين يصبح "مرحبا بك بك "

لأنه يقوم بأخذ كلمة " مرحبُا " ويقوم بتحويلها إلى " مرحبا بك "
ثم يقوم بأخذ " مرحبًا بك " ويستبدل كلمة " مرحبًا " بكلمة "مرحبًا بك" مرة اخرى
فيصبح "(مرحبًا بك) بك)" فسيظهر في الرد " مرحبًا بك بك "

استغرقت 4 ساعات في كتابة هذا الرد اثناء تحليل الإضافة وقراءة الشرحhttps://pbboard.info/forums/t2539 مع الإستعانة ببعض المصادر على النت

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

look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  13-02-2016 03:35 صباحاً   [7]
معلومات الكاتب ▼
انضم في : 18-07-2009
رقم العضوية : 1
المشاركات : 12,562
الدولة : KSA
الجنس :
الدعوات : 52
قوة السمعة : 74,136
موقعي : زيارة موقعي
تحليل لافت للأعجاب نظرتي بك كانت في محلها
لفت انتباهي ملاحظاتك بخصوص:
- وجود exit والتي هي بالفعل وجودها كعدمها
- معرفتك لأهم خطاف gooood
- معرفتك بامكانية الإستغناء عن احدى دالتي الاستبدال str_replace أو str_ireplace وانصحك باستخدام str_ireplace فقط
- اختبار الاضافة بشكل معمق ومعرفة المشاكل التي قد تحصل وسببها
- واشيد في بحثك واطلاعك على مواضيع الشروحات الخاصة ببرمجة الهاكات والاستعانة ببعض المصادر على النت دون ان تسأل وهذا الأمر الذي فعلته يعتبر من اهم اساسيات المطور الناجح الذي يعتمد على نفسه دون اللجوء إلى الغير وطلب مساعدتهم فهي تساعده في الإبداع والثقة بقدراته.

انت الآن اعتقد فهمت اغلب الأمور الأساسية لبناء ملحق برمجي لمنتديات PBBoard يمكنك الآن البدأ في تطوير هذه الإضافة كأول اضافة برمجية لك والإبداع فيها واضافة المزيد من المميزات لها كيفما تريد والتأكد من عملها على أكمل وجه

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

ننتظر المزيد من ابداعاتك smile
ولا تتردد بطرح اي اسفتسارات عن اي امر بهذا الخصوص

look/images/icons/i1.gif مسيرتي في برمجة ملحقي ( ملحق الإستبدال )
  20-07-2016 03:29 صباحاً   [8]
معلومات الكاتب ▼
انضم في : 21-10-2013
رقم العضوية : 4,457
المشاركات : 30
الدولة : فلسطين
الجنس :
تاريخ الميلاد : 19-11-2000
قوة السمعة : 0
موقعي : زيارة موقعي
الحمد لله واخيرا وجدت الهاك الملوب شكرا لمبرمجين هدا الهاك
الف شكر



المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
برمجة هاك وتركيبه عن طريق الأضافات البرمجية Soliman
49 24483 poda
لدي هاك الخاص بمكتبه الفيديوهات برمجة اخي كريم إبن القنصل
7 454 kareem
اليوم قامت برمجةهاك جديد علاء الجوهرى
1 303 علاء الجوهرى
تعلم برمجة PBBoard البسيطة PhpMax
21 13922 Abduljbbar
طريقة برمجة تعدد الصفحات واضافتها لصفحات موقعك mons
2 660 fatn

الكلمات الدلالية
مسيرتي ، برمجة ، هاكي ، الإستبدال ،









الساعة الآن 08:46 AM