============================================================================================================================
Modification Name: Greets Plus Advanced

Version: 2.0

Author: WormHole

Original Code by: eregi

XMB 1.9 Nexus integration by Battle Angel
Correct 1.9 Nexus integration by: huskysgrl@xmbgarage.com
Updated 1.9.1 compliance by: John Briggs
Greets Avatar forum wide integration by: WormHole @ XMB Garage
XMBXtreme Portal Integration by: WormHole and GuldantheWarlock @ XMB Garage.
Updated 1.9.3 compliance by: John Briggs on 01-29-06
Updated XHTML Template compliance by: GuldantheWarlock (GuldantheWarlock@xmbgarage.com) on 01-29-06
Updated for 1.9.5 by: WormHole and GuldantheWarlock on 03-29-06
Updated for 1.9.6 by: WormHole on 02/20/07
Updated for 1.9.5 SP1 by: WormHole on 08-20-10

Description:
This modification puts a better 'Your Personal Features' panel on the index page.
When a registered user visits your site their avatar will display in the Greets Panel. If the user has not selected an avatar, or inputted a url to one, then a 'No Avatar' image will display.
When guests visits your site the will be given a 'Guest' avatar that will also display in posts if Guest Posting is enabled.
For registered users not only does their avatar display in the Greets Panel it will also display the 'No Avatar' in the member control panel instead of a blank image.
Avatars will also be displayed in the url input box (or avatar list) where you edit your profile or edit a member profile as Super Administrator.
The 'No Avatar' will also display in member profiles and in posts.
This modification works well with the Avatar Gallery, Avatar Upload, Quick Edit Bar and Portal v2.4.
The Latest Posts Block has been integrated into the panel with controls in admin/settings for on/off control, number of posts to display and how many days you want to go back for posts.

Notes: This modification is released under the GPL v3. 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:
=======
====================================
Go To Administration Panel --> Insert Raw SQL
====================================
==============================
Paste Code Below And Submit Changes:
==============================

ALTER TABLE `$table_settings` ADD `grtslpstatus` SET('on','off') NOT NULL default 'on';
ALTER TABLE `$table_settings` ADD `grtslpcount` SMALLINT(5) NOT NULL default 5;

============================================================================================================================
=======
Step 2:
=======

Upload an image called guestavatar.gif to your theme directories. This is for the guests.
Upload an image called no_avatar.gif to your theme directories. This is for those without an avatar.

============================================================================================================================
=======
Step 3:
=======
=======================
Edit File: lang/English.lang.php
=======================
==========
Find Code:
==========

$lang['newu2u2'] = "new u2u message(s)";

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

// Greets Plus Advanced Mod Begin
$lang['newu2u2'] = "new u2u message";
$lang['newu2u3'] = "new u2u messages";
// Greets Plus Advanced Mod End

========================
Add To End Of File Above  ?>
========================

// Greets Plus Advanced Mod Begin
$lang['cpoptions'] = "Your User CP/Options";
$lang['greets_welcome'] = "Welcome, ";
$lang['greets_topics'] = "Topics";
$lang['greets_posts'] = "Posts";
$lang['greetslatestpostsnone'] = "No posts have been made yet";
$lang['greetslatestpostsindex'] = "Latest $SETTINGS[grtslpcount] posts on $SETTINGS[bbname]";
$lang['grtslpstatus'] = "Latest Posts in Greets Panel Status:";
$lang['grtslpcount'] = "Number of Posts to display?:";
$lang['hottopic'] = "<strong>Hot Topic</strong> at the moment is: ";
$lang['memoftheday'] = "Our <strong>Member of the Day</strong> for today is: ";
$lang['newesttopic'] = "The <strong>Newest Topic</strong> is: ";
$lang['newestmember'] = "Please welcome our newest member ";
$lang['nobody'] = "Nobody";
$lang['noone'] = "No One";
$lang['textin'] = "in";
$lang['u2umsgctr'] = "U2U Message Center";
$lang['viewtoday'] = "View Today's Posts";
$lang['welcometo'] = "Welcome to ";
// Greets Plus Advanced Mod End

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

        $resetSigOn = $resetSigOff = '';
        if($SETTINGS['resetsigs'] == 'on') {
            $resetSigOn = $selHTML;
        } else {
            $resetSigOff = $selHTML;
        }

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

        // Greets Plus Advanced Mod Begin
        $grtslpstatuson = $grtslpstatusoff = '';
        switch ($SETTINGS['grtslpstatus']) {
        case 'on':
            $grtslpstatuson = $selHTML;
            break;
        default:
            $grtslpstatusoff = $selHTML;
            break;
        }
        // Greets Plus Advanced Mod End

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

        $lang['spell_checker'] .= $spell_off_reason;

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

        // Greets Plus Advanced Mod Begin
        $SETTINGS['grtslpcount'] = (int) $SETTINGS['grtslpcount'];
        // Greets Plus Advanced Mod End

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

        printsetting1($lang['attachimginpost'], "attachimgpostnew", $attachimgposton, $attachimgpostoff);

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

        // Greets Plus Advanced Mod Begin
        printsetting1($lang['grtslpstatus'], 'grtslpstatusnew', $grtslpstatuson, $grtslpstatusoff);
        printsetting2($lang['grtslpcount'], 'grtslpcountnew', $SETTINGS['grtslpcount'], 5);
        // Greets Plus Advanced Mod End

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

        $max_avatar_size_h_new = (int) $max_avatar_size_h_new;

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

        // Greets Plus Advanced Mod Begin
        $grtslpcountnew = (int) $grtslpcountnew;
        $grtslpstatusnew = ($grtslpstatusnew == 'on') ? 'on' : 'off';
        // Greets Plus Advanced Mod End

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

        $db->query("UPDATE $table_settings SET langfile='$langfilenew'

============================
Add To End Of Statement Before  ");
============================

, grtslpstatus='$grtslpstatusnew', grtslpcount='$grtslpcountnew'

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

eval('echo "'.template('header').'";');

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

// Greets Plus Advanced Mod Begin
$self['username'] = isset($self['username']) ? $self['username'] : '';
$modXmbuser = str_replace(array('*', '.', '+'), array('\*', '\.', '\+'), $self['username']);
$restrict = array("(password='')"); // prevents empty restrictions
switch ($self['status']) {
    case 'Member':
        $restrict[] = 'private = 1';
        $restrict[] = "(userlist = '' OR userlist REGEXP '(^|(,))([:space:])*$modXmbuser([:space:])*((,)|$)')";
        break;
    case 'Moderator':
    case 'Super Moderator':
        $restrict[] = '(private = 1 OR private = 3)';
        $restrict[] = "(if ((private=1 AND userlist != ''), if ((userlist REGEXP '(^|(,))([:space:])*$modXmbuser([:space:])*((,)|$)'), 1, 0), 1))";
        break;
    case 'Administrator':
        $restrict[] = '(private > 0 AND private < 4)';
        $restrict[] = "(if ((private=1 AND userlist != ''), if ((userlist REGEXP '(^|(,))([:space:])*$modXmbuser([:space:])*((,)|$)'), 1, 0), 1))";
        break;
    case 'Super Administrator':
        $restrict = array("(1=1)");
        break;
    default:
        $restrict[] = '(private=1)';
        $restrict[] = "(userlist='')";
        break;
}
$restrict = implode(' AND ', $restrict);

$sql = $db->query("SELECT COUNT(tid) FROM $table_threads");
$greets_threads = $db->result($sql, 0);
$db->free_result($sql);

$sql = $db->query("SELECT COUNT(pid) FROM $table_posts");
$greets_posts = $db->result($sql, 0);
$db->free_result($sql);

$sql = $db->query("SELECT COUNT(postnum) FROM $table_members");
$greets_members = $db->result($sql, 0);
$db->free_result($sql);

$sql = $db->query("SELECT username FROM $table_members ORDER BY regdate DESC LIMIT 1");
$lastmember = $db->fetch_array($sql);
$db->free_result($sql);

$sql = $db->query("SELECT regdate FROM $table_members ORDER BY regdate LIMIT 0, 1");
$memberdays = $db->result($sql, 0);
$membersday = $members / (($onlinetime - $memberdays) / 86400);
$membersday = number_format($membersday, 2);
$db->free_result($sql);

$greets_hot_subject = '';
$sql = $db->query("SELECT t.replies, t.tid, t.subject FROM $table_threads t, $table_forums f WHERE $restrict AND f.fid = t.fid ORDER BY replies DESC LIMIT 0,1");
while ($reply = $db->fetch_array($sql)) {
    $reply_subject = stripslashes(censor($reply['subject']));
    $greets_hot_subject .= "<a href=\"viewthread.php?tid=$reply[tid]\">$reply_subject</a> ($reply[replies] Replies)";
}

$greets_newest_topic = '';
$sql = $db->query("SELECT t.lastpost, t.replies, t.tid, t.subject FROM $table_threads t, $table_forums f WHERE $restrict AND f.fid = t.fid ORDER BY lastpost DESC LIMIT 0,1");
while ($last = $db->fetch_array($sql)) {
    $last_subject = stripslashes(censor($last['subject']));
    if ($last['replies'] != 1) {
        $greets_newest_topic .= "<a href=\"viewthread.php?tid=$last[tid]\">$last_subject</a> ($last[replies] Replies)";
    } elseif ($last['replies'] == 1) {
        $greets_newest_topic .= "<a href=\"viewthread.php?tid=$last[tid]\">$last_subject</a> ($last[replies] Reply)";
    }
}

$timesearch = time() - 86400;
$eval = $lang['evalnobestmember'];

$sql = $db->query("SELECT p.author, Count(p.author) AS Total FROM $table_posts p LEFT JOIN $table_members m ON m.username=p.author WHERE m.status NOT LIKE '%Administrator%' AND m.status NOT LIKE '%Moderator%' AND m.status!='XMBG Developer' AND m.status!='XMBG Installer' AND p.dateline >= '$timesearch' GROUP BY p.author ORDER BY Total DESC LIMIT 1");
$info = $db->fetch_array($sql);

$bestmember = stripslashes($info['author']);
$greets_membesthtml = '';
if (empty($bestmember)) {
    $greets_bestmember = '$lang[nobody]';
    $greets_bestmemberpost = "$greets_bestmember";
} else {
    if ($info['Total'] != 1) {
        $greets_membesthtml = "<a href=\"./member.php?action=viewpro&amp;member=".rawurlencode($bestmember)."\">$bestmember</a>";
        $greets_bestmemberpost = $info['Total']." ".Posts;
    } elseif ($info['Total'] == 1) {
        $greets_membesthtml = "<a href=\"./member.php?action=viewpro&amp;member=".rawurlencode($bestmember)."\">$bestmember</a>";
        $greets_bestmemberpost = $info['Total']." ".Post;
    }
}

if (X_GUEST) {
    $greets_avatar = "<img src=\"$THEME[imgdir]/guestavatar.gif\" border=\"0\" alt=\"$lang[altavatar]\" title=\"$lang[altavatar]\" />";
}

if (X_MEMBER) {
    if (isset($self['avatar']) && !empty($self['avatar'])) {
        $greets_avatar = "<img src=\"$self[avatar]\" border=\"0\" alt=\"$lang[altavatar]\" title=\"$lang[altavatar]\" />";
    } else {
        $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" border=\"0\" alt=\"$lang[altavatar]\" title=\"$lang[altavatar]\" />";
    }
}

$newu2umsg2 = '';
if (X_MEMBER) {
    $query = $db->query("SELECT * FROM $table_u2u WHERE owner='$self[username]' AND folder='Inbox' AND readstatus='no'");
    $newu2unum = $db->num_rows($query);
        if ($newu2unum == 1) {
            $newu2umsg2 = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$newu2unum $lang[newu2u2]</a>";
        } elseif ($newu2unum > 1) {
            $newu2umsg2 = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$newu2unum $lang[newu2u3]</a>";
        } else {
        if ($newu2unum == 0) {
            $newu2umsg2 = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$lang[u2umsgctr]</a>";
        }
    }
}

$greets_newest_member = "<a href=\"./member.php?action=viewpro&amp;member=".rawurlencode(stripslashes($lastmember['username']))."\"><strong>$lastmember[username]</strong></a>";

$greetslatestposts = '';
if ($SETTINGS['grtslpstatus'] == 'on') {
    $self['username'] = isset($self['username']) ? $self['username'] : '';
    $modXmbuser = str_replace(array('*', '.', '+'), array('\*', '\.', '\+'), $self['username']);
    $restrict = array("(password='')");
    switch ($self['status']) {
        case 'Member':
            $restrict[] = 'private = 1';
            $restrict[] = "(userlist = '' OR userlist REGEXP '(^|(,))([:space:])*$modXmbuser([:space:])*((,)|$)')";
            break;
        case 'Moderator':
        case 'Super Moderator':
            $restrict[] = '(private = 1 OR private = 3)';
            $restrict[] = "(if ((private=1 AND userlist != ''), if ((userlist REGEXP '(^|(,))([:space:])*$modXmbuser([:space:])*((,)|$)'), 1, 0), 1))";
            break;
        case 'Administrator':
            $restrict[] = '(private > 0 AND private < 4)';
            $restrict[] = "(if ((private=1 AND userlist != ''), if ((userlist REGEXP '(^|(,))([:space:])*$modXmbuser([:space:])*((,)|$)'), 1, 0), 1))";
            break;
        case 'Super Administrator':
            break;
        default:
            $restrict[] = '(private=1)';
            $restrict[] = "(userlist='')";
            break;
    }
    $restrict = implode(' AND ', $restrict);

    $greetslatest = array();
    $SETTINGS['grtslpcount'] = intval($SETTINGS['grtslpcount']);
    $query = $db->query("SELECT l.*, f.name, f.fid FROM $table_threads l, $table_forums f WHERE $restrict AND l.fid=f.fid AND f.status='on' ORDER BY l.lastpost DESC LIMIT 0, $SETTINGS[grtslpcount]");
    $rowsFound = $db->num_rows($query);
    while ($last = $db->fetch_array($query)) {
        $adjTime = ($timeoffset * 3600) + ($SETTINGS['addtime'] * 3600);
        $lpdate = gmdate($dateformat, $last['lastpost'] + $adjTime);
        $lptime = gmdate($timecode, $last['lastpost'] + $adjTime);
        $grtslplast = $lang['lastreply1'].' <strong>'.$lpdate.'</strong> '.$lang['textat'].' <strong>'.$lptime.'</strong>';
        $last['subject'] = shortenString(censor(stripslashes($last['subject'])), 60, X_SHORTEN_SOFT|X_SHORTEN_HARD, '...');
        $last['subject'] = '<a href="viewthread.php?goto=lastpost&amp;tid='.intval($last['tid']).'"><strong>'.$last['subject'].'</strong></a>';
        $greetslpforum = '<a href="forumdisplay.php?fid='.intval($last['fid']).'"><strong>'.stripslashes($last['name']).'</strong></a>';
        $greetslast['author'] = '<a href="member.php?action=viewpro&amp;member='.rawurlencode($last['author']).'"><strong>'.trim($last['author']).'</strong></a>';
        $greetslatest[] = $last['subject'].' '.$lang['textby'].' '.$greetslast['author'].' '.$grtslplast.' '.$lang['textin'].' '.$greetslpforum.'<br />';
    }
    $greetslatest = implode("<br />", $greetslatest);
    $db->free_result($query);

    if ($rowsFound < 1) {
        $greetslatest = $lang['greetslatestpostsnone'];
    }
}
// Greets Plus Advanced Mod End

============================================================================================================================
=======
Step 6:
=======
===============================
Go To Administration Panel --> Templates
===============================
==================================
Edit Template: index_welcome_guest template
==================================
==============================================
Replace whatever is in the box with this code and submit changes:
(This is a template, so you can edit this if you need to)
==============================================

<table cellspacing="0" cellpadding="0" width="$THEME[tablewidth]" align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%" align="center">
<tr>
<td class="header" align="center" colspan="3" $THEME[catbgcode]><b>$lang[welcometo] $bbname</b></td>
</tr>
<tr>
<td align="center" valign="middle" width="15%" bgcolor="$THEME[altbg2]"><a href="member.php?action=reg"><img src="$imgdir/guestavatar.gif" border="0" /></a></td>
<td valign="top" align="center" bgcolor="$THEME[altbg2]"><font class="mediumtxt">$lang[greets_welcome]<b>$lang[textguest1]</b>!<br /><br /><a href="today.php">$lang[viewtoday]</a>
<br />
<a href="member.php?action=reg">$lang[textregister]</a>
<br />
<a href="misc.php?action=login">$lang[textlogin]</a>
</font>
</td>

<td valign="top" align="right" bgcolor="$THEME[altbg2]"><font class="mediumtxt"><center>
$bbname has <strong>$greets_threads</strong> $lang[greets_topics] / <strong>$greets_posts</strong> $lang[greets_posts] / <strong>$greets_members</strong> $lang[textmembers]
<br /><br />
<u>$lang[hottopic]</u><br />$greets_hot_subject
<br /><br />
<u>$lang[newesttopic]</u><br />$greets_newest_topic
<br /><br />
<u>$lang[memoftheday]</u><br />$greets_membesthtml
<br /><br />
<u>$lang[newestmember]</u><br />$greets_newest_member
</center>
</font>
</td>
</tr>
</table></td>
</tr>
</table>
<br />

============================================================================================================================
=======
Step 7:
=======
===============================
Go To Administration Panel --> Templates
===============================
====================================
Edit Template: index_welcome_member template
====================================
==============================================
Replace whatever is in the box with this code and submit changes:
(This is a template, so you can edit this if you need to)
==============================================

<table cellspacing="0" cellpadding="0" width=$THEME[tablewidth] align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%" align="center">
<tr>
<td class="header" align="center" colspan="3" $THEME[catbgcode]><b>$lang[welcometo]$bbname</b></td>
</tr>
<tr>

<td align="center" width="40%" bgcolor="$THEME[altbg2]">
<table cellspacing="0" cellpadding="0" border="0" width="100%" align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%">
<tr class="category">
<td align="center"><font color="$THEME[cattext]"><strong>$lang[greetslatestpostsindex]</strong></font></td>
</tr>
<tr class="tablerow">
<td bgcolor="$THEME[altbg2]"><marquee onmouseover=this.stop() onmouseout=this.start() scrollAmount=2 direction="up">$greetslatest</marquee></td>
</tr>
</table>
</td>
</tr>
</table>
</td>

<td valign="top" bgcolor="$THEME[altbg2]" width="20%" align="center">
<font class="mediumtxt">
Welcome, <strong>$xmbuser</strong>!<br />
<a href="member.php?action=viewpro&amp;member=$xmbuser">$greets_avatar</a>
<br />
$newu2umsg2
<br>
<a href="today.php">$lang[viewtoday]</a>
<br />
<a href="memcp.php">$lang[cpoptions]</a>
<br />
<a href="#" onclick="Popup('buddy.php', 'Window', 300, 300);">$lang[launchbuddylist]</a>
<br />
<a href="misc.php?action=logout">$lang[textlogout]</a>
</font>
</td>

<td valign="top" align="center" bgcolor="$THEME[altbg2]" width="40%">
<font class="mediumtxt">
$bbname has <strong>$greets_threads</strong> $lang[greets_topics] / <strong>$greets_posts</strong> $lang[greets_posts] / <strong>$greets_members</strong> $lang[textmembers]
<br /><br />
<u>$lang[hottopic]</u><br />$greets_hot_subject
<br /><br />
<u>$lang[newesttopic]</u><br />$greets_newest_topic
<br /><br />
<u>$lang[memoftheday]</u><br />$greets_membesthtml
<br /><br />
<u>$lang[newestmember]</u><br />$greets_newest_member
</font>
</td>
</tr>
</table></td>
</tr>
</table>
<br />

============================================================================================================================
=======
Step 8:
=======
===================
Edit File: editprofile.php
===================
================================
Find Code (if the Avatar Upload is installed):
================================

'memcp_profile_avatarurl',

=======================================
Replace Code With (if the Avatar Upload is installed):
=======================================

'memcp_profile_avatarurl2',

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

    if ($SETTINGS['avastatus'] == 'on') {
        eval('$avatar = "'.template('memcp_profile_avatarurl').'";');
    } else {
        $avatar = '';
    }

=======================================
Replace Code With (if the Avatar Upload is installed):
=======================================

    $avatar = '';
    if ($SETTINGS['avastatus'] == 'on') {
    // Greets Plus Advanced Mod Begin
    if ($member['avatar']) $greets_avatar = $member['avatar'];
        else $greets_avatar = "$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\"";
    // Greets Plus Advanced Mod End
        eval('$avatar = "'.template('memcp_profile_avatarurl2').'";');
    }

===========================================
Replace Code With (if the Avatar Upload is NOT installed):
===========================================

        $avatar = '';
        if ($SETTINGS['avastatus'] == 'on') {
        // Greets Plus Advanced Mod Begin
        if ($member['avatar']) $greets_avatar = $member['avatar'];
            else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
        // Greets Plus Advanced Mod End
            eval('$avatar = "'.template('memcp_profile_avatarurl').'";');
        }

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

            $avatar = '';
        } elseif (($size[0] > $max_size[0] && $max_size[0] > 0) || ($size[1] > $max_size[1] && $max_size[1] > 0) && !X_SADMIN) {
            error($lang['avatar_too_big'] . $SETTINGS['max_avatar_size'] . 'px', false);
        }
    }

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

            $avatar = '';
        // Greets Plus Advanced Mod Begin
        if ($member['avatar']) $greets_avatar = $member['avatar'];
            else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
        // Greets Plus Advanced Mod End
        } elseif(($size[0] > $max_size[0] && $max_size[0] > 0) || ($size[1] > $max_size[1] && $max_size[1] > 0)) {
                error($lang['avatar_too_big'] . $SETTINGS['max_avatar_size'] . 'px', false);
        }
    }

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

// if the user is registered, check for new u2u's
    $newu2umsg = '';
    if (X_MEMBER) {
        $query = $db->query("SELECT count(readstatus) FROM $table_u2u WHERE owner='$self[username]' AND folder='Inbox' AND readstatus='no'");
        $newu2unum = $db->result($query, 0);
        if ( $newu2unum > 0) {
            $newu2umsg = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$lang[newu2u1] $newu2unum $lang[newu2u2]</a>";
        }
    }

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

// if the user is registered, check for new u2u's
    $newu2umsg = '';
    if (X_MEMBER) {
        $query = $db->query("SELECT COUNT(readstatus) FROM $table_u2u WHERE owner='$self[username]' AND folder='Inbox' AND readstatus='no'");
        $newu2unum = $db->result($query, 0);
            if ($newu2unum == 1) {
                $newu2umsg = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$newu2unum $lang[newu2u2]</a>";
            } elseif ($newu2unum > 1) {
                $newu2umsg = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$newu2unum $lang[newu2u3]</a>";
            } else {
                if ($newu2unum == 0) {
                    $newu2umsg = "<a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$lang[u2umsgctr]</a>";
                }
            }
        }

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

            if ($avastatus == 'on') {

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

            if ($SETTINGS['avastatus'] == 'on') {
                // Greets Plus Advanced Mod Begin
                if ($memberinfo['avatar']) $greets_avatar = $memberinfo['avatar'];
                else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
                // Greets Plus Advanced Mod End

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

                $avatar = '';
            } elseif(($size[0] > $max_size[0] && $max_size[0] > 0) || ($size[1] > $max_size[1] && $max_size[1] > 0)) {
                error($lang['avatar_too_big'] . $SETTINGS['max_avatar_size'] . 'px');
            }
        }

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

            $avatar = '';
        // Greets Plus Advanced Mod Begin
        if ($memberinfo['avatar']) $greets_avatar = $memberinfo['avatar'];
            else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
        // Greets Plus Advanced Mod End
        } elseif(($size[0] > $max_size[0] && $max_size[0] > 0) || ($size[1] > $max_size[1] && $max_size[1] > 0)) {
            error($lang['avatar_too_big'] . $SETTINGS['max_avatar_size'] . 'px');
        }

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

            if ($memberinfo['avatar'] != '') {
                if (false !== ($pos = strpos($memberinfo['avatar'], ',')) && substr($memberinfo['avatar'], $pos-4, 4) == '.swf') {
                    $flashavatar = explode(",",$memberinfo['avatar']);
                    $memberinfo['avatar'] = '<object type="application/x-shockwave-flash" data="'.$flashavatar[0].'" width="'.$flashavatar[1].'" height="'.$flashavatar[2].'"><param name="movie" value="'.$flashavatar[0].'" /><param name="AllowScriptAccess" value="never" /></object>';
                } else {
                    $memberinfo['avatar'] = '<img src="'.$memberinfo['avatar'].'" alt="'.$lang['altavatar'].'" border="0" />';
                }
            }

            if ($rank['avatarrank'] || $memberinfo['avatar']) {
                if (isset($site) && strlen(trim($site)) > 0) {
                    $sitelink = $site;
                } else {
                    $sitelink = "about:blank";
                }
            } else {
                $sitelink = "about:blank";
            }

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

            if ($memberinfo['avatar'] != '') {
                if (false !== ($pos = strpos($memberinfo['avatar'], ",")) && substr($memberinfo['avatar'], $pos-4, 4) == '.swf') {
                    $flashavatar = explode(",",$memberinfo['avatar']);
                    $memberinfo['avatar'] = '<object type="application/x-shockwave-flash" data="'.$flashavatar[0].'" width="'.$flashavatar[1].'" height="'.$flashavatar[2].'"><param name="movie" value="'.$flashavatar[0].'" AllowScriptAccess="never" /></object>';
                } else {
                    $memberinfo['avatar'] = '<img src="'.$memberinfo['avatar'].'" alt="'.$lang['altavatar'].'" border="0" />';
                }
            }
            
            // Greets Plus Advanced Mod Begin
            if ($memberinfo['avatar'] == "") {
                if ($memberinfo['avatar']) $greets_avatar = $memberinfo['avatar'];
                else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif]\" border=\"0\">";
                $memberinfo['avatar'] = "<img src=\"$THEME[imgdir]/no_avatar.gif\" border=\"0\">";
            }
            // Greets Plus Advanced Mod End

            if ($rank['avatarrank'] || $memberinfo['avatar']) {
                // Greets Plus Advanced Mod 
                if ($memberinfo['avatar']) $greets_avatar = $memberinfo['avatar'];
                else $greets_avatar = "$THEME[imgdir]/no_avatar.gif";
                // Greets Plus Advanced Mod End
                if (isset($site) && strlen(trim($site)) > 0) {
                    $sitelink = $site;
                } else {
                    $sitelink = "about:blank";
                }
            } else {
                $sitelink = "about:blank";
            }

============================================================================================================================
========
Step 11:
========
=================
Edit File: memcp.php
=================
==============================
Find Code (if Avatar Upload is installed):
==============================

        $avatar = '';
        if ($SETTINGS['avastatus'] == 'on') {
            eval('$avatar = "'.template('memcp_profile_avatarurl').'";');
        }

        if ($SETTINGS['avastatus'] == 'list' && isset($_POST['avatardel']) != 1) {
            $avatars = '<option value="">'.$lang['textnone'].'</option>';
            $dir1 = opendir(ROOT.'images/avatars');
            while ($avatar1 = readdir($dir1)) {
                if (is_file(ROOT.'images/avatars/'.$avatar1)) {
                    $avatars .= '<option value="'.ROOT.'images/avatars/'.$avatar1.'">'.$avatar1.'</option>';
                }
            }

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

        $avatar = '';
        if ($avastatus == 'on') {
            // Greets Avatar Mod Begin
            if ($member['avatar']) {
                $greets_avatar = $member['avatar'];
            } else {
                $greets_avatar = "$imgdir/no_avatar.gif";
            }
            // Greets Avatar Mod End

        if ($SETTINGS['avastatus'] == 'list' && isset($_POST['avatardel']) != 1) {
        // Greets Plus Advanced Mod 
        if ($member['avatar']) $greets_avatar = $member['avatar'];
            else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
        // Greets Plus Advanced Mod End
            $avatars = '<option value="">'.$lang['textnone'].'</option>';
            $dir1 = opendir(ROOT.'images/avatars');
            while ($avatar1 = readdir($dir1)) {
                if (is_file(ROOT.'images/avatars/'.$avatar1)) {
                    $avatars .= '<option value="'.ROOT.'images/avatars/'.$avatar1.'">'.$avatar1.'</option>';
                }
            }

==================================
Find Code (if Avatar Upload is NOT installed):
==================================

        $avatar = '';
        if ($avastatus == "on") {
            eval("\$avatar = \"".template("memcp_profile_avatarurl")."\";");
        }

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

        $avatar = '';
        if ($SETTINGS['avastatus'] == 'on') {
            // Greets Plus Advanced Mod 
            if ($member['avatar'])
                $greets_avatar = $member['avatar'];
                else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
            // Greets Plus Advanced Mod End
                eval('$avatar = "'.template('memcp_profile_avatarurl2').'";');
            }
        }

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

                $avatar = '';
            } elseif (($size[0] > $max_size[0] && $max_size[0] > 0) || ($size[1] > $max_size[1] && $max_size[1] > 0) && !X_ADMIN) {
                error($lang['avatar_too_big'] . $SETTINGS['max_avatar_size'] . $lang['avatarpixels'], false);
            }
        }

================
Replace CodeWith:
================

                $avatar = '';
            // Greets Plus Advanced Mod 
            if ($member['avatar']) {
                $greets_avatar = $member['avatar'];
            } else { 
                $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
            // Greets Plus Advanced Mod End
            } 
        
            if (($size[0] > $max_size[0] && $max_size[0] > 0) || ($size[1] > $max_size[1] && $max_size[1] > 0)) {
                error($lang['avatar_too_big'] . $SETTINGS['max_avatar_size'] . 'px', false);
            }
        }

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

    if ($member['avatar'] == '') {
        $member['avatar'] = '';

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

    if ($member['avatar'] == '') {
        // Greets Plus Advanced Mod Begin
        if ($member['avatar']) $greets_avatar = $member['avatar'];
        $member['avatar'] = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
        // Greets Plus Advanced Mod End

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

            if ($SETTINGS['avastatus'] == 'on' || $SETTINGS['avastatus'] == 'list') {
                if ($post['avatar'] != '' && $allowavatars != "no") {
                    if (false !== ($pos = strpos($post['avatar'], ',')) && substr($post['avatar'], $pos-4, 4) == '.swf') {
                        $flashavatar = explode(',',$post['avatar']);
                        $avatar = '<object type="application/x-shockwave-flash" data="'.$flashavatar[0].'" width="'.$flashavatar[1].'" height="'.$flashavatar[2].'"><param name="movie" value="'.$flashavatar[0].'" /><param name="AllowScriptAccess" value="never" /></object>';
                    } else {
                        $avatar = '<img src="'.$post['avatar'].'" alt="'.$lang['altavatar'].'" border="0" />';
                    }
                }
            }

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

            if ($SETTINGS['avastatus'] == 'on' || $SETTINGS['avastatus'] == 'list') {
                // Greets Plus Advanced Mod Begin
                if ($post['avatar']) $greets_avatar = $post['avatar'];
                    else $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
                // Greets Plus Advanced Mod End
                if ($post['avatar'] != '' && $allowavatars != "no") {
                    if (false !== ($pos = strpos($post['avatar'], ',')) && substr($post['avatar'], $pos-4, 4) == '.swf') {
                        $flashavatar = explode(",",$post['avatar']);
                        $greets_avatar = '<object type="application/x-shockwave-flash" data="'.$flashavatar[0].'" width="'.$flashavatar[1].'" height="'.$flashavatar[2].'"><param name="movie" value="'.$flashavatar[0].'" /><param name="AllowScriptAccess" value="never" /></object>';
                    } else {
                        $greets_avatar = '<img src="'.$post['avatar'].'" alt="'.$lang['altavatar'].'" border=\"0\" />';
                    }
                }
            }

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

            $stars = '';
            $avatar = '';

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

            $stars = '';
            // Greets Plus Advanced Mod Begin
            $greets_avatar = '';
            // Greets Plus Advanced Mod End

============================================================================================================================
========
Step 13:
========
===============================
Go To Administration Panel --> Templates
===============================
=======================
Edit Template: member_profile
=======================
==========
Find Code:
==========

<tr>
<td bgcolor="$altbg1" class="tablerow" valign="top">$lang[textstatus]<br /><a href="$sitelink" target="_blank">$memberinfo[avatar]</a></td>
<td bgcolor="$altbg2" class="tablerow">$showtitle$customstatus<br />$stars<br /><br />$rank[avatarrank]</td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" valign="top">$lang[textstatus]<br /><a href="$sitelink" target="_blank">$greets_avatar</a></td>
<td bgcolor="$THEME[altbg2]">$showtitle$customstatus<br />$stars<br /><br />$rank[avatarrank]</td>
</tr>

============================================================================================================================
========
Step 14:
========
===============================
Go To Administration Panel --> Templates
===============================
============================
Edit Template: member_reg_avatarurl
============================
================
Replace Code With:
================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]">$lang[textavatarurl]</td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="avatar" size="25" />&nbsp;$greets_avatar</td>
</tr>

============================================================================================================================
========
Step 15:
========
===============================
Go To Administration Panel --> Templates
===============================
=================================================
Edit Template: memcp_profile_avatarurl (if Avatar Upload is installed)
=================================================
================
Replace Code With:
================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[textavatarurl]<br /></td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="newavatar" size="20" value="$greets_avatar" /><br />$lang[avatar_urlmsg]$max_avatar_size$lang[avatarpixels]</td>
</tr>

============================================================================================================================
========
Step 16:
========
===============================
Go To Administration Panel --> Templates
===============================
=====================================================
Edit Template: memcp_profile_avatarurl (if Avatar Upload is NOT installed)
=====================================================
================
Replace Code With:
================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[textavatarurl]</td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="newavatar" size="25" value="$member[avatar]" />&nbsp;$greets_avatar</td>
</tr>

============================================================================================================================
========
Step 17:
========
===============================
Go To Administration Panel --> Templates
===============================
========================================================
Create New Template: memcp_profile_avatarurl2 (If Avatar Upload is installed)
========================================================
========================
Add Code and Submit Changes:
========================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[textavatarurl]</td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="newavatar" size="25" value="$greets_avatar" /> &nbsp;<img src="$greets_avatar" name="avatarpic" align="middle" alt="*" border="0" /></td>
</tr>

============================================================================================================================
========
Step 18:
========
===============================
Go To Administration Panel --> Templates
===============================
========================
Edit Template: viewthread_post
========================
==========
Find Code:
==========

$avatar

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

$greets_avatar

============================================================================================================================
========
Step 19:
========
======================================
If the Portal System v2.4 is installed do the following:
======================================
================
Edit File: portal.php
================
==========
Find Code:
==========

$portal_news = '';

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

// Greets Plus Mod Begin
$newu2umsg2 = '';
if (X_MEMBER) {
    $query = $db->query("SELECT count(readstatus) FROM $table_u2u WHERE owner='$self[username]' AND folder='Inbox' AND readstatus='no'");
    $newu2unum = $db->num_rows($query);
        if ($newu2unum == 1) {
            $newu2umsg2 = "&raquo; <a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$newu2unum $lang[newu2u2]</a>";
        } elseif ($newu2unum > 1) {
            $newu2umsg2 = "&raquo; <a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$newu2unum $lang[newu2u3]</a>";
        } else {
            if ($newu2unum == 0) {
                $newu2umsg2 = "&raquo; <a href=\"#\" onclick=\"Popup('u2u.php', 'Window', 700, 450);\">$lang[u2umsgctr]</a>";
        }
    }
}
// Greets Plus Mod End

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

if (X_GUEST) {

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

    // Greets Plus Mod Begin
    $avatar = "<img src=\"$THEME[imgdir]/guestavatar.gif\" alt=\"$lang[altavatar]\" title=\"$lang[altavatar]\" border=\"0\" /><br />";
    // Greets Plus Mod End

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

    $avatar = '';
    if ($member['avatar'] != '') {
        $avatar = '<img src="'.$member['avatar'].'" alt="'.$lang['altavatar'].'" border="0" /><br />';
    }
    eval('$portal_welcome = "'.template('portal_member').'";');

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

    // Greets Avatar Mod Begin
    $avatar = '';
    $greets_avatar = '';

    if ($self['avatar'] != '') {
        $greets_avatar = $self['avatar'];
    } else {
        $greets_avatar = "<img src=\"$THEME[imgdir]/no_avatar.gif\" alt=\"$lang[altavatar]\" border=\"0\" />";
    }

    $avatar = "<img src=\"$greets_avatar\" alt=\"$lang[altavatar]\" title=\"$lang[altavatar]\" border=\"0\" /><br />";
    // Greets Avatar Mod End
    eval('$portal_welcome = "'.template('portal_member').'";');

============================================================================================================================
========
Step 20:
========
===============================
Go To Administration Panel --> Templates
===============================
=====================
Edit Template: portal_guest
=====================
==========
Find Code:
==========

<td align="center" bgcolor="$THEME[altbg2]" colspan="4" class="mediumtxt">$lang[portalwelcome]<strong>$lang[portalguest]</strong><br />$lang[portalpleaselogin]</td>

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

<td align="center" bgcolor="$THEME[altbg2]" colspan="4" class="mediumtxt">$lang[portalwelcome]<strong>$lang[portalguest]</strong><br />$avatar<br />$lang[portalpleaselogin]</td>

============================================================================================================================
========
Step 21:
========
===============================
Go To Administration Panel --> Templates
===============================
=======================
Edit Template: portal_member
=======================
==========
Find Code:
==========

$avatar

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

$greets_avatar

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