1
0
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:
Meik Sievertsen 2003-10-10 12:11:18 +00:00
parent f0e6b45dcf
commit 09f0238af2
2 changed files with 42 additions and 32 deletions

View File

@ -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&amp;mode=smilies")
'U_MORE_SMILIES' => $phpbb_root_path . "posting.$phpEx$SID&amp;mode=smilies&amp;f=$forum_id")
);
}
}
$db->sql_freeresult($result);
if ($mode == 'window')
{

View File

@ -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