aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/posting.php
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2001-12-17 02:02:55 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2001-12-17 02:02:55 +0000
commit7ad2cf2c9728183bdd43bb31590aa8721aeb1dda (patch)
treedb02f6959551057c1a47e9d586e77e93929974ff /phpBB/posting.php
parent4201b9af2ae3558782c009fe96e72f7ccc47c8e8 (diff)
downloadforums-7ad2cf2c9728183bdd43bb31590aa8721aeb1dda.tar
forums-7ad2cf2c9728183bdd43bb31590aa8721aeb1dda.tar.gz
forums-7ad2cf2c9728183bdd43bb31590aa8721aeb1dda.tar.bz2
forums-7ad2cf2c9728183bdd43bb31590aa8721aeb1dda.tar.xz
forums-7ad2cf2c9728183bdd43bb31590aa8721aeb1dda.zip
Stupid horrible group by clauses
git-svn-id: file:///svn/phpbb/trunk@1618 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/posting.php')
-rw-r--r--phpBB/posting.php52
1 files changed, 38 insertions, 14 deletions
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 9f5af2f4d1..bc5b1c0b2b 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -593,36 +593,60 @@ function generate_smilies($mode)
);
}
- $sql = "SELECT *
+ $sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . "
- GROUP BY emoticon
ORDER BY smilies_id";
if( $result = $db->sql_query($sql) )
{
- if( $num_smilies = $db->sql_numrows($result) )
+ if( $db->sql_numrows($result) )
{
- $rowset = $db->sql_fetchrowset($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'];
+ }
+ }
- $j = 0;
- $s_colspan = 0;
- $smilies_count = ( $mode == 'inline' ) ? min(20, $num_smilies) : $num_smilies;
+ $num_smilies = count($rowset);
+
+ $smilies_count = ( $mode == 'inline' ) ? min(19, $num_smilies) : $num_smilies;
$smilies_split_row = ( $mode == 'inline' ) ? 3 : 7;
- for($i = 0; $i < $smilies_count; $i++)
+
+ $s_colspan = 0;
+ $row = 0;
+ $col = 0;
+
+ while( list($smile_url, $data) = @each($rowset) )
{
- if( !$j )
+ if( !$col )
{
$template->assign_block_vars("smilies_row", array());
}
$template->assign_block_vars("smilies_row.smilies_col", array(
- "SMILEY_CODE" => $rowset[$i]['code'],
- "SMILEY_IMG" => "images/smiles/" . $rowset[$i]['smile_url'],
- "SMILEY_DESC" => $rowset[$i]['emoticon'])
+ "SMILEY_CODE" => $data['code'],
+ "SMILEY_IMG" => "images/smiles/" . $smile_url,
+ "SMILEY_DESC" => $data['emoticon'])
);
- $s_colspan = max($s_colspan, $j + 1);
+ $s_colspan = max($s_colspan, $col + 1);
- $j = ( $j == $smilies_split_row ) ? 0 : $j + 1;
+ if( $col == $smilies_split_row )
+ {
+ if( $mode == 'inline' && $row == 4 )
+ {
+ break;
+ }
+ $col = 0;
+ $row++;
+ }
+ else
+ {
+ $col++;
+ }
}
if( $mode == 'inline' && $num_smilies > 20)