صفحة 1 من 1

[?????] ????? ?? ???????? ??? ??????? ??? ?????? phpbb3

مرسل: الخميس فبراير 07, 2008 11:54 am
بواسطة shinigami
?????? ????? ? ???? ???? ? ?????? ?

???? ?????? ????? ??? ??????? ???????

??? ?? ?????? ??????? ???????? ??? phpbb3 ? ? ???? ???? ?? ????? ??bbcode ?????? ???????? ?? ???? ? ??????? ???? ?????? ?????? ?? :

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

[align=left]{Text}[/align]
[align=right]{Text}[/align]
[align=center]{Text}[/align]
???? ???? ????? ?????? ??? ??????? http://www.phpbb.com/kb/article/adding-" onclick="window.open(this.href);return false; ... in-phpbb3/
? ??? ??????? ???? ?? ??? ????? ??? ??????? ?????? ??? ???? ?????? ???????? ? ???? ???? ??? ? ???? ??????

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

BBCode usage:
[align={TEXT1]{TEXT2}[/align]

HTML replacement:
<div style="text-align:TEXT1;">{TEXT2}</div>

? ??? ?????? ??????? ?? ?????? ????? ? ?????? ?? ??? ??? ????? ....
???? ?????? ??????? ?? ?? ???????? ??????? ?? ????? ???? ??????? ? ? ???? ???? ?? bbcode ????? ????????? ? ???? ???? !! ? ? ?? ????? ??? ????? ???? ?????? ???????? ? ?? ?? ???????? (??? ???? ?? ??? ????) ??? ??? ??????? ????? ? ???? ??????? ??????...

????? ??? ??? ??????? ?? : ?? ???? ????? ??????????? ???? ?????? ??? ??????? ?? ???? ????????? ??????? ?

? ?????

????? ?? ???????? ??? ??????? ??? ?????? phpbb3

مرسل: الخميس فبراير 07, 2008 12:31 pm
بواسطة the shadow

????? ?? ???????? ??? ??????? ??? ?????? phpbb3

مرسل: الخميس فبراير 07, 2008 12:45 pm
بواسطة shinigami
????? ? ????? ???????? ? ? ??? ???? ?? ????? ?? ??? ?? ???? ??????? ??? ???? ....

????? ?? ???????? ??? ??????? ??? ?????? phpbb3

مرسل: الخميس فبراير 07, 2008 7:27 pm
بواسطة shinigami
????? ???? ?? ????? ?????????? ? phpbbacademy
??? ??? script ???? ???? ??? ???? ????????? (re-parsing) ? ? ??? ????? ??

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


    <?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('"', '"', 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!');
    }

    ?>
? ??? ?????? ??? Database ????? ?? ???? ?? ????? ...
????? ?? ???? ?????? ?? ???? ?????? ?? ??? ??? ???? ??????? ????? ?? ??????? ...
??? ?? ??? ???? ????? ????? ???? ?