آموزش نصب mod در phpBB

شروع موضوع توسط hyper ‏16 سپتامبر 2005 در انجمن phpBB - پی‌اچ‌پی بی‌بی

  1. hyper

    hyper کاربر تازه وارد

    تاریخ عضویت:
    ‏7 اکتبر 2004
    نوشته ها:
    59
    تشکر شده:
    3
    اين مقاله را دوست و استاد عزيزم امیر عباس عبدالعلی ، مدير http://www.persianmind.com نوشته اند


    برای نصب یک mod باید برای شروع اول از دیتابیس پشتیبان بگیرید
    به نظر من این از نصب خود mod هم مهمتره چون اگر احیانا مشکلی پیش بیاد میتونید forum خودتون رو به شکل اول برگردونید
    در کل نصب یک mod کار خیلی خطرناکیه و باید به دقت انجام بشه و غیر از پشتیبان گرفتن شما باید mod مورد نظر خودتون رو یکبار بر روی شبکه محلی (localhost) نصب کنید و در صورت موفقیت آمیز بودن نصب مد , اقدام به نصب mod بر روی forum اصلی خودتون بکنید . از نصب مد به شکل مستقیم و در حالت online به شدت پرهیز کنید .
    برای شروع کار mod مورد نظر رو که دانلود کرده اید رو باز کنید که احتمالا با فرمت txt یا mod خواهد بود البته به احتمال خیلی زیاد اول mod به شکل zip شده هست که باید از حالت فشرده خارجش کنید و با یک نرم افزار ویرایش متن ساده مثل notepad و یا wordpad بازش کنید .

    1 - فرمان " COPY "

    اگر در mod یک چیزی شبیه به این دیدید :

    کد:
    # 
    #-----[ COPY ]------------------------------------------ 
    # 
    copy file.php to file.php 
    copy file.tpl to templates/subSilver/file.tpl 
    این فرمان در این مثال به این معنی هست که شما باید فایل "file.php" رو به پوشه اصلی phpbb کپی کنید و فایل "file.tpl" رو باید به پوشه قالبها منتقل کنید بدون اینکه آنها رو تغییر دهید
    اگر مانند ایم مثال در زیر کلمه copy فقط نام فایل قرار داشت باید فایل را به پوشه اصلی منتقل کنید ولی اگر مسیری را مشخص کرده بود شما باید فایل را در آن مسیر کپی کنید

    2 - فرمان " OPEN "
    اگر در mod به این فرمان برخورد کردید :

    کد:
    # 
    #-----[ OPEN ]------------------------------------------ 
    # 
    common.php 
    در اینجا کار سختی در پیش ندارید و فقط باید فایل مورد نظر را با یک نرم افزار ویرایش متن ساده مثل notepad و یا wordpad باز کنید البته من شدیدا توصیه میکنم برای نصب مد و ویرایش فایلها از نرم افزار dream weaver mx استفاده کنید . همچنین دقت کنید که اگر در زیر فرمان open فقط نام فایل باشد یعنی اینکه آن فایل در پوشه اصلی قرار دارد و اگر مسیری را نوشته باشد , شما باید به آن مسیر را طی کنید و فایل مورد نظر را باز کنید.


    3- فرمان " FIND "

    بعد از فرمان open پر مصرفترین فرمان همین فرمان میباشد و در بیشتر اوقات بعد از فرمان open این فرمان را خواهید دید .

    کد:
    # 
    #-----[ FIND ]------------------------------------------ 
    # around line 184 
    // 
    // Show 'Board is disabled' message if needed. 
    // 
    هنگامی که به این فرمان برخورد کردید باید دنبال آن بخش ار کد که در mod گفته شده بگردید و آن را پیدا کنید . در بعضی از mod ها حدود تقریبی قرار گیری آن بخش از کد در mod گفته میشه مثل همین مثال که گفته شده این بخش در حدود خط 184 قرار دارد و شما باید دنبال این بخش از کد در حدود خط 184 بگردید :

    کد:
    // 
    // Show 'Board is disabled' message if needed. 
    // 
    دقت کنید که خطوطی که با # شروع میشود مربوط به mod بوده و نباید آنها را به حساب بیاورید . درست مثل مثال بالا

    4 - فرمان " BEFORE ADD "

    اگر در mod مورد نظر به این فرمان برخورد کردید :

    کد:
    # 
    #-----[ BEFORE, ADD ]-------------------------------------- 
    # 
    include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx); 
    در اینجا باید کد مورد نظر را که در mod ذکر شده دقیقا در یک خط قبل از بخش کدی که پیدا کرده بودیم , کپی کنیم
    در مثال قبل ما یک بخش از کد را در یک فایل در حدود خط 184 پیدا کردیم و حالا این بخش از کد را درست یک خط قبل از آن اضافه میکنیم
    و کد مورد نظر برای مثال ما میشود :

    کد:
    include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx);  <- 
    این بخشی از کد است که به یک خط قبل اضافه کردیم

    کد:
    // 
    // Show 'Board is disabled' message if needed. <- این بخشی است که جستجو کرده بودیم 
    // 
     
    5 - فرمان " AFTER ADD "

    کد:
    # 
    #-----[ AFTER, ADD ]------------------------------------------ 
    # 
    include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx); 
     
    این فرمان درست شبیه به فرمان قبل میباشد ولی با این تفاوت که به جای اینکه کد مورد نظر را به خط قبلی اضافه کنیم , باید بخش کد را به خط بعدی کپی کنیم و برای مثال ما میشود به این شکل :

    کد:
    include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/' . $lang_file . '.' . $phpEx);  <- بخش کدی که جستجو کرده بودیم 
    include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx);  <- بخش کدی که به خط بعدی اضافه کردیم  
    6 - فرمان " REPLACE WITH "

    کد:
    # 
    #-----[ REPLACE WITH ]------------------------------------------ 
    # 
    <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}> 
    این فرمان همیشه با فرمان find همراه میشه و هرگاه به این فرمان برخورد کردید باید آن بخش کدی را که در فرمان find پیدا کرده بودید را پاک کنید و با کدی که در این فرمان قرار دارد , جایگزین کنید . برای مثال :

    کد:
    # 
    #-----[ FIND ]--------------------------------------------- 
    # around line 225 
    <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)"> 
    
    # 
    #-----[ REPLACE WITH ]--------------------------------------- 
    # 
    <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}> 
    در مثال بالا در فرمان find شما باید خط مورد نظر را پیدا کنید که و با تکه کدی که در فرمان replace with گفته شده است , جایگزین کنید . درست به این شکل :

    کد:
    form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)"> 
    به عنوان مثال در بالا من این بخش از کد را که در فرمان find گفته شده بود پیدا کردم


    کد:
    <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}> 
    حالا در فرمان replace گفته شده که من این بخش از کد را جایگزین کد قبلی کنم . به خط بالا دقت کنید

    کد:
    <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}> 
    حالا من کد قبلی را حذف کردم و کد جدید را جایگزین کد قبلی کردم درست مثل مثال بالا

    7 - فرمان " IN-LINE FIND "

    این فرمان درست بعد از فرمان find استفاده میشه :

    کد:
    # 
    #-----[ IN LINE FIND ]------------------------------------------ 
    # 
    t.topic_title,  
    برای درک بهتر من یک مثال کاملتر میزنم

    کد:
    # 
    #-----[ FIND ]------------------------------------------ 
    # 
    $select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; 
    # 
    #-----[ IN-LINE FIND ]------------------------------------------ 
    # 
    t.topic_title, 
    این فرمان به شما میگه که باید دنبال یک تکه کد کوچکتر در خطی که با فرمان find پیدا کرده بودید , بگردید . برای مثال من این تکه کد رو که فرمان find گفته شد رو پیدا کردم . به مثال دقت کنید

    کد:
    $select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : '';  
    حالا که این بخش را پیدا کردم به فرمان inline find دقت میکنم به مثال دقت کنید .

    کد:
    t.topic_title, 
    حالا من باید این تکه کد بسیار کوچک را در خطی که پیدا کرده بودم جستجو کنم و پیدایش کنم


    8 - فرمان " IN-LINE AFTER , ADD "

    این فرمان به این شکل خواهد بود

    کد:
    # 
    #-----[ IN-LINE AFTER, ADD ]------------------------------------------ 
    # 
    t.topic_desc, 
    این فرمان به ما میگه که شما باید با توجه به فرامین قبل بخشی از کد را پیدا کرده باشدی و با توجه به فرمان inline find باید بخش کوچکی از کد را هم پیدا کرده باشید و حالا باید این بخش از کد را که در این فرمان قرار دارد درست بعد از آن قسمت از کد که در فرمان inline find پیدا کرده بودید , اضافه کنید . به مثال دقت کنید

    کد:
    # 
    #-----[ FIND ]------------------------------------------ 
    # 
    $select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; 
    # 
    #-----[ IN-LINE FIND ]------------------------------------------ 
    # 
    t.topic_title, 
    # 
    #-----[ IN-LINE AFTER, ADD ]------------------------------------------ 
    # 
    t.topic_desc, 
    حالا با توجه به فرمان find من باید این خط را پیدا کنم که در زیر مینویسم

    کد:
    $select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; 
    حالا بعد از پیدا کردن این خط با توجه به فرمان inline find باید کدی را که در زیر مینویسم پیدا کنم

    کد:
    t.topic_title, 
    حالا بعد از اینکه این قسمت از کد را در خط قبلی پیدا کردم باید به فرمان inline after add عمل کنم و تکه کدی را که در زیر مینویسم به بعد از تکه کد قبلی اضافه کنم

    کد:
    t.topic_desc,  
    حالا باید تکه کد اصلی شما به شکل زیر شده باشد :

    کد:
    $select_sql = ( !$submit ) ? ", t.topic_title, t.topic_desc, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; 
    9- فرمان " IN-LINE BEFORE , ADD "

    این فرمان دقیقا شبیه به فرمان قبل است با این تفاوت که , تکه کد مود نظر به قبل از کد جستجو شده اضافه میشود و نه بعد از آن .

    کد:
    # 
    #-----[ IN-LINE BEFORE, ADD ]------------------------------------------ 
    # 
    , $topic_desc 
    مثال :

    کد:
    # 
    #-----[ FIND ]------------------------------------------ 
    # 
    prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length); 
    # 
    #-----[ IN-LINE FIND ]------------------------------------------ 
    # 
    $poll_length) 
    # 
    #-----[ IN-LINE BEFORE, ADD ]------------------------------------------ 
    # 
    $topic_desc, 
    برای مثال فرض بگیرید ما یک بخش کد را که در فرمان find گفته شده بود پیدا کردم . مثال زیر :

    کد:
    prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length); 
    حالا با توجه به فرمان inline find هم تکه کدی را در این خط پیدا کرده ام ( مثال پایین )

    کد:
    $poll_length) 
    حالا با توجه به فرمان inline fine before , add باید تکه کدی که در این فرمان قرار دارد را دقیقا در قبل از تکه کد جستجو شده اضافه کنم

    کد:
    $topic_desc, 
    حالا بعد از اتمام کار تکه کد اصلی شما باید به شکل زیر باشد :
    کد:
    prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $topic_desc, $poll_length); 


    10 - فرمان " SQL "

    این فرمان برای دستکاری و ویرایش بانک اطلاعاتی می باشد و در mod ها به شکل زیر است :

    کد:
    # 
    #-----[ SQL ]------------------------------------------ 
    # 
    ALTER TABLE phpbb_topics ADD topic_desc varchar(255) DEFAULT '' AFTER topic_title 
    با استفاده از این فرمان میتوانید فیلدها و یا تیبلهایی را به دیتابیس اضافه کنید و یا تغییراتی را ایجاد کنید
    برای اجرای این فرمان باید وارد cpanel سایت خودتان شوید و وارد phpmyadmin شوید
    در آنجا در سمت چپ و پایین صفحه ( در نسخه های قدیمیتر ) یک لینک میبینید به نام Query window که در نسخه های جدید به یک دکمه بسیار کوچک در سمت چپ و بالای صفحه تبدیل شده
    باید بر روی این لینک کلیک کنید تا پنجره query باز شود و شما یک پنجره خواهید دید که یک بخش دارد که در آن این کد قرار دارد

    کد:
    SELECT * FROM `phpbb_words` WHERE 1 
    حالا شما این یک خط کد را به طور کامل از آن پنجره پاک کنید و آن کدی که در mod در قسمت SQL قرار داشت را در این پنجره کپی کنید و دکمه Go را بزنید به عنوان مثال کد زیر

    کد:
    ALTER TABLE phpbb_topics ADD topic_desc varchar(255) DEFAULT '' AFTER topic_title  
    بعد از انجام این قسمت میتوانید این پنجره را ببندید و از cpanel خارج شوید .
    این بخش از هر mod تنها بخشی هستش که فقط باید به شکل آنلاین اجرا بشه و به همین خاطر خطرناکترین بخش هر mod محسوب میشه


    11 - فرمان " SAVE/CLOSE ALL FILES "

    هرگاه به این فرمان رسیدید باید تمام فایلهایی که تغییر داده بودید را save کنید و ببندید و به سایتتان آپلود کنید ( البته اگر mod را بر روی localhost نصب کرده بودید ) . اگر بعد از نصب مد با پیغام خطا مواجه شدید باید تمای فایلهایی را که تغییر داده بودید را باز بینی کنید تا اگر مشکلی بود آن را برطرف کنید .

    باز هم تاکید میکنم که قبل از نصب هر mod به طور کامل از دیتابیس خود پشتیبان تهیه کنید

    فکر کنم از وقتی که phpbb اومده , کسی مثل من نصب مد رو به طور کامل توضیح نداده بوده

    امیدوارم مفید بوده باشه
    موفق باشید
     
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal