طريقة التحويل من منتديات "أحلى منتدى" إلى منتدى phpBB3

المشرفون: alhitary، طاقم الدعم، طاقم الاستايلات، طاقم الإضافات، طاقم الدروس، طاقم التعريب

صورة العضو الشخصية
m-designer-2009
عضو جديد
عضو جديد
مشاركات: 21
اشترك في: الأحد يناير 18, 2009 5:02 pm
مكان: ≈≈≈مصر≈≈≈ طبعًا

طريقة التحويل من منتديات "أحلى منتدى" إلى منتدى phpBB3

مشاركةبواسطة m-designer-2009 » الجمعة إبريل 10, 2009 12:31 am

في هذا الموضوع سنقدم طريقة التحويل من منتدى في شركة أحلى منتدى إلى منتدى phpBB3

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

- ما فائدة قاعدة البيانات هذه؟
في قاعدة البيانات يوجد المنتدى لأن سكريبت المنتدى ما هو إلا آداه لعرض وتنظيم محتوى قاعدة البيانات، فكل المواضيع والمشاركات والمساهمات والأعضاء كل هذه الأشياء توجد في قاعده البيانات.

-ما فائده حصولي على قاعدة البيانات؟
عندما تكون قاعده البيانات ملك لك وهو ما سيحدث بعدما تقوم بتنفيذ هذا الدرس فإنك يمكنك التحويل إلى الاستضافة المدفوعة والتمتع بمزاياها الاحترافية وأبسطها الدومين نيم Domain Name
لكن عند وضع منتداك وابقاؤه في شركة أحلى منتدى سيظل للأبد إسم منتداك مرتبط بأحد الأسماء الخاصة بشركة أحلى منتدى
مثل:
XXXXXX.ahlamontada.com
أو
XXXXXX.yoo7.com
أو أحد هذه الأسماء المختلفة
لكن عند تحويلك للاستضافة المدفوعة يمكن أن يصبح اسم منتداك
هكذا
http://www.example.com
وعند نقلك لمنتداك من هذه الشركة سوف لن يتحكموا في منتداك بعد ذلك ولن تتعرض للبلاغات الكاذبة عن المحتوى المخالف
وحتى إن كان هذا الانتقال إلى استضافة مجانية أخرى فهو أفضل من حيث تحكمك في منتداك تحكم كامل فلن يوجد عندها من يتسلط عليك في إدارة منتداك وهناك في الاستضافة حتى وإن كانت مجانية يمكنك الحصول على قاعده بياناتك متى شئت

في النهاية هناك من لا يريد التعلم ويريد إستخدام الطرق الجاهزة

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

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

في هذا الرابط الملفات الخاصة بالتحويل وكذلك الشرح في ملف Word

Convert.zip


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




صورة العضو الشخصية
m-designer-2009
عضو جديد
عضو جديد
مشاركات: 21
اشترك في: الأحد يناير 18, 2009 5:02 pm
مكان: ≈≈≈مصر≈≈≈ طبعًا

طريقة التحويل من منتديات "أحلى منتدى" إلى منتدى phpBB3

مشاركةبواسطة m-designer-2009 » الخميس أغسطس 20, 2009 12:56 am

قبل أن تبدأ قم ببعض تغييرات في الصفحة الشخصية Profile

لاحظ أن : إن لم تقم بهذه التغييرات، قد تفشل عملية التحويل

في لوحة التحكم في التفضيلات، اختر اللغة الإنجليزية و اختر صيغة التاريخ التالية "2008-03-29, 19:46"

المطلوب من أجل التحويل:
1- خادم به قواعد بيانات MySQL
2- منتدى منصب على الخادم
3 - معالج Python ويمكن تحميل النسخه من موقع python.org

الان قم بتغيير بعض الإعدادات في settings.py (قم بتحرير الملف) بواسطة محرر المستندات او بـ notepad ++

اولاً : table_prefix

ما هو الـ prefix ؟

هي بادئة الجداول التي استخدمتها في أول أسم كل جدول من جداول قاعدة البيانات
prefix الإفتراضي لـ phpBB هو

كود: تحديد الكل

phpbb_



ثانياً : COOKIEDATA

ستحصل عليه كالتالي /

افتح منتداك في احلى منتدى و قم بوضع الكود التالي /

كود: تحديد الكل

javascript:document.cookie


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


ثالثاً : عنوان URL
مسار منتداك او رابطه في احلى منتدى
مثل: http://myboard.forumotion.com/



رابعاً : المواضيع المثبته

يجب عليك ان تضع ارقام المواقع المثبته في منتداك شكل الرابط في المنتدى سيكون viewtopic.php?f=32&t=34
رقم الموضوع هو 34 وافصل بين كل رقم موضوع و الاخر بفاصله ,
السطر يجب أن يكون هكذا

كود: تحديد الكل

sticky=[1,2,3,4,5]




خامساً : مسار صورة موضوع مغلق في استايل المنتدى يمكنك الحصول عليها باتباع مسار الصور

سادساً : إعدادات الأعضاء
انشاء كلمة مرور عشوائية ، يجب عليك الاحتفاظ بهذه الكلمة لك انت وحدك فقط و ان تكون كلمة المرور صعبة حتى لا يتم العبث بمنتداك



سابعاً الأرقام NUMUSERS
رقم التعريف ID الخاص بآخر عضو ، يمكنك معرفة ذلك من ID اخر عضو مسجل مثلا

memberlist.php?mode=viewprofile&u=50

ID اخر عضو مسجل هو 50

الان قم بتشغيل سكريبت Python الذي اسمه members_topics_posts.py عن
لمستخدمي Windows: اضغط عليه ضغط مزدوج؛ استخدم "python members_topics_posts.py" كأمر)

ثم قم بتنفيذ الباتش الخاص بـ SQL الذي اسمه members.sql وtopics_posts.sql وcategories_forums.sql في قاعدة بيانات المنتدى

و لتنبيه الأعضاء بكلمات المرور (التي تم تخليقها عشوائيًا) قم بتشغيل ملف الpm_passwords.py (قم بتعديل settings.py أولاً لتناسب إحتياجاتك).

في ملف in settings.py
عنوان الرسالة msgtitle
عنوان الرساله الشخصية التي سيتم إرسالها

محتوى الرساله msgbody
النص الذي سيظهر في كمحتوى للرسالة الشخصية

استخدم التالي /



هي فاصل كخط فارغ بين الفقرات لإستخدام سطر جديد



هي التي تدل على قيمة كلمة المرور (قم بإستخدامها مرة واحدة)

لا تقم بتكرر الرمز الاخير لاي سبب

ملاحظات /

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

قم بحذف التالي في ملف و قم بتسميته resync_bbcode.php

كود: تحديد الكل

<?php
/**
* The file must be named resync_bbcode.php
*/

define('IN_PHPBB', true);
$phpbb_root_path = ((isset($phpbb_root_path)) ? $phpbb_root_path : './');
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('posting');

$start = intval(request_var('start', 0));
$limit = 200;

include($phpbb_root_path . 'includes/message_parser.' . $phpEx);

$bbcode_status    = ($config['allow_bbcode']) ? true : false;
$img_status        = ($bbcode_status) ? true : false;
$flash_status    = ($bbcode_status && $config['allow_post_flash']) ? true : false;

$sql = 'SELECT * FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
    WHERE t.topic_id = p.topic_id
        ORDER BY p.post_id ASC
            LIMIT ' . $start . ', ' . $limit;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
    decode_message($row['post_text'], $row['bbcode_uid']);

    $message_parser = new parse_message();
    $message_parser->message = str_replace('"', '&quot;', html_entity_decode($row['post_text']));
    $message_parser->parse((($bbcode_status) ? $row['enable_bbcode'] : false), (($config['allow_post_links']) ? $row['enable_magic_url'] : false), $row['enable_smilies'], $img_status, $flash_status, true, $config['allow_post_links']);

    if ($row['poll_title'] && $row['post_id'] == $row['topic_first_post_id'])
    {
        $row['poll_option_text'] = '';
        $sql = 'SELECT * FROM ' . POLL_OPTIONS_TABLE . ' WHERE topic_id = ' . $row['topic_id'];
        $result2 = $db->sql_query($sql);
        while ($row2 = $db->sql_fetchrow($result2))
        {
            $row['poll_option_text'] .= $row2['poll_option_text'] . "\n";
        }
        $db->sql_freeresult($result2);

        $poll = array(
            'poll_title'        => $row['poll_title'],
            'poll_length'        => $row['poll_length'],
            'poll_max_options'    => $row['poll_max_options'],
            'poll_option_text'    => $row['poll_option_text'],
            'poll_start'        => $row['poll_start'],
            'poll_last_vote'    => $row['poll_last_vote'],
            'poll_vote_change'    => $row['poll_vote_change'],
            'enable_bbcode'        => $row['enable_bbcode'],
            'enable_urls'        => $row['enable_magic_url'],
            'enable_smilies'    => $row['enable_smilies'],
            'img_status'        => $img_status
        );

        $message_parser->parse_poll($poll);
    }

    $sql_data = array(
        'post_text'            => $message_parser->message,
        'post_checksum'        => md5($message_parser->message),
        'bbcode_bitfield'    => $message_parser->bbcode_bitfield,
        'bbcode_uid'        => $message_parser->bbcode_uid,
    );

    $sql = 'UPDATE ' . POSTS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_data) . '
        WHERE post_id = ' . $row['post_id'];
    $db->sql_query($sql);

    if ($row['poll_title'] && $row['post_id'] == $row['topic_first_post_id'])
    {
        $sql_data = array(
            'poll_title'        => str_replace($row['bbcode_uid'], $message_parser->bbcode_uid, $poll['poll_title']),
        );

        $sql = 'UPDATE ' . TOPICS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_data) . '
            WHERE topic_id = ' . $row['topic_id'];
        $db->sql_query($sql);

        $sql = 'SELECT * FROM ' . POLL_OPTIONS_TABLE . ' WHERE topic_id = ' . $row['topic_id'];
        $result2 = $db->sql_query($sql);
        while ($row2 = $db->sql_fetchrow($result2))
        {
            $sql_data = array(
                'poll_option_text'        => str_replace($row['bbcode_uid'], $message_parser->bbcode_uid, $row2['poll_option_text']),
            );

            $sql = 'UPDATE ' . POLL_OPTIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_data) . '
                WHERE topic_id = ' . $row['topic_id'] . '
                AND poll_option_id = ' . $row2['poll_option_id'];
            $db->sql_query($sql);
        }
    }
}

$sql = 'SELECT count(post_id) as post_cnt FROM ' . POSTS_TABLE;
$result = $db->sql_query($sql);
$cnt = $db->sql_fetchrow($result);

if ($cnt['post_cnt'] > ($start + $limit))
{
    meta_refresh(1, './resync_bbcode.' . $phpEx . '?start=' . ($start + $limit));
    trigger_error('The script is not finished yet, please wait.  Part ' . (($start + $limit) / $limit) . ' of ' . intval($cnt['post_cnt'] / $limit) . ' is finished.');
}
else
{
    trigger_error('Finished!');
}

?>


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

ايضاً قم بتشغيل add_phpbb3_bots.py ثم قم بعد ذلك بإستيراد النتائج من الملف bots_phpBB3.sql الى قاعدة منتداك بواسطة phpmyadmin

لمسة أخيرة

1 / قم بالتأكد من صلاحيات المنتدى بأنها صحيحة وكما تريد.
2 / قم بإضافة أي هاكات أو ستايلات أو أي إعدادات أخرى.

ان عيوب الاسكربت هو عدم تحويل كلاً من المرفقات و الاستفتاء في المنتديات حيث أن المحول لن يقوم بتحويل أي منهما
أقوى عروض الاستضافة
شركة Mega Host
http://mega-host.tk/

____________________


العودة إلى “تنصيب / تحويل”

الموجودون الآن

المستخدمون الذين يتصفحون المنتدى الآن: CommonCrawl Bot و 0 زائر