แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - FHM

หน้า: [1] 2 3 4 5
1
Crowns
  • ม็อดนี้จะทำการเพิ่มไอค่อนประจำกลุ่มในหน้าชื่อสมาชิก
  • สามารถกำหนดความต่างของไอค่อนประจำกลุ่ม ระหว่างกลุ่มสมาชิกพิเศษและกลุ่มสมาชิกที่นับกระทู้พื้นฐาน
  • รูปที่จะใช้เป็นไอค่อน ให้อัพโหลดเข้าไปไว้ในไดเรคทอรี default/images
  • วิธีการเปลี่ยนหรือเพิ่มไอค่อน เข้าไปที่Admin => Membergroups => Edit Membergroups,
    คลิก Modify และใส่ชื่อไฟล์ที่ต้องการเพิ่ม
  • วิธีเปิดหรือปิดการใช้งาน
     สำหรับ SMF 2.0 RC1: Admin => Modifications => Crown.
     สำหรับ SMF 1.1.X: Admin => Features and Options => Crown.
สำหรับ MSF 1.1.x
ไฟล์ที่ต้องทำการแก้ไข
ManageMembergroups.php
ค้นหา
โค๊ด: (php) [Select]
SELECT ID_GROUP, groupName, minPosts, onlineColor, starsแทนที่ด้วย
โค๊ด: (php) [Select]
SELECT ID_GROUP, groupName, minPosts, onlineColor, stars, crownค้นหา
โค๊ด: (php) [Select]
'color' => empty($row['onlineColor']) ? '' : $row['onlineColor'],แทนที่ด้วย
โค๊ด: (php) [Select]
'color' => empty($row['onlineColor']) ? '' : $row['onlineColor'],
         'crown' => empty($row['crown']) ? '' : '<span style="padding-right: 2px;"><img src="' . $settings['images_url'] . '/' . $row['crown'] . '" alt="" /></span>',
ค้นหา
โค๊ด: (php) [Select]
// !!! Don't set onlineColor for the Moderators group?แทนที่ด้วย
โค๊ด: (php) [Select]
$_POST['crown'] = isset($_POST['crown']) ? $_POST['crown'] : '';
     
      // !!! Don't set onlineColor for the Moderators group?
ค้นหา
โค๊ด: (php) [Select]
maxMessages = $_POST[max_messages], minPosts = $_POST[min_posts], stars = '$_POST[stars]'แทนที่ด้วย
โค๊ด: (php) [Select]
maxMessages = $_POST[max_messages], minPosts = $_POST[min_posts], stars = '$_POST[stars]', crown = '$_POST[crown]'ค้นหา
โค๊ด: (php) [Select]
SELECT groupName, minPosts, onlineColor, maxMessages, starsแทนที่ด้วย
โค๊ด: (php) [Select]
SELECT groupName, minPosts, onlineColor, maxMessages, stars, crownค้นหา
โค๊ด: (php) [Select]
'color' => $row['onlineColor'],แทนที่ด้วย
โค๊ด: (php) [Select]
'color' => $row['onlineColor'],
      'crown' => $row['crown'],
         

ModSettings.php                 
ค้นหา
โค๊ด: (php) [Select]
$context['sub_template'] = 'show_settings';

   $subActions = array(
      'basic' => 'ModifyBasicSettings',
      'layout' => 'ModifyLayoutSettings',
      'karma' => 'ModifyKarmaSettings',
เพิ่มหลังที่หา
โค๊ด: (php) [Select]
'crown' => 'ModifyCrownSettings',ค้นหา         
โค๊ด: (php) [Select]
'href' => $scripturl . '?action=featuresettings;sa=karma;sesc=' . $context['session_id'],
            'is_last' => true,
         ),
         
แทนที่ด้วย
โค๊ด: (php) [Select]
'href' => $scripturl . '?action=featuresettings;sa=karma;sesc=' . $context['session_id'],
            'is_last' => false,
         ),
         'crown' => array(
            'title' => $txt['crown'],
            'href' => $scripturl . '?action=featuresettings;sa=crown;sesc=' . $context['session_id'],
            'is_last' => true,
         ),
ค้นหา
โค๊ด: (php) [Select]
require_once($sourcedir . '/ManageServer.php');

   $subActions = array(
      'basic' => 'ModifyBasicSettings',
      'layout' => 'ModifyLayoutSettings',
      'karma' => 'ModifyKarmaSettings',
เพิ่มหลังที่หา
โค๊ด: (php) [Select]
      'crown' => 'ModifyCrownSettings',ค้นหาเครื่องหมาย ?> (อยู่ก่อนบรรทัดสุดท้าย) เพิ่มก่อนที่หา
โค๊ด: (php) [Select]
function ModifyCrownSettings()
{
   global $txt, $scripturl, $context, $settings, $sc, $modSettings;

   $config_vars = array(
      array('check', 'hide_index_page'),
      array('check', 'topic_started_by'),
      array('check', 'topic_last_post'),
      array('check', 'hide_msg_display'),
      array('check', 'hide_profile'),
      array('check', 'hide_personal_msgs'),
      array('check', 'show_memberlist'),
      array('check', 'hide_who_is_online'),
      array('check', 'hide_board_index'),
   '',
      array('check', 'avatar_in_whos_online'),
   '',
   );

   // Saving?
   if (isset($_GET['save']))
   {
      checkSession();

      saveDBSettings($config_vars);
      writeLog();

      redirectexit('action=featuresettings;sa=crown');
   }
   
   $context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=crown';
   $context['settings_title'] = '<span style="color: gray; font-weight: normal; font-size: 7pt; float: right;">Crown version 1.0 by Bulakbol</span>' . $txt['crown'];

   prepareDBSettingContext($config_vars);
}

Load.php           
ค้นหา
โค๊ด: (php) [Select]
'permissions' => array()แทนที่ด้วย
โค๊ด: (php) [Select]
'permissions' => array(),
      'group_id' => empty($user_settings['ID_GROUP']) ? (!empty($user_settings['ID_POST_GROUP']) ? $user_settings['ID_POST_GROUP'] : '') : $user_settings['ID_GROUP'],
ค้นหา
โค๊ด: (php) [Select]
'group_color' => $profile['member_group_color'],แทนที่ด้วย
โค๊ด: (php) [Select]
'group_color' => $profile['member_group_color'],
      'group_item' => !empty($profile['ID_GROUP']) ? get_group_color($profile['ID_GROUP']) : (!empty($profile['ID_POST_GROUP']) ? get_group_color($profile['ID_POST_GROUP']) : ''),
ค้นหา
โค๊ด: (php) [Select]
'local_time' => timeformat(time() + ($profile['timeOffset'] - $user_info['time_offset']) * 3600, false),
   );
แทนที่ด้วย
โค๊ด: (php) [Select]
'local_time' => timeformat(time() + ($profile['timeOffset'] - $user_info['time_offset']) * 3600, false),
   );
   // Board moderator?
   if (strtolower($memberContext[$user]['group']) == 'moderator')
      $memberContext[$user]['group_item'] = get_group_color(3);
ค้นหา
โค๊ด: (php) [Select]
'email' => &$user_info['email']แทนที่ด้วย
โค๊ด: (php) [Select]
'email' => &$user_info['email'],
      'group_item' => !$user_info['is_guest'] ? get_group_color($user_info['group_id']) : '',

Subs.php
ค้นหาเครื่องหมาย ?> (อยู่ก่อนบรรทัดสุดท้าย) เพิ่มก่อนที่หา
โค๊ด: (php) [Select]
// Get group color and crown.
function get_group_color($group_id)
{
   global $db_prefix, $settings;

   if ($group_id == 0)
      return;

   $group_item = array(
      'color' => array(),
      'crown' => array()
   );
   $request = db_query("
      SELECT onlineColor, crown
      FROM {$db_prefix}membergroups
      WHERE ID_GROUP = $group_id
      LIMIT 1", __FILE__, __LINE__);

   while ($row = mysql_fetch_assoc($request))
   {
      $group_item['color'] = empty($row['onlineColor']) ? '' : $row['onlineColor'];
      $group_item['crown'] = empty($row['crown']) ? '' : '<span style="padding-right: 2px;"><img src="' . $settings['images_url'] . '/' . $row['crown'] . '" alt="" /></span>';
   }
   mysql_free_result($request);

   return $group_item;
}
MessageIndex.php                 
ค้นหา
โค๊ด: (php) [Select]
t.ID_FIRST_MSG, mf.posterTime AS firstPosterTime,แทนที่ด้วย
โค๊ด: (php) [Select]
t.ID_FIRST_MSG, mf.posterTime AS firstPosterTime, memf.ID_GROUP AS first_id_group,
            memf.ID_POST_GROUP AS first_id_post_group, meml.ID_GROUP AS last_id_group, meml.ID_POST_GROUP AS last_id_post_group
ค้นหา
โค๊ด: (php) [Select]
'id' => $row['firstID_MEMBER'],แทนที่ด้วย
โค๊ด: (php) [Select]
'id' => $row['firstID_MEMBER'],
                  'group_item' => get_group_color(!empty($row['first_id_group']) ? $row['first_id_group'] : $row['first_id_post_group']),
ค้นหา
โค๊ด: (php) [Select]
'id' => $row['lastID_MEMBER'],         
แทนที่ด้วย
โค๊ด: (php) [Select]
'id' => $row['lastID_MEMBER'],
                  'group_item' => get_group_color(!empty($row['last_id_group']) ? $row['last_id_group'] : $row['last_id_post_group']),

BoardIndex.php                 
ค้นหา
โค๊ด: (php) [Select]
$context['users_online'][$row['logTime'] . $row['memberName']] = array(แทนที่ด้วย
โค๊ด: (php) [Select]
// add crown if there is one
      if (empty($modSettings['hide_board_index']) && $row['ID_GROUP'] > 0)
      {
         $group_item = get_group_color($row['ID_GROUP']);
         $link = $group_item['crown'] . $link;
      }

      $context['users_online'][$row['logTime'] . $row['memberName']] = array(

ManageMembergroups.template.php
ค้นหา
โค๊ด: (php) [Select]
<tr class="titlebg"><td colspan="4" style="padding: 4px;">', $txt['membergroups_regular'], '</td></tr>
               <tr class="catbg3">
แทนที่ด้วย
โค๊ด: (php) [Select]
<tr class="titlebg"><td colspan="5" style="padding: 4px;">', $txt['membergroups_regular'], '</td></tr>
               <tr class="catbg3">
                  <td width="4%">', $txt['crown'], '</td>
ค้นหา
โค๊ด: (php) [Select]
<td class="windowbg2">', empty($group['color']) ? ( $group['can_search'] ? $group['link'] : $group['name'] ) : '<span style="color: ' . $group['color'] . '">' . ( $group['can_search'] ? $group['link'] : $group['name']) . '</span>', $group['id'] == 1 ? ' (<a href="' . $scripturl . '?action=helpadmin;help=membergroup_administrator" onclick="return reqWin(this.href);">?[/url])' : ($group['id'] == 3 ? ' (<a href="' . $scripturl . '?action=helpadmin;help=membergroup_moderator" onclick="return reqWin(this.href);">?[/url])' : ''), '</td>เพิ่มก่อนที่หา
โค๊ด: (php) [Select]
<td class="windowbg" align="center">', $group['crown'], '</td>                 
ค้นหา
โค๊ด: (php) [Select]
<td colspan="4" align="right" style="padding-top: 1ex; padding-bottom: 2ex;">แทนที่ด้วย
โค๊ด: (php) [Select]
<td colspan="5" align="right" style="padding-top: 1ex; padding-bottom: 2ex;">ค้นหา
โค๊ด: (php) [Select]
<tr class="titlebg"><td colspan="5" style="padding: 4px;">', $txt['membergroups_post'], '</td></tr>
               <tr class="catbg3">
แทนที่ด้วย
โค๊ด: (php) [Select]
<tr class="titlebg"><td colspan="6" style="padding: 4px;">', $txt['membergroups_post'], '</td></tr>
               <tr class="catbg3">
                  <td width="4%">', $txt['crown'], '</td>
ค้นหา
โค๊ด: (php) [Select]
<td class="windowbg2">', empty($group['color']) ? ($group['can_search'] ? $group['link'] : $group['name']) : '<span style="color: ' . $group['color'] . '">' . ($group['can_search'] ? $group['link'] : $group['name']) . '</span>', '</td>เพิ่มก่อนที่หา
โค๊ด: (php) [Select]
<td class="windowbg" align="center">', $group['crown'], '</td>ค้นหา
โค๊ด: (php) [Select]
<td colspan="5" align="right" style="padding-top: 1ex; padding-bottom: 2ex;">
                     <input type="submit" value="', $txt['membergroups_add_group'], '" style="margin: 4px;" />
                  </td>
               </tr>
            </table>
            <input type="hidden" name="sc" value="' . $context['session_id'] . '" />
            <input type="hidden" name="postgroup" value="1" />
         </form>
แทนที่ด้วย
โค๊ด: (php) [Select]
<td colspan="6" align="right" style="padding-top: 1ex; padding-bottom: 2ex;">
                     <input type="submit" value="', $txt['membergroups_add_group'], '" style="margin: 4px;" />
                  </td>
               </tr>
            </table>
            <input type="hidden" name="sc" value="' . $context['session_id'] . '" />
            <input type="hidden" name="postgroup" value="1" />
         </form>
ค้นหา
โค๊ด: (php) [Select]
<tr class="windowbg2">
               <th align="right" style="padding-top: 1em;">
                  <label for="max_messages_input">', $txt['membergroups_max_messages'], ':</label>
แทนที่ด้วย
โค๊ด: (php) [Select]
<tr class="windowbg2">
               <th align="right" style="padding-top: 1em;">
                  <label for="crown_input">', $txt['crown_image_filename'], ':</label>
               </th>
               <td>
                  ', $txt['membergroups_images_url'], '
                  <input type="text" name="crown" value="', $context['group']['crown'], '" />
                  <img src="', $settings['images_url'], '/', $context['group']['crown'] == '' ? 'blank.gif' : $context['group']['crown'], '" alt="*" />
               </td>
            </tr>     
            <tr class="windowbg2">
               <th align="right" style="padding-top: 1em;">
                  <label for="max_messages_input">', $txt['membergroups_max_messages'], ':</label>
ค้นหา
โค๊ด: (php) [Select]
<span style="font-size: 130%;"> ', $txt['hello_member_ndt'], ' ', $context['user']['name'] , '</span>แทนที่ด้วย
โค๊ด: (php) [Select]
<span style="font-size: 130%;">', !empty($context['user']['group_item']['crown']) && empty($modSettings['hide_index_page']) ?  $context['user']['group_item']['crown'] : $txt['hello_member_ndt']. ' ', '<b', !empty($context['user']['group_item']['color']) && empty($modSettings['hide_index_page']) ?
               (' style="color: '. $context['user']['group_item']['color']. ';">') : '> ', $context['user']['name'] , '</span>

MessageIndex.template.php             
ค้นหา
โค๊ด: (php) [Select]
<td class="windowbg2" valign="middle" width="14%">แทนที่ด้วย
โค๊ด: (php) [Select]
<td class="windowbg2" valign="middle" width="14%"><span style="float: left;">', !empty($topic['first_post']['member']['group_item']['crown']) && !empty($modSettings['topic_started_by']) ? $topic['first_post']['member']['group_item']['crown'] : '', '</span>ค้นหา
โค๊ด: (php) [Select]
', $txt[525], ' ', $topic['last_post']['member']['link'], 'แทนที่ด้วย
โค๊ด: (php) [Select]
', $txt[525], ' ', !empty($topic['last_post']['member']['group_item']['crown']) && !empty($modSettings['topic_last_post']) ? $topic['last_post']['member']['group_item']['crown'] : '', $topic['last_post']['member']['link'], 'Display.template.php                 
ค้นหา
โค๊ด: (php) [Select]
', $message['member']['link'], 'แทนที่ด้วย
โค๊ด: (php) [Select]
', (!empty($message['member']['group_item']['crown']) && empty($modSettings['hide_msg_display']) ? $message['member']['group_item']['crown'] : ''), $message['member']['link'], '
Profile.template.php                 
ค้นหา
โค๊ด: (php) [Select]
<td>', $txt[68], ': </td>
               <td>',
แทนที่ด้วย
โค๊ด: (php) [Select]
<td>', $txt[68], ': </td>
               <td>', (!empty($context['member']['group_item']['crown']) && empty($modSettings['hide_profile']) ? $context['member']['group_item']['crown'] : ''),

PersonalMessage.template.php                 
ค้นหา
โค๊ด: (php) [Select]
<td valign="top" width="16%" rowspan="2" style="overflow: hidden;">
                        ',
แทนที่ด้วย
โค๊ด: (php) [Select]
<td valign="top" width="16%" rowspan="2" style="overflow: hidden;">
                        ', (!empty($message['member']['group_item']['crown']) && empty($modSettings['hide_personal_msgs']) ? $message['member']['group_item']['crown'] : ''), '',
>
Memberlist.template.php                 
ค้นหา
โค๊ด: (php) [Select]
function template_main()
{
   global $context, $settings, $options,
     
เพิ่มหลังที่หา
โค๊ด: (php) [Select]
$modSettings,ค้นหา
โค๊ด: (php) [Select]
<td class="windowbg" align="left">', $member['link'], '</td>แทนที่ด้วย
โค๊ด: (php) [Select]
<td class="windowbg" align="left">', (!empty($member['group_item']['crown']) && !empty($modSettings['show_memberlist']) ? $member['group_item']['crown'] : ''), $member['link'], '</td>
Who.template.php                 
ค้นหา
โค๊ด: (php) [Select]
global $context, $settings,แทนที่ด้วย
โค๊ด: (php) [Select]
global $context, $settings, $modSettings,ค้นหา
echo '
โค๊ด: (php) [Select]
            <span', $member['is_hidden'] ? ' style="font-style: italic;"' : '', '>แทนที่ด้วย
โค๊ด: (php) [Select]
if (!empty($member['avatar']['href']) && empty($modSettings['avatar_in_whos_online']))
         echo '<img src="', $member['avatar']['href'], '" width="30" alt="" />';
      elseif (empty($modSettings['avatar_in_whos_online']))
         echo '<img src="', $settings['images_url'], '/shadow.gif" width="30" alt="" />';

      echo '
            <span', $member['is_hidden'] ? ' style="font-style: italic;"' : '', '>
ค้นหา
โค๊ด: (php) [Select]
' . $member['name'] . '[/url]', '</span>';แทนที่ด้วย
โค๊ด: (php) [Select]
' . (!empty($member['group_item']['crown']) && empty($modSettings['hide_who_is_online']) ? $member['group_item']['crown'] : '') . $member['name'] . '[/url]', '</span>';
Modifications.thai-utf8.php
ค้นหาเครื่องหมาย ?> (อยู่ก่อนบรรทัดสุดท้าย) เพิ่มก่อนที่หา
โค๊ด: (php) [Select]
// Crowns
$txt['crown'] = 'Crown';
$txt['crown_image_filename'] = 'Crown image filename';
$txt['hide_index_page'] = 'Do not show in index page';
$txt['topic_started_by'] = 'Show in topic index "Started by:"';
$txt['topic_last_post'] = 'Show in topic index "Last post:"';
$txt['hide_msg_display'] = 'Do not show in message display';
$txt['hide_profile'] = 'Do not show in Profile';
$txt['hide_personal_msgs'] = 'Do not show in Personal messages';
$txt['show_memberlist'] = 'Show in memberlist';
$txt['hide_who_is_online'] = 'Do not show in "who\'s online"';
$txt['hide_board_index'] = 'Do not show in board index online list';
$txt['avatar_in_whos_online'] = 'Do not show avatar in who\'s online';

โหลดไฟล์แนบขึ้นไปรูทไดเรคทอรี (ที่เดียวกับไฟล์ SSI.php) รันไฟล์โดยการพิมพ์ http://ชื่อเว็บคุณ/installdb1.php เพื่อเพิ่มฟิลด์ในฐานข้อมูล
ดาวน์โหลดไฟล์รูปไปไว้บนไดเรคทอรี Themes/ธีมที่ใช้/images

2
ขออภัยนะครับที่อาจจะอัพเดตช้าไปหน่อย พอดีช่วงนี้ยุ่งๆกับธุรกิจที่ทำอยู่ หลายๆอย่างเลยดูค้างเติ่งไม่ค่อยขยับเขยื้อน
เท่าที่ดูคร่าวๆทางทีมงานผู้พัฒนาเค้าบอกว่า 2.0RC4 ปรับปรุงหลายๆอย่าง (ประมาณ 350 รายการ) ดูได้จาก changelog.txt ซึ่งหลักๆแล้วรายการอัพเดตในครั้งนี้ได้ปรับปรุงแก้ไขข้อผิดพลาดต่างๆดังนี้

    * A couple of security-related fixes.
    * Better compatibility with RTL languages.
    * Several important fixes of attachments handling
    * Several fixes and improvements concerning other database systems, PostgreSQL and SQLite
    * Improvements of the behavior of PM feature in conversation mode
    * Improvements of the behavior for UTF8 charsets
    * Fixes and improvements of integration hooks

รวมๆแล้วก็คือระบบความปลอดภัย ปรับปรุงเรื่องภาษาที่ต้องอ่านจากขวามาซ้าย (เช่นภาษาอาหรับ) ไฟล์แนบ ปรับปรุงเรื่องฐานข้อมูลที่ไม่ใช่ MySQL (PostgreSQL และ SQLite) ข้อความส่วนตัว คาร์แรกเตอร์แบบ UTF8 ฯลฯ

สำหรับการดาวน์โหลดเวอร์ชั่นล่าสุดของ SMF สามารถเข้าไปดาวน์โหลดได้ตามลิงค์ด้านล่าง http://download.simplemachines.org/
หรือดาวน์โหลดตามลิงค์ด้านล่างนี้ (แนะนำ เพราะไฟล์มีขนาดเล็กที่สุด)

SMF 2.0RC4 - http://download.simplemachines.org/index.php?thanks;filename=smf_2-0-rc4_install.tar.bz2
SMF 1.1.12  - http://download.simplemachines.org/index.php?thanks;filename=smf_1-1-12_install.tar.bz2

3
Tips/Tricks / Advance Profile Fields - ฟิลด์ข้อมูลส่วนตัวขั้นสูง
« เมื่อ: พฤศจิกายน 16, 2010, 08:36:55 AM »
    SMF How To:    Advanced Profile Fields
 
เป็นที่รู้กันว่า SMF 2.0  มีส่วนของฟังก์ชั่นการใช้งานเพิ่มเติมที่เพิ่มขึ้นมาก  หนึ่งในนั้นคือตัวเลือกฟิลด์ข้อมูลส่วนตัวขั้นสูง (Advanced Profile Field)  ซึ่งตัวเลือกนี้จะอนุญาตให้ผู้ดูแลระบบสามารถเพิ่มคำถามหรือตัวเลือกเข้าไปในข้อมูลส่วนตัวของผู้ใช้งาน  ซึ่งผมจะพาไปทำกันรู้จักกันครับ
ตัวเลือกนี้จะต้องเปิดใช้งานก่อน  ซึ่งค่าเริ่มต้นของตัวเลือกการใช้งานหลัก (Core Feature) ทุกตัวจะถูกปิดการใช้งานไว้และเฉพาะผู้ดูแลระบบเท่านั้นถึงจะสามารถแก้ไขตัวเลือกนี้ได้
ขั้นตอนที่ 1 : ล็อกอินเข้าสู่ระบบและไปยังเมนูผู้ดูแลระบบ
ขั้นตอนที่ 2 : ใน SMF 2.0 นี้จะเห็นว่ามีหลายตัวเลือกในเมนูผู้ดูแลระบบเพิ่มเติมขึ้นมาจาก  SMF 1.1 ซึ่งเมนูผู้ดูแลจะมีลักษณะเป็นเมนูแบบเลื่อนลง (dropdown menu)  แต่เราสามารถเปลี่ยนมุมมองของหน้าผู้ดูแลระบบให้เป็นมุมมองแบบคลาสสิคได้  เมนูในหน้าผู้ดูแลระบบแบ่งออกเป็น 5 เมนูหลักๆคือ รายละเอียดหลัก, กำหนดค่าฟอรั่มกำหนดรูปแบบฟอรั่มตั้งค่าสมาชิกตั้งค่าการบำรุงรักษา

4
ใช้ไฟร์วอลเพื่อปกป้อง SMF จากการโจมตีกันครับ

1.ป้องกันบอทที่ไม่พึงประสงค์
2.ลดการสแปมข้อความ
3.บล็อคการโจมตีเว็บไซต์
4.Partially weaken DoS
5.ป้องกันการแทรกสคริปส์ malicious


Features
1.Increase your Adsense Impression and Revenue.
2.Act as an Introduction page for your forum.
3.SEO  Friendly. (DnP Network has this firewall installed for more than 2  years. Google Search : silveryhat returns 29,000+ results)
4.No query executed / Extremely fast



วิธีติดตั้ง
1. อัพโหลดไฟล์ขึ้นไปบนไดเรคทอรีของบอร์ดครับ
2. เปิดไฟล์ dnp_fw_config.php
ค้นหา
โค๊ด: [Select]
$Forum_domain = array(ด้านล่างนี้จะเห็น http:// และ http://www ให้ใส่ URL ที่ต้องการตรงนี้ครับ
3.เปิดไฟล์ index.php
ค้นหา
โค๊ด: [Select]
$forum_version=เพิ่มโค้ดนี้ลงไปด้านล่าง
โค๊ด: [Select]
if(file_exists('dnp_fw.php')){require_once('dnp_fw.php');}
ถ้าต้องการปิดใช้งานไฟร์วอลก็ลบบรรทัดนี้ทิ้งครับ

DnP Network: http://www.silveryhat.com/delynie

5

บางครั้งเราอาจต้องการใช้หรือจำเป็นต้องใช้ข้อมูลของฐานข้อมูลเดียวกันในหลายๆฟอรั่ม วิธีนี้เป็นอีกวิธีหนึ่งในการติดตั้ง SMF โดยใช้ฐานข้อมูลร่วมกันนะครับ ตารางฐานข้อมูลที่จะใช้ร่วมกันมีดังนี้
  • im_recipients
  • instant_messages
  • membergroups
  • members
สำหรับขั้นตอนในการทำ ตามนี้เลยครับ
1. ติดตั้งฟอรั่ม
ติดตั้งฟอรั่มที่มากกว่าสองฟอรั่มขึ้นไปในฐานข้อมูลเดียวกันแต่ใช้คำนำหน้าฐานข้อมูลในตารางต่างกัน เช่นฟอรั่มแรกอาจจะตั้งชื่อคำนำหน้าฐานข้อมูลว่า "smf1_" และฟอรั่มที่สองอาจตั้งชื่อว่า "smf2_"
2. ปรับแต่งแก้ไขซอร์สโค้ด
เปิดไฟล์ .php ที่อยู่ในโฟลเดอร์ Sources ด้วยโปรแกรมเท็กซ์ เอดิเตอร์ ค้นหาและแทนที่โค้ดดังนี้
 "{$db_prefix}members" แทนที่ด้วย "smf1_members"
"{$db_prefix}im_recipients" => "smf1_im_recipients"
"{$db_prefix}instant_messages" => "smf1_instant_messages"
"{$db_prefix}membergroups" => "smf1_membergroups"
ทำอย่างนี้กับทุกไฟล์ในโฟลเดอร์ Sources เสร็จแล้วก็อัพโหลดกลับขึ้นไปบนโฮสต์
3. การตั้งค่าเพิ่มเติม
ถ้าฟอรั่มของคุณอยู่บนโฮสต์เนมเดียวกัน คุณสามารถใช้ชื่อคุ้กกี้ที่เหมือนกันสำหรับ SMF ได้ เผื่อว่าผู้ใช้ไม่ต้องการที่จะเข้าสู่ทั้งสองระบบพร้อมกัน โดยไปที่เมนู Admin center -> Edit Server Settings -> Cookie Name

ปัญหาที่อาจพบได้
  • การอัพโหลดรูปประจำตัวผู้ใช้งาน
    วิธีแก้ปัญหาเฉพาะหน้า : ปิดใช้งานการอัพโหลดรูปประจำตัว
    วิธีแก้แบบอื่น : เปิดใช้งานตาราง "attachments" ร่วมกันและซินโครไนซ์การตั้งค่าไฟล์แนบ (Admin Center -> Edit Features and Options -> Attachments section) วิธีนี้ใช้ไม่ได้ผลกับฟอรั่มที่อยู่บนคนละโดเมนหรือซับโดเมน
  • ในฟอรั่มมีหลายธีมให้เลือกใช้งาน (ID_THEME conflict in members table)
    วิธีแก้ปัญหาเฉพาะหน้า : เปิดใช้ดีฟอลต์ธีมกับสมาชิกทุกคน และไม่อนุญาตให้เลือกธีมใช้งานเอง
  • การแสดงข้อความที่อ่านไม่ทำงานเมื่อออกจากฟอรั่มไปยังฟอรั่มอื่น
    สามารถแก้ไขได้โดยแก้ไขเทมเพลตตรง "action=unread" เป็น "action=unread;all;start=0"
ตารางอื่นๆที่แนะนำให้ใช้ร่วมกัน :
- log_karma
- log_online <- เกี่ยวกับเซสชั่นในการใช้งาน หากฟอรั่มทั้งสองอยู่บนคนละโดเมน

Author article - Spaceman spiff

6
เป็นวิธีการเพิ่มปุ่ม Facebook Share ลงในหน้าอ่านกะทู้ครับ ช่วยอำนวยความสะดวกเวลาต้องการแชร์เนื้อหาในกระทู้ขึ้นไปยัง Facebook

ไฟล์ที่ต้องแก้ไข
Display.template.php
ค้นหา
โค๊ด: (php) [Select]
                     <input type="hidden" name="subject" value="', $context['response_prefix'], $context['subject'], '" />
เพิ่มก่อนที่หาว่า
โค๊ด: (php) [Select]
                      if ($message['id'] == $context['first_message']) {
                            echo '<br /><br /><a name="fb_share" type="box_count" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script><br /><br />';
                            };

Author Code - bluedevil



7
Tips/Tricks / การทำหน้าออกจากระบบให้คล้าย vBulletin
« เมื่อ: ตุลาคม 01, 2010, 07:19:07 PM »
ทิปนี้จะเป็นวิธีการทำหน้าออกจากระบบให้เป็นหน้าสีเทาๆ คล้ายกับ vBulletin ครับ เวลาล็อกเอาท์ออกจะรีไดเรคไปหน้าออกจากระบบก่อนจะกลับสู่หน้าปกติ ใครที่เคยใช้ vBulletin คงจะพอรู้จักกัน

ไฟล์ที่ต้องแก้ไข
scripts.js
เพิ่มลงไปหลังบรรทัดสุดท้ายว่า
โค๊ด: [Select]
// Logout effect like in WindowsXP gray logoff effect!
function log_out()
{
   ht = document.getElementsByTagName("html");
   ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
   if (confirm('Are you sure you want to logout?'))
   {
      return true;
   }
   else
   {
      ht[0].style.filter = "";
      return false;
   }
}

ไฟล์ index.template.php
ค้นหา
โค๊ด: [Select]
<a href="', $scripturl, '?action=logout;sesc=', $context['session_id'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/logout.gif" alt="' . $txt[108] . '" style="margin: 2px 0;" border="0" />' : $txt[108]), '</a>';แทนที่ด้วย
โค๊ด: [Select]
<a onclick="return log_out()" href="', $scripturl, '?action=logout;sesc=', $context['session_id'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/logout.gif" alt="' . $txt[108] . '" style="margin: 2px 0;" border="0" />' : $txt[108]), '</a>';
ใช้ได้กับ IE เท่านั้นนะครับ  ::)

Author Code - A.M.A

8
SMF Online Manual / ปฐมบทการแนะนำ SMF 2.0 RC3
« เมื่อ: กันยายน 27, 2010, 05:34:30 AM »
ได้ฤกษ์เปิดตัวธีมใหม่ ก็กะจะเขียนบทความใหม่ๆทยอยมาลงให้มิตรรักแฟน SMF ได้อ่านกัน สำหรับวันนี้จะเขียนรีวิวถึง SMF 2.0 RC3 ครับ หลายคนบ่นว่าเล่นยาก ปรับแต่งยาก ยากจริงหรือ ลองมาดูกันครับ
ความต้องการของเซิร์ฟเวอร์และไคลเอนต์ (Server & Clients Requirements)

Server Requirements
SMF ใช้ภาษา PHP ในการเขียนซอฟแวร์ ดังนั้นแน่นอนว่าเซิร์ฟเวอร์ของคุณต้องรองรับภาษา PHP ด้วยครับ ส่วนระบบปฏิบัติการที่ใช้นั้นรองรับหลายตัว ไม่ว่าจะเป็น Linux, Windows Server 2003, Windows XP, Solaris, FreeBSD, OpenBSD, NetBSD, Windows Server 2008 หรือ Mac OS

Web Servers
สามารถติดตั้งได้บนเกือบทุกๆเว็บเซิร์ฟเวอร์ที่เป็น Apache server เช่น Apache 1.3, Apache 2.0/2.2, Microsoft IIS, Lighttpd หรือ Nginx

Languages
ภาษาที่ใช้พัฒนาตัวซอฟแวร์คือภาษา PHP เวอร์ชั่น 4 และ 5

Databases
สิ่งที่ทำให้ซอฟแวร์ฟอรั่มที่มีการพัฒนากันมากในวงการซอฟแวร์ยุคนี้ ที่จะสามารถก้าวขึ้นมายืนเป็นอันดับต้นๆนั่นคือ การใช้งานง่าย ยืดหยุ่น และออกแบบให้รองรับกับประเภทของฐานข้อมูลหลายรูปแบบ ซึ่ง SMF 2.0 ตอบโจทย์ข้อนี้ได้ค่อนข้างดี SMF รองรับการติดตั้งบนฐานข้อมูลหลายตัว ไม่ว่าจะเป็น MySQL, Postgresql หรือ SQLite

เดี๋ยวมาต่อครับ ง่วงนอนละ

10
Search Engine Optimization / Additional Home Page Title เพิ่มไตเติ้ลหน้าแรก
« เมื่อ: กรกฎาคม 15, 2010, 08:32:42 PM »
ม็อดนี้จะทำให้เราเพิ่มไตเติ้ลที่เราต้องการ ยกตัวอย่างเช่น
  • Forum name - Index (แบบเดิม)
  • Forum name - ไตเติ้ลที่เราเพิ่มเข้าไปใหม่
เพื่อให้เห็นภาพได้ง่ายๆ มาดูวิธีการติดตั้งเลยครับ

รายละเอียดเบื้องต้น
  • ชื่อ : Additional Home Page Title
  • ไฟล์ต้นฉบับ : Additional Home Page Title
  • เจ้าของ : S-Ace
  • ประเภท : Search Engine Optimtzation
  • เวอร์ชั่น : 3.2 (8 พฤษภาคม 2553)
  • รองรับ SMF เวอร์ชั่น : SMF 1.1, SMF 2.0

ไฟล์ที่ต้องแก้ไขสำหรับ SMF 1.1
ModSettings.php
ค้นหา
โค๊ด: (php) [Select]
array('check', 'queryless_urls'),เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
array('text', 'title_forum', 'size' => 64),
BoardIndex.php
ค้นหา
โค๊ด: (php) [Select]
$context['page_title'] = $txt[18];แทนที่ด้วย
โค๊ด: (php) [Select]
$context['page_title'] = $context['forum_name'] . ' - '. (!empty($modSettings['title_forum']) ? $modSettings['title_forum'] : 'Index') . ' ';
Modifications.thai-utf8.php
เพิ่มก่อนเครื่องหมาย ?> ว่า
โค๊ด: (php) [Select]
$txt['title_forum'] = 'ใส่<i>ชื่อฟอรั่ม</i>ที่คุณต้องการเพิ่ม';

11
News and Announcement / เมื่อ SMF ไปโลดแล่นอยู่บนหน้าจอ iPhone
« เมื่อ: กรกฎาคม 13, 2010, 02:14:27 AM »
     โดยปกติแล้ว SMF ไม่ได้ถูกออกแบบมาเพื่อแสดงผลบนหน้าจอโทรศัพท์มือถือที่สามารถเล่นอินเตอร์เนตได้ เช่น iPhone (จริงๆแล้วเล่นได้ในโหมด WAP2) แต่ก็มีนักพัฒนาหัวใสที่คิดออกแบบหน้าตาของ SMF ให้รองรับการแสดงผลบน iPhone เจ้าตัวที่ว่านี่ก็คือ SMF4iPhone นั่นเองครับ ซึ่งหลักการทำงานของมันก็คือการตรวจจับโดยฟิลเตอร์ตรวจจับ Movila Free Device detection ซึ่งจะทำการตรวจจับเมื่อเราใช้โทรศัพท์มือถือเปิดหน้าเว็บของ SMF และจะส่งผู้ใช้ไปยังธีมที่รองรับ iPhone ที่ติดตั้งไว้ล่วงหน้าแล้ว ถ้าไม่พบธีมสำหรับ iPhone มันก็จะพาเราไปที่หน้า WAP2 หรือธีมที่เรากำหนดไว้นั่นเองครับ
     ธีมที่ออกแบบไว้รองรับกับการแสดงผลผ่าน iPhone จะติดมาพร้อมกับแพ็คเกจอยู่แล้ว ซึ่งเราสามารถเลือดติดตั้งได้เหมือนติดตั้งธีมปกติ และรองรับเฉพาะ SMF 2.0 เท่านั้นนะครับ (ใครที่ยังใช้ 1.1 อยู่อัพเกรดโดยด่วน  ;D)
     ที่มา : SMF4iPhone

12
     ม็อดนี้จะช่วยให้สามารถส่งข้อความส่วนตัว เพื่อแจ้งเจ้าของกระทู้ ในกรณีที่หัวข้อที่ผู้ใช้งานนั้นๆตั้ง ถูกย้ายไปบอร์ดอื่นนะครับ
     ลูกเล่นของ Move topic notification
  • แจ้งเตือนเจ้าของหัวข้อเมื่อหัวข้อถูกย้ายผ่านทางข้อความส่วนตัว
  • ตัวเลือกแจ้งเตือนทางข้อความส่วนตัวจะไม่แสดงเมื่อเป็นหัวข้อของตัวเองหรือหัวข้อที่โพสต์โดยบุคคลทั่วไป
  • มีอินเตอร์เฟซสวยงามน่าใช้
  • ใช้ {topic}, {prev_board}, {subject} และ {board} ได้
    รายละเอียดเบื้องต้น
  • ชื่อ : Move Topic Notification
  • ไฟล์ต้นฉบับ : Move Topic Notification
  • เจ้าของ : Nibigo
  • ประเภท : Security and Moderation
  • เวอร์ชั่น : 1.2 (5 กรกฎาคม 2553)
  • รองรับ SMF เวอร์ชั่น : SMF 1.1, SMF 2.0
ไฟล์ที่ต้องแก้ไข สำหรับ SMF 1.1
MoveTopic.php
ค้นหา
โค๊ด: (php) [Select]
   loadTemplate('MoveTopic');เพิ่มก่อนที่หาว่า
โค๊ด: (php) [Select]
   // May the user send pm notifies?
   $context['allow_notify'] = !empty($ID_MEMBER) && !empty($ID_MEMBER_STARTED) && $ID_MEMBER != $ID_MEMBER_STARTED;
ค้นหา
โค๊ด: (php) [Select]
   global $db_prefix, $ID_MEMBER, $board, $language, $user_info, $func;เพิ่ม หลังที่หาว่า
โค๊ด: (php) [Select]
    global $board_info;ค้นหา
โค๊ด: (php) [Select]
      createPost($msgOptions, $topicOptions, $posterOptions);
   }
เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
   // Notify the member of their moved topic by pm.
   if (isset($_POST['postNotify']) && !empty($ID_MEMBER_STARTED) && $ID_MEMBER != $ID_MEMBER_STARTED)
   {
      // Should be in the boardwide language.
      if ($user_info['language'] != $language)
         loadLanguage('index', $language);

      $pm_words = array(
      '{new_board}','{topic}','{subject}','{prev_board}'
           );     
   
           $pm_move_topic_body = str_replace($pm_words,
      array(
         '[url=' . $scripturl . '?board=' . $_POST['toboard'] . ']' . addslashes($board_name) . '[/url]',
         '[iurl]' . $scripturl . '?topic=' . $topic . '.0[/iurl]',
                        $subject,
                        '[url=' . $scripturl . '?board=' . $board . ']' . addslashes($board_info['name']) . '[/url]',
      ),
      $_POST['notify']
           );

           $pm_move_topic_body = preg_replace('~<br(?: /)?' . '>~', "\n", $pm_move_topic_body);
           $pm_move_topic_body = un_htmlspecialchars($pm_move_topic_body);     

      $pmto = array(
         'to' => array($ID_MEMBER_STARTED),
         'bcc' => array(),
      );
      sendpm($pmto,$subject,$pm_move_topic_body);
   }

MoveTopic.template.php
ค้นหา
โค๊ด: (php) [Select]
               </div>
               [br /]
แทนที่ด้วย
โค๊ด: (php) [Select]
               </div>
               [br /]';
   // PM Notification text.
   if($context['allow_notify'])
      echo '
               <label for="postNotify"><input type="checkbox" name="postNotify" id="postNotify" checked="checked" onclick="document.getElementById(\'notifyArea\').style.display = this.checked ? \'block\' : \'none\';" class="check" /> ', $txt['moveTopic5'], '.</label>[br /]
               <div id="notifyArea" style="margin-top: 1ex;">
                  ', $txt['movetopic_notify_desc'], '[br /]
                  <textarea name="notify" rows="5" cols="40">', $txt['movetopic_notify_default'], '</textarea>[br /]
               </div>
               [br /]';
   echo '
Modifications.thai-utf8.php
เพิ่ม ก่อนเครื่องหมาย ?> ว่า
โค๊ด: (php) [Select]
// Move Topic Notification by SMFPacks.com
$txt['moveTopic5'] = 'Send PM notification';
$txt['movetopic_notify_desc'] = 'Please enter the notification text, which will be sent to the original poster by pm.[br /]{topic} - Link to the Topic Url[br /]{new_board} - Link to the New Board[br /]{subject} - Subject of the Topic[br /]{prev_board} - Previous Board';
$txt['movetopic_notify_default'] = 'The topic you created at {prev_board} named {subject} has been moved to {new_board}. Please understand that this has been done to keep order in the forum.' . ".\n\n" . '{topic}';
$txt['movetopic_notify_subject'] = 'Moved Topic';

13
Converting to SMF / SMF Converter - Drupal 6.2
« เมื่อ: กรกฎาคม 08, 2010, 05:55:33 PM »
ซอฟแวร์ : Drupal
เวอร์ชัน : 6.2

กระทู้นี้ตั้งไว้สำหรับถามตอบปัญหาเกี่ยวกับการคอนเวิร์ท Drupal >>> SMF นะครับ มีปัญหาการคอนเวิร์ทดรูปัล 6.2 ถามได้ที่กระทู้นี้เลยครับ

drupal_migration.php
ไฟล์นี้ใช้ในการแก้ไขชื่อฐานข้อมูลและคำนำหน้าฐานข้อมูล ซึ่งดูได้จาก /sites/<site name>/settings.php ตัวแปร "$db_url" และ "$db_prefix"

convert.php
ใช้ไฟล์ convert.php จากกระทู้นี้ convert.php

14
Converting to SMF / Converters ของ SMF
« เมื่อ: กรกฎาคม 08, 2010, 05:22:06 PM »
     เปิดบอร์ดใหม่สำหรับ SMF Converters นะครับ หัวข้อนี้ก็เป็นหัวข้อแรกสำหรับบอร์ดนี้ เราจะมาทำความรู้จักกับคอนเวอร์เตอร์ของ SMF กันครับ
     คอนเวอร์เตอร์หรือตัวแปลง มีจุดประสงค์เพื่อการแปลงบอร์ดอื่นๆมาเป็น SMF เช่น phpbb, ipb, vb และอื่นๆ โดยประกอบด้วยสองไฟล์หลักคือไฟล์ convert.php และไฟล์ .sql ซึ่งเป็นไฟล์ที่ทำหน้าที่เกี่ยวกับการสร้างฐานข้อมูล โดยการรันไฟล์ convert.php จะทำให้ไฟล์ .sql ทำงานโดยอัตโนมัติ ซึ่งผมจะได้อธิบายวิธีการคอนเวิร์ทต่อไปครับ

15
Modifications and Packages / Hacks Park Shoutbox
« เมื่อ: กรกฎาคม 08, 2010, 04:49:25 AM »
     กล่องสนทนาที่จะแนะนำในวันนี้คือ Hacks Park Shoutbox ครับ ด้วยฟังก์ชั่นการใช้งานที่หลากหลายและการรับส่งข้อความที่เร็วพอสมควร ทำให้กล่องสนทนานี้เป็นที่นิยมในกลุ่มผู้ใช้ SMF มาดูความสามารถของกล่องนี้กันครับ
     รายละเอียดเบื้องต้น
  • ชื่อ : Hacks Park Shoutbox
  • ไฟล์ต้นฉบับ : Hacks Park Shoutbox
  • เจ้าของ : JCS, makito
  • ประเภท : New Feature
  • เวอร์ชั่น : 2.02. (15 กันยายน 2552)
  • รองรับ SMF เวอร์ชั่น : SMF 1.1, SMF 2.0
     ลูกเล่นของ Hacks Park Shoutbox
     ในฐานะสมาชิก
      - เปลี่ยนแบบฟอนต์ (Text styles), ขนาดฟอนต์, สีและพื้นหลัง (colors and backgrounds)
      - สัญลักษณ์แสดงอารมณ์ (Smileys)
      - เสียงขณะส่งข้อความ (Play sound on new messages)
      - สามารถปิดเสียงส่งข้อความ (Disable sound)
      - ใช้ /me command ได้
      - เปลี่ยนลิงค์ธรรมดาให้เป็น URL โดยอัตโนมัติ (Auto links converter)
       
     ในฐานะผู้ดูแลบอร์ด
      - ใช้งานลบข้อความหรือบำรุงรักษา (clear หรือ prune command)
      - ใช้งานแผงควบคุม (Moderation Panel)
         ~ แก้ไขหรือลบข้อความ (Edit หรือ delete messages)
         ~ แบนสมาชิก (Ban users)
         ~ แสดงข้อความที่ถูกส่งเข้าระบบ (Message history)
       
     ในฐานะผู้ดูแลระบบ
      - เปิดหรือปิดใช้งานกล่องสนทนา (Disable modification)
      - เลือกซ่อนกล่องข้อความอัตโนมัติ (Auto hide modification)
      - เปิดหรือปิดใช้งานการเลือสีข้อความหรือสัญลักษณ์แสดงอารมณ์ (Disable text features or smileys)
      - เพิ่มหรือลบแบบฟอนต์ (Add or delete font families)
      - เลือกแสดข้อความที่ด้านบนหรือด้านล่างของกล่อง (Show new messages at the top or bottom)
      - กำหนดความยาวคำ (Maximium word's lenght)
      - กำหนดความยาวข้อความ (Maximium message's lenght)
      - และอื่นๆ

ไฟล์ที่ต้องแก้ไขสำหรับ SMF 1.1
index.php
ค้นหา
โค๊ด: (php) [Select]
require_once($sourcedir . '/Security.php');เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
require_once($sourcedir . '/Subs-Shoutbox.php');ค้นหา
โค๊ด: (php) [Select]
call_user_func(smf_main());แทนที่ด้วย
โค๊ด: (php) [Select]
call_user_func(Shoutbox_Load(smf_main()));ค้นหา
โค๊ด: (php) [Select]
!empty($modSettings['hitStats'])เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
&& (empty($_REQUEST['action']) || $_REQUEST['action'] != 'shoutbox')ค้นหา
โค๊ด: (php) [Select]
'serversettings2' => array('ManageServer.php', 'ModifySettings2'),เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
      'shoutbox' => array('Shoutbox.php', 'Shoutbox'),
      'manageshoutbox' => array('ManageShoutbox.php', 'ManageShoutbox'),

Subs.php
ค้นหา
โค๊ด: (php) [Select]
// Admin area 'Forum'.เพิ่มก่อนที่หาว่า
โค๊ด: (php) [Select]
   if (allowedTo('admin_forum'))
      $context['admin_areas']['shoutbox'] = array(
         'title' => $txt['sba_title'],
         'areas' => array('shoutbox' => '<a href="' . $scripturl . '?action=manageshoutbox">' . $txt['sba_link'] . '[/url]')
      );

ManagePermissions.php
ค้นหา
โค๊ด: (php) [Select]
'karma_edit' => false,
         ),
เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
         'shoutbox' => array(
            'shoutbox_view' => false,
            'shoutbox_post' => false
         ),
         'shoutbox_panel' => array(
            'shoutbox_edit' => false,
            'shoutbox_delete' => false,
            'shoutbox_prune' => false,
            'shoutbox_ban' => false
         ),
ค้นหา
โค๊ด: (php) [Select]
$non_guest_permissions = array(เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
      'shoutbox_post',
      'shoutbox_edit',
      'shoutbox_delete',
      'shoutbox_prune',
      'shoutbox_ban',

index.template.php
ค้นหา
โค๊ด: (php) [Select]
}

function template_main_below()
{
เพิ่มก่อนที่หาว่า
โค๊ด: (php) [Select]
   if (function_exists('template_shoutbox')) template_shoutbox('main');
Modifications.thai-utf8.php
เพิ่มก่อนเครื่องหมาย ?> ว่า
โค๊ด: (php) [Select]
$txt['sba_title'] = 'Shoutbox';
$txt['sba_link'] = 'Shoutbox';

$txt['permissiongroup_shoutbox'] = 'Shoutbox';
$txt['permissionname_shoutbox_view'] = 'View Shoutbox';
$txt['permissionname_shoutbox_post'] = 'Post messages in Shoutbox';
$txt['permissiongroup_shoutbox_panel'] = 'Shoutbox Moderation Panel';
$txt['permissionname_shoutbox_edit'] = 'Edit messages in Shoutbox';
$txt['permissionname_shoutbox_delete'] = 'Delete messages in Shoutbox';
$txt['permissionname_shoutbox_prune'] = 'Empty Shoutbox';
$txt['permissionname_shoutbox_ban'] = 'Ban users in Shoutbox';

     ดาวน์โหลดไฟล์แนบ และคลายไฟล์ออก ทำการติดตั้งดังนี้
     อัพไฟล์และโฟลเดอร์ทั้งหมดขึ้นไปที่ไดเรคทอรีหลัก (ที่เดียวกับไฟล์ SSI.php) จากนั้นทำการติดตั้งโดยการเรียกไฟล์ติดตั้ง พิมพ์ http://yoursitename.extension/smf-1.1.x_install.php เคาะเอนเทอร์หนึ่งครั้ง จากนั้นลบไฟล์นี้ทิ้งก็เป็นอันเสร็จครับ
สวนวิธีตั้งค่าเดี๋ยวจะตามมาในบทหลังๆครับ
     ภาพตัวอย่างหลังการติดตั้ง
     
     

หน้า: [1] 2 3 4 5