คุณสมบัติ
ไอคอน ที่ใช้ 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
ค้นหา ::
โค้ด: เลือกทั้งหมด
<p>{SIGNATURE_PREVIEW}</p>
โค้ด: เลือกทั้งหมด
<div id="sig" class="signature"><p>{SIGNATURE_PREVIEW}</p></div>
โค้ด: เลือกทั้งหมด
<div id="format-buttons">
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- IF S_ABBC3_MOD -->
<!-- INCLUDE posting_abbcode_buttons.html -->
</div>
<!-- ELSE -->
โค้ด: เลือกทั้งหมด
<dl>
โค้ด: เลือกทั้งหมด
<!-- 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"
โค้ด: เลือกทั้งหมด
id="signature"
โค้ด: เลือกทั้งหมด
id="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 //-->
โค้ด: เลือกทั้งหมด
ค้นหา::
โค้ด: เลือกทั้งหมด
</head>
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- INCLUDE ./../../styles/abbcode/abbcode_header.html -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
ค้นหา::
โค้ด: เลือกทั้งหมด
/**
* 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
โค้ด: เลือกทั้งหมด
$undid_bbcode_specialchars = false;
โค้ด: เลือกทั้งหมด
// 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
โค้ด: เลือกทั้งหมด
// Replace {L_*} lang strings
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
$user->add_lang('mods/abbcode');
// MOD : MSSTI ABBC3 - End
โค้ด: เลือกทั้งหมด
'img' => '<img src="$1" alt="' . $user->lang['IMAGE'] . '" />',
โค้ด: เลือกทั้งหมด
/>',
โค้ด: เลือกทั้งหมด
class="resize_me"
โค้ด: เลือกทั้งหมด
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
ค้นหา::
โค้ด: เลือกทั้งหมด
// Additional tables
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 Clicks Counter - Start
define('CLICKS_TABLE', $table_prefix . 'clicks');
// MOD : MSSTI ABBC3 Clicks Counter - End
ค้นหา::
โค้ด: เลือกทั้งหมด
// 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
ค้นหา::
โค้ด: เลือกทั้งหมด
'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
ค้นหา::
โค้ด: เลือกทั้งหมด
function display_custom_bbcodes()
โค้ด: เลือกทั้งหมด
display_custom_bbcodes(
โค้ด: เลือกทั้งหมด
$abbc3 = true
โค้ด: เลือกทั้งหมด
$num_predefined_bbcodes = 22;
โค้ด: เลือกทั้งหมด
// 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
โค้ด: เลือกทั้งหมด
bbcode_helpline
โค้ด: เลือกทั้งหมด
, bbcode_group
โค้ด: เลือกทั้งหมด
WHERE display_on_posting = 1
โค้ด: เลือกทั้งหมด
display_on_posting = 1
โค้ด: เลือกทั้งหมด
' . $sql_where . '
โค้ด: เลือกทั้งหมด
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
ค้นหา::
โค้ด: เลือกทั้งหมด
$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
โค้ด: เลือกทั้งหมด
'bbcode_id' => (int) $row['bbcode_id'],
โค้ด: เลือกทั้งหมด
// MOD : MSSTI ABBC3 - Start
'bbcode_group' => $row['bbcode_group'],
// MOD : MSSTI ABBC3 - End
โค้ด: เลือกทั้งหมด
// Parse smilies
โค้ด: เลือกทั้งหมด
// 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
ค้นหา::
โค้ด: เลือกทั้งหมด
case 'edit':
$sql = 'SELECT bbcode_match, bbcode_tpl, display_on_posting, bbcode_helpline
FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $bbcode_id;
โค้ด: เลือกทั้งหมด
, bbcode_helpline
โค้ด: เลือกทั้งหมด
, abbcode
โค้ด: เลือกทั้งหมด
$bbcode_id
โค้ด: เลือกทั้งหมด
. ' AND abbcode = 0'
โค้ด: เลือกทั้งหมด
case 'modify':
$sql = 'SELECT bbcode_id, bbcode_tag
FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $bbcode_id;
โค้ด: เลือกทั้งหมด
, bbcode_tag
โค้ด: เลือกทั้งหมด
, abbcode
โค้ด: เลือกทั้งหมด
$bbcode_id
โค้ด: เลือกทั้งหมด
. ' AND abbcode = 0'
โค้ด: เลือกทั้งหมด
$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";
โค้ด: เลือกทั้งหมด
bbcode_tag
โค้ด: เลือกทั้งหมด
, abbcode
โค้ด: เลือกทั้งหมด
$bbcode_id"
โค้ด: เลือกทั้งหมด
. ' AND abbcode = 0'
โค้ด: เลือกทั้งหมด
$sql = 'SELECT *
FROM ' . BBCODES_TABLE . '
ORDER BY bbcode_tag';
โค้ด: เลือกทั้งหมด
ORDER BY bbcode_tag';
โค้ด: เลือกทั้งหมด
WHERE abbcode = 0
ค้นหา ::
โค้ด: เลือกทั้งหมด
if ($file[0] != '.' && strtoupper($file) != 'CVS' && !is_file($dir . '/' . $file) && !is_link($dir . '/' . $file))
โค้ด: เลือกทั้งหมด
&& !is_link($dir . '/' . $file)
โค้ด: เลือกทั้งหมด
&& $file != 'abbcode'
ค้นหา ::
โค้ด: เลือกทั้งหมด
'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
โค้ด: เลือกทั้งหมด
'user_notify' => $data['notify'],
โค้ด: เลือกทั้งหมด
// 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
โค้ด: เลือกทั้งหมด
'S_SMILIES' => $data['smilies'],
โค้ด: เลือกทั้งหมด
// 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
ค้นหา ::
โค้ด: เลือกทั้งหมด
{_file.L_DOWNLOAD_COUNT}" /></a></dt>
โค้ด: เลือกทั้งหมด
{_file.L_DOWNLOAD_COUNT}"
โค้ด: เลือกทั้งหมด
class="attach_parent"
โค้ด: เลือกทั้งหมด
onclick="viewableArea(this);" /></dt>
โค้ด: เลือกทั้งหมด
"viewableArea(this);"
โค้ด: เลือกทั้งหมด
class="attach_me"
ค้นหา ::
โค้ด: เลือกทั้งหมด
<!-- BEGIN img --><img src="{URL}" alt="{L_IMAGE}" /><!-- END img -->
โค้ด: เลือกทั้งหมด
alt="{L_IMAGE}"
โค้ด: เลือกทั้งหมด
class="resize_me"
ค้นหา ::
โค้ด: เลือกทั้งหมด
</head>
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- INCLUDE ./../../abbcode/abbcode_header.html -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
ค้นหา ::
โค้ด: เลือกทั้งหมด
<div id="format-buttons">
โค้ด: เลือกทั้งหมด
<!-- 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 //-->
โค้ด: เลือกทั้งหมด
</div>
<!-- ENDIF -->
โค้ด: เลือกทั้งหมด
โค้ด: เลือกทั้งหมด
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - Start //-->
<!-- ENDIF -->
<!-- MOD : MSSTI ABBC3 (v{S_ABBC3_VERSION}) - End //-->
ค้นหา ::
โค้ด: เลือกทั้งหมด
<!-- IF PREVIEW_SIGNATURE --><div class="signature">{PREVIEW_SIGNATURE}</div><!-- ENDIF -->
โค้ด: เลือกทั้งหมด
class="signature"
โค้ด: เลือกทั้งหมด
id="sig"
ค้นหา ::
โค้ด: เลือกทั้งหมด
<fieldset class="submit-buttons">
โค้ด: เลือกทั้งหมด
<!-- 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 //-->
ค้นหา ::
โค้ด: เลือกทั้งหมด
<div class="signature" style="border-top:none; margin-top: 0; ">{SIGNATURE_PREVIEW}</div>
โค้ด: เลือกทั้งหมด
class="signature"
โค้ด: เลือกทั้งหมด
id="sig"
โค้ด: เลือกทั้งหมด
การแสดงผลการติดตั้ง