============================================================================================================================
Modification Title: Theme Based Theme Status

Version: 1.1

Author: John Briggs

Description:
This modification will add the ability to enable/disable themes on a per theme basis. Great when working on themes.

Copyright:  2010 John Briggs. All Rights Reserved.

Compatability: XMB 1.9.5 SP1

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 v3. 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 Administration Panel --> Insert Raw SQL
====================================

Upload provided file named "SQL.txt" and click "Submit Changes".

============================================================================================================================
=======
Step 2:
=======
=======================
Edit File: lang/English.lang.php
=======================
===============
Add Code Above:
===============

// Theme Based Theme Status Mod Begin
$lang['themestatus'] = "Theme Status:<br /><span class=\"smalltxt\">Disabling this will prevent members from seeing the theme.</span>";
// Theme Based Theme Status Mod End

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

        $themestuff = $db->fetch_array($query);

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

        // Theme Based Theme Status Mod Begin
        $themestatuson = $themestatusoff = '';
        switch ($themestuff['themestatus']) {
            case 'on':
                $themestatuson = 'selected="selected"';
                break;
            default:
                $themestatusoff = 'selected="selected"';
                break;
        }
        // Theme Based Theme Status Mod End

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

        <tr bgcolor="<?php echo $altbg2?>" class="tablerow">
        <td><?php echo $lang['texthemename']?></td>
        <td colspan="2"><input type="text" name="namenew" value="<?php echo $themestuff['name']?>" /></td>
        </tr>

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

        <!-- Theme Based Theme Status Mod Begin -->
        <tr class="tablerow" bgcolor="<?php echo $altbg2?>">
        <td><?php echo $lang['themestatus']?></td>
        <td colspan="2">
        <select name="themestatusnew">
        <option value="on" <?php echo $themestatuson?>><?php echo $lang['texton']?></option>
        <option value="off" <?php echo $themestatusoff?>><?php echo $lang['textoff']?></option>
        </select>
        </td>
        </tr>
        <!-- Theme Based Theme Status Mod End -->

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

        <tr bgcolor="<?php echo $altbg2?>" class="tablerow">
        <td><?php echo $lang['texthemename']?></td>
        <td><input type="text" name="namenew" /></td>
        </tr>

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

        <!-- Theme Based Theme Status Mod Begin -->
        <tr class="tablerow" bgcolor="<?php echo $altbg2?>">
        <td><?php echo $lang['themestatus']?></td>
        <td colspan="2">
        <select name="themestatusnew">
        <option value="on"><?php echo $lang['texton']?></option>
        <option value="off"><?php echo $lang['textoff']?></option>
        </select>
        </td>
        </tr>
        <!-- Theme Based Theme Status Mod End -->

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

 WHERE themeid='$orig'");

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

, themestatus='$themestatusnew' WHERE themeid='$orig'");
        if (isset($themestatusnew) && $themestatusnew != 'on') {
            $db->query("UPDATE $table_members SET theme='0' WHERE theme='$orig'");
        }

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

) VALUES('', '$namenew'

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

, themestatus) VALUES('', '$namenew'


=========================
Find Code At End Of Same Line:
=========================

)");

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

, '$themestatusnew')");

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

        $themelist   = array();
        $themelist[] = '<select name="themenew">';
        $query = $db->query("SELECT themeid, name FROM $table_themes ORDER BY name ASC");
        while ($themeinfo = $db->fetch_array($query)) {
            if ($themeinfo['themeid'] == $SETTINGS['theme']) {
                $themelist[] = '<option value="'.$themeinfo['themeid'].'" selected="selected">'.stripslashes($themeinfo['name']).'</option>';
            } else {
                $themelist[] = '<option value="'.$themeinfo['themeid'].'">'.stripslashes($themeinfo['name']).'</option>';
            }
        }
        $themelist[] = '</select>';
        $themelist   = implode("\n", $themelist);

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

        // Theme Based Theme Status Mod Begin
        $themelist = array();
        $themelist[] = '<select name="themenew">';
        if (X_SADMIN) {
            $query = $db->query("SELECT themeid, name FROM $table_themes ORDER BY name ASC");
        } else {
            $query = $db->query("SELECT themeid, name, themestatus FROM $table_themes WHERE themestatus='on' ORDER BY name ASC");
        }
        while ($themeinfo = $db->fetch_array($query)) {
            if ($themeinfo['themeid'] == $SETTINGS['theme']) {
                $themelist[] = '<option value="'.$themeinfo['themeid'].'" selected="selected">'.stripslashes($themeinfo['name']).'</option>';
            } else {
                $themelist[] = '<option value="'.$themeinfo['themeid'].'">'.stripslashes($themeinfo['name']).'</option>';
            }
        }
        $themelist[] = '</select>';
        $themelist = implode("\n", $themelist);
        // Theme Based Theme Status Mod End

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

        $themelist = array();
        $themelist[] = '<select name="thememem">';
        $themelist[] = '<option value="0">'.$lang['textusedefault'].'</option>';
        $query = $db->query("SELECT themeid, name FROM $table_themes ORDER BY name ASC");
        while ($themeinfo = $db->fetch_array($query)) {
            if ($themeinfo['themeid'] == $member['theme']) {
                $themelist[] = '<option value="'.intval($themeinfo['themeid']).'" '.$selHTML.'>'.stripslashes($themeinfo['name']).'</option>';
            } else {
                $themelist[] = '<option value="'.intval($themeinfo['themeid']).'">'.stripslashes($themeinfo['name']).'</option>';
            }
        }
        $themelist[] = '</select>';
        $themelist = implode("\n", $themelist);

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

        // Theme Based Theme Status Mod Begin
        $themelist = array();
        $themelist[] = '<select name="thememem">';
        $themelist[] = '<option value="0">'.$lang['textusedefault'].'</option>';
            $query = $db->query("SELECT themeid, name, themestatus FROM $table_themes WHERE themestatus='on' ORDER BY name ASC");
            while ($themeinfo = $db->fetch_array($query)) {
            if ($themeinfo['themeid'] == $member['theme']) {
                $themelist[] = '<option value="'.intval($themeinfo['themeid']).'" '.$selHTML.'>'.stripslashes($themeinfo['name']).'</option>';
            } else {
                $themelist[] = '<option value="'.intval($themeinfo['themeid']).'">'.stripslashes($themeinfo['name']).'</option>';
            }
        }
        $themelist[] = '</select>';
        $themelist = implode("\n", $themelist);
        // Theme Based Theme Status Mod End

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

            $themelist = array();
            $themelist[] = '<select name="thememem">';
            $themelist[] = '<option value="0">'.$lang['textusedefault'].'</option>';
            $query = $db->query("SELECT themeid, name FROM $table_themes ORDER BY name ASC");
            while ($themeinfo = $db->fetch_array($query)) {
                $themelist[] = '<option value="'.intval($themeinfo['themeid']).'">'.stripslashes($themeinfo['name']).'</option>';
            }
            $themelist[] = '</select>';
            $themelist = implode("\n", $themelist);

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

            // Theme Based Theme Status Mod Begin
            $themelist = array();
            $themelist[] = '<select name="thememem">';
            $themelist[] = '<option value="0">'.$lang['textusedefault'].'</option>';
            $query = $db->query("SELECT themeid, name, themestatus FROM $table_themes WHERE themestatus='on' ORDER BY name ASC");
            while ($themeinfo = $db->fetch_array($query)) {
                $themelist[] = '<option value="'.$themeinfo['themeid'].'">'.stripslashes($themeinfo['name']).'</option>';
            }
            $themelist[] = '</select>';
            $themelist = implode("\n", $themelist);
            // Theme Based Theme Status Mod End

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

    $themelist = array();
    $themelist[] = '<select name="thememem">';
    $themelist[] = '<option value="0">'.$lang['textusedefault'].'</option>';
    $query = $db->query("SELECT themeid, name FROM $table_themes ORDER BY name ASC");
    while ($themeinfo = $db->fetch_array($query)) {
        if ($themeinfo['themeid'] == $member['theme']) {
            $themelist[] = '<option value="'.intval($themeinfo['themeid']).'" '.$selHTML.'>'.stripslashes($themeinfo['name']).'</option>';
        } else {
            $themelist[] = '<option value="'.intval($themeinfo['themeid']).'">'.stripslashes($themeinfo['name']).'</option>';
        }
    }
    $themelist[] = '</select>';
    $themelist = implode("\n", $themelist);

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

    // Theme Based Theme Status Mod Begin
    $themelist = array();
    $themelist[] = '<select name="thememem">';
    $themelist[] = '<option value="0">'.$lang['textusedefault'].'</option>';
    if (X_SADMIN) {
        $query = $db->query("SELECT themeid, name FROM $table_themes ORDER BY name ASC");
    } else {
        $query = $db->query("SELECT themeid, name, themestatus FROM $table_themes WHERE themestatus='on' ORDER BY name ASC");
    }
    while ($themeinfo = $db->fetch_array($query)) {
        if ($themeinfo['themeid'] == $member['theme']) {
            $themelist[] = '<option value="'.$themeinfo['themeid'].'" '.$selHTML.'>'.stripslashes($themeinfo['name']).'</option>';
        } else {
            $themelist[] = '<option value="'.$themeinfo['themeid'].'">'.stripslashes($themeinfo['name']).'</option>';
        }
    }
    $themelist[] = '</select>';
    $themelist = implode("\n", $themelist);
    // Theme Based Theme Status Mod End

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