Modification Name: Additional Member Status: Newsletter Manager

Version: 2.0

Author: GuldantheWarlock (GuldantheWarlock@xmbgarage.com)

Last modified: 07/13/2011

Description:
This modification will add a new status to the ranks.
This Rank will have the same powers as Super Moderators
This modification is compatible with user rank icons.
This modification is compatible with users viewing page.

Compatibility: XMB 1.9.5 SP1

Code Developed By: Adam Clarke (http://www.scriptdesign.co.uk & http://www.adam-clarke.co.uk)

Updated For 1.9.5 By: WormHole
Updated for 1.9.5 SP1 By: GuldantheWarlock

Modification History: V1.0 (04/07/2005 @ 02:00) - Initial Release.
             V1.1 (08/07/2005) - Fixed minor instruction command (Replace should of been add below) - Thanks kc183391.
             V1.2 (11/07/2005) - Fixed minor instruction command (code for member.php had been duplicated for memcp.php).
             V1.3 (19/07/2005) - Added additional instructions for text version of users viewing page.
             V1.4 (29/01/2006) - Updated for 1.9.3 Nexus.
             V1.5 (19/05/2006) - Updated for 1.9.5 Nexus.
             V2.0 (13/05/2011) - Updated for 1.9.5 SP1 to work with the Status Generator.

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

Note: Backup all affected files, templates & databases.

This modification is released under the GPL v3. You should have recieved a copy of it 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.

Author Note:
You downloaded this modification from XMB Garage.
Please visit http://www.xmbgarage.com/ for support.

Copyright:  2011 XMB Garage. All Rights Reserved.
=======================================================================================================
=======
Step 1:
=======
=============================================
Go To Administration Panel --> Insert Raw SQL
=============================================
============================================
Paste the following code and Submit Changes:
============================================

INSERT INTO `$table_ranks` VALUES ('Newsletter Manager', -1, '', 5, 'yes', '');

=======================================================================================================
=======
Step 2:
=======
======================
Edit File: header.php
======================

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

        case 'Super Moderator':
            $role['sadmin'] = false;
            $role['admin']  = false;
            $role['smod']   = true;
            $role['mod']    = true;
            $role['staff']  = true;
            break;

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

        // Additional Member Status: Newsletter Manager Mod Begin
        case 'Newsletter Manager':
            $role['sadmin'] = false;
            $role['admin']  = false;
            $role['smod']   = true;
            $role['mod']    = true;
            $role['staff']  = true;
            break;
        // Additional Member Status: Newsletter Manager Mod End
        
=======================================================================================================
=======
Step 3:
=======
====================
Edit File: index.php
====================
================================================
Find Code: (If User Rank Icons Is NOT Installed)
================================================

                case 'Super Moderator':
                    $pre = "<em><strong>";
                    $suff = "</strong></em>";
                    break;

=====================================================
Add Code Below: (If User Rank Icons Is NOT Installed)
=====================================================

                // Additional Member Status: Newsletter Manager Mod Begin
                case 'Newsletter Manager':
                    $pre = '<em><strong><u>';
                    $suff = '</u></strong></em>';
                    break;
                // Additional Member Status: Newsletter Manager Mod End

==========================================================
Find Code: (On 2 Occasions) (If User Rank Icons Installed)
==========================================================

                case 'Super Moderator':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                    $pre   = "<em><strong>";
                    $suff  = "</strong></em>";
                    break;

===============================================================
Add Code Below: (On 2 Occasions) (If User Rank Icons Installed)
===============================================================

                // Additional Member Status: Newsletter Manager Mod Begin
                case 'Newsletter Manager':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                    $pre   = "<em><strong><u>";
                    $suff  = "</u></strong></em>";
                    break;
                // Additional Member Status: Newsletter Manager Mod End

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

= $supmodkey =

=================================================
Replace Code With: (If User Rank Icons Installed)
=================================================

= $supmodkey = $newslettermanagerstatuskey =

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

        $supmodkey = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" /><em><strong>'.$lang['textsendsupermod'].'</strong></em> - ';

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

        // Additional Member Status: Newsletter Manager Mod Begin
        $newslettermanagerstatuskey = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" /><em><strong>'.$lang['newslettermanagerstatus'].'</strong></em> - ';
        // Additional Member Status: Newsletter Manager Mod End

=======================================================================================================
=======
Step 4:
=======
==================================================
Edit File: portal.php (If the Portal is installed)
==================================================
================================================
Find Code: (If User Rank Icons Is NOT Installed)
================================================

            case 'Super Moderator':
                $pre = '<em><strong>';
                $suff = '</strong></em>';
                break;

=====================================================
Add Code Below: (If User Rank Icons Is NOT Installed)
=====================================================

            // Additional Member Status: Newsletter Manager Mod Begin
            case 'Newsletter Manager':
                $pre = "<em><strong><u>";
                $suff = "</u></strong></em>";
                break;
            // Additional Member Status: Newsletter Manager Mod End

==========================================================
Find Code: (On 2 Occasions) (If User Rank Icons Installed)
==========================================================

                case 'Super Moderator':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                    $pre   = "<em><strong>";
                    $suff  = "</strong></em>";
                    break;

===============================================================
Add Code Below: (On 2 Occasions) (If User Rank Icons Installed)
===============================================================

                // Additional Member Status: Newsletter Manager Mod Begin
                case 'Newsletter Manager':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                    $pre   = "<em><strong><u>";
                    $suff  = "</u></strong></em>";
                    break;
                // Additional Member Status: Newsletter Manager Mod End

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

= $supmodkey =

=================================================
Replace Code With: (If User Rank Icons Installed)
=================================================

= $supmodkey = $newslettermanagerstatuskey =

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

	    $supmodkey = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" /><em><strong>'.$lang['textsendsupermod'].'</strong></em> - ';

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

	    // Additional Member Status: Newsletter Manager Mod Begin
	    $supmodkey = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" /><em><strong>'.$lang['newslettermanagerstatus'].'</strong></em> - ';
	    // Additional Member Status: Newsletter Manager Mod End

=======================================================================================================
=======
STEP 5:
=======
===================
Edit File: misc.php
===================

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

            case 'Super Moderator':
                $restrict[] = '(private = 1 OR private = 3)';
                
================
Replace Code With:
================

            case 'Super Moderator':
            case 'Newsletter Manager':
                $restrict[] = '(private = 1 OR private = 3)';

===================================================================================================================================
Find Code: (WARNING: If you have previously added any Additional Member Statuses, you will need to be extra careful with this step) 
===================================================================================================================================

                $orderby = "if (status='Super Administrator',1, if (status='Administrator', 2, if (status='Super Moderator', 3, if (status='Moderator', 4, if (status='member', 5, if (status='banned',6,7))))))";

====================================================================================================
Replace Code With: (WARNING: If you have previously added any Additional Member Statuses, you will need to be extra careful with this step)
====================================================================================================

                $orderby = "if (status='Super Administrator',1, if (status='Administrator', 2, if (status='Super Moderator', 3, if (status='Newsletter Manager', 4, if (status='Moderator', 5, if (status='member', 6, if (status='banned',7,8)))))))";

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

                        case 'Super Moderator':
                            $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                            $pre = '<em><strong>';
                            $suff = '</strong></em>';
                            $online['username'] = $ricon.''.$hidepre.''.$pre.''.$urllink.''.$suff.''.$hidesuff;
                            break;

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

                        // Additional Member Status: Newsletter Manager Mod Begin
                        case 'Newsletter Manager':
                            $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                            $pre   = "<em><strong><u>";
                            $suff  = "</u></strong></em>";
                            $online['username'] = $ricon.$hiddenpre.$pre.$urllink.$suff.$hiddensuff;
                            break;

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

                            case 'Super Moderator':
                                $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                                $pre   = "<em><strong>";
                                $suff  = "</strong></em>";
                                break;

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

                            // Additional Member Status: Newsletter Manager Mod Begin
                            case 'Newsletter Manager':
                                $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                                $pre   = "<em><strong><u>";
                                $suff  = "</u></strong></em>";
                                break;
                            // Additional Member Status: Newsletter Manager Mod End

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

                    case 'Super Moderator':
                        $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                        $pre = '<em><strong>';
                        $suff = '</strong></em>';
                        break;

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

                    // Additional Member Status: Newsletter Manager Mod Begin
                    case 'Newsletter Manager':
                        $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                        $pre   = "<em><strong><u>";
                        $suff  = "</u></strong></em>";
                        break;
                    // Additional Member Status: Newsletter Manager Mod End

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

|| $memberinfo['status'] == 'Super Moderator'

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

|| $memberinfo['status'] == 'Super Moderator' || $memberinfo['status'] == 'Newsletter Manager'

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

            $limit = "posts <= '$memberinfo[postnum]' AND title != 'Super Administrator' AND title != 'Administrator' AND title != 'Super Moderator' AND title != 'Super Moderator' AND title != 'Moderator'";

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

            $limit = "posts <= '$memberinfo[postnum]' AND title != 'Super Administrator' AND title != 'Administrator' AND title != 'Super Moderator' AND title != 'Newsletter Manager' AND title != 'Moderator'";
            
==========
Find Code:
==========

                case 'Moderator':
                case 'Super Moderator':
                    $restrict[] = '(private = 1 OR private = 3)';

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

                case 'Moderator':
                case 'Newsletter Manager':
                case 'Super Moderator':
                    $restrict[] = '(private = 1 OR private = 3)';

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

                case 'Super Moderator':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                    $pre = '<em><strong>';
                    $suff = '</strong></em>';
                    $memstatus = $ricon.''.$pre.''.$memberinfo['username'].''.$suff;
                    break;

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

                // Additional Member Status: Newsletter Manager Mod Begin
                case 'Newsletter Manager':
                    $ricon = '<img src=\"$imgdir/online_newslettermanager.gif\" border="0" alt="$lang[newslettermanagerstatus]" title="$lang[newslettermanagerstatus]" />';
                    $pre   = '<em><strong><u>';
                    $suff  = '</u></strong></em>';
                    $memstatus = $ricon.$pre.$memberinfo['username'].$suff.$onlinestatus;
                    break;
                // Additional Member Status: Newsletter Manager Mod End

=======================================================================================================
=======
Step 7:
=======
====================
Edit File: memcp.php
====================
=========================================
Find Code: (If User Rank Icons Installed)
=========================================

        case 'Super Moderator':
            $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
            $pre = '<strong><em>';
            $suff = '</em></strong>';
            $member['username'] = $ricon.''.$pre.''.$member['username'].''.$suff;
            break;

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

        // Additional Member Status: Newsletter Manager Mod Begin
        case 'Newsletter Manager':
            $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
            $pre   = "<em><strong><u>";
            $suff  = "</u></strong></em>";
            $member['username'] = $ricon.$pre.$member['username'].$suff;
            break;
        // Additional Member Status: Newsletter Manager Mod End

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

|| $title == 'Super Moderator'

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

|| $title == 'Super Moderator' || $title == 'Newsletter Manager'

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

|| $post['status'] == 'Super Moderator'

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

|| $post['status'] == 'Super Moderator' || $post['status'] == 'Newsletter Manager'

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

                case 'Super Moderator':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                    $pre = '<em><strong>';
                    $suff = '</strong></em>';
                    $postauthor = $ricon.''.$pre.''.$post['author'].''.$suff;
                    break;

==============================================
Add Code Below: (If User Rank Icons Installed)
==============================================

                // Additional Member Status: Newsletter Manager Mod Begin
                case 'Newsletter Manager':
                    $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt="'.$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                    $pre   = '<em><strong><u>';
                    $suff  = '</u></strong></em>';
                    $postauthor = $ricon.$pre.$post['author'].$suff;
                    break;
                // Additional Member Status: Newsletter Manager Mod End

=======================================================================================================
=======
Step 9:
=======
==================
Edit File: faq.php
==================
==========
Find Code:
==========

        $query = $db->query("SELECT * FROM $table_ranks WHERE title!='Moderator' AND title!='Super Moderator' AND title!='Super Administrator' AND title!='Administrator'

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

        $query = $db->query("SELECT * FROM $table_ranks WHERE title!='Moderator' AND title!='Super Moderator' AND title!='Super Administrator' AND title!='Administrator' AND title!='Newsletter Manager'

=======================================================================================================
========
STEP 10:
========
========================
Edit File: functions.php
========================
==========
Find Code:
==========

function modcheck($status, $username, $mods) {
    if ( X_ADMIN || X_SMOD) {
        return 'Moderator';
    }

    $retval = '';
    if ($status == 'Moderator') {
        $username = strtoupper($username);
        $mods = explode(',', $mods);
        foreach ($mods as $key=>$moderator) {
            if (strtoupper(trim($moderator)) == $username) {
                $retval = 'Moderator';
                break;
            }
        }
    }
    return $retval;
}

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

function modcheck($status, $username, $mods) {
    if (X_ADMIN || X_SMOD) {
        return 'Moderator';
    }

    $retval = '';
    if (X_STAFF && !X_SMOD) {
        $username = strtoupper($username);
        $mods = explode(',', $mods);
        foreach ($mods as $key=>$moderator) {
            if (strtoupper(trim($moderator)) == $username) {
                $retval = 'Moderator';
                break;
            }
        }
    }
    return $retval;
}

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

            <option value="Super Moderator"><?php echo $lang['textsupermod']?></option>

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

            <!-- Additional Member Status: Newsletter Manager Mod Begin -->
            <option value="Newsletter Manager"><?php echo $lang['newslettermanagerstatus']?></option>
            <!-- Additional Member Status: Newsletter Manager Mod End -->

===========================
Find Code: (On 2 Occasions)
===========================

            $smodselect = "";
            
===============
Add Code Below:
===============

            // Additional Member Status: Newsletter Manager Mod Begin
            $newslettermanagerstatusselect = '';
            // Additional Member Status: Newsletter Manager Mod End

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

                    case 'Super Moderator':
                        $smodselect = $selHTML;
                        break;
                        
===============
Add Code Below:
===============

                    // Additional Member Status: Newsletter Manager Mod Begin
                    case 'Newsletter Manager':
                        $newslettermanagerstatusselect = $selHTML;
                        break;
                    // Additional Member Status: Newsletter Manager Mod End

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

                <option value="Super Moderator" <?php echo $smodselect?>><?php echo $lang['textsupermod']?></option>
                
===============
Add Code Below:
===============

                <!-- Additional Member Status: Newsletter Manager Mod Begin -->
                <option value="Newsletter Manager" <?php echo $newslettermanagerstatusselect?>><?php echo $lang['newslettermanagerstatus']?></option>
                <!-- Additional Member Status: Newsletter Manager Mod End -->

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

|| $rank['title'] == 'Super Moderator'

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

|| $rank['title'] == 'Super Moderator' || $rank['title'] == 'Newsletter Manager'

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

|| $ranks['title'] == 'Super Moderator'

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

|| $ranks['title'] == 'Super Moderator' || $ranks['title'] == 'Newsletter Manager'

=======================================================================================================
========
Step 13:
========
================================
Edit File: lang/English.lang.php
================================
=================================
Add Code To End Of File Above  ?>
=================================

// Additional Member Status: Newsletter Manager Mod Begin
$lang['newslettermanagerstatus'] = 'Newsletter Manager';
// Additional Member Status: Newsletter Manager Mod End

=======================================================================================================
========
Step 14:
========
==================================
If Users Viewing Page is installed
==================================
==============================
Edit File: include/uvp.inc.php
==============================

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

            case 'Super Moderator':
                $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['textsupermod'].'" title="'.$lang['textsupermod'].'" />';
                break;
                
===============
Add Code Below:
===============

            case 'Newsletter Manager':
                $ricon = '<img src="'.$THEME['imgdir'].'/online_newslettermanager.gif" border="0px" alt=".$lang['newslettermanagerstatus'].'" title="'.$lang['newslettermanagerstatus'].'" />';
                break;
                
=======================================================================================================
========
Step 15:
========
==================
Edit Template: css
==================

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

.status_Super_Moderator {
    text-decoration: none;
    font-weight: bold;
    color: $tabletext;
    font-family: Verdana;
    font-size: 10px;
    font-style: italic;
}

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

.status_Newsletter_Manager {
    text-decoration: none;
    font-weight: bold;
    color: $tabletext;
    font-family: Verdana;
    font-size: 10px;
    font-style: italic;
}

=======================================================================================================
========
Step 15:
========
===============================
Edit Template: index_whosonline
===============================
================================================
Find Code: (If User Rank Icons Is NOT Installed)
================================================

<em><strong>$lang[textsendsupermod]</strong></em>

========================================================
Replace Code With: (If User Rank Icons Is NOT Installed)
========================================================

<em><strong>$lang[textsendsupermod]</strong></em> - <em><strong><u>$lang[newslettermanagerstatus]</u></strong></em>

=========================================
Find Code: (If User Rank Icons Installed)
=========================================

$supmodkey

=================================================
Replace Code With: (If User Rank Icons Installed)
=================================================

$supmodkey$newslettermanagerstatuskey

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

========
STEP 16:
========

Upload 'online_newslettermanager.gif' to all theme directories (If using user rank icon version)

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