mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
Enable view limiting functions ... Ashe, not sure if this is compatible with your thinking for bbcode but it seems the "logical" way to handle disabling of bbcode/flash in this manner. Fixed issue with automatic url handling of local links
git-svn-id: file:///svn/phpbb/trunk@4028 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
0b58522088
commit
b48d7492a2
5 changed files with 137 additions and 18 deletions
|
@ -96,6 +96,8 @@ class bbcode
|
||||||
//
|
//
|
||||||
function bbcode_cache_init()
|
function bbcode_cache_init()
|
||||||
{
|
{
|
||||||
|
global $user;
|
||||||
|
|
||||||
$sql = '';
|
$sql = '';
|
||||||
|
|
||||||
$bbcode_ids = array();
|
$bbcode_ids = array();
|
||||||
|
@ -173,11 +175,22 @@ class bbcode
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
if ($user->data['user_viewimg'])
|
||||||
|
{
|
||||||
$this->bbcode_cache[$bbcode_id] = array(
|
$this->bbcode_cache[$bbcode_id] = array(
|
||||||
'preg' => array(
|
'preg' => array(
|
||||||
'#\[img:$uid\](.*?)\[/img:$uid\]#s' => '<img src="\1" border="0" />'
|
'#\[img:$uid\](.*?)\[/img:$uid\]#s' => '<img src="\1" border="0" />'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->bbcode_cache[$bbcode_id] = array(
|
||||||
|
'preg' => array(
|
||||||
|
'#\[img:$uid\](.*?)\[/img:$uid\]#s' => '<a href="\1">[ img ]</a>'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
$this->bbcode_cache[$bbcode_id] = array(
|
$this->bbcode_cache[$bbcode_id] = array(
|
||||||
|
@ -232,11 +245,22 @@ class bbcode
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
|
if ($user->data['user_viewimages'])
|
||||||
|
{
|
||||||
$this->bbcode_cache[$bbcode_id] = array(
|
$this->bbcode_cache[$bbcode_id] = array(
|
||||||
'preg' => array(
|
'preg' => array(
|
||||||
'#\[flash:$uid\](.*?)\[/flash:$uid\]#' => $this->bbcode_tpl('flash')
|
'#\[flash:$uid\](.*?)\[/flash:$uid\]#' => $this->bbcode_tpl('flash')
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->bbcode_cache[$bbcode_id] = array(
|
||||||
|
'preg' => array(
|
||||||
|
'#\[flash:$uid\](.*?)\[/flash:$uid\]#s' => '<a href="\1">[ flash ]</a>'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (isset($rowset[$bbcode_id]))
|
if (isset($rowset[$bbcode_id]))
|
||||||
|
|
|
@ -138,7 +138,7 @@ class ucp extends user
|
||||||
|
|
||||||
case 'string':
|
case 'string':
|
||||||
// Cleanup data, remove excess spaces, run entites
|
// Cleanup data, remove excess spaces, run entites
|
||||||
$valid_data[$var_name] = htmlentities(strtr(trim(preg_replace('#\s{2,}#s', ' ', (string) $data[$var_name])), array_flip(get_html_translation_table(HTML_ENTITIES))));
|
$valid_data[$var_name] = htmlentities(trim(preg_replace('#\s{2,}#s', ' ', strtr((string) $data[$var_name], array_flip(get_html_translation_table(HTML_ENTITIES))))));
|
||||||
|
|
||||||
// How should we check this data?
|
// How should we check this data?
|
||||||
if (!is_array($var_limits))
|
if (!is_array($var_limits))
|
||||||
|
|
|
@ -553,7 +553,7 @@ echo "<pre><hr>processing <b>$username</b><hr></pre>";
|
||||||
$replace = array();
|
$replace = array();
|
||||||
|
|
||||||
// relative urls for this board
|
// relative urls for this board
|
||||||
$match[] = '#' . $server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '\1', trim($config['script_path'])) . '/([^ \t\n\r <"\']+)#i';
|
$match[] = '#(^|[\n ])' . $server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '\1', trim($config['script_path'])) . '/([^ \t\n\r <"\']+)#i';
|
||||||
$replace[] = '<!-- l --><a href="\1" target="_blank">\1</a><!-- l -->';
|
$replace[] = '<!-- l --><a href="\1" target="_blank">\1</a><!-- l -->';
|
||||||
|
|
||||||
// matches a xxxx://aaaaa.bbb.cccc. ...
|
// matches a xxxx://aaaaa.bbb.cccc. ...
|
||||||
|
|
|
@ -326,9 +326,81 @@ class ucp_profile extends ucp
|
||||||
|
|
||||||
case 'avatar':
|
case 'avatar':
|
||||||
|
|
||||||
|
$dir = @opendir($config['avatar_gallery_path']);
|
||||||
|
|
||||||
|
$avatar_images = array();
|
||||||
|
while( $file = @readdir($dir) )
|
||||||
|
{
|
||||||
|
if( $file != '.' && $file != '..' && !is_file($config['avatar_gallery_path'] . '/' . $file) && !is_link($config['avatar_gallery_path'] . '/' . $file) )
|
||||||
|
{
|
||||||
|
$sub_dir = @opendir($config['avatar_gallery_path'] . '/' . $file);
|
||||||
|
|
||||||
|
$avatar_row_count = 0;
|
||||||
|
$avatar_col_count = 0;
|
||||||
|
while( $sub_file = @readdir($sub_dir) )
|
||||||
|
{
|
||||||
|
if( preg_match('#(\.gif$|\.png$|\.jpg|\.jpeg)$#i', $sub_file) )
|
||||||
|
{
|
||||||
|
$avatar_images[$file][$avatar_row_count][$avatar_col_count] = $file . '/' . $sub_file;
|
||||||
|
$avatar_name[$file][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file)));
|
||||||
|
|
||||||
|
$avatar_col_count++;
|
||||||
|
if( $avatar_col_count == 4 )
|
||||||
|
{
|
||||||
|
$avatar_row_count++;
|
||||||
|
$avatar_col_count = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@closedir($dir);
|
||||||
|
|
||||||
|
@ksort($avatar_images);
|
||||||
|
@reset($avatar_images);
|
||||||
|
|
||||||
|
$category = (isset($_POST['avatarcat'])) ? htmlspecialchars($_POST['avatarcat']) : '';
|
||||||
|
if( empty($category) )
|
||||||
|
{
|
||||||
|
list($category, ) = each($avatar_images);
|
||||||
|
}
|
||||||
|
@reset($avatar_images);
|
||||||
|
|
||||||
|
$s_categories = '';
|
||||||
|
while( list($key) = each($avatar_images) )
|
||||||
|
{
|
||||||
|
$selected = ( $key == $category ) ? ' selected="selected"' : '';
|
||||||
|
if( count($avatar_images[$key]) )
|
||||||
|
{
|
||||||
|
$s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$s_colspan = 0;
|
||||||
|
for($i = 0; $i < count($avatar_images[$category]); $i++)
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('avatar_row', array());
|
||||||
|
|
||||||
|
$s_colspan = max($s_colspan, count($avatar_images[$category][$i]));
|
||||||
|
|
||||||
|
for($j = 0; $j < count($avatar_images[$category][$i]); $j++)
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('avatar_row.avatar_column', array(
|
||||||
|
"AVATAR_IMAGE" => $config['avatar_gallery_path'] . '/' . $avatar_images[$category][$i][$j],
|
||||||
|
"AVATAR_NAME" => $avatar_name[$category][$i][$j])
|
||||||
|
);
|
||||||
|
|
||||||
|
$template->assign_block_vars('avatar_row.avatar_option_column', array(
|
||||||
|
"S_OPTIONS_AVATAR" => $avatar_images[$category][$i][$j])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'AVATAR' => '<img src="images/avatars/upload/' . $user->data['user_avatar'] . '" />',
|
'AVATAR' => '<img src="images/avatars/upload/' . $user->data['user_avatar'] . '" />',
|
||||||
|
|
||||||
|
'S_AVATAR_CAT_OPTIONS' => $s_categories,
|
||||||
'S_UPLOAD_AVATAR_FILE' => true,
|
'S_UPLOAD_AVATAR_FILE' => true,
|
||||||
'S_UPLOAD_AVATAR_URL' => true,
|
'S_UPLOAD_AVATAR_URL' => true,
|
||||||
'S_LINK_AVATAR' => true,
|
'S_LINK_AVATAR' => true,
|
||||||
|
@ -351,6 +423,29 @@ class ucp_profile extends ucp
|
||||||
|
|
||||||
$this->display($user->lang['UCP_PROFILE'], 'ucp_profile.html');
|
$this->display($user->lang['UCP_PROFILE'], 'ucp_profile.html');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function check_image_type(&$type)
|
||||||
|
{
|
||||||
|
global $user;
|
||||||
|
|
||||||
|
switch ($type)
|
||||||
|
{
|
||||||
|
case 'jpeg':
|
||||||
|
case 'pjpeg':
|
||||||
|
case 'jpg':
|
||||||
|
return '.jpg';
|
||||||
|
case 'gif':
|
||||||
|
return '.gif';
|
||||||
|
case 'png':
|
||||||
|
return '.png';
|
||||||
|
case 'bmp':
|
||||||
|
return '.bmp';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->error[] = $user->lang['INVALID_IMAGETYPE'];
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -712,7 +712,7 @@ do
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$user_sig = '';
|
$user_sig = '';
|
||||||
if ($row['enable_sig'] && $row['user_sig'] && $config['allow_sig'])
|
if ($row['enable_sig'] && $row['user_sig'] && $config['allow_sig'] && $user->data['user_allowsigs'])
|
||||||
{
|
{
|
||||||
$user_sig = $row['user_sig'];
|
$user_sig = $row['user_sig'];
|
||||||
$bbcode_bitfield |= $row['user_sig_bbcode_bitfield'];
|
$bbcode_bitfield |= $row['user_sig_bbcode_bitfield'];
|
||||||
|
@ -760,7 +760,7 @@ do
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($row['user_avatar_type'] && $auth->acl_get('u_setavatar'))
|
if ($row['user_avatar_type'] && $auth->acl_get('u_setavatar') && $user->data['user_allowavatars'])
|
||||||
{
|
{
|
||||||
switch ($row['user_avatar_type'])
|
switch ($row['user_avatar_type'])
|
||||||
{
|
{
|
||||||
|
@ -796,7 +796,7 @@ do
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!empty($row['user_viewemail']) || $auth->acl_get('m_', $forum_id)) && $config['email_enable'])
|
if ((!empty($row['user_allow_viewemail']) || $auth->acl_get('m_', $forum_id)) && $config['email_enable'])
|
||||||
{
|
{
|
||||||
$email_url = ($config['board_email_form']) ? "memberlist.$phpEx$SID&mode=email&u=" . $poster_id : 'mailto:' . $row['user_email'];
|
$email_url = ($config['board_email_form']) ? "memberlist.$phpEx$SID&mode=email&u=" . $poster_id : 'mailto:' . $row['user_email'];
|
||||||
$user_cache[$poster_id]['email_img'] = '<a href="' . $email_url . '">' . $user->img('btn_email', $user->lang['SEND_EMAIL']) . '</a>';
|
$user_cache[$poster_id]['email_img'] = '<a href="' . $email_url . '">' . $user->img('btn_email', $user->lang['SEND_EMAIL']) . '</a>';
|
||||||
|
@ -1023,7 +1023,7 @@ foreach ($rowset as $key => $row)
|
||||||
|
|
||||||
// If we allow users to disable display of emoticons
|
// If we allow users to disable display of emoticons
|
||||||
// we'll need an appropriate check and preg_replace here
|
// we'll need an appropriate check and preg_replace here
|
||||||
$message = (empty($config['allow_smilies'])) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $message) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $config['smilies_path'], $message);
|
$message = (empty($config['allow_smilies']) || !$user->data['user_viewsmilies']) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $message) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $config['smilies_path'], $message);
|
||||||
|
|
||||||
|
|
||||||
// Highlight active words (primarily for search)
|
// Highlight active words (primarily for search)
|
||||||
|
|
Loading…
Add table
Reference in a new issue