النتائج 1 إلى 5 من 5

الموضوع: التعديل على برامج النيوك لتتوافق مع الإصدارات الحديثة للمجلة

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2004
    المشاركات
    97

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



    تعديل برامج النيوك لتتوافق مع الإصدارات الحديثة

    بسم الله الرحمن الرحيم

    نقاط هامة قبل البدء ..

    1- إذا كانت لديك الخبرة الكافية في قواعد البيانات .. وفي لغة php بإمكانك الاستفادة من هذا الشرح .. في كيفية تحويل اي موديل في مجلة النيوك الى سكريبت مستقل عن النيوك .. لا سيما اذا كنت تملك الوقت الكافي والرغبة الكافية للقيام بذلك.. ولهذا تم الشرح بالتفصيل ..

    2 - بإمكانك الاستفادة من هذا الشرح لتطويع اي سكريبت مستقل .. وتحويله الى موديل للنيوك . ولهذا تم الشرح بالتفصيل ..

    3 - استخدام هذا الشرح لتعديل اي موديل ليعمل على النسخ الحديثة لمجلة النيوك..

    4- مصدر هذا الشرح..
    http://www.alahmedi.com/vb/

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

    سيتم الشرح على موديل البرامج الخاصة (Sections ) .. المتوافق مع نسخة النيوك PHPNuke7.2 ..


    الموديلات في الإصدارات القديمة لمجلة النيوك..

    كان الطابع العام لمجلة النيوك ونظامها للعرض للبرامج المستقلة ( الموديلات) ان يتم وضع هذه البرامج داخل مجلد باسم (modules)..

    *مثلا الموديلات التالية ( Content , Sections , AvantGo) .. كانت توجد دائما داخل مجلد (modules)..
    بعض هذه الموديلات توجد له خيارات في لوحة تحكم النيوك مثل ( Sections ) ومن خياراته في لوحة تحكم النيوك على سبيل المثال ( اضافة مقال .. إنشاء قسم ) .. وبعضها الأخر ليس له خيارات في لوحة تحكم النيوك مثل (AvantGo) ..

    كما كان نظام النيوك في الإصدارات السابقة يضع ملفات هذه الموديلات ذات العلاقة بما يعرض داخل لوحة تحكم النيوك في مجلدات موجودة داخل مجلد باسم ( admin ) .. وهي أربعة ملفات تحمل دائما الأسماء التالية ( case.NameModules.php) (links.NameModules.php ) (NameModules.php ) ( lang-arabic.php ) ..

    مع ملاحظة أن NameModules يعني اسم الموديل ..

    *كما ان ملف lang-arabic.php .. هو ملف واحد يشمل جميع مفردات اللغة المستخدمة في لوحة تحكم النيوك ولجميع الموديلات ..

    بينما الملفات الثلاثة ( case.NameModules.php) (links.NameModules.php ) (NameModules.php ) .. تتكرر لكل موديل بمعنى ان كل موديل له خيارات في لوحة تحكم النيوك تكون له ثلاثة ملفات يتم توزيعها على ثلاثة مجلدات موجودة داخل مجلد ( admin ) ..


    ملف links.NameModules.php.. خاص برابط الموديل لعرض خياراته في لوحة تحكم المشرف العام .. وصورة الموديل .. واسمه .. شاهد الصورة..



    ملف NameModules.php يعتبر الصفحة الرئيسية لخيارات التحكم للموديل ..

    كانت مجلة النيوك في اصداراتها القديمة تعبر عن اسم ملف التحكم الرئيسي للوحة التحكم ( admin.php ) .. بإحدى طريقتين ..

    الطريقة الأولى .. تعبر عن الملف باسمه (admin.php ) ..

    الطريقة الثانية .. تعبر عن الملف من خلال متغير باسم

    كود:
    $adminfilename
    حيث يتم تعريف المتغير في بداية كل دالة .. يتم فيها استخدام المتغير للتعبير عن ملف admin.php



    الموديلات في الإصدرات الحديثة لمجلة النيوك..

    استمر الطابع العام لمجلة النيوك ونظامها للعرض للبرامج المستقلة ( الموديلات ) في وضع هذه الموديلات داخل مجلد (modules).. وتم التغيير في نظام النيوك وعرضها فيما يختص بملفات الموديلات ذات العلاقة بلوحة تحكم النيوك .. حيث تم التغيير كالتالي..

    تم نقل الملفات الأربعة ذات العلاقة بما يعرض داخل لوحة تحكم النيوك لكل موديل داخل مجلد الموديل الخاص بها .. بمعنى اصبح كل موديل مستقل بملفاته ذات العلاقة بما يعرض داخل لوحة التحكم.. حيث تم وضع هذه الملفات داخل مجلد باسم ( admin ) .. وتم وضع مجلد ( admin ) داخل مجلد الموديل الخاص به .. وتكون دائما على المسار التالي..

    modules/NameModules/admin

    حيث NameModules يعني اسم الموديل ..
    في هذا المجلد توضع الثلاثة ملفات ( case.NameModules.php) (links.NameModules.php ) (NameModules.php )


    modules/NameModules/admin/language/lang-arabic.php

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

    سيتضح لك المعنى عندما نقوم بتطبيق خطوات الشرح على الموديل المثال..

    الآن لدينا موديل Sections .. لإصدارة النيوك PHPNuke7.2 .. فكيف نجعل هذا الموديل يتوافق مع الإصدارة الأخيرة ؟

    لعمل ذلك نتبع الخطوات التالية..

    الخطوة الأولى .. نسخ مجلد الموديل Sections إلى داخل مجلد ( modules ) .. للنسخة الحديثة

    الخطوة الثانية .. افتح ملف index.php الموجود داخل مجلد الموديل ( Sections )

    الخطوة الثالثة .. ابحث عن الكود التالي ( دائما تجده في بداية الملف )..

    كود:
    if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
    die ("You can't access this file directly...");
    }

    استبدله بهذا الكود ..

    كود:
    if (!defined('MODULE_FILE')) {
    die ("You can't access this file directly...");
    }
    احفظ التغييرات التي قمت بها ..



    الخطوة الرابعة.. افتح مجلد ( admin ) الموجود في مجلد المجلة الرئيسي للنسخة القديمة.. شاهد الصورة




    الخطوة الخامسة.. افتح مجلد ( links ) .. شاهد الصورة



    الخطوة السادسة.. افتح مجلد (case ) .. شاهد الصورة




    الخطوة السابعة.. افتح مجلد (modules ) .. الموجود داخل مجلد ( admin ) .. *شاهد الصورة



    الخطوة الثامنة .. الآن انتقل إلى مجلد الموديل Sections الموجود داخل مجلد ( modules ) .. الخاص بالموديلات في النسخة الحديثة..

    انشئ داخل مجلد Sections مجلدا باسم admin .. ثم انسخ الملفات الثلاثة التي تم تغييرها داخل المجلد الجديد .. شاهد الصور














    التعديل الأخير تم بواسطة Lost in love ; 08-12-2005 الساعة 01:49 PM سبب آخر: إظهار الصور
    __________________
    http://www.almanalgate.com/
    بوابة المنال
    لخدمات النيوك الاحترافية
    ::الشبكة العربية التعليمية سابقا::


  2. #2
    عضو نشيط
    تاريخ التسجيل
    May 2004
    المشاركات
    97




    الخطوة التاسعة..

    أولا .. افتح ملف links.php .. حدد الكود التالي..

    كود:
    if (($radminsuper==1) OR ($radminsection==1)) {
    adminmenu("admin.php?op=sections", ""._SECTIONSMANAGER."", "sections.gif");
    }
    استبدله بهذا الكود ..

    كود:
    if ( !defined('ADMIN_FILE') )
    {
    die("Illegal File Access");
    }
    global $admin_file;
    adminmenu("".$admin_file.".php?op=sections", ""._SECTIONSMANAGER."", "sections.gif");

    سؤال .. ماهي التغييرات التي قمنا بها في ملف links.php ?

    الجواب .. شاهد صورة للكود الذي تم استبداله ..




    الأكواد التي تم تعليمها بالأخضر هي ما يتم استبداله في اي ملف links.php ..
    ويتم استبدالها دائما بهذا الكود .. شاهد الصورة..





    ثانيا .. افتح ملف case.php .. حدد الكود التالي..


    كود:
    if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }

    استبدله بهذا الكود

    كود:
    if ( !defined('ADMIN_FILE') )
    {
    die("Illegal File Access");
    }
    $module_name = "Sections";
    include_once("modules/$module_name/admin/language/lang-".$currentlang.".php");


    من نفس الملف .. حدد الكود التالي..

    كود:
     include("admin/modules/sections.php");

    استبدله بهذا الكود

    كود:
     include("modules/$module_name/admin/index.php");
    سؤال .. ماهي التغييرات التي قمنا بها في ملف case.php ?
    الجواب .. شاهد الصور







    ثالثا افتح ملف index.php الموجود داخل مجلد ادماين ..

    ابحث عن الكود التالي .. ( في بداية الملف )..

    كود:
    if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
    $aid = trim($aid);
    $result = $db->sql_query("select radminsection, radminsuper from ".$prefix."_authors where aid='$aid'");
    list($radminsection, $radminsuper) = $db->sql_fetchrow($result);
    if (($radminsection==1) OR ($radminsuper==1)) {

    استبدله بهذا الكود ..

    كود:
    if ( !defined('ADMIN_FILE') )
    {
    die("Illegal File Access");
    }
    global $prefix, $db, $admin_file;
    $aid = substr("$aid", 0,25);
    $row = $db->sql_fetchrow($db->sql_query("SELECT title, admins FROM ".$prefix."_modules WHERE title='Content'"));
    $row2 = $db->sql_fetchrow($db->sql_query("SELECT name, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
    $admins = explode(",", $row['admins']);
    $auth_user = 0;
    for ($i=0; $i < sizeof($admins); $i++) {
    if ($row2['name'] == "$admins[$i]" AND $row['admins'] != "") {
    $auth_user = 1; 
    }
    }
    
    if ($row2['radminsuper'] == 1 || $auth_user == 1) {

    في نفس الملف .. يجب ان تقوم بالتالي ..

    البحث عن admin.php ( غالبا تجدها متكررة عدة مرات في الملف )..

    استبدلها بالتالي ..

    كود:
     ".$admin_file.".php

    مع ملاحظة التالي .. أي دالة تقوم فيها بعملية التغيير .. يجب ان تقوم في بدايتها بتعريف المتغير التالي..

    كود:
    $admin_file

    سؤال .. كيف اقوم بتعريف المتغير في بداية الداله ؟

    لمعرفة ذلك شاهد الصورة ..





    إذن..

    كل دالة تبدأ بكلمة function

    السطر التالي لها يبدأ تعريف المتغيرات .. وبداية السطر دائما تكون global .. وهنا يتم تعريف متغير ملف الأدمن وهو .. $admin_file

    نبدأ عملية البحث في الملف عن ( admin.php ) .. ونستبدلها بـ (".$admin_file.".php )

    يتم تعريف المتغير في بداية اي داله لمرة واحده فقط سواء تكررت admin.php في الدالة الواحدة اكثر من مرة او لا .

    ملاحظة : بعض نسخ مجلة نيوك القديمة تستخدم متغير للتعبير عن ملف admin.php .. في هذه الحالة ..

    ابحث عن المتغير التالي:

    كود:
    $adminfilename

    عندما تجد المتغير في بداية الدالة ( في سطر تعريف المتغيرات .. سطر global ) .. استبدله بالمتغير التالي..

    كود:
    $admin_file


    عندما لا يكون المتغير في سطر تعريف المتغيرات .. سطر global .. استبدله بالتالي..

    كود:
    ".$admin_file.".php

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

    modules/NameModules/admin/language/lang-arabic.php

    انقل مفردات اللغة ..

    لم يتم شرح ملف مفردات اللغة لمعرفة الجميع بطريقة عمله ..

    انتهى الشرح

    هذا والله اعلم



    تحياتي
    الأحمدي






    __________________
    http://www.almanalgate.com/
    بوابة المنال
    لخدمات النيوك الاحترافية
    ::الشبكة العربية التعليمية سابقا::

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    953


    مشكور على مجهودك
    لكن الصور لاتظهر فما فهمت شئ ياريت لو تعيد رفع الصور لنستفيد





    __________________
    اللهم لك الحمد و لك الشكر كما ينبغى لجلال وجهك وعظيم سلطانك
    اللهم أحسن خاتمتنا
    اللهم توفنى فى أشرف الزمان والمكان ..
    المصحف المُعلم مجاناً جاهز للتحميل الآن !

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    4,383


    الصور ماتطلع والشغل متعوب عليه






  5. #5
    عضو نشيط
    تاريخ التسجيل
    May 2004
    المشاركات
    97


    ahdaf.net

    Dr.Gix

    شكرا على التنبية تم التعديل والصور ظاهرة الآن..





    __________________
    http://www.almanalgate.com/
    بوابة المنال
    لخدمات النيوك الاحترافية
    ::الشبكة العربية التعليمية سابقا::





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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