Modification Name: Show All Smilies v1.1

Modification Author: GuldantheWarlock (GuldantheWarlock@xmbgarage.com)

Original Code by: RoninCoder, with updates by: John, SimsHsia and WormHole

Last Updated: May 13, 2009

Modification Description:
This modification will add a More Smilies link for posts to show all available smilies within the smilies folder.

Supported Version: XMB 1.9.8 Engage SP3

Updated for 1.9.8 by: WormHole @ XMB Garage

Notes: This modification is released under the GPL. A copy is provided with this software package.

Please backup your files before installing this modification. Neither XMBGarage nor the author can be held 
responsible if your board stops functioning properly due to you installing this modification.

=======================================================================================================
=======
Step 1:
=======
=========================
Edit File: include/functions.inc.php
=========================
======
Find:
======

function smilieinsert() {
    global $imgdir, $smdir, $db, $smileyinsert, $smcols, $smtotal;

    $sms = array();
    $smilienum = 0;
    $smilies = $smilieinsert = '';

    if ($smileyinsert == 'on' && $smcols != '') {
        if ($smtotal == 0) {
            $querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY code DESC");
        } else {
            $querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY code DESC LIMIT 0, ".$smtotal);
        }

        if (($smilienum = $db->num_rows($querysmilie)) > 0){
            while($smilie = $db->fetch_array($querysmilie)) {
                eval('$sms[] = "'.template('functions_smilieinsert_smilie').'";');
            }

            $smilies = '<tr>';
            for($i=0;$i<count($sms);$i++) {
                $smilies .= $sms[$i];
                if (($i+1)%$smcols == 0) {
                    $smilies .= '</tr>';
                    if (($i+1) < $smtotal) {
                        $smilies .= '<tr>';
                    }
                }
            }

            if ($smilienum%$smcols > 0) {
                $left = $smcols-($smilienum%$smcols);
                for($i=0;$i<$left;$i++) {
                    $smilies .= '<td>&nbsp;</td>';
                }
                $smilies .= '</tr>';
            }
            eval('$smilieinsert = "'.template('functions_smilieinsert').'";');
        } else {
            $smilieinsert = '';
        }
    }
    return $smilieinsert;
}

============
Replace With:
============

function smilieinsert($showlink=true) {
    global $imgdir, $smdir, $table_smilies, $db, $smileyinsert, $smcols, $smtotal;
    
    $lang['moresmilies'] = $GLOBALS['lang']['moresmilies'];

    $smilienum      = 0;
    $smilies        = '';
    $smilieinsert   = '';
    if ($smileyinsert == 'on' && $smcols != '') {
        if ($smtotal == 0) {
            $querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY code DESC");
        } else {
            $querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY code DESC LIMIT 0, $smtotal");
        }

        if (($smilienum = $db->num_rows($querysmilie)) > 0){
            while($smilie = $db->fetch_array($querysmilie)) {
                eval('$sms[] = "'.template('functions_smilieinsert_smilie').'";');
            }

            $smilies = '<tr>';
            for($i=0;$i<count($sms);$i++) {
                $smilies .= $sms[$i];
                if (($i+1)%$smcols == 0) {
                    // we have reached the Xth smiley, end row
                    $smilies .= '</tr>';
                    if (($i+1) < $smtotal) {
                        // check if we have reached the end already
                        $smilies .= '<tr>';
                    }
                }
            }

            if ($smilienum%$smcols > 0) {
                $left = $smcols-($smilienum%$smcols);
                for($i=0;$i<$left;$i++) {
                    $smilies .= '<td>&nbsp;</td>';
                }
                $smilies .= '</tr>';
            }
            
            if ($showlink === true) {
                $smilielink = "<tr>\n<td align=\"center\" colspan=\"$smcols\"><font size=\"smalltxt\">[ <a href=\"#\" onClick=\"Popup('misc.php?action=smilies', 'Window', 300, 300);return false;\">$lang[moresmilies]</a> ]</font></td>\n</tr>";
            }
            eval('$smilieinsert = "'.template('functions_smilieinsert').'";');
        } else {
            $smilieinsert = '';
        }
    }
    return $smilieinsert;
}

=======================================================================================================
=======
Step 2:
=======
===============
Edit File: misc.php
===============
======
Find:
======

        $smilies = smilieinsert();
            
=============
Replace With:
=============

        $smilies = smilieinsert(false);
            
=======================================================================================================
=======
Step 3:
=======
==============================
Go to Administration Panel -> Templates
==============================
===========================
Edit Template: functions_smilieinsert
===========================
======
Find:
======

$smilies

===========
Add Below:
===========

$smilielink

=======================================================================================================
Enjoy!