Title: Post Sorting Option v1.0

Author: John Briggs

Description:
This modification will provide an option in member control panel for members to choose to view threads in ASC or DESC order.

Copyright:  2009 John Briggs. All rights reserved.

Compatability: XMB 1.9.8 SP3

Install Note: Before adding this modification to your forum you should back up all files related to this modification.

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

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

=======================================================================================================================================
=======
Step 1:
=======
==============================
Go To Admin Panel -> Insert Raw SQL
==============================

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

=======================================================================================================================================
=======
Step 2:
=======
===================
Edit File: editprofile.php
===================
==========
Find Code:
==========

    $eouchecked = '';
    if ($member['emailonu2u'] == 'yes') {
        $eouchecked = $cheHTML;
    }

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

    // Post Sorting Option Mod Begin
    $selectasc = $selectdesc = '';
    if ($member['psorting'] == 'ASC') {
        $selectasc = $selHTML;
    } elseif ($member['psorting'] == 'DESC') {
        $selectdesc = $selHTML;
    }
    // Post Sorting Option Mod End

==========
Find Code:
==========

    $useoldu2u = formYesNo('useoldu2u');

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

    // Post Sorting Option Mod Begin
    $psorting = (isset($_POST['psorting']) && $_POST['psorting'] == 'ASC') ? 'ASC' : 'DESC';
    // Post Sorting Option Mod End

==========
Find Code:
==========

    $db->query("UPDATE ".X_PREFIX."members SET email='$email',

==============================
Find Code At End Of Above Statement:
==============================

 WHERE username='$user'");

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

, psorting='$psorting' WHERE username='$user'");

=======================================================================================================================================
=======
Step 3:
=======
=================
Edit File: memcp.php
=================
==========
Find Code:
==========

        $invchecked = '';
        if ($member['invisible'] == 1) {
            $invchecked = $cheHTML;
        }

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

        // Post Sorting Option Mod Begin
        $selectasc = $selectdesc = '';
        if ($member['psorting'] == 'ASC') {
            $selectasc = $selHTML;
        } elseif ($member['psorting'] == 'DESC') {
            $selectdesc = $selHTML;
        }
        // Post Sorting Option Mod End

==========
Find Code:
==========

        $useoldu2u = formYesNo('useoldu2u');

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

        // Post Sorting Option Mod Begin
        $psorting = (isset($_POST['psorting']) && $_POST['psorting'] == 'ASC') ? 'ASC' : 'DESC';
        // Post Sorting Option Mod End

==========
Find Code:
==========

        $db->query("UPDATE ".X_PREFIX."members SET $pwtxt

==============================
Find Code At End Of Above Statement:
==============================

 WHERE username='$xmbuser'");

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

, psorting='$psorting' WHERE username='$xmbuser'");

=======================================================================================================================================
=======
Step 4:
=======
=================
Edit File: member.php
=================
==========
Find Code:
==========

            $useoldu2u = formYesNo('useoldu2u');

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

            // Post Sorting Option Mod Begin
            $psorting = (isset($_POST['psorting']) && $_POST['psorting'] == 'ASC') ? 'ASC' : 'DESC';
            // Post Sorting Option Mod End

=================
Find Code (2 Times):
=================

                $db->query("INSERT INTO ".X_PREFIX."members (username,

==============================
Find Code In-Line In Above Statements:
==============================

) VALUES ('$username',

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

, psorting) VALUES ('', '$username',

==========================================
Find Code At End Of Above Query Statement:
==========================================

)");

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

, '$psorting')");

=======================================================================================================================================
=======
Step 5:
=======
===================
Edit File: viewthread.php
===================
==========
Find Code:
==========

    $usesigcheck = $usesig ? 'checked="checked"' : '';

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

    // Post Sorting Option Mod Begin
    if (X_MEMBER) {
        $self['psorting'] = (isset($self['psorting']) && $self['psorting'] == 'ASC') ? 'ASC' : 'DESC';
    } else {
        $self['psorting'] = (isset($self['psorting']) && $self['psorting'] == 'DESC') ? 'DESC' : 'ASC';
    }
    // Post Sorting Option Mod End

==========
Find Code:
==========

    $querypost = $db->query("SELECT a.aid

==================================
Find Code In-Line In Above Query Statement:
==================================

ASC

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

$self[psorting]

==========
Find Code:
==========

    $page = quickpage($posts, $ppp);

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

    // Post Sorting Option Mod Begin
    if (isset($self['psorting']) && $self['psorting'] == 'DESC') {
        $page = '1';
    } else {
        $page = quickpage($posts, $ppp);
    }
    // Post Sorting Option Mod End

=======================================================================================================================================
=======
Step 6:
=======
===============
Edit File: post.php
===============
==========
Find Code:
==========

                if ($posts > $ppp) {
                    $topicpages = quickpage($posts, $ppp);
                } else {
                    $topicpages = 1;
                }

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

                // Post Sorting Option Mod Begin
                if (isset($self['psorting']) && $self['psorting'] == 'ASC' && ($posts > $ppp)) {
                    $topicpages = quickpage($posts, $ppp);
                } else {
                    $topicpages = 1;
                }
                // Post Sorting Option Mod End

==========
Find Code:
==========

            if ($threaddelete != 'yes') {
                $query = $db->query("SELECT COUNT(pid) FROM ".X_PREFIX."posts WHERE pid <= '$pid' AND tid='$tid' AND fid='$fid'");
                $posts = $db->result($query,0);
                $db->free_result($query);
                $topicpages = quickpage($posts, $ppp);

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

            if ( $threaddelete != 'yes') {
                $query = $db->query("SELECT COUNT(pid) FROM ".X_PREFIX."posts WHERE pid <= '$pid' AND tid='$tid' AND fid='$fid'");
                $posts = $db->result($query,0);
                $db->free_result($query);
                // Post Sorting Option Mod Begin
                if (isset($self['psorting']) && $self['psorting'] == 'ASC') {
                    $topicpages = quickpage($posts, $ppp);
                } else {
                    $topicpages = '1';
                }
                // Post Sorting Option Mod End

=======================================================================================================================================
=======
Step 7:
=======
=======================
Edit File: lang/English.lang.php
=======================
==================================
Add Code At Very Bottom Of File Above ?>
==================================

// Post Sorting Option Mod Begin
$lang['psorting'] = "Post Sorting:";
$lang['psortingasc'] = "Ascending (Newest posts below)";
$lang['psortingdesc'] = "Descending (Newest posts above)";
// Post Sorting Option Mod End

=======================================================================================================================================
=======
Step 8:
=======
========================
Go to admin panel -> Templates
========================
===========================
Edit Template: admintool_editprofile
===========================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[texttheme]</td>
<td bgcolor="$altbg2">$themelist</td>
</tr>

===============
Add Code Above:
===============

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[psorting]</td>
<td bgcolor="$THEME[altbg2]">
<select name="psorting">
<option value="ASC" $selectasc>$lang[psortingasc]</option>
<option value="DESC" $selectdesc>$lang[psortingdesc]</option>
</select>
</td>
</tr>

=======================================================================================================================================
=======
Step 9:
=======
========================
Go to admin panel -> Templates
========================
=====================
Edit Template: member_reg
=====================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[texttheme]</td>
<td bgcolor="$altbg2">$themelist</td>
</tr>

===============
Add Code Above:
===============

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[psorting]</td>
<td bgcolor="$THEME[altbg2]">
<select name="psorting">
<option value="ASC">$lang[psortingasc]</option>
<option value="DESC">$lang[psortingdesc]</option>
</select>
</td>
</tr>

=======================================================================================================================================
========
Step 10:
========
========================
Go to admin panel -> Templates
========================
Edit Template: memcp_profile
========================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textlanguage]</td>
<td bgcolor="$altbg2">$langfileselect </td>
</tr>

===============
Add Code Above:
===============

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[psorting]</td>
<td bgcolor="$THEME[altbg2]">
<select name="psorting">
<option value="ASC" $selectasc>$lang[psortingasc]</option>
<option value="DESC" $selectdesc>$lang[psortingdesc]</option>
</select>
</td>
</tr>

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