ข่าวประชาสัมพันธ์

มาร่วมเป็นกำลังใจให้เว็บด้วยการสมัครสมาชิกวีไอพี ~~ เลือกปีที่ท่านต้องการได้โดยไม่ต้องเรียงปี ~~ ปีละ 350 บาท สมัคร 2 ปีลดเหลือ 600 บาท ~~ มีไลน์กลุ่ม VIP จำนวนหลายร้อยท่าน เอาไว้ปรึกษางานซ่อม ~~ เข้าถึงข้อมูลด้านเทคนิค ข้อมูลเชิงลึกมากมาย.....


ผู้เขียน หัวข้อ: Mod เพิ่มปุ่มจัดการกระทู้ปักหมุด  (อ่าน 2752 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ Auto Man

  • Administrator
  • หัวหน้าศูนย์ซ่อมสร้าง
  • *****
  • เจ้าของกระทู้
  • Joined: ก.ย. 2558
  • กระทู้: 42176
  • สมาชิกลำดับที่ : 1
  • เพศ: ชาย
  • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
    • เว็บชุมชนคนรักช่างยนต์
    • อีเมล์
Mod เพิ่มปุ่มจัดการกระทู้ปักหมุด
« เมื่อ: 07 ตุลาคม 2559, 11:25:20 »
  • ขึ้นบน
  • ลงล่าง
  • Mod เพิ่มปุ่มจัดการกระทู้ปักหมุด

    Mod Name:Order Stickied Topics

    ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ


    ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ


    ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ


    ดาวน์โหลดที่ลิ้งก์ด้านล่าง หรือที่ไฟล์แนบ (สมาชิก)

    เครดิต : http://pordoo.com/mod/t963/
    « แก้ไขครั้งสุดท้าย: 29 กันยายน 2561, 12:42:59 โดย Sonchai_Music »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออฟไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 42176
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    « แก้ไขครั้งสุดท้าย: 29 กันยายน 2561, 12:43:16 โดย Sonchai_Music »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออฟไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 42176
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Mod เพิ่มปุ่มจัดการกระทู้ปักหมุด
    « ตอบกลับ #2 เมื่อ: 07 ตุลาคม 2559, 11:30:55 »
  • ขึ้นบน
  • ลงล่าง
  • File Edits
    ./index.php
    Find: [Select]
          'pm' => array('PersonalMessage.php', 'MessageMain'),
    Replace With: [Select]
          'pm' => array('PersonalMessage.php', 'MessageMain'),
          //   The action for the Order Stickied Topics Mod.
          'orderstickiedtopics' => array('Post.php', 'OrderStickiedTopics'),

    ./Sources/Post.php
    Find: [Select]
          // So you wanna (un)sticky this...let's see.
          if (isset($_POST['sticky']) && (empty($modSettings['enableStickyTopics']) || $_POST['sticky'] == $topic_info['is_sticky'] || !allowedTo('make_sticky')))
             unset($_POST['sticky']);
    Replace With: [Select]
          // So you wanna (un)sticky this...let's see.
          if (isset($_POST['sticky']) && (empty($modSettings['enableStickyTopics']) || (empty($_POST['sticky']) == empty($topic_info['is_sticky'])) || !allowedTo('make_sticky')))
             unset($_POST['sticky']);

    Find: [Select]
          // Change the sticky status of this topic?
          if (isset($_POST['sticky']) && (!allowedTo('make_sticky') || $_POST['sticky'] == $topic_info['is_sticky']))
             unset($_POST['sticky']);
    Replace With: [Select]
          // Change the sticky status of this topic?
          if (isset($_POST['sticky']) && (!allowedTo('make_sticky') || (empty($_POST['sticky']) == empty($topic_info['is_sticky']))))
             unset($_POST['sticky']);

    Find: [Select]
       // Assume the first message if no message ID was given.
       $request = $smcFunc['db_query']('', '
             SELECT
                t.locked, t.num_replies, t.id_member_started, t.id_first_msg,
    Replace With: [Select]
       // Assume the first message if no message ID was given.
       $request = $smcFunc['db_query']('', '
             SELECT
                t.locked, t.num_replies, t.id_member_started, t.id_first_msg, t.is_sticky,

    Find: [Select]
             'board' => $board,
             'lock_mode' => isset($_POST['lock']) ? (int) $_POST['lock'] : null,
             'sticky_mode' => isset($_POST['sticky']) && !empty($modSettings['enableStickyTopics']) ? (int) $_POST['sticky'] : null,
    Replace With: [Select]
             'board' => $board,
             'lock_mode' => isset($_POST['lock']) ? (int) $_POST['lock'] : null,
             'sticky_mode' => isset($_POST['sticky']) && !empty($modSettings['enableStickyTopics']) && !(empty($_POST['sticky']) == empty($row['is_sticky'])) ? (int) $_POST['sticky'] : null,

    Find (at the end of the file): [Select]
    ?>
    Add Before: [Select]

    //   Function for the Order Stickied Topics Action.
    function OrderStickiedTopics()
    {
       global $board, $smcFunc, $board_info, $modSettings, $context, $txt, $topic;
       
       //   Make sure that we have a valid board.
       if(empty($board))
          redirectexit();
       
       //   Make sure that the user is allowed to sticky topics. And that we are using stickied topics.
       if(!allowedTo('make_sticky') || empty($modSettings['enableStickyTopics']))
          redirectexit('board='.$board.'.0');
       
       //   Do we have a topic id?
       if(!empty($topic))
       {
          //   First get some information about this topic.
          $result = $smcFunc['db_query']('', '
             SELECT is_sticky
             FROM {db_prefix}topics
             WHERE id_topic = {int:topic_id}
                AND id_board = {int:board_id}',
             array(
                'board_id' => $board,
                'topic_id' => $topic,
             )
          );
          
          //   Make sure that we got some valid topic information.
          if(!($data = $smcFunc['db_fetch_assoc']($result)))
             redirectexit('action=orderstickiedtopics;board='.$board.'.0');

          $smcFunc['db_free_result']($result);
          
          //   Make sure that we aren't about to unsticky this topic, and that its a sticky.
          if(($data['is_sticky'] == 0)
          || (($data['is_sticky'] == 1) && isset($_GET['decrease'])))
             redirectexit('action=orderstickiedtopics;board='.$board.'.0;');
          
          //   Get a correct value to set for the 'stickyness' of this topic. :D
          if(isset($_GET['unsticky']))
             $value = '0';
          //   Increment?
          elseif(isset($_GET['increment']))
             $value = "is_sticky + 1";
          //   Decrease?
          elseif(isset($_GET['decrease']))
             $value = "is_sticky - 1";
          //   If we have no valid value, then we can't do anything. :(
          else
             redirectexit('action=orderstickiedtopics;board='.$board.'.0');
          
          //   Update the topic.
          $smcFunc['db_query']('','
             UPDATE {db_prefix}topics
                SET is_sticky = {raw:value}
             WHERE id_topic = {int:topic_id}',
             array(
                'topic_id'   => $topic,
                'value'   => $value,
             )
          );
          
          //   Finally redirect us back to the order stickied topics page for this topics board.
          redirectexit('action=orderstickiedtopics;board='.$board.'.0;');
       }
       
       //   Get a list of Stickied Topics for this board.
       $result = $smcFunc['db_query']('','
          SELECT t.id_topic, t.is_sticky, m.subject
          FROM ({db_prefix}topics as t)
             LEFT JOIN {db_prefix}messages as m on (m.id_msg = t.id_first_msg)
          WHERE is_sticky != 0
             AND t.id_board = {int:board_id}
          ORDER BY t.is_sticky DESC, t.id_last_msg DESC',
          array(
             'board_id' => $board,
          )
       );
       
       //   Setup the topic list for the template.
       $context['topics'] = array();
       while ($row = $smcFunc['db_fetch_assoc']($result))
       {
          $context['topics'][] = array(
             'id' => $row['id_topic'],
             'value' => $row['is_sticky'],
             'title' => $row['subject'],
          );
       }
       $smcFunc['db_free_result']($result);
       
       //   Finally set up some necessary *stuff* for the template.
       loadTemplate('Post');
       $context['sub_template'] = 'orderstickiedtopics';
       $context['page_title'] = $board_info['name'];
    }

    ./Sources/MessageIndex.php
    Find: [Select]
       $context['can_post_poll'] = $modSettings['pollMode'] == '1' && allowedTo('poll_post');
    Replace With: [Select]
       $context['can_post_poll'] = $modSettings['pollMode'] == '1' && allowedTo('poll_post');
       //   Add the 'can_order_stickied_topics' permission, for the Order Stickied Topics mod.
       $context['can_order_stickied_topics'] = allowedTo('make_sticky') && !empty($modSettings['enableStickyTopics']);

    ./Themes/default/MessageIndex.template.php
    Find: [Select]
          'post_poll' => array('test' => 'can_post_poll', 'text' => 'new_poll', 'image' => 'new_poll.gif', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0;poll'),
    Replace With: [Select]
          'post_poll' => array('test' => 'can_post_poll', 'text' => 'new_poll', 'image' => 'new_poll.gif', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0;poll'),
          //   Show the Link/Button for the Order Stickied Topics Mod.
          'order_stickied_topics' => array('test' => 'can_order_stickied_topics', 'text' => 'OrderStickiedTopics_title', 'lang' => true, 'url' => $scripturl . '?action=orderstickiedtopics;board=' . $context['current_board'] . '.0'),

    ./Themes/default/Post.template.php
    Find (at the end of the file): [Select]
    ?>
    Add Before: [Select]

    //   Function to display the list of stickiedtopics.
    function template_orderstickiedtopics()
    {
       global $context, $txt, $board_info, $scripturl, $settings;
          
       //   Show the start of the table, as well as the main heading and the column headings.
       echo '
          

          <table border="0" align="center" cellspacing="1" cellpadding="4" class="bordercolor" width="60%">
             <tr class="catbg3">
                <td colspan="5" align="left">
                   <div style="float: left;">
                      ', $txt['OrderStickiedTopics_title'] ,' - <a href="' . $scripturl . '?board=', $context['current_board'], '.0">', $board_info['name'], '[/url]
                   </div>
                </td>
             </tr>
             <tr class="titlebg">
                <th>', $txt['subject'], '</th>
                <th>', $txt['OrderStickiedTopics_current'], '</th>
                <th>', $txt['OrderStickiedTopics_modify'], '</th>
             </tr>';
       
       //   Show a list of the topics.
       foreach($context['topics'] as $topic)
       {
          echo '
             <tr>
                <td align="left" valign="top" class="windowbg"><a href="', $scripturl, '?topic=', $topic['id'], '.0">', $topic['title'], '[/url]</td>
                <td align="left" valign="top" class="windowbg2" style="text-align:center;">', $topic['value'], '</td>
                <td align="center" valign="top" class="windowbg2">
                   <a href="', $scripturl, '?action=orderstickiedtopics;topic=', $topic['id'],';decrease"><img src="', $settings['images_url'], '/sort_down.gif" alt="', $txt['OrderStickiedTopics_decrease'], '" border="0" />[/url]
                   <a href="', $scripturl, '?action=orderstickiedtopics;topic=', $topic['id'],';increment"><img src="', $settings['images_url'], '/sort_up.gif" alt="', $txt['OrderStickiedTopics_increase'], '" border="0" />[/url]
                   &nbsp;&nbsp;&nbsp;<a href="', $scripturl, '?action=orderstickiedtopics;topic=', $topic['id'],';unsticky">', $txt['OrderStickiedTopics_unsticky'], '[/url]
                </td>
             </tr>';
       }
       
       //   If we have no topics, then show a short message telling the moderator.
       if(empty($context['topics']))
          echo '
             <tr>
                <td colspan="3" valign="top" class="windowbg">', $txt['OrderStickiedTopics_emptylist'], '</td>
             </tr>';
          
       //   Finish the table.
       echo '
             <tr class="catbg3">
                <td colspan="5" align="left">
                <b style="font-size:14px;"><a href="', $scripturl, '?board=', $context['current_board'], '.0">', $txt['OrderStickiedTopics_back'], ' ', $board_info['name'], '[/url]
                </td>
             </tr>
          </table>';
    }

    ./Themes/default/languages/Modifications.english.php
    Find (at the end of the file): [Select]
    ?>
    Add Before: [Select]

    // Text for the Order Stickied Topics Mod.
    $txt['OrderStickiedTopics_title'] = 'Order Stickied Topics';
    $txt['OrderStickiedTopics_current'] = 'Current \'Sticky\' Value';
    $txt['OrderStickiedTopics_back'] = 'Back To';
    $txt['OrderStickiedTopics_modify'] = 'Modify Sticky Value';
    $txt['OrderStickiedTopics_unsticky'] = 'Un-Sticky';
    $txt['OrderStickiedTopics_increase'] = 'Increase';
    $txt['OrderStickiedTopics_decrease'] = 'Decrease';
    $txt['OrderStickiedTopics_emptylist'] = 'This board currently has no stickied topics.';

    ./Themes/default/languages/Modifications.english-utf8.php
    Find (at the end of the file):

    โค๊ด: [Select]
    ?>

    Add Before:

    โค๊ด: [Select]
    // Text for the Order Stickied Topics Mod.
    $txt['OrderStickiedTopics_title'] = 'Order Stickied Topics';
    $txt['OrderStickiedTopics_current'] = 'Current \'Sticky\' Value';
    $txt['OrderStickiedTopics_back'] = 'Back To';
    $txt['OrderStickiedTopics_modify'] = 'Modify Sticky Value';
    $txt['OrderStickiedTopics_unsticky'] = 'Un-Sticky';
    $txt['OrderStickiedTopics_increase'] = 'Increase';
    $txt['OrderStickiedTopics_decrease'] = 'Decrease';
    $txt['OrderStickiedTopics_emptylist'] = 'This board currently has no stickied topics.';

    This operation isn't vital to the installation of this mod.
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    Mod เพิ่มปุ่มจัดการกระทู้ปักหมุด
    « ตอบกลับ #2 เมื่อ: 07 ตุลาคม 2559, 11:30:55 »