Moved generate_smilies() into includes/post.php, use smileypath in config table

git-svn-id: file:///svn/phpbb/trunk@1628 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Bart van Bragt 2001-12-18 20:35:17 +00:00
parent b3db480ffa
commit 27ed6223d8
3 changed files with 109 additions and 218 deletions

View file

@ -96,4 +96,111 @@ function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid
return($message);
}
?>
//
// Fill smiley templates (or just the variables) with smileys
// Either in a window or inline
//
function generate_smilies($mode)
{
global $db, $board_config, $template, $lang, $images, $theme, $phpEx;
global $user_ip, $forum_id, $session_length;
global $userdata;
if( $mode == 'window' )
{
$userdata = session_pagestart($user_ip, $forum_id, $session_length);
init_userprefs($userdata);
$gen_simple_header = TRUE;
$page_title = $lang['Review_topic'] ." - $topic_title";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
"smiliesbody" => "posting_smilies.tpl")
);
}
$sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . "
ORDER BY smilies_id";
if( $result = $db->sql_query($sql) )
{
if( $db->sql_numrows($result) )
{
$rowset = array();
while( $row = $db->sql_fetchrow($result) )
{
if( empty($rowset[$row['smile_url']]) )
{
$rowset[$row['smile_url']]['code'] = $row['code'];
$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
}
}
$num_smilies = count($rowset);
$smilies_count = ( $mode == 'inline' ) ? min(19, $num_smilies) : $num_smilies;
$smilies_split_row = ( $mode == 'inline' ) ? 3 : 7;
$s_colspan = 0;
$row = 0;
$col = 0;
while( list($smile_url, $data) = @each($rowset) )
{
if( !$col )
{
$template->assign_block_vars("smilies_row", array());
}
$template->assign_block_vars("smilies_row.smilies_col", array(
"SMILEY_CODE" => $data['code'],
"SMILEY_IMG" => $board_config['smilies_path'] . "/" . $smile_url,
"SMILEY_DESC" => $data['emoticon'])
);
$s_colspan = max($s_colspan, $col + 1);
if( $col == $smilies_split_row )
{
if( $mode == 'inline' && $row == 4 )
{
break;
}
$col = 0;
$row++;
}
else
{
$col++;
}
}
if( $mode == 'inline' && $num_smilies > 20)
{
$template->assign_block_vars("switch_smilies_extra", array());
$template->assign_vars(array(
"L_MORE_SMILIES" => $lang['More_emoticons'],
"U_MORE_SMILIES" => append_sid("posting.$phpEx?mode=smilies"))
);
}
$template->assign_vars(array(
"L_EMOTICONS" => $lang['Emoticons'],
"L_CLOSE_WINDOW" => $lang['Close_window'],
"S_SMILIES_COLSPAN" => $s_colspan)
);
}
}
if( $mode == 'window' )
{
$template->pparse("smiliesbody");
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
}
?>

View file

@ -572,108 +572,6 @@ function topic_review($topic_id, $is_inline_review)
}
}
function generate_smilies($mode)
{
global $db, $board_config, $template, $lang, $images, $theme, $phpEx;
global $user_ip, $forum_id, $session_length;
global $userdata;
if( $mode == 'window' )
{
$userdata = session_pagestart($user_ip, $forum_id, $session_length);
init_userprefs($userdata);
$gen_simple_header = TRUE;
$page_title = $lang['Review_topic'] ." - $topic_title";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
"smiliesbody" => "posting_smilies.tpl")
);
}
$sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . "
ORDER BY smilies_id";
if( $result = $db->sql_query($sql) )
{
if( $db->sql_numrows($result) )
{
$rowset = array();
while( $row = $db->sql_fetchrow($result) )
{
if( empty($rowset[$row['smile_url']]) )
{
$rowset[$row['smile_url']]['code'] = $row['code'];
$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
}
}
$num_smilies = count($rowset);
$smilies_count = ( $mode == 'inline' ) ? min(19, $num_smilies) : $num_smilies;
$smilies_split_row = ( $mode == 'inline' ) ? 3 : 7;
$s_colspan = 0;
$row = 0;
$col = 0;
while( list($smile_url, $data) = @each($rowset) )
{
if( !$col )
{
$template->assign_block_vars("smilies_row", array());
}
$template->assign_block_vars("smilies_row.smilies_col", array(
"SMILEY_CODE" => $data['code'],
"SMILEY_IMG" => "images/smiles/" . $smile_url,
"SMILEY_DESC" => $data['emoticon'])
);
$s_colspan = max($s_colspan, $col + 1);
if( $col == $smilies_split_row )
{
if( $mode == 'inline' && $row == 4 )
{
break;
}
$col = 0;
$row++;
}
else
{
$col++;
}
}
if( $mode == 'inline' && $num_smilies > 20)
{
$template->assign_block_vars("switch_smilies_extra", array());
$template->assign_vars(array(
"L_MORE_SMILIES" => $lang['More_emoticons'],
"U_MORE_SMILIES" => append_sid("posting.$phpEx?mode=smilies"))
);
}
$template->assign_vars(array(
"L_EMOTICONS" => $lang['Emoticons'],
"L_CLOSE_WINDOW" => $lang['Close_window'],
"S_SMILIES_COLSPAN" => $s_colspan)
);
}
}
if( $mode == 'window' )
{
$template->pparse("smiliesbody");
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
}
//
// End page specific functions
// ---------------------------
@ -2988,4 +2886,4 @@ $template->pparse("body");
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
?>

View file

@ -34,120 +34,6 @@ if( !empty($board_config['privmsg_disable']) )
message_die(GENERAL_MESSAGE, 'PM_disabled');
}
// -----------------------
// Page specific functions
//
// This isn't really specific since it's used in posting too,
// however I'm too lazy to move them both to functions at the
// moment. Of course in 2.2 all the posting routines should
// be better 'integrated' so this won't be an issue
//
function generate_smilies($mode)
{
global $db, $board_config, $template, $lang, $images, $theme, $phpEx;
global $user_ip, $forum_id, $session_length;
global $userdata;
if( $mode == 'window' )
{
$userdata = session_pagestart($user_ip, $forum_id, $session_length);
init_userprefs($userdata);
$gen_simple_header = TRUE;
$page_title = $lang['Review_topic'] ." - $topic_title";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
"smiliesbody" => "posting_smilies.tpl")
);
}
$sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . "
ORDER BY smilies_id";
if( $result = $db->sql_query($sql) )
{
if( $db->sql_numrows($result) )
{
$rowset = array();
while( $row = $db->sql_fetchrow($result) )
{
if( empty($rowset[$row['smile_url']]) )
{
$rowset[$row['smile_url']]['code'] = $row['code'];
$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
}
}
$num_smilies = count($rowset);
$smilies_count = ( $mode == 'inline' ) ? min(19, $num_smilies) : $num_smilies;
$smilies_split_row = ( $mode == 'inline' ) ? 3 : 7;
$s_colspan = 0;
$row = 0;
$col = 0;
while( list($smile_url, $data) = @each($rowset) )
{
if( !$col )
{
$template->assign_block_vars("smilies_row", array());
}
$template->assign_block_vars("smilies_row.smilies_col", array(
"SMILEY_CODE" => $data['code'],
"SMILEY_IMG" => "images/smiles/" . $smile_url,
"SMILEY_DESC" => $data['emoticon'])
);
$s_colspan = max($s_colspan, $col + 1);
if( $col == $smilies_split_row )
{
if( $mode == 'inline' && $row == 4 )
{
break;
}
$col = 0;
$row++;
}
else
{
$col++;
}
}
if( $mode == 'inline' && $num_smilies > 20)
{
$template->assign_block_vars("switch_smilies_extra", array());
$template->assign_vars(array(
"L_MORE_SMILIES" => $lang['More_emoticons'],
"U_MORE_SMILIES" => append_sid("posting.$phpEx?mode=smilies"))
);
}
$template->assign_vars(array(
"L_EMOTICONS" => $lang['Emoticons'],
"L_CLOSE_WINDOW" => $lang['Close_window'],
"S_SMILIES_COLSPAN" => $s_colspan)
);
}
}
if( $mode == 'window' )
{
$template->pparse("smiliesbody");
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
}
//
// End page specific functions
// ---------------------------
//
// Var definitions
//