本站開放 HTML 標準語法中的 IMG SRC="" 功能!

頭像
psycho
瘋狂管理員
瘋狂管理員
文章: 4175
註冊時間: 2003-03-27, 21:59
聯繫:

本站開放 HTML 標準語法中的 IMG SRC="" 功能!

文章psycho » 2005-09-10, 19:25

為了因應很多網友在其他網站的網路相簿之圖形檔連結出問題,本站開放 HTML 標準語法中的 <IMG SRC="" > 功能。

任何使用者都可以使用 <IMG SRC="HTTP://XXX.CCC.YYY/123.JPG"> 的方式連結圖形檔。

但是,只有擁有站長權限的特殊使用者,才可以使用全部的 HTML功能。

如果你是一般使用者,你引用站長文章或重新編輯站長的文章(如果你是版主),那麼『該篇站長文章』的HTML功能會完全消失不能使用。

如果你是站長級使用者,你引用一般使用者之文章或重新編輯他們的文章,那麼『該篇文章』的任何HTML功能都會變成可以使用。

底下是程式的修改部份,請負責維護程式的同學可注意修改了那些:
修改的程式:posting.php、includes/function_post.php 。

● posting.php 的修改:
if ( !$board_config['allow_html'] )
{
$html_on = 0;
}
else
{
$html_on = ( $submit || $refresh ) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );

if ( $userdata['user_level'] == ADMIN ) /* ADD BY psycho */
{
if ( $html_on == 1 ) $html_on = 2;
} /* ADD BY psycho */
}

● includes/function_post.php 的修改:

else if ( $html_on == 2 ) /* add by psycho */
{
$allowed_html_tags = split(',', $board_config['allow_html_tags']);

$end_html = 0;
$start_html = 1;
$tmp_message = '';
$message = ' ' . $message . ' ';

while ($start_html = strpos($message, '<', $start_html))
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1, ($start_html - $end_html - 1)));

if ($end_html = strpos($message, '>', $start_html))
{
$length = $end_html - $start_html + 1;
$hold_string = substr($message, $start_html, $length);

if (($unclosed_open = strrpos(' ' . $hold_string, '<')) != 1)
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($hold_string, 0, $unclosed_open - 1));
$hold_string = substr($hold_string, $unclosed_open - 1);
}

$tagallowed = true;

$tmp_message .= ($length && !$tagallowed) ? preg_replace($html_entities_match, $html_entities_replace, $hold_string) : $hold_string;

$start_html += $length;
}
else
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, strlen($message)));

$start_html = strlen($message);
$end_html = $start_html;
}
}

if ($end_html != strlen($message) && $tmp_message != '')
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1));
}

$message = ($tmp_message != '') ? trim($tmp_message) : trim($message);
} /* add by psycho */

回到「系統公告」

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 11 位訪客

cron