Name: Smiley Order

Version: 1.1

Last modified: 01/13/2008 @ 17:00 (EST)

Description: This mod will enable you to select the order of smilies and post icons.

Compatibility: XMB 1.9.8 Engage Final SP2

Tested On: XMB 1.9.8

Code Developed By: Adam Clarke (http://www.xmbservices.com)

MOD History: V1.0 (19/03/2006 @ 17:40) - Initial Release.

Updated For 1.9.8 By: WormHole @ XMB Garage

License Note: This mod is released under the GPL License.

Note: Backup all affected files, templates & database's.

Affected Files (6): lang/English.lang.php, cp2.php, faq.php, include/functions.inc.php, post.php, viewthread.php

Affected Templates (0): NONE

You downloaded this hack from XMBGarage.com, the #1 source for XMB related downloads.
Please visit http://www.xmbgarage.com for support.


====================================================================================================
STEP 1: Insert Raw SQL

Upload provided file named "SQL.txt" & click "Submit Changes" button.
====================================================================================================




====================================================================================================
STEP 2: Edit File 'lang/English.lang.php'

Add Code To End Of File Above?>
----------------------------------------------------------------------------------------------------

// Smiley Order Mod Begin
$lang['textsmilieorder'] = "Order";
// Smiley Order Mod End

----------------------------------------------------------------------------------------------------
====================================================================================================




====================================================================================================
STEP 3: Edit File 'cp2.php'

Find Code:
----------------------------------------------------------------------------------------------------

<td class="category" colspan="4" align="left"><font color="<?php echo $cattext?>"><strong><?php echo $lang['smilies']?></strong></font></td>

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

<td class="category" colspan="5" align="left"><font color="<?php echo $cattext?>"><strong><?php echo $lang['smilies']?></strong></font></td>

----------------------------------------------------------------------------------------------------


Find Code: (On 2 Occassions)
----------------------------------------------------------------------------------------------------

        <td align="center"><?php echo $lang['textdeleteques']?></td>

----------------------------------------------------------------------------------------------------


Add Code Below: (On 2 Occassions)
----------------------------------------------------------------------------------------------------

        <td><?php echo $lang['textsmilieorder']?></td>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

        $query = $db->query("SELECT code, id, url FROM ".X_PREFIX."smilies WHERE type='smiley'");

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

        $query = $db->query("SELECT code, id, url, displayorder FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY displayorder");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

            <td bgcolor="<?php echo $altbg2?>" align="center" class="tablerow"><input type="checkbox" name="smdelete[<?php echo $smilie['id']?>]" value="1" /></td>

----------------------------------------------------------------------------------------------------


Add Code Below:
----------------------------------------------------------------------------------------------------

            <td bgcolor="<?php echo $altbg2?>" class="tablerow"><input type="text" name="smorder[<?php echo $smilie['id']?>]" value="<?php echo $smilie['displayorder']?>" size="2" /></td>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

        <tr>
        <td bgcolor="<?php echo $altbg2?>" colspan="4"><img src="./images/pixel.gif" alt="" /></td>
        </tr>
        <tr bgcolor="<?php echo $altbg1?>" class="tablerow">
        <td><?php echo $lang['textnewsmilie']?></td>
        <td><input type="text" name="newcode" /></td>
        <td colspan="2"><input type="text" name="newurl1" /></td>
        </tr>
        <tr class="ctrtablerow">
        <td bgcolor="<?php echo $altbg1?>"><input type="checkbox" name="autoinsertsmilies" value="1" /></td>
        <td bgcolor="<?php echo $altbg1?>" colspan="3"><?php echo $lang['autoinsertsmilies']?> (<?php echo $smdir?>)?</td>
        </tr>

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

        <tr>
        <td bgcolor="<?php echo $THEME[altbg2]?>" colspan="5"><img src="./images/pixel.gif" alt="" /></td>
        </tr>
        <tr bgcolor="<?php echo $THEME[altbg1]?>" class="tablerow">
        <td><?php echo $lang['textnewsmilie']?></td>
        <td><input type="text" name="neworder" size="2" /></td>
        <td><input type="text" name="newcode" /></td>
        <td colspan="2"><input type="text" name="newurl1" /></td>
        </tr>
        <tr class="ctrtablerow">
        <td bgcolor="<?php echo $altbg1?>"><input type="checkbox" name="autoinsertsmilies" value="1" /></td>
        <td bgcolor="<?php echo $altbg1?>" colspan="4"><?php echo $lang['autoinsertsmilies']?> (<?php echo $smdir?>)?</td>
        </tr>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

<td bgcolor="<?php echo $altbg2?>" colspan="4" align="left"><img src="./images/pixel.gif" alt="" /></td>

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

<td bgcolor="<?php echo $THEME[altbg2]?>" colspan="5" align="left"><img src="./images/pixel.gif" alt="" /></td>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

<td colspan="4" class="header"><?php echo $lang['picons']?></td>

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

<td colspan="5" class="header"><?php echo $lang['picons']?></td>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$query = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='picon' ORDER BY id");

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

$query = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='picon' ORDER BY displayorder");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

            <td bgcolor="<?php echo $altbg2?>" align="center" class="tablerow"><input type="checkbox" name="pidelete[<?php echo $smilie['id']?>]" value="1" /></td>

----------------------------------------------------------------------------------------------------


Add Code Below:
----------------------------------------------------------------------------------------------------

            <td bgcolor="<?php echo $THEME[altbg2]?>" class="tablerow"><input type="text" name="piorder[<?php echo $smilie['id']?>]" value="<?php echo $smilie['displayorder']?>" size="2" /></td>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

        <tr>
        <td bgcolor="<?php echo $altbg2?>" colspan="4"><img src="./images/pixel.gif" alt="" /></td>
        </tr>
        <tr bgcolor="<?php echo $altbg1?>" class="tablerow">
        <td colspan="4" align="left"><?php echo $lang['textnewpicon']?>&nbsp;&nbsp;<input type="text" name="newurl2" /></td>
        </tr>
        <tr class="tablerow">
        <td bgcolor="<?php echo $altbg1?>" align="center"><input type="checkbox" name="autoinsertposticons" value="1" /></td>
        <td bgcolor="<?php echo $altbg1?>" colspan="3"><?php echo $lang['autoinsertposticons']?> (<?php echo $smdir?>)?</td>
        </tr>
        <tr>
        <td class="ctrtablerow" bgcolor="<?php echo $altbg2?>" colspan="4"><input type="submit" class="submit" name="smiliesubmit" value="<?php echo $lang['textsubmitchanges']?>" /></td>
        </tr>

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

        <tr>
        <td bgcolor="<?php echo $THEME[altbg2]?>" colspan="5"><img src="./images/pixel.gif" alt="" /></td>
        </tr>
        <tr bgcolor="<?php echo $THEME[altbg1]?>" class="tablerow">
        <td colspan="4" align="left"><?php echo $lang['textnewpicon']?>&nbsp;&nbsp;<input type="text" name="newurl2" /></td>
        </tr>
        <tr class="tablerow">
        <td bgcolor="<?php echo $THEME[altbg1]?>" align="center"><input type="checkbox" name="autoinsertposticons" value="1" /></td>
        <td bgcolor="<?php echo $THEME[altbg1]?>" colspan="4"><?php echo $lang['autoinsertposticons']?> (<?php echo $smdir?>)?</td>
        </tr>
        <tr>
        <td class="ctrtablerow" bgcolor="<?php echo $THEME[altbg2]?>" colspan="4"><input type="submit" class="submit" name="smiliesubmit" value="<?php echo $lang['textsubmitchanges']?>" /></td>
        </tr>

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$query = $db->query("UPDATE ".X_PREFIX."smilies SET code='$smcode[$id]', url='$smurl[$id]' WHERE id='$smilie[id]' AND type='smiley'");

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

$query = $db->query("UPDATE ".X_PREFIX."smilies SET code='$smcode[$id]', url='$smurl[$id]', displayorder='$smorder[$id]' WHERE id='$smilie[id]' AND type='smiley'");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$query = $db->query("UPDATE ".X_PREFIX."smilies SET url='$piurl[$id]' WHERE id='$picon[id]' AND type='picon'");

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

$query = $db->query("UPDATE ".X_PREFIX."smilies SET url='$piurl[$id]', displayorder='$piorder[$id]' WHERE id='$picon[id]' AND type='picon'");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$query = $db->query("INSERT INTO ".X_PREFIX."smilies (type, code, url) VALUES ('smiley', '$newcode', '$newurl1')");

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

$query = $db->query("INSERT INTO ".X_PREFIX."smilies (type, code, url, displayorder) VALUES ('smiley', '$newcode', '$newurl1', '', '$neworder1')");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$query = $db->query("INSERT INTO ".X_PREFIX."smilies (type, code, url) VALUES ('picon', '', '$newurl2')");

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

$query = $db->query("INSERT INTO ".X_PREFIX."smilies ( type, code, url, displayorder ) VALUES ('picon', '', '$newurl2', '$neworder2')");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

        echo "<tr bgcolor=\"$altbg2\" class=\"tablerow\"><td align=\"center\">$lang[textattachmentsupdate]</td></tr>";

----------------------------------------------------------------------------------------------------


Replace Code With:
----------------------------------------------------------------------------------------------------

        echo '<tr bgcolor="'.$altbg2.'" class="ctrtablerow"><td>'.$lang['smilieupdate'].'</td></tr>';
        redirect("cp2.php?action=smilies", 1.5, X_REDIRECT_JS);

====================================================================================================




====================================================================================================
STEP 4: Edit File 'faq.php'

Find Code:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM `" .X_PREFIX. "smilies` WHERE type = 'smiley'") or die($db->error());

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM `" .X_PREFIX. "smilies` WHERE type = 'smiley' ORDER BY displayorder") or die($db->error());

----------------------------------------------------------------------------------------------------
====================================================================================================




====================================================================================================
STEP 5: Edit File 'include/functions.inc.php'

Find Code:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY code DESC");

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY displayorder");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY code DESC LIMIT 0, ".$smtotal);

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY displayorder LIMIT 0, $smtotal");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$query = $db->query("SELECT code, url FROM ".X_PREFIX."smilies WHERE type='smiley'");

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

$query = $db->query("SELECT code, url FROM ".X_PREFIX."smilies WHERE type='smiley' ORDER BY displayorder");

----------------------------------------------------------------------------------------------------
====================================================================================================




====================================================================================================
STEP 6: Edit File 'post.php'

Find Code:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT url, code FROM ".X_PREFIX."smilies WHERE type='picon'");

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT url, code FROM ".X_PREFIX."smilies WHERE type='picon' ORDER BY displayorder");

----------------------------------------------------------------------------------------------------


Find Code:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='picon'");

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

$querysmilie = $db->query("SELECT * FROM ".X_PREFIX."smilies WHERE type='picon' ORDER BY displayorder");

----------------------------------------------------------------------------------------------------
====================================================================================================




====================================================================================================
STEP 7: Edit File 'viewthread.php'

Find Code:
----------------------------------------------------------------------------------------------------

if ($smileyinsert == 'on' && $smiliesnum > 0) {
    $max = ($smiliesnum > 16) ? 16 : $smiliesnum;
    srand((double)microtime() * 1000000);
    // Fix for Invalid argument supplied for foreach()
    // Provided by JDaniels
    if ($max == 1) {
        $keys = array_keys($smiliecache, $max);
    } else {
        $keys = array_rand($smiliecache, $max);
    }
    $smilies = array();
    $smilies[] = '<table border="0"><tr>';
    $i = 0;
    $total = 0;
    $pre = 'opener.';
    foreach($keys as $key) {
        if ($total == 16) {
            break;
        }
        $smilie['code'] = $key;
        $smilie['url'] = $smiliecache[$key];

        if ($i >= 4) {
            $smilies[] = '</tr><tr>';
            $i = 0;
        }
        eval('$smilies[] = "'.template('functions_smilieinsert_smilie').'";');
        $i++;
        $total++;
    }
    $smilies[] = '</tr></table>';
    $smilies = implode("\n", $smilies);
}

----------------------------------------------------------------------------------------------------

Replace Code With:
----------------------------------------------------------------------------------------------------

if ($smileyinsert == 'on' && $smiliesnum > 0) {
    $max = ($smiliesnum > 16) ? 16 : $smiliesnum;
    srand((double)microtime() * 1000000);
    // Fix for Invalid argument supplied for foreach()
    // Provided by JDaniels
    if ($max == 1) {
        $keys = array_keys($smiliecache, $max);
    } else {
        $keys = array_rand($smiliecache, $max);
    }
    $smilies = array();
    $smilies[] = '<table border="0"><tr>';
    $i = 0;
    $total = 0;
    $pre = 'opener.';
    foreach ($smiliecache as $code=>$url) {
        if ($total == 16 || $total >= $max) {
            break;
        }
        $smilie['code'] = $code;
        $smilie['url'] = $url;

        if ($i >= 4) {
            $smilies[] = '</tr><tr>';
            $i = 0;
        }
        eval("\$smilies[] = \"".template('functions_smilieinsert_smilie')."\";");
        $i++;
        $total++;
    }
    $smilies[] = '</tr></table>';
    $smilies = implode("\n", $smilies);
}

----------------------------------------------------------------------------------------------------
====================================================================================================
