mirror of
https://github.com/phpbb/phpbb.git
synced 2025-03-14 20:50:30 +01:00
admin decides which smilies to be displayed in posting screen
git-svn-id: file:///svn/phpbb/trunk@4544 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
f0e6b45dcf
commit
09f0238af2
@ -12,39 +12,53 @@
|
||||
// -------------------------------------------------------------
|
||||
|
||||
// Fill smiley templates (or just the variables) with smileys, either in a window or inline
|
||||
function generate_smilies($mode)
|
||||
function generate_smilies($mode, $forum_id)
|
||||
{
|
||||
global $SID, $auth, $db, $user, $config, $template;
|
||||
global $starttime, $phpEx, $phpbb_root_path;
|
||||
|
||||
$max_smilies_inline = 20;
|
||||
global $phpEx, $phpbb_root_path;
|
||||
|
||||
if ($mode == 'window')
|
||||
{
|
||||
$user->setup(FALSE);
|
||||
if (!$forum_id && !$topic_id)
|
||||
{
|
||||
trigger_error('NO_TOPIC');
|
||||
}
|
||||
|
||||
page_header($user->lang['SMILIES'] . ' - ' . $topic_title);
|
||||
$sql = 'SELECT forum_style
|
||||
FROM ' . FORUMS_TABLE . "
|
||||
WHERE forum_id = $forum_id";
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
|
||||
$user->setup(FALSE, (int) $row['forum_style']);
|
||||
|
||||
page_header($user->lang['SMILIES']);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'posting_smilies.html')
|
||||
);
|
||||
}
|
||||
|
||||
$num_smilies = 0;
|
||||
if ($mode == 'inline')
|
||||
{
|
||||
$sql = 'SELECT COUNT(*) as num_smilies
|
||||
FROM ' . SMILIES_TABLE;
|
||||
$result = $db->sql_query_limit($sql, 1, 0, 3600);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$num_smilies = (int) $row['num_smilies'];
|
||||
}
|
||||
|
||||
$sql = 'SELECT *
|
||||
FROM ' . SMILIES_TABLE .
|
||||
(($mode == 'inline') ? ' WHERE display_on_posting = 1 ' : '') . '
|
||||
ORDER BY smile_order';
|
||||
$result = $db->sql_query($sql);
|
||||
$result = $db->sql_query($sql, 3600);
|
||||
|
||||
$num_smilies = 0;
|
||||
$smile_array = array();
|
||||
$smilies = 0;
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
do
|
||||
{
|
||||
if (!in_array($row['smile_url'], $smile_array))
|
||||
{
|
||||
if ($mode == 'window' || ($mode == 'inline' && $num_smilies < $max_smilies_inline))
|
||||
{
|
||||
$template->assign_block_vars('emoticon', array(
|
||||
'SMILEY_CODE' => $row['code'],
|
||||
@ -53,23 +67,19 @@ function generate_smilies($mode)
|
||||
'SMILEY_HEIGHT' => $row['smile_height'],
|
||||
'SMILEY_DESC' => $row['emoticon'])
|
||||
);
|
||||
}
|
||||
|
||||
$smile_array[] = $row['smile_url'];
|
||||
$num_smilies++;
|
||||
}
|
||||
$smilies++;
|
||||
}
|
||||
while ($row = $db->sql_fetchrow($result));
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($mode == 'inline' && $num_smilies >= $max_smilies_inline)
|
||||
if ($mode == 'inline' && $num_smilies > $smilies)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_SHOW_EMOTICON_LINK' => TRUE,
|
||||
'U_MORE_SMILIES' => $phpbb_root_path . "posting.$phpEx$SID&mode=smilies")
|
||||
'U_MORE_SMILIES' => $phpbb_root_path . "posting.$phpEx$SID&mode=smilies&f=$forum_id")
|
||||
);
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($mode == 'window')
|
||||
{
|
||||
|
@ -102,7 +102,7 @@ switch ($mode)
|
||||
break;
|
||||
|
||||
case 'smilies':
|
||||
generate_smilies('window');
|
||||
generate_smilies('window', $forum_id);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -792,8 +792,8 @@ if (($mode == 'reply' || $mode == 'quote') && !$preview && !$refresh)
|
||||
get_moderators($moderators, $forum_id);
|
||||
|
||||
|
||||
// Generate smilies and topic icon listings
|
||||
generate_smilies('inline');
|
||||
// Generate smilie listing
|
||||
generate_smilies('inline', $forum_id);
|
||||
|
||||
|
||||
// Generate Topic icons
|
||||
|
Loading…
x
Reference in New Issue
Block a user