[ مجموعه مقالات phpBB ] : آشنايي و آموزش ها
با سلام
در اين مقاله سعي خواهم كرد تا بزبان ساده و با ابزار موجود نحوه فارسي كردن قالب هاي phpBB رو توضيح بدم
لازم به توضيح است كه پيش از اين ، اساتيد بنده هم به نوعي در اين مورد سعي و تلاش كرده اند و بنده در اين مقوله سعي كرده ام كه چكيده مطالب مفيد آنها را هم لحاظ كنم ...
سطح اين آموزش متوسط است و شما به فرض داشتن آشنايي مختصري به phpBB ميتوانيد دستورالعمل هاي آن را بكار بسته و عملي كنيد
به عنوان مقدمه بهتر است به معرفي مراحل كار بپردازيم :
1. دريافت قالب مورد نظر
2. ايجاد تغييرات لازم در فايل هاي مربوطه و افزودن امكان فارسي نويسي
3. تغيير جهت و فارسي كردن كنترل پنل ادمين ( راست چين كردن )
4. طراحي و ايجاد موضوعات گرافيكي به زبان فارسي از قبيل كليدها و ...
5. تغيير فونت هاي مورد استفاده در قالب
6. نصب و استفاده از قالب مورد نظر
بسيار خوب كارمون رو شروع كنيم :
1. براي دريافت قابل بهترين منبعي كه ميتونم معرفي كنم و احتمالا خيلي ها هم به آن آشنايي دارند اين آدرس است :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
شما ميتوانيد قالب مورد نظر خود را از آدرس فوق انتخاب و دريافت نماييد
خوشبختانه در اين مرجع قالب ها دسته بنده شده و همچنين امكان پيش نمايش رو هم دار خواهيد بود ، اين موضوع ميتونه در انتخابتون كمك بسزايي بكنه ...
2. فايل هاي قالب phpBB فايلهاي با پسوند tpl. و در فولدرهايي مجزا و هم نام با قالب و در شاخه templetes هستند
پيش از هركاري بايد امكان فارسي نويسي ( تعريف كليدها فارسي ) رو انجام بديم
براي اين كار نياز به كدهاي جاوا اسكريپت داريم
از آنجايي كه فايل overall_header.tpl در تمامي صفحات انجمن وجود دارد و تكرار ميشود ( قسمت بالاي صفحات ) ، بهترين محل براي قرار دادن كد هاي لازم است
كد زير رو ( در ابتداي فايل ) يافته
کد:
dir="{S_CONTENT_DIRECTION}"
و اين كد رو جايگزين آن كنيد :
حالا كافيست اين كد رو پيش از اضافه كنيم :
کد:
<script language="javascript" type="text/javascript">
var lang = 1; // 1: Farsi, 0: English
// Farsi keyboard map based on ISIRI-2901
var farsikey = [
0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF,
0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
0x0038, 0x0039, 0x003A, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F,
0x066C, 0x0624, 0x200C, 0x0698, 0x0649, 0x064D, 0x0625, 0x0623,
0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,
0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,
0x0058, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D7, 0x0640,
0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644,
0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E,
0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,
0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E ];
function changeLang() {
if (lang == 0) {
lang = 1;
return true;
}
else {
lang = 0;
return true;
}
}
function FKeyDown (txtFrm){
var key = window.event.keyCode;
if (key == 145){
if (lang == 0) {
lang = 1;
return true;
}
else {
lang = 0;
return true;
}
}
}
function FKeyPress(txtFrm) {
var key = window.event.keyCode;
if (key == 13) { window.event.keyCode = 13; return true; }
if (key == 0x06cc) {
window.event.keyCode = 0x064a;
}
if (lang == 1) { // If Farsi
if (key == 0x0020 && window.event.shiftKey) // Shift-space -> ZWNJ
window.event.keyCode = 0x200C;
else
window.event.keyCode = farsikey[key - 0x0020];
if (farsikey[key - 0x0020] == 92) {
window.event.keyCode = 0x0698;
}
if (farsikey[key - 0x0020] == 8205) {
window.event.keyCode = 0x067E;
}
}
return true;
}
</script>
با اين كار در واقع كليد ScrolLock رو براي تعويض بين حالت فارسي و انگليسي تعريف كرده ايم
نقشه صفحه كليد در اين حالت براساس استاندارد ISIRI-2901 است كه متداول ترين صفحه كليد مورد استفاده فارسي مي باشد
توجه كنيد كه طبق اين كد پيش فرض نگارش در فيلدهايي كه بعدا تغيير خواهيم داد ، فارسي خواهد بود
اگر تمايل به انگليسي كردن پيش فرض نگارش در فيلدها باشيد كافيست در قسمت
کد:
var lang = 1; // 1: Farsi, 0: English
عدد 0 رو جايزگين 1 كنيد ، يعني :
کد:
var lang = 0; // 1: Farsi, 0: English
حالا بايد بريم سراغ جداول ( tables )
در تمامي فايل هاي قالب ( فايل هاي با پسوند tpl. ) به دنبال خطوطي كه حاوي اين كد هستند ميگرديم :
کد:
<table ...................
و در كنار آن عبارت زير رو اضافه ميكنيم :
يعني به عبارتي اگر كدي مثلا به اين شكل داشته باشيم :
کد:
<table class="forumline" width="95%" cellspacing="1" cellpadding="4" border="0">
بايد به اين شكل تغيير يابد :
کد:
<table dir="rtl" class="forumline" width="95%" cellspacing="1" cellpadding="4" border="0">
مرحله بعدي تعويض كدهاي left و right است
باز هم در تمامي فايل هاي قالب ، كدهاي
رو يافته و كد رو به
تغيير ميديم
همچنين همه كدهاي
رو يافته و به كد
تغيير ميديم
اين قسمت شايد مهمترين قسمت كار باشه
چرا كه تنيجه عملكرد فوق اينجا خودش رو نشون ميده ...
در اين قسمت بايد امكان نوشتن فارسي در فيلد ها رو ايجاد كنيم
عمده فيلد هاي مورد استفاده جهت نگارش input و textarea هستند
در تمامي فايل هاي قالب ، عبارات textarea و input رو يافته و كدهاي
کد:
onKeyDown="FKeyDown();" onkeypress="FKeyPress();"
رو به اون اضافه ميكنيم
به عنوان مثال اگر در مورد input كدي مشابه اين داشته باشيم
کد:
<input class="post" type="text" name="username" size="10"/>
به اين شكل تغيير ميكنه :
کد:
<input class="post" type="text" name="username" size="10" onKeyDown="FKeyDown();" onkeypress="FKeyPress();"/>
ويا در مورد textarea اگر كدي شبيه اين داشته باشم
کد:
<textarea name="message" rows="15" cols="35" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" >
به اين شكل تغيير ميكنه :
کد:
<textarea name="message" rows="15" cols="35" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onKeyDown="FKeyDown();" onkeypress="FKeyPress();">
(( لازم به ذكر است كه كدهاي مذكور رو به شكلي ديگري هم ميتوان بكاربرد كه به دليل جلوگيري از پيچيده گي موضوع و عدم ضرورت به آن نمي پردازم ... ))
نكته مهم :
در تمامي مودهايي كه در phpBB افزوده ميشود ، نحوه فارسي كردن فيلدهاي موجود در آنها به همين ترتيب فوق است
به اين معني كه ميتوانيد براي فارسي كردن فيلدهاي مورد اشاره در مودي كه نصب ميكنيد با افزودن كدهاي
کد:
onKeyDown="FKeyDown();" onkeypress="FKeyPress();"
به فيلدهاي نوشتاري آن ، به راحتي امكان فارسي نوشتن را به آنها بيافزايد ...
اخطار :
هرگز كدهاي فوق رو در مورد فيلدهايي نظير فيلدهاي دريافت آدرس ايميل و آدرس وب سايت و مخصوصا فيلد دريافت كلمه رمز كاربران ، بكار نبريد
عدم توجه به اين مورد قطعا شما رو با مشكلات جدي مواجه خواهد كرد ...
3. براي فارسي كردن كنترل پنل مدير phpBB هم روندي مشابه موارد فوق را اجرا ميكنيم ، با اين تفاوت كه بجاي فايل overall_header.tpl فايل page_header.tpl در فولدر admin قالب رو ويرايش و كدهاي لازم رو به اون اضافه ميكنيم
همچنين امكان نگارش فارسي رو هم - مطابق موارد فوق - به فيلدهاي مورد نظر در فايل هاي متفاوت فولدر admin اضافه ميكنيم
و اما تغيير جهت كنترل پنل مديريت :
در فولدر admin فايل index_frameset رو يافته و ويرايش ميكنيم
كد زير رو پيدا كرده
کد:
<frameset cols="170,*" rows="*" border="2" framespacing="0" frameborder="yes">
<frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto">
<frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto">
</frameset>
و كد رو جايگزين ميكنيم
يعني در نهايت كداصلي به اين شكل در خواهد آمد :
کد:
<frameset cols="*,170" rows="*" border="2" framespacing="0" frameborder="yes">
<frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto">
<frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto">
</frameset>
سپس كدهاي زير رو يافته
کد:
<frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto">
<frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto">
و جاي خط اول و دوم رو با هم عوض ميكنيم
يعني در نهايت اين :
کد:
<frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto">
<frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto">
4. براي فارسي كردن كليدها و نمادهاي گرافيكي در شاخه قالب ، فولدري بنام lang_farsi بسازيد
فايل هاي تصويري موجود در شاخه lang_english رو درون آن كپي كرده و توسط نرم افزار گرافيكي مثل PhotoShop يا هر نرم افزار ديگري كه تمايل داريد ، متون رو به فارسي تغيير دهيد
همچنين در صورت تمايل ميتونيد از نمادهاي گرافيكي كه قبلا فارسي شده اند و در دسترس ميباشند استفاده كنيد
توجه كنيد كه اين كار به سليقه خودتان بستگي دارد و البته از كليدهاي انگيليسي هم ميتونيد استفاده كنيد و در اين صورت اشكالي در روند استفاده از قالب ايجاد وجود نخواهد داشت ...
5. فونت هاي مورد استفاده در قالب در فايلي همنام با قالب و با پسوند css. تعريف شده اند
فايل رو ويرايش كرده و فونتهايي نظير Arial و Courier و Courier New و ... را به Tahoma تغيير دهيد
6. براي نصب و استفاده از قالب ها از دستور العمل زير استفاده كنيد :
. فولدر حاوي قالب رو در شاخه templates فروم كپي كنيد
. وارد بخش مديريت phpBB شده و در قسمت مديريت استايل ها ، گزينه اضافه كردن رو انتخاب كنيد
. در صفحه مربوطه گزينه نصب در مقابل نام template رو انتخاب كنيد
. به صفحه اصلي بازگرديد و در قسمت مشخصات فردي قالب مورد نظر رو انتخاب كنيد
نكته مهم :
در صورتي كه در تنظيمات مديريت > پيكربندي سيستم > آيا همه كاربران نيز اجبارا از اين استيل استفاده كنند ؟
گزينه بله انتخاب شده باشد ، علارغم اينكه قالب هاي متعددي نصب كرده باشيد ، كاربران امكان استفاده از آنها را نخواهند داشت
و تنها قالبي كه در همان قسمت به عنوان پيش فرض تعيين شده است قابل دسترسي خواهد بود
[ مقالات phpBB ] : آموزش نصب و راه اندازي انجمن - لوكال هاست
[ مقدمه ]
با سلام
از امروز آموزش نصب و راه اندازي phpBB رو بروي local host شروع ميكنم
سطح اين آموزش متوسط است و براي يادگيري آن ، الزامي به دانستن زبان برنامه نويسي php نداريد
ولي حداقل مي بايست به يك زبان برنامه نويسي مسلط باشيد و ساختار بانك هاي اطلاعاتي را بشناسيد
>> توجه داشته باشيد كه اگر چه دانستن زبان برنامه نويسي php الزامي نيست ، ولي شما با عدم آگاهي از آن عملا براي خود سقف تعيين كرده ايد . يعني در جايي كه مجبور به انجام مورد خاصي هستيد ، بدليل عدم آشنايي متوقف خواهيد شد .
درست مثل جوجه هكرها كه با چند نرم افزار آماده ، به قول خودشون هك ميكنند ( البته فقط ID هاي ياهو رو )
هيچكدوم از اين حضرات عملا خلاقيتي ندارند . به دليل اينكه با ساختار اين مقوله و ابزار بنيادي لازم آن آشنا نيستند و ...
بنابراين در صورتي كه به زبان php آشنا نيستيد ، خوب است كه خودآموزي تهيه كنيد و دست كم ساختار و syntax اين زبان قدرتمند رو بشناسيد
اين فرصت خوبيست !
باور كنيد كه در راستاي راه اندازي و بهينه سازي phpBB عملا ظرف مدت كوتاهي تجربيات خوبي كسب كرده و ميتوانيد مدعي تسلط بر اين زبان باشيد !
در اين سري دروس ، سعي خواهم كرد كه با زبان ساده مفاهيم را توضيح دهم به شكلي كه حتي افرادي كه تابحال نام Server به گوششان نخورده هم بتوانند از آن استفاده كنند ...
نسخه اي از phpBB كه به آن ميپردازيم ، نسخه 2.0.11 ( جديدترين ) بوده كه ميتوانيد آنرا از سايت رسمي phpBB دريافت كنيد :
همچنين فايلهاي زبان فارسي را هم ميتوانيد از همان ليست ( صفحه دانلود ) دريافت كنيد
نرم افزار ديگري كه براي كار با phpBB بروي local host احتياج داريد ، نرم افزار شبيه ساز سرور است ( در جاي خودش توضيح خواهم داد )
انواع مختلفي از اين نرم افزار وجود دارد كه به تصور من بهترين و ساده ترين آنها Easyphp1-7 است
اين نرم افزار را هم ميتوانيد از اينترنت به صورت رايگان دريافت كنيد :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بسيار خوب
حالا شما همه ابزار لازم براي نصب و راه اندازي phpBB را داريد
اين ابزار شامل موارد زير ميباشند :
1. سورس phpBB 2.0.11
2. فايلهاي زبان فارسي
3. نرم افزار شبيه ساز سرور آپاچي Easyphp1-7
4. ويرايشگر سورس كد ( DreamWeaver ، DzSoft php Editor و ZendStudio بهترين هستند ولي از Notepad هم حتي ميتونيد استفاده كنيد )
ويرايشگرDzSoft php Editor رو بدليل سهولت عملكرد توصيه ميكنم :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
5. ويندوز XP ( الزامي براي استفاده از ويندوز xp وجود ندارد ولي طبيعتا اين ويندوز براي كار ما بهترين است )
در درس اول به توضيح مفهوم سرور و نحوه راه اندازي و تنظيمات آن خواهيم پرداخت
پس تا بعد ...
موفق باشيد
[ مقالات phpBB ] : آموزش نصب و راه اندازي انجمن - سرور
با سلام
در ادامه مباحث آموزشي نصب و راه اندازي phpBB بروي لوكال هاست
به نصب phpBB بروي Server ميرسيم
قطعا منظور ما از استفاده phpBB بروي localhost ، آشنايي و رفع اشكال و انجام تغييرات لازم و دلخواه است و عمدتا phpBB براي اجرا بروي سرور استفاده ميشود
( ناگفته نماند كه خودم تابحال phpBB راي بروي دو شبكه محلي - هم Server Clinet و هم peer to peer - نصب و اجرا كرده ام )
براي راه اندازي و اجراي phpBB بروي سرور ، مراحل كار رو به شكل زير دسته بندي ميكنيم
1. دريافت سورس phpBB و فايلهاي زبان فارسي
2. انتقال اين سورس و فولدر زبان بروي سرور
3. خارج كردن فايلها از حالت فشرده
4. ايجاد DataBase
5. ايجاد نام كاربري DataBase
6. برقراري ارتباط ميان نام كاربري و ديتابيس تعريف شده
7. نصب و راه اندازي و تنظيمات نهايي phpBB
در مورد دريافت فايلها و افزودن فولدر زبان فارسي كه به تفصيل در درس راه اندازي phpBB بروي localhost توضيح داده شد
بنابراين به سراغ مرحله دوم ميرويم
قبل از هرچيز بوسيله يك برنامه ftp فايلهاي سورس و زبان را به سرور منتقل كنيد
توصيه ميكنم براي اينكار ابتدا يك ساب دومين ( subdomain ) در سايت خود ساخته و فايلها را به فولدر ساخته شده بفرستيد
براي ساختن ساب دومين ميبايست به شكل زير عمل كنيد
1. وارد cpanel سايت شويد
2. گزينه subdomains را انتخاب كنيد ( مطابق شكل )
3. در صفحه بعدي به عنوان مثال نام forum رو بعنوان نام ساب دومين وارد كرده و كليد Add را بفشاريد ( مطابق شكل )
درصفحه بعدي پيغامي مبني بر ساخته شده ساب دومين دريافت خواهيد كرد ( مطابق شكل )
خوب حالا روي سرور شما در فولدر www فولدر ديگري بنام forum ساخته شده است
فايل هاي سورس و زبان را از طريق برنامه ftp ( مثل WS_FTP Pro يا Cute_FTP ) به اين فولدر منتقل كنيد و از حالت فشرده خارج نماييد
( ميتوانيد خارج كردن فايل ها از حالت فشرده را روي دستگاه خود هم انجام دهيد و بعدا فايل ها را منتقل كنيد ، كه البته اين كار طبيعتا زمان زيادتري را صرف خواهد كرد )
در ادامه به حساس ترين قسمت كار ميرسيم
يعني ساخت DataBase و UserName و ايجاد ارتباط بين اينها ...
از cpanel گزينه MySQL DataBases را برگزينيد ( مطابق شكل )
در صفحه بعدي به عنوان مثال نام phpbb_forum را براي ديتابيس انتخاب و كليد Add را بفشايد ( مطابق شكل )
پيغامي مبني بر ايجاد ديتابيس با نام وارده ( phpbb_forum ) دريافت ميكنيد
حالا نوبت ساخت يك username است
با كليد Go Back به صفحه قبلي بازگرديد و
در قسمت Users نام كاربري دلخواه ( به عنوان مثال Admin ) را بعنوان username وارد كنيد و كليد Add User را بفشاريد
پيغامي مبني بر ساخته شده username و password داده ميشود
( فراموش نكنيد كه ما پسوردي وارد نكرديم )
خوب داستان به همينجا ختم نميشود
بعد از ساخت DataBase و UserName ميبايست UseName رو به DataBase بيفزاييد
يعني امكان برقراري ارتباط با DataBase از طريق يك نام كاربري را فراهم كنيد
براي اينكار از قسمت مربوطه UserName و DataBase را انتخاب و كليد Add User to Db را بفشاريد ( مطابق شكل )
پيغامي مبني بر افزوده شدن UserName به DataBase دريافت خواهيد كرد
خوب تقريبا همه چيز تمام شد
باقي مراحل هم كه تا اندازه زيادي مانند نصب و راه اندازي بروي localhost است با
اين تفاوت كه :
1. در localhost از نام كاربري root در زمان نصب و تنظيمات اولبه phpBB استفاده ميكرديم
اينجا بايد نام كاربري كه خومان ساختيم را وارد كنيم
2. در مورد DataBase هم كه در localhost ( طبق دروس قبل ) ديتابيسي تحت عنوان local ساختيم و از آن استفاده كرديم
ولي اينجا ديتابيسي تحت نام phpbb_forum ساختيم و طبيعتا از همين استفاده ميكنيم
( اگر دروس قبلي - نصب بروي localhost - را بياد داشته باشيد ، حتما متوجه شده ايد كه طريقه ايجاد DataBase بروي localhost و server تفاوت زيادي دارد ... )
آدرس فروم را در نوار آدرس اكسپلورر وارد كنيد
مثلا : (
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
)
صفحه خوش آمدگويي نصب phpBB را خواهيد ديد
گزينه هاي لازم را انتخاب و پر كرده و عمل نصب را به پايان برسانيد
فولدرهاي install و contrib را از روي سرور حذف كنيد و
از phpBB لذت ببريد ...
شاد و پيروز باشيد
[ مقالات phpBB ] : آموزش SQL query يا افزودن مقادير به ديتابيس
Run SQL query/queries on database
سلام
در اين مقاله سعي خواهم كرد تا نحوه افزودن مقادير به ديتابيس در localhost يا server را توضيح دهم
از اين دستور العمل عمدتا در زمان نصب مودها بروي phpBB و افزودن امكانات جديد استفاده ميشود
هنگامي كه دستورالعمل نصب را اجرا ميكنيم
ممكن است با دستوراتي شبيه اينها مواجه شويم :
کد:
CREATE TABLE phpbb_pa_cat (
cat_id int(10) NOT NULL auto_increment,
cat_name text,
cat_desc text,
cat_parent int(50) default NULL,
parents_data text NOT NULL,
cat_order int(50) default NULL,
cat_allow_file tinyint(2) NOT NULL default '0',
cat_files mediumint(8) NOT NULL default '-1',
cat_last_file_id mediumint(8) unsigned NOT NULL default '0',
cat_last_file_name varchar(255) NOT NULL default '',
cat_last_file_time INT(50) UNSIGNED DEFAULT '0' NOT NULL,
auth_view tinyint(2) NOT NULL default '0',
auth_read tinyint(2) NOT NULL default '0',
auth_view_file tinyint(2) NOT NULL default '0',
auth_upload tinyint(2) NOT NULL default '0',
auth_download tinyint(2) NOT NULL default '0',
auth_rate tinyint(2) NOT NULL default '0',
auth_email tinyint(2) NOT NULL default '0',
auth_view_comment tinyint(2) NOT NULL default '0',
auth_post_comment tinyint(2) NOT NULL default '0',
auth_edit_comment tinyint(2) NOT NULL default '0',
auth_delete_comment tinyint(2) NOT NULL default '0',
PRIMARY KEY (cat_id)
) TYPE=MyISAM;
يا
کد:
INSERT INTO phpbb_config values ('nav_pic1', 'images/navpics/faq.GIF' );
INSERT INTO phpbb_config values ('nav_text1', 'FAQ' );
INSERT INTO phpbb_config values ('nav_link1', 'faq.php' );
INSERT INTO phpbb_config values ('nav_pic2', 'images/navpics/search.GIF' );
يا
کد:
ALTER TABLE phpbb_users ADD user_teamtitle VARCHAR (100),
ADD user_realname VARCHAR (100),
ADD user_adress VARCHAR (255),
ADD user_birth TINYINT (2),
ADD user_photo VARCHAR (255),
ADD user_slogan VARCHAR (255),
ADD user_topt_title VARCHAR (100),
ADD user_topt_text VARCHAR (255),
ADD user_teamdesc_title VARCHAR (100),
ADD user_teamtext TEXT,
ADD team_website TINYINT (1),
ADD team_email TINYINT (1),
ADD team_pm TINYINT (1);
و يا
کد:
INSERT INTO phpbb_config (config_name, config_value) VALUES ('bin_forum', '0');
خوب اينها همگي دستورات SQL هستند و اما ...
1. ابتدا phpmyadmin را اجرا ميكنيم ( تصويري نظير اين را بروي صفحه مانيتور خواهيد ديد )
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در سمت چپ گزينه انتخاب ديتابيس وجود دارد
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ما دراين مثال ديتابيسي بنام phpbb رو انتخاب ميكنم
در اين حالت گزينه ها و امكانات لازم براي عملكرد بروي دستابيس در اختيارمان قرار ميگيرد ( مطابق تصوير )
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در اين مقاله گزينه SQL در سمت راست و بالاي صفحه مد نظر ماست
با انتخاب گزينه تصويري مطابق زير خواهيم داشت
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
1.
همه اين راه را آمديم تا به اينجا برسيم !
اين جعبه متني محل وارد كردن مقادير لازم است
مقادير نظير
کد:
INSERT INTO phpbb_config (config_name, config_value) VALUES ('bin_forum', '0');
كه در ابتدا توضيح دادم
مقادير لازم را ازدستورالعمل نصب انتخاب ، كپي كرده و در اين جعبه متني پيست ميكنم
و سپس كليد Go را مي فشاريم
من همين مقدار رو وارد ميكنم و ... ( مطابق شكل )
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نتيجه اين خواهد بود :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور به درستي انجام شده و مقدار لازم به ديتابيس افزوده شده است
در صورتي كه دستور بدرستي انجام نميشد پيغام خطايي مشابه زير ( يا چيزي شبيه اين ) دريافت ميشد :
[align=center]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[/align]
بررسي پيغام خطاي دريافت شده از بحث ما خارج است
البته دليلي براي نگراني وجود ندارد ، معمولا مشكلي ايجاد نخواهد شد
اين قسمت را فقط براي آشنايي بيشتر توضيح دادم
2.
و اما گزينه دوم
گاهي به دليل وجود تعداد زيادي دستور ، مجموعه دستورات را در فايل جداگانه اي قرار ميدهند
اين فايل معمولا متني و با پسوند sql. مي باشد
در اين صورت كافيست كه فايل را Browse كرده و سپس كليد Go را بفشاريم
به عنوان مثال به اين دستورات كه در فايلي بنام pafiledb_mysql.sql وجود دارند توجه كنيد :
کد:
# phpMyAdmin MySQL-Dump
# version 2.3.0-rc2
# http://phpwizard.net/phpMyAdmin/
# http://www.phpmyadmin.net/ (download page)
#
# Host: localhost
# Generation Time: Jul 05, 2003 at 08:14 PM
# Server version: 4.00.01
# PHP Version: 4.2.2
# Database : `main`
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_cat`
#
CREATE TABLE phpbb_pa_cat (
cat_id int(10) NOT NULL auto_increment,
cat_name text,
cat_desc text,
cat_parent int(50) default NULL,
parents_data text NOT NULL,
cat_order int(50) default NULL,
cat_allow_file tinyint(2) NOT NULL default '0',
cat_files mediumint(8) NOT NULL default '-1',
cat_last_file_id mediumint(8) unsigned NOT NULL default '0',
cat_last_file_name varchar(255) NOT NULL default '',
cat_last_file_time INT(50) UNSIGNED DEFAULT '0' NOT NULL,
auth_view tinyint(2) NOT NULL default '0',
auth_read tinyint(2) NOT NULL default '0',
auth_view_file tinyint(2) NOT NULL default '0',
auth_upload tinyint(2) NOT NULL default '0',
auth_download tinyint(2) NOT NULL default '0',
auth_rate tinyint(2) NOT NULL default '0',
auth_email tinyint(2) NOT NULL default '0',
auth_view_comment tinyint(2) NOT NULL default '0',
auth_post_comment tinyint(2) NOT NULL default '0',
auth_edit_comment tinyint(2) NOT NULL default '0',
auth_delete_comment tinyint(2) NOT NULL default '0',
PRIMARY KEY (cat_id)
) TYPE=MyISAM;
# --------------------------------------------------------
INSERT INTO phpbb_pa_cat VALUES (1, 'My Category', '', 0, '', 1, 0, 0, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO phpbb_pa_cat VALUES (2, 'Test Cagegory', 'Just a test category', 1, '', 2, 1, 0, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
CREATE TABLE phpbb_pa_auth (
group_id mediumint(8) DEFAULT '0' NOT NULL,
cat_id smallint(5) UNSIGNED DEFAULT '0' NOT NULL,
auth_view tinyint(1) DEFAULT '0' NOT NULL,
auth_read tinyint(1) DEFAULT '0' NOT NULL,
auth_view_file tinyint(1) DEFAULT '0' NOT NULL,
auth_upload tinyint(1) DEFAULT '0' NOT NULL,
auth_download tinyint(1) DEFAULT '0' NOT NULL,
auth_rate tinyint(1) DEFAULT '0' NOT NULL,
auth_email tinyint(1) DEFAULT '0' NOT NULL,
auth_view_comment tinyint(1) DEFAULT '0' NOT NULL,
auth_post_comment tinyint(1) DEFAULT '0' NOT NULL,
auth_edit_comment tinyint(1) DEFAULT '0' NOT NULL,
auth_delete_comment tinyint(1) DEFAULT '0' NOT NULL,
auth_mod tinyint(1) DEFAULT '0' NOT NULL,
auth_search tinyint(1) DEFAULT '1' NOT NULL,
auth_stats tinyint(1) DEFAULT '1' NOT NULL,
auth_toplist tinyint(1) DEFAULT '1' NOT NULL,
auth_viewall tinyint(1) DEFAULT '1' NOT NULL,
KEY group_id (group_id),
KEY cat_id (cat_id)
);
#
# Table structure for table `phpbb_pa_comments`
#
CREATE TABLE phpbb_pa_comments (
comments_id int(10) NOT NULL auto_increment,
file_id int(10) NOT NULL default '0',
comments_text text NOT NULL,
comments_title text NOT NULL,
comments_time int(50) NOT NULL default '0',
comment_bbcode_uid varchar(10) default NULL,
poster_id mediumint(8) NOT NULL default '0',
PRIMARY KEY (comments_id),
KEY comments_id (comments_id),
FULLTEXT KEY comment_bbcode_uid (comment_bbcode_uid)
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_config`
#
CREATE TABLE phpbb_pa_config (
config_name varchar(255) NOT NULL default '',
config_value varchar(255) NOT NULL default '',
PRIMARY KEY (config_name)
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_custom`
#
CREATE TABLE phpbb_pa_custom (
custom_id int(50) NOT NULL auto_increment,
custom_name text NOT NULL,
custom_description text NOT NULL,
data text NOT NULL,
field_order int(20) NOT NULL default '0',
field_type tinyint(2) NOT NULL default '0',
regex varchar(255) NOT NULL default '',
PRIMARY KEY (custom_id)
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_customdata`
#
CREATE TABLE phpbb_pa_customdata (
customdata_file int(50) NOT NULL default '0',
customdata_custom int(50) NOT NULL default '0',
data text NOT NULL
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_download_info`
#
CREATE TABLE phpbb_pa_download_info (
file_id mediumint(8) NOT NULL default '0',
user_id mediumint(8) NOT NULL default '0',
downloader_ip varchar(8) NOT NULL default '',
downloader_os varchar(255) NOT NULL default '',
downloader_browser varchar(255) NOT NULL default '',
browser_version varchar(255) NOT NULL default ''
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_files`
#
CREATE TABLE phpbb_pa_files (
file_id int(10) NOT NULL auto_increment,
user_id mediumint(8) NOT NULL default '0',
poster_ip varchar(8) NOT NULL default '',
file_name text,
file_size int(20) NOT NULL default '0',
unique_name varchar(255) NOT NULL default '',
real_name VARCHAR(255) NOT NULL,
file_dir VARCHAR(255) NOT NULL,
file_desc text,
file_creator text,
file_version text,
file_longdesc text,
file_ssurl text,
file_sshot_link tinyint(2) NOT NULL default '0',
file_dlurl text,
file_time int(50) default NULL,
file_update_time int(50) NOT NULL default '0',
file_catid int(10) default NULL,
file_posticon text,
file_license int(10) default NULL,
file_dls int(10) default NULL,
file_last int(50) default NULL,
file_pin int(2) default NULL,
file_docsurl text,
file_approved TINYINT(1) DEFAULT '1' NOT NULL,
file_broken TINYINT(1) DEFAULT '0' NOT NULL,
PRIMARY KEY (file_id)
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `phpbb_pa_license`
#
CREATE TABLE phpbb_pa_license (
license_id int(10) NOT NULL auto_increment,
license_name text,
license_text text,
PRIMARY KEY (license_id)
) TYPE=MyISAM;
# --------------------------------------------------------
CREATE TABLE phpbb_pa_mirrors (
mirror_id mediumint(8) NOT NULL auto_increment,
file_id int(10) NOT NULL,
unique_name varchar(255) NOT NULL default '',
file_dir VARCHAR(255) NOT NULL,
file_dlurl varchar(255) NOT NULL default '',
mirror_location VARCHAR(255) NOT NULL default '',
PRIMARY KEY (mirror_id),
KEY file_id (file_id)
) TYPE=MyISAM;
#
# Table structure for table `phpbb_pa_votes`
#
CREATE TABLE phpbb_pa_votes (
user_id mediumint(8) NOT NULL default '0',
votes_ip varchar(50) NOT NULL default '0',
votes_file int(50) NOT NULL default '0',
rate_point tinyint(3) unsigned NOT NULL default '0',
voter_os varchar(255) NOT NULL default '',
voter_browser varchar(255) NOT NULL default '',
browser_version varchar(8) NOT NULL default '',
KEY user_id (user_id)
) TYPE=MyISAM;
INSERT INTO phpbb_pa_config VALUES ('allow_comment_images', '0');
INSERT INTO phpbb_pa_config VALUES ('no_comment_image_message', '[No image please]');
INSERT INTO phpbb_pa_config VALUES ('allow_smilies', '1');
INSERT INTO phpbb_pa_config VALUES ('allow_comment_links', '1');
INSERT INTO phpbb_pa_config VALUES ('no_comment_link_message', '[No links please]');
INSERT INTO phpbb_pa_config VALUES ('settings_disable', '0');
INSERT INTO phpbb_pa_config VALUES ('allow_html', '1');
INSERT INTO phpbb_pa_config VALUES ('allow_bbcode', '1');
INSERT INTO phpbb_pa_config VALUES ('settings_topnumber', '10');
INSERT INTO phpbb_pa_config VALUES ('settings_newdays', '1');
INSERT INTO phpbb_pa_config VALUES ('settings_stats', '');
INSERT INTO phpbb_pa_config VALUES ('settings_viewall', '1');
INSERT INTO phpbb_pa_config VALUES ('settings_dbname', 'Download Database');
INSERT INTO phpbb_pa_config VALUES ('settings_dbdescription', '');
INSERT INTO phpbb_pa_config VALUES ('max_comment_chars', '5000');
INSERT INTO phpbb_pa_config VALUES ('tpl_php', '0');
INSERT INTO phpbb_pa_config VALUES ('settings_file_page', '20');
INSERT INTO phpbb_pa_config VALUES ('hotlink_prevent', '1');
INSERT INTO phpbb_pa_config VALUES ('hotlink_allowed', '');
INSERT INTO phpbb_pa_config VALUES ('sort_method', 'file_time');
INSERT INTO phpbb_pa_config VALUES ('sort_order', 'DESC');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('auth_search','0');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('auth_stats','0');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('auth_toplist','0');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('auth_viewall','0');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('max_file_size','262144');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('upload_dir','pafiledb/uploads/');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('screenshots_dir','pafiledb/images/screenshots/');
INSERT INTO phpbb_pa_config (config_name, config_value) VALUES ('forbidden_extensions','php, php3, php4, phtml, pl, asp, aspx, cgi');
طبيعتا بهتر است بجاي درج اين همه دستور ، از امكان افزودن فايل استفاده كنيم
فقط فراموش نكنيد كه حجم فايل محدوديت دارد و اين محدوديت به نسخه مورد استفاده phpmyadmin بستگي دارد
كه در مثال ما همانطور كه در شكل مي بينيد اين حجم حداكثر برابر است با 2048 كيلو بايت ...
نكته ديگر اينكه اين فايل ميتواند فشرده و از نوع gzipped باشد
اميدوارم مورد استفاده قرار گرفته باشد
موفق باشيد ...
[ مقالات phpBB ] : ساختار فيزيكي استاندارد phpBB [ قسمت اول ]
با سلام
در اين مقاله سعي دارم تا به شرح مختصري در مورد فايل ها و فولدرهاي استاندارد phpBB بپردازم
آشنايي و آگاهي بيشتر از اين موارد كمك بسزايي در شناخت و بدست آوردن درك صحيح تري از ساختار فيزيكي و نحوه عملكرد phpBB در پي خواهد داشت
به تصوير زير نگاهي بندازيد
اين شمايي كلي از فولدرهاي phpBB در زمان قبل از نصب و راه اندازي است
با هم و بر اساس شماره ها ، به بررسي دقيق تري از اين ساختار ميپردازيم
شماره هاي 2 و 9 ( contrib و install ) :
اين فولدرها حاوي فايل ها و دستورالعمل هاي لازم براي نصب و راه اندازي اوليه phpBB هستند
هر دوي اين فولدرها پس از پايان عمل نصب ، مي بايست حذف شوند
در غير اينصورت قادر به ادامه استفاده از phpBB نخواهيد بود ...
شماره 0 ( phpBB ) :
شاخه اصلي phpBB بوده و حاوي فايل هاي زير است
کد:
common.php
config.php
extension.inc
faq.php
groupcp.php
index.php
login.php
memberlist.php
modcp.php
posting.php
privmsg.php
profile.php
search.php
viewforum.php
viewonline.php
viewtopic.php
اينها مهمترين و ضروري ترين فايل هاي phpBB هستند
تقريبا عملكرد همگي رو از روي نامشون ميتونيد حدس بزنيد
با اين حال توضيح مختصري ميدم
فايل common.php : حاوي دستورالعمل هاي عمومي كه تقريبا در تمامي فايل ها مورد استفاده داره
فايل config.php : حاوي تنظيمات اوليه phpBB از جمله نام ديتابيس و ... است
فايل extension.inc : پسوند فايل هاي مورد استفاده در phpBB كه به صورت پيش فرض php. است را تعريف ميكند
فايل faq.php : حاوي دستورات مربوط به پرسش هاي متداول
فايل groupcp.php : حاوي دستورات مربوط به مديريت گروه ها
فايل index.php : دستورالعمل هاي فايل ايندكس ( صفحه اول )
فايل login.php : حاوي دستورالعمل هاي صفحه ورودي
فايل memberlist.php : حاوي دستورات مربوط به ليست كاربران عضو
فايل modcp.php : دستورات مربوط به صفحه مديريت مديران
فايل posting.php : دستورات مربوط به ارسال مطالب ( تاپيك و پست )
فايل privmsg.php : دستورات مربوط به پيام هاي خصوصي
فايل profile.php : دستورات مربوط به مشخصات فردي
فايل search.php : دستورات مربوط به صفحه جستجو در انجمن
فايل viewforum.php : دستورات مربوط به نمايش انجمن ها
فايل viewonline.php : دستورات مربوط به نمايش افراد آنلاين
فايل viewtopic.php : دستورات مربوط به نمايش تاپيك ها و پستها
شماره 1 ( admin ) :
اين فولدر حاوي تمامي فايل هاي مربوط به مديريت انجمن است
فايل هاي اين فولدر عبارتند از :
کد:
admin_board.php
admin_db_utilities.php
admin_disallow.php
admin_forumauth.php
admin_forums.php
admin_forum_prune.php
admin_groups.php
admin_mass_email.php
admin_ranks.php
admin_smilies.php
admin_styles.php
admin_ug_auth.php
admin_users.php
admin_user_ban.php
admin_words.php
index.php
pagestart.php
page_footer_admin.php
page_header_admin.php
شماره 3 ( doc ) :
اين فولدر حاوي دستورالعمل ها و راهنماي نصب است و تنها جنبه آموزش دارد
شماره 4 ( images ) :
همانطور كه از نامش پيداست حاوي فايل هاي تصويري عمومي phpBB است
خود اين شاخه علاوه بر فايل هاي تصويري حاوي 2 فولدر ديگر بنام هاي smiles و avatars است
شماره 5 ( avatars ) :
اين فولدر حاوي شاخه اي ديگر بنام gallery و فايل هاي تصويري انتخاب شده توسط كاربران به عنوان آواتار است
توجه كنيد كه امكان استفاده از آواتار مي بايست قبلا توسط مدير سايت فعال شده باشد ، در غير اين صورت طبيعتا اين فولدر خالي خواهد بود ...
شماره 6 ( gallery ) :
در صورتي كه قابليت استفاده از گالري آواتار نصب و فعال شده باشد ، اين فولدر حاوي فايل هاي تصويري كه به عنوان آواتار در اختيار كاربران قرار ميگيرد خواهد بود
شماره 7 ( smiles ) :
اين فولدر حاوي شكلك ها ( صورتك ها ) ي نصب شده توسط مديرسايت است
شماره 8 ( includes ) :
اين فولدر در واقع حاوي فايل هاي جايگذاشت phpBB است
عمده متغيرها ، ثابت ها ، ليترال ها ، توابع و ... در اين فايل ها تعريف شده و در تمامي قسمتهاي phpBB مورد استفاده قرار مي گيرند
فايل هاي اين فولدر عبارتند از :
کد:
auth.php
bbcode.php
constants.php
db.php
emailer.php
functions.php
functions_admin.php
functions_post.php
functions_search.php
functions_selects.php
functions_validate.php
index.htm
page_header.php
page_tail.php
prune.php
sessions.php
smtp.php
sql_parse.php
template.php
topic_review.php
usercp_activate.php
usercp_avatar.php
usercp_confirm.php
usercp_email.php
usercp_register.php
usercp_sendpasswd.php
usercp_viewprofile.php
شماره 10 ( language ) :
در phpBB همانند بسياري از سيستم هاي مشابه ، امكان استفاده از زبان هاي مختلف وجود دارد
به اين منظور اين فولدر حاوي فايلهاي زبان مورد استفاده ميباشد
در مثال ما همانطور كه مي بينيد ، 2 زبان انگليسي و فارسي نصب شده است
شماره 11 ( templates ) :
يكي ديگه از اصلي ترين فولدرهاي phpBB اين فولدر است
تمامي فايل هاي مربوط به قالب هاي مورد استفاده در فولدرهاي مجزا و همنام با قالب مورد استفاده قرار ميگيرند
در مثال ما همانطور كه مي بينيد تنها يك قالب به نام subSilver موجود ميباشد
شماره 12 ( subSilver ) :
اين فولدر حاوي فايل هاي اصلي قالب مورد استفاده و 2 شاخه بنام هاي admin و images است
فايل هاي اين شاخه عبارتند از :
کد:
agreement.tpl
bbcode.tpl
confirm_body.tpl
error_body.tpl
faq_body.tpl
formIE.css
groupcp_info_body.tpl
groupcp_pending_info.tpl
groupcp_user_body.tpl
index.htm
index_body.tpl
jumpbox.tpl
login_body.tpl
memberlist_body.tpl
message_body.tpl
modcp_body.tpl
modcp_move.tpl
modcp_split.tpl
modcp_viewip.tpl
overall_footer.tpl
overall_header.tpl
posting_body.tpl
posting_poll_body.tpl
posting_preview.tpl
posting_smilies.tpl
posting_topic_review.tpl
privmsgs_body.tpl
privmsgs_popup.tpl
privmsgs_preview.tpl
privmsgs_read_body.tpl
profile_add_body.tpl
profile_avatar_gallery.tpl
profile_send_email.tpl
profile_send_pass.tpl
profile_view_body.tpl
search_body.tpl
search_results_posts.tpl
search_results_topics.tpl
search_username.tpl
simple_footer.tpl
simple_header.tpl
subSilver.cfg
subSilver.css
theme_info.cfg
viewforum_body.tpl
viewonline_body.tpl
viewtopic_body.tpl
viewtopic_poll_ballot.tpl
viewtopic_poll_result.tpl
شماره 13 ( admin ) :
حاوي فايل هاي قالب مروبط به مركز كنترل و مديريت phpBB مي باشد
فايل هاي اين فولدر عبارتند از :
کد:
admin_message_body.tpl
auth_forum_body.tpl
auth_select_body.tpl
auth_ug_body.tpl
board_config_body.tpl
category_edit_body.tpl
db_utils_backup_body.tpl
db_utils_restore_body.tpl
disallow_body.tpl
forum_admin_body.tpl
forum_delete_body.tpl
forum_edit_body.tpl
forum_prune_body.tpl
forum_prune_result_body.tpl
forum_prune_select_body.tpl
group_edit_body.tpl
group_select_body.tpl
index.htm
index_body.tpl
index_frameset.tpl
index_navigate.tpl
page_footer.tpl
page_header.tpl
ranks_edit_body.tpl
ranks_list_body.tpl
smile_edit_body.tpl
smile_import_body.tpl
smile_list_body.tpl
styles_addnew_body.tpl
styles_edit_body.tpl
styles_exporter.tpl
styles_list_body.tpl
user_avatar_gallery.tpl
user_ban_body.tpl
user_edit_body.tpl
user_email_body.tpl
user_select_body.tpl
words_edit_body.tpl
words_list_body.tpl
و در نهايت شماره 14 ( images ) :
فايل هاي گرافيكي عمومي مورد استفاده در قالب ، در اين شاخه قرار دارند
همچنين فولدرهايي نيز بنام زبان هاي نصب شده در phpBB در شاخه قرار دارند كه فايل هاي گرافيكي مربوط به زبان مورد نظر رو در خود نگهداري ميكنند
در مثال ما به دليل استفاده از 2 زبان انگليسي و فارسي ، دو شاخه بنام هاي lang_english و lang_farsi وجود دارند ...
در قسمت دوم به شناسايي و معرفي فايلهاي مختلف خواهم پرداخت ...
موفق باشيد