diff options
author | Bart van Bragt <bartvb@users.sourceforge.net> | 2001-12-18 20:35:17 +0000 |
---|---|---|
committer | Bart van Bragt <bartvb@users.sourceforge.net> | 2001-12-18 20:35:17 +0000 |
commit | 27ed6223d8867d7dd4c66c83114d35ae3f606670 (patch) | |
tree | cccd292a89a1219f2d4ba92f1d643430662cca99 /phpBB/includes | |
parent | b3db480ffad5651d55f6e4712612d231575eb0d9 (diff) | |
download | forums-27ed6223d8867d7dd4c66c83114d35ae3f606670.tar forums-27ed6223d8867d7dd4c66c83114d35ae3f606670.tar.gz forums-27ed6223d8867d7dd4c66c83114d35ae3f606670.tar.bz2 forums-27ed6223d8867d7dd4c66c83114d35ae3f606670.tar.xz forums-27ed6223d8867d7dd4c66c83114d35ae3f606670.zip |
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
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/post.php | 109 |
1 files changed, 108 insertions, 1 deletions
diff --git a/phpBB/includes/post.php b/phpBB/includes/post.php index b43b055257..391671d716 100644 --- a/phpBB/includes/post.php +++ b/phpBB/includes/post.php @@ -96,4 +96,111 @@ function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid return($message); } -?>
\ No newline at end of file + +// +// 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); + } +} +?> |