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

كود لإستبدال كلمات معينة في المواضيع


مشاهدة المشاركة في الموضوع بالعرض العادي
look/images/icons/i1.gif برمجة ملحق إستبدال كلمات معينة في المواضيع مساعدة
  04-05-2026 09:31 صباحاً  
Soliman
معلومات الكاتب
لا اريد احباطك الاضافة مليئة بالأخطاء وهناك فلسفة ذكاء اصطناعي خارجه عن الايطار وخارطة الطريق ب 180 درجة

ساختصر الملاحظات مع انها كثيرة جدا:
- لغة الاستعلام بقواعد البيانات يفترض ان تستخدم Mysqli وليس PDO 
- لا نقوم بجلب بيانات القاعدة من ملف  includes/config.php في موديل الاضافة بهذه الطريقة يمكنك استخدام هذا فقط include('common.php'); . 
- في عنصر installcode تكتب به استعلامات انشاء الجداول وادخال الاستعلامات وليس موديل الاضافا بالكامل.
هكذا تضيف به الاستعلامات



CODE
<installcode><![CDATA[
$PowerBB->DB->sql_query("CREATE TABLE IF NOT EXISTS ".$PowerBB->prefix."word_replacements (
id INT AUTO_INCREMENT PRIMARY KEY,
search_word VARCHAR(255) NOT NULL,
replace_word VARCHAR(255) NOT NULL,
is_active TINYINT(1) DEFAULT 1,
is_regex TINYINT(1) DEFAULT 0,
case_sensitive TINYINT(1) DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_search (search_word(100)),
INDEX idx_active (is_active)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci");
$PowerBB->DB->sql_query("INSERT INTO " . $PowerBB->prefix . "word_replacements (search_word, replace_word, is_active, is_regex, case_sensitive) VALUES
        ('سيء', 'جيد', 1, 0, 0),
        ('اختبار', 'مثال', 1, 0, 0),
        ('\\b(رديء|سيئ|فظيع)\\b', 'مقبول', 1, 1, 0)");
]]></installcode>



- عند انشاء قالب جديد لاتحتاج لإنشاء وسوم جديدة مثل  body و html و head و meta  بداخله 
- استعلامات الاضافة الجلب والتحديث والحذف كلها تحتاج اعادة كتابة بلغة  Mysqli وليس PDO 
- موديل الاضافة admin_word_replacer.php يجب اعادة كتابة كامل ويرفع بداخل admincp\modulescp ويفضل ان يكون اسمه هكذا  admin_word_replacer.module.php 
مع ان هناك امكانيه لبرمجة هذه الاضافة دون الحاجة لموديل من الأساس وذلك بالاعتماد على hooks او الخطافات تكتبها في ملف الاضافة هكذا 
مثال



CODE

<hooks>
 <hook main_place="mainInfoHooks" place="mainInfoHooks"><![CDATA[
 if ($PowerBB->_GET['word_replacements']) 
 {
 $PowerBB->template->display('replace_words'); 
 }
 
 ]]>
 </hook>
 <hook main_place="updateInfoHooks" place="updateInfoHooks"><![CDATA[
 if (isset($PowerBB->_POST['add_replacement'])) {
 {
 ..... 
 }
 if (isset($PowerBB->_POST['edit_replacement'])) {
 {
 .... 
 }
 ]]>
 </hook>
 </hooks>



انصحك بالاطلاع علي اي هاك او ملحق سابق تجد منها العشرات في قسم الملحقات البرميجة او في المتجر
اقرب مثال ملحق إدارة بادئات الموضوع الملونة للنسخة 3.0.4
اطلع على الموديل كيف تمت كتابته 
اطلع على عناصر  admin_templates في ملف xml للأضافة 
وطبق Request Method لارسال البيانات في القالب 

CODE
<form action="index.php?page=options&amp;hooks=1&amp;mainhooks=1&amp;
word_replacements=1" method="post">

كما يمكنك الارسال باستخدام الأجاكس لأن مكتبة الجيكويري مثبته في القوالب مسبقا

    


الساعة الآن 12:41 PM