- 2-5-2557 12-10-47.png (107.95 KiB) Viewed 1721 times
รายละเอียดเกี่ยวกับ :: ABBC3 คือเเถบเครื่องมือแทนที่ phpBB3 ด้วยไอคอนที่สวยงาม และสามารถปรับแต่งการโพสต์เเละเพิ่ม BBCodes ใหม่ได้ นอกจากนี้ยัง ช่วยเพิ่มคุณสมบัติมาให้ใช้งาน รวมถึง Resizer ภาพด้วย Lightbox สไตล์ต่างๆ
คุณสมบัติ
ไอคอน ที่ใช้ BBCode แถบเครื่องมือ
ปรับแต่ง รูปแบบของ แถบเครื่องมือและคำสั่ง / รูปแบบของ BBCodes ของคุณ
BBCodes ใหม่ ๆ
รองรับ phpBB3 ของ BBCodes ที่กำหนดเอง
BBCodes สามารถกำหนดให้กับ กลุ่มผู้ใช้ บางอย่าง สำหรับการใช้งานส่วนตัว
BBCodes สามารถกำหนดให้กับ โพสต์, ข้อความส่วนตัว และ ลายเซ็น บรรณาธิการ อิสระ
วิดีโอที่ ฝัง ในข้อความของคุณ สนับสนุน หลายสิบ เว็บไซต์สื่อ และรูปแบบแฟ้ม
Resizer ภาพที่มี Lightbox ต่างๆ ขยาย สไตล์ ( Highslide , Lightview , Lightbox2 และ Shadowbox )
พัฒนาโดย ::leviatan21
Version ::3.0.13
ดาวน์โหลด ::https://www.mindphp.com/download/files/48-47-mssti-abbc3-zip.html
ไฟล์ที่ใช้ในการติดตั้ง ::
adm/style/acp_users_signature.html,
adm/style/overall_header.html,
includes/bbcode.php,
includes/constants.php,
includes/functions.php,
includes/functions_content.php,
includes/functions_display.php,
includes/message_parser.php,
includes/acp/acp_bbcodes.php,
includes/acp/acp_styles.php,
includes/ucp/ucp_prefs.php,
styles/prosilver/template/attachment.html,
styles/prosilver/template/bbcode.html,
styles/prosilver/template/overall_header.html,
styles/prosilver/template/posting_buttons.html,
styles/prosilver/template/posting_preview.html,
styles/prosilver/template/ucp_prefs_post.html,
styles/prosilver/template/ucp_profile_signature.html
วิธีการติดตั้ง
เปิดไฟล์=>adm/style/acp_users_signature.html
ค้นหา ::
แทนที่::
โค้ด: เลือกทั้งหมด
<div id="sig" class="signature"><p>{SIGNATURE_PREVIEW}</p></div>
ค้นหา ::
เติมท้าย ::
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- IF S_ABBC3_MOD -->
<!-- INCLUDE posting_abbcode_buttons.html -->
</div>
<!-- ELSE -->
ค้นหา ::
เเทนที่::
โค้ด: เลือกทั้งหมด
<!-- ENDIF -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
<dl>
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- IF S_ABBC3_COLOR_MODE eq 'phpbb' -->
ค้นหา ::
โค้ด: เลือกทั้งหมด
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;"><textarea name="signature"
ในบรรทัดค้นหา::
ต่อท้ายบรรทัดค้นหา::
ค้นหา::
โค้ด: เลือกทั้งหมด
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">
เติมก่อน::
โค้ด: เลือกทั้งหมด
<!-- ELSE -->
<dt style="width: 100%; margin-bottom: 5px;"><textarea name="signature" id="signature" rows="10" cols="60" style="width: 99%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();">{SIGNATURE}</textarea></dt>
<!-- ENDIF -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
เติมท้าย ::
เปิดไฟล์=>adm/style/overall_header.html
ค้นหา::
เติมก่อน::
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- INCLUDE ./../../styles/abbcode/abbcode_header.html -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
เปิดไฟล์=>includes/bbcode.php
ค้นหา::
โค้ด: เลือกทั้งหมด
/**
* BBCode class
* @package phpBB3
*/
class bbcode
แทนที่::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
if (!class_exists('abbcode'))
{
include($phpbb_root_path . 'includes/abbcode.' . $phpEx);
}
/**
* BBCode class
* @package phpBB3
*/
// class bbcode
class bbcode extends abbcode
// MOD : MSSTI ABBC3 - end
ค้นหา::
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
// Try to avoid duplicates anchor ID's inside quotes
if (preg_match('#\[quote(?:="(.*?)")?:' . $this->bbcode_uid . '\](.*?)\[anchor=(.*?)?\sgoto=(.*?)?:' . $this->bbcode_uid . '\](.*?)\[/anchor:' . $this->bbcode_uid . '\](.*?)\[/quote:' . $this->bbcode_uid . '\]#is', $message))
{
$message = preg_replace('#(\[anchor=(.*?)(\s)goto=(.*?):' . $this->bbcode_uid . '\](.*?)\[/anchor:' . $this->bbcode_uid . '\]?)#is', "[anchor=quoted$2 goto=quoted$4:" . $this->bbcode_uid . "]$5[/anchor:" . $this->bbcode_uid . "]", $message);
}
// MOD : MSSTI ABBC3 - End
ค้นหา::
โค้ด: เลือกทั้งหมด
}
$bbcode_ids = $rowset = $sql = array();
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$this->template_filename2 = $phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/abbcode.html';
if (!@file_exists($this->template_filename2))
{
if (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'])
{
$this->template_filename2 = $phpbb_root_path . 'styles/' . $user->theme['template_inherit_path'] . '/template/abbcode.html';
if (!@file_exists($this->template_filename2))
{
trigger_error('The file ' . $this->template_filename2 . ' is missing.', E_USER_ERROR);
}
}
else
{
trigger_error('The file ' . $this->template_filename2 . ' is missing.', E_USER_ERROR);
}
}
// MOD : MSSTI ABBC3 - End
ค้นหา::
โค้ด: เลือกทั้งหมด
$bitfield = new bitfield($this->bbcode_bitfield);
$bbcodes_set = $bitfield->get_all_set();
foreach ($bbcodes_set as $bbcode_id)
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$abbcode = new abbcode();
// MOD : MSSTI ABBC3 - end
ค้นหา::
โค้ด: เลือกทั้งหมด
$sql = 'SELECT *
FROM ' . BBCODES_TABLE . '
WHERE ' . $db->sql_in_set('bbcode_id', $sql);
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$sql .= " AND bbcode_match <> '.'";
// MOD : MSSTI ABBC3 - End
ค้นหา::
โค้ด: เลือกทั้งหมด
'#\[url:$uid\]((.*?))\[/url:$uid\]#s' => $this->bbcode_tpl('url', $bbcode_id),
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
'#\[url:$uid\](ed2k://\|(file|server|serverlist|friend)(|\|[^\\/\|:<>\*\?\"]+?)\|(.*?)\|/?)\[/url:$uid\]#sie' => "\$this->ed2k_pass( \$bbcode_id, '\$1', '' )",
'#\[url=(ed2k://\|(file|server|serverlist|friend)(|\|[^\\/\|:<>\*\?\"]+?)\|(.*?)\|/?):$uid\](.*?)\[/url:$uid\]#sie' => "\$this->ed2k_pass( \$bbcode_id, '\$1', '\$5' )",
// MOD : MSSTI ABBC3 - End
ค้นหา::
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$user->add_lang('mods/abbcode');
// MOD : MSSTI ABBC3 - End
ค้นหา::
โค้ด: เลือกทั้งหมด
'img' => '<img src="$1" alt="' . $user->lang['IMAGE'] . '" />',
ในบรรทัดค้นหา::
เติมก่อนบรรทัดก่อนหน้า::
ค้นหา::
โค้ด: เลือกทั้งหมด
if (($tpl = file_get_contents($this->template_filename)) === false)
{
trigger_error('Could not load bbcode template', E_USER_ERROR);
}
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
if (($tpl2 = file_get_contents($this->template_filename2)) === false)
{
trigger_error('Could not load abbcode template', E_USER_ERROR);
}
else
{
$tpl .= $tpl2;
}
// MOD : MSSTI ABBC3 - End
เปิดไฟล์=>includes/constants.php
ค้นหา::
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 Clicks Counter - Start
define('CLICKS_TABLE', $table_prefix . 'clicks');
// MOD : MSSTI ABBC3 Clicks Counter - End
เปิดไฟล์=>includes/functions.php
ค้นหา::
โค้ด: เลือกทั้งหมด
// The following assigns all _common_ variables that may be used at any point in a template.
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
if (defined('IN_ABBC3'))
{
$user->add_lang('mods/abbcode');
}
// MOD : MSSTI ABBC3 - End
เปิดไฟล์=>includes/functions_content.php
ค้นหา::
โค้ด: เลือกทั้งหมด
'L_DOWNLOAD_COUNT' => $l_download_count
);
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
global $abbcode;
// We need to check if ABBC3 is properly initialized for attached images and the ABBC3 img resizer
if (@$config['ABBC3_MOD'])
{
// For attached images being resized in private messages only when bbcodes are not present
if (!class_exists('abbcode'))
{
include($phpbb_root_path . 'includes/abbcode.' . $phpEx);
}
// For attached image resizer regular messages when bbcodes are not present
if ($abbcode->abbcode_config['S_ABBC3_RESIZE'] && !isset($template->_rootref['S_ABBC3_RESIZE']) && ($display_cat == ATTACHMENT_CATEGORY_IMAGE || $display_cat == ATTACHMENT_CATEGORY_THUMB))
{
$abbcode->abbcode_init();
}
}
// MOD : MSSTI ABBC3 - End
เปิดไฟล์=>includes/functions_display.php
ค้นหา::
ค้นหาในบรรทัด::
เติมท้าย::
ค้นหา::
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
global $config, $mode, $abbcode;
$abbc3 = ($abbc3 && @$config['ABBC3_UCP_MODE'] && isset($user->data['user_abbcode_mod'])) ? $user->data['user_abbcode_mod'] : $abbc3;
$display = ($mode == 'signature' || $mode == 'sig') ? 'display_on_sig' : ($mode == 'compose' ? 'display_on_pm' : 'display_on_posting');
if ($abbc3 && @$config['ABBC3_MOD'])
{
// We need to check if ABBC3 is properly initialized
if (!class_exists('abbcode'))
{
global $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/abbcode.' . $phpEx);
}
$abbcode->abbcode_init();
$abbcode->abbcode_display($mode);
$sql_where = " $display = 1 AND (abbcode = 0 AND bbcode_image = '')";
}
else
{
$sql_where = " $display = 1 AND abbcode = 0";
$template->assign_vars(array('S_ABBC3_DISABLED' => true));
}
// MOD : MSSTI ABBC3 - End
ค้นหา::
โค้ด: เลือกทั้งหมด
$sql = 'SELECT bbcode_id, bbcode_tag, bbcode_helpline
ในบรรทัดค้นหา::
เติมท้ายในบรรทัดค้นหา::
ค้นหา::
ในบรรทัดค้นหา::
แทนที่::
ค้นหา::
โค้ด: เลือกทั้งหมด
while ($row = $db->sql_fetchrow($result))
{
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
if ($abbc3 && @$config['ABBC3_MOD'])
{
// Check phpbb permissions status
// Check ABBC3 groups permission
// try to make it as quicky as it can be
$auth_tag = preg_replace('#\=(.*)?#', '', strtoupper(trim($row['bbcode_tag'])));
if (isset($row['bbcode_group']) && $row['bbcode_group'])
{
if (!$abbcode->abbcode_permissions($auth_tag, $row['bbcode_group']))
{
continue;
}
}
}
// MOD : MSSTI ABBC3 - End
เปิดไฟล์=>includes/message_parser.php
ค้นหา::
โค้ด: เลือกทั้งหมด
$this->bbcodes[$row['bbcode_tag']] = array(
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
if ($row['bbcode_match'] == '.')
{
if (isset($this->bbcodes[$row['bbcode_tag']]) && $this->bbcodes[$row['bbcode_tag']])
{
$this->bbcodes[$row['bbcode_tag']]['bbcode_group'] = $row['bbcode_group'];
}
continue;
}
// MOD : MSSTI ABBC3 - End
ค้นหา::
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
'bbcode_group' => $row['bbcode_group'],
// MOD : MSSTI ABBC3 - End
ค้นหา::
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
// Check phpbb permissions status
// Check ABBC3 groups permission
// try to make it as quicky as it can be
foreach ($this->bbcodes as $bbcode_name => $bbcode_data)
{
$auth_tag = preg_replace('#\=(.*)?#', '', strtoupper(trim($bbcode_name)));
if ((isset($bbcode_data['bbcode_group']) && $bbcode_data['bbcode_group']) || in_array($auth_tag, $this->need_permissions))
{
if (!$this->abbcode_permissions($auth_tag, (isset($bbcode_data['bbcode_group']) ? $bbcode_data['bbcode_group'] : 0)))
{
$this->bbcodes[$bbcode_name]['disabled'] = true;
}
}
}
// MOD : MSSTI ABBC3 - End
เปิดไฟล์=>includes/acp/acp_bbcodes.php
ค้นหา::
โค้ด: เลือกทั้งหมด
case 'edit':
$sql = 'SELECT bbcode_match, bbcode_tpl, display_on_posting, bbcode_helpline
FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $bbcode_id;
บรรทัดค้นหา::
เติมท้ายในบรรทัดค้นหา::
บรรทัดค้นหา::
เติมท้ายในบรรทัดค้นหา::
ค้นหา::
โค้ด: เลือกทั้งหมด
case 'modify':
$sql = 'SELECT bbcode_id, bbcode_tag
FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $bbcode_id;
บรรทัดค้นหา::
เติมท้ายในบรรทัดค้นหา::
บรรทัดค้นหา ::
เติมท้ายในบรรทัดค้นหา::
ค้นหา ::
โค้ด: เลือกทั้งหมด
$sql_ary['bbcode_id'] = (int) $bbcode_id;
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$sql = 'SELECT MAX(bbcode_order) as max_bbcode_order
FROM ' . BBCODES_TABLE;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$bbcode_order = $row['max_bbcode_order'] + 1;
$sql_ary['bbcode_order'] = (int) $bbcode_order;
// MOD : MSSTI ABBC3 - End
ค้นหา ::
โค้ด: เลือกทั้งหมด
case 'delete':
$sql = 'SELECT bbcode_tag
FROM ' . BBCODES_TABLE . "
WHERE bbcode_id = $bbcode_id";
บรรทัดค้นหา ::
เติมท้ายในบรรทัดค้นหา::
บรรทัดค้นหา::
เติมท้ายในบรรทัดค้นหา::
ค้นหา ::
โค้ด: เลือกทั้งหมด
$sql = 'SELECT *
FROM ' . BBCODES_TABLE . '
ORDER BY bbcode_tag';
บรรทัดค้นหา::
เติมก่อนในบรรทัดค้นหา::
เปิดไฟล์=>includes/acp/acp_styles.php
ค้นหา ::
โค้ด: เลือกทั้งหมด
if ($file[0] != '.' && strtoupper($file) != 'CVS' && !is_file($dir . '/' . $file) && !is_link($dir . '/' . $file))
ในบรรทัดค้นหา ::
เติมท้ายในบรรทัดค้นหา ::
เปิดไฟล์=>includes/ucp/ucp_prefs.php
ค้นหา ::
โค้ด: เลือกทั้งหมด
'notify' => request_var('notify', (bool) $user->data['user_notify']),
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
'abbcode_mod' => request_var('abbcode_mod', (($user->data['user_abbcode_mod']) ? ($user->data['user_abbcode_compact'] ? 'compact' : 'standard') : 'limited')),
// MOD : MSSTI ABBC3 - End
ค้นหา ::
เติมท้าย::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
'user_abbcode_mod' => (($data['abbcode_mod'] == 'limited') ? 0 : 1),
'user_abbcode_compact' => (($data['abbcode_mod'] == 'compact') ? 1 : 0),
// MOD : MSSTI ABBC3 - End
ค้นหา ::
โค้ด: เลือกทั้งหมด
$template->assign_vars(array(
'S_BBCODE' => $data['bbcode'],
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$user->add_lang('mods/info_acp_abbcodes');
$abbc3_options = '';
$abbc3_modes = array('standard' => $user->lang['UCP_ABBC3_STANDARD'], 'compact' => $user->lang['UCP_ABBC3_COMPACT'], 'limited' => $user->lang['UCP_ABBC3_LIMITED']);
foreach ($abbc3_modes as $abbc3_mode => $abbc3_lang)
{
$abbc3_options .= '<option value="' . $abbc3_mode . '"' . (($data['abbcode_mod'] == $abbc3_mode) ? ' selected="selected"' : '') . '>';
$abbc3_options .= $abbc3_lang;
$abbc3_options .= '</option>';
}
// MOD : MSSTI ABBC3 - End
ค้นหา ::
เติมก่อน::
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
'S_ABBC3_VERSION' => @$config['ABBC3_VERSION'],
'S_ABBC3_MOD' => @$config['ABBC3_MOD'],
'S_ABBC3_UCP_MODE' => @$config['ABBC3_UCP_MODE'],
'S_ABBCODE_OPTIONS' => $abbc3_options,
// MOD : MSSTI ABBC3 - End
เปิดไฟล์=>styles/prosilver/template/attachment.html
ค้นหา ::
ในบรรทัดค้นหา ::
เติมท้ายในบรรทัดค้นหา ::
ค้นหา ::
ในบรรทัดค้นหา ::
เติมท้ายในบรรทัดค้นหา ::
เปิดไฟล์=>styles/prosilver/template/bbcode.html
ค้นหา ::
โค้ด: เลือกทั้งหมด
<!-- BEGIN img --><img src="{URL}" alt="{L_IMAGE}" /><!-- END img -->
ในบรรทัดค้นหา ::
เติมท้ายในบรรทัดค้นหา ::
เปิดไฟล์=>styles/prosilver/template/overall_header.html
ค้นหา ::
เติมก่อน::
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- INCLUDE ./../../abbcode/abbcode_header.html -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
เปิดไฟล์=>styles/prosilver/template/posting_buttons.html
ค้นหา ::
เติมท้าย::
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- IF S_ABBC3_MOD and not S_ABBC3_DISABLED -->
<!-- INCLUDE posting_abbcode_buttons.html -->
<!-- ELSE -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
ค้นหา ::
ค้นหา ::
เติมก่อน::
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- ENDIF -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
เปิดไฟล์=>styles/prosilver/template/posting_preview.html
ค้นหา ::
โค้ด: เลือกทั้งหมด
<!-- IF PREVIEW_SIGNATURE --><div class="signature">{PREVIEW_SIGNATURE}</div><!-- ENDIF -->
ในบรรทัดค้นหา::
เติมก่อนในบรรทัดค้นหา::
เปิดไฟล์=>styles/prosilver/template/ucp_prefs_post.html
ค้นหา ::
เติมก่อน::
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- IF S_ABBC3_MOD and S_ABBC3_UCP_MODE -->
<h2>{L_UCP_ABBCODES}</h2>
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<fieldset>
<dl>
<dt><label for="abbcode_mod">{L_UCP_ABBC3_SETTINGS}:</label><br /><span>{L_UCP_ABBC3_SETTINGS_EXPLAIN}</span></dt>
<dd><select name="abbcode_mod" id="abbcode_mod">{S_ABBCODE_OPTIONS}</select></dd>
</dl>
</fieldset>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
เปิดไฟล์=>styles/prosilver/template/ucp_profile_signature.html
ค้นหา ::
โค้ด: เลือกทั้งหมด
<div class="signature" style="border-top:none; margin-top: 0; ">{SIGNATURE_PREVIEW}</div>
ในบรรทัดค้นหา ::
เติมก่อนใบบรรทัดค้นหา::
ค้นหา ::
***จากนั้นให้ทำการ คัดลอกไฟล์ทั้งหมดที่มี ในโฟลเดอร์ root ไปวาง เเล้วทำการ เปิด Browser :: /install_abbc3.php***
การแสดงผลการติดตั้ง
- 2-5-2557 12-13-08.png (55.48 KiB) Viewed 1721 times
- 2-5-2557 12-13-45.png (56.62 KiB) Viewed 1721 times