Jump to content
MakeWebGames

Please Help With Mailbox!!!


Joel

Recommended Posts

I really really need help with my Mailbox, When i send a message to some one or they send a mail to me it doesnt show (1) next to the mailbox it just stays at (0) and i dont no whats causing this to happen, It use to work like a charm but now its not, Ive deleted all the messages and still doesnt work and I've put the Normal V2 Mailbox back in and it still doesnt work, I thought it would have something to with my mainmenu.php but im not shaw, Please have a look at my 2 Files Below and see if you can see whats up with them, Please!!!

mailbox.php

<?php
###################################
##  Made By -Freek-              ##
##  Mail Box Adds on             ##
##  Copyright 2007 Deadly Mafia  ##
###################################
include "globals.php";
if($ir['mailban'])
{
die("<font color=red><h3>! ERROR</h3>
You have been mail banned for {$ir['mailban']} days.



[b]Reason: {$ir['mb_reason']}</font>[/b]");
}
$_GET['ID'] = abs((int) $_GET['ID']);
print "<table width=100% class='table' cellspacing='1'>
<tr>
<td align=center>[url='mailbox.php?action=inbox']Inbox[/url]</td> 
<td align=center>[url='mailbox.php?action=outbox']Sent Messages[/url]</td>
<td align=center>[url='mailbox.php?action=compose']Compose Message[/url]</td>
<td align=center>[url='mailbox.php?action=delall']Delete All Messages[/url]</td> 
<td align=center>[url='mailbox.php?action=archive']Archive Messages[/url]</td>
<td align=center>[url='contactlist.php']My Contacts[/url]</td>
</tr> </table>
";
switch($_GET['action'])
{
case 'inbox':
mail_inbox();
break;

case 'outbox':
mail_outbox();
break;

case 'compose':
mail_compose();
break;

case 'delete':
mail_delete();
break;

case 'send':
mail_send();
break;

case 'delall':
mail_delall();
break;

case 'delall2':
mail_delall2();
break;

case 'archive':
mail_archive();
break;

case 'read':
mail_view();
break;


case 'del':
mail_massdel();
break;

default:
mail_inbox();
break;
}

function mail_inbox()
{
global $db,$ir,$c,$userid,$h;
print<<<END
<SCRIPT><!-- HIDE
function setCheckboxes(the_form, do_check) {
   var elts      = (typeof(document.forms[the_form].elements['ID[]']) != 'undefined')
                 ? document.forms[the_form].elements['ID[]']
                 : (typeof(document.forms[the_form].elements['ID[]']) != 'undefined')
         ? document.forms[the_form].elements['ID[]']
         : document.forms[the_form].elements['ID[]'];
   var elts_cnt  = (typeof(elts.length) != 'undefined')
                 ? elts.length
                 : 0;
   if (elts_cnt) {
       for (var i = 0; i < elts_cnt; i++) {
           elts[i].checked = do_check;
       } // end for
   } else {
       elts.checked        = do_check;
   } // end if... else
   return true;
}
// STOP HIDING --></SCRIPT>
END;
print <<<OUT
Only the last 25 messages sent to you are visible.

<table width=100% class=table cellspacing="1">
<tr>
<td class="h" align=center>From</td>
<td class="h" align=center>Subject</td>
<td class="h" align=center>Status</td>
<td class="h" align=center>Read</td>
<td class="h" align=center>Delete</td>
</tr>
<form name='masssell' method=post action=mailbox2.php?action=del>
OUT;
$q=$db->query("SELECT m.*,u.* FROM mail m LEFT JOIN users u ON m.mail_from=u.userid WHERE m.mail_to=$userid ORDER BY mail_time DESC LIMIT 25");
$i=0;
while($r=$db->fetch_row($q))
{
print "<tr class=\"d".($i & 1)."\"><td align=center>";
$i++;
if($r['userid'])
{
print "[url='viewuser.php?u={$r[']{$r['username']}[/url] [{$r['userid']}]";
}
else
{
print "SYSTEM";
}
$fm=$r['mail_subject'];
if($r['mail_read'] == 0)
{
$status="<font color=red>Unread</font>";
}
else
{
$status="<font color=green>Read</font>";
}
print "
</td>
<td align=center>
$fm
</td>
<td align=center>
$status
</td>
<td align=center>
[url='mailbox.php?action=read&ID={$r[']Open[/url]
</td>
<td align=center>
<a href='mailbox.php?action=delete&ID={$r['mail_id']}'>
<img src=images/trash.gif height=20 width=20 >
</a>
<input type='checkbox' name='del$i' value='yes'>
<input type='hidden' name='id$i' value='{$r['mail_id']}'>
</td></tr>";
}
print<<<END
<tr>
<td colspan=5 align=center>
<input name=sellmass type=submit id=sellmass value='Delete selected'><a href=# onClick="setCheckboxes('masssell',true); return false;'>

Check All</A> | [url="#"]Uncheck All[/url]
</form>
</td>
</tr>
</table>
END;
}



/*

These are off


function mail_inbox()
{
global $db,$ir,$c,$userid,$h;
print <<<OUT
Only the last 25 messages sent to you are visible.

<table width=100% class="table" border="0" cellspacing="1">
<tr>
<td class="h" width="30%">From</td>
<td class="h" width="70%">Subject/Message</td>
</tr>
OUT;
$q=$db->query("SELECT m.*,u.* FROM mail m LEFT JOIN users u ON m.mail_from=u.userid WHERE m.mail_to=$userid ORDER BY mail_time DESC LIMIT 25");
while($r=$db->fetch_row($q))
{
$sent=date('F j, Y, g:i:s a',$r['mail_time']);
print "<tr><td>";
if($r['userid'])
{
print "[url='viewuser.php?u={$r[']{$r['username']}[/url] [{$r['userid']}]";
}
else
{
print "SYSTEM";
}
$fm=urlencode($r['mail_text']);
print <<<EOF
</td>
<td>{$r['mail_subject']}</td>
</tr>
<tr>
<td>Sent at: {$sent}
[url='mailbox.php?action=compose&ID={$r[']Reply[/url]


[url='mailbox.php?action=delete&ID={$r[']Delete[/url]


[url='preport.php?ID={$r[']Report[/url]
</td>
<td>{$r['mail_text']}</td>
</tr>
EOF;
}
if($ir['new_mail'] > 0)
{
$db->query("UPDATE mail SET mail_read=1 WHERE mail_to=$userid");
$db->query("UPDATE users SET new_mail=0 WHERE userid=$userid");
}
echo '</table>';
}

OFF

*/




function mail_outbox()
{
global $db,$ir,$c,$userid,$h;
print "Only the last 25 messages you have sent are visible.

<table width=100% cellspacing=1 class='table'><tr style='background:gray'><th>To</th><th>Subject/Message</th></tr>";
$q=$db->query("SELECT m.*,u.* FROM mail m LEFT JOIN users u ON m.mail_to=u.userid WHERE m.mail_from=$userid ORDER BY mail_time DESC LIMIT 25");
while($r=$db->fetch_row($q))
{
$sent=date('F j, Y, g:i:s a',$r['mail_time']);
print "<tr><td>[url='viewuser.php?u={$r[']{$r['username']}[/url] [{$r['userid']}]</td><td>{$r['mail_subject']}</td></tr><tr><td>Sent at: $sent
</td><td>{$r['mail_text']}</td></tr>";
}
print "</table>";
}
function mail_compose()
{
global $db,$ir,$c,$userid,$h;
print "<form action='mailbox.php?action=send' method='post'>
<table width=100% cellspacing=1 class='table'> <tr>
<td>Contact to send to:</td> <td>";
$q=$db->query("SELECT c.*, u.username FROM contactlist c LEFT JOIN users u ON c.cl_ADDED=u.userid WHERE c.cl_ADDER={$userid} ORDER BY u.username ASC");
if($db->num_rows($q) == 0)
{
 print "You have no contacts!";
}
else
{
 print "<select class='textbox' name='user1' type='dropdown'><option value=''><select a contact...></option>";
 while($r=$db->fetch_row($q))
 {
   print "<option value='{$r['username']}'>{$r['username']}</option>";
 }
 print "</select>";
}
if($_GET['ID'])
{
 $user=$db->fetch_single($db->query("SELECT username FROM users WHERE userid={$_GET['ID']}"));
}  
print "</td></tr><tr>
<td>[b]OR[/b] Enter a username to send to:</td><td><input class='textbox' type='text' name='user2' value='{$user}' /></td></tr><tr>
<td>Subject:</td> <td><input class='textbox' type='text' name='subject' /></td></tr><tr>
<td>Message:</td>
<td>
<textarea class='textbox' rows=5 cols=40 name='message'></textarea>
<table class=textbox border=0 cellspacing=0 width=100%>

<td>[b] :] [/b]
<td>[img=smilies/happy.gif]

<td>[b] :D [/b]
<td>[img=smilies/biggrin.gif]

<td>[b] :oo: [/b]
<td>[img=smilies/cool.gif]

<td>[b] O.o [/b]
<td>[img=smilies/blink.gif]

<td>[b] :/ [/b]
<td>[img=smilies/dry.gif]

</table>
<table class=textbox border=0 cellspacing=0 width=100%>
<td>[b] ;) [/b]
<td>[img=smilies/wink.gif]

<td>[b] :?: [/b]
<td>[img=smilies/huh.gif]

<td>[b] :lol: [/b]  
<td>[img=smilies/laugh.gif]

<td>[b] :-: [/b]
<td>[img=smilies/mellow.gif]

<td>[b] :angry: [/b]
<td>[img=smilies/angry.gif]

</table>
<table class=textbox border=0 cellspacing=0 width=100%>
<td>[b] :( [/b]
<td>[img=smilies/sad.gif]

<td>[b] O.O [/b]
<td>[img=smilies/ph34r.gif]

<td>[b] :roll: [/b]
<td>[img=smilies/rolleyes.gif]

<td>[b] :zzz: [/b]
<td>[img=smilies/sleep.gif]

<td>[b] :) [/b]
<td>[img=smilies/smile.gif]

</table>
<table class=textbox border=0 cellspacing=0 width=100%>
<td>[b] :P [/b]
<td>[img=smilies/tongue.gif]

<td>[b] :S [/b]
<td>[img=smilies/unsure.gif]

<td>[b] :nut: [/b]
<td>[img=smilies/wacko.gif]

<td>[b] :O [/b]
<td>[img=smilies/ohmy.gif]

<td>[b] :heart: [/b]
<td>[img=smilies/wub.gif]

</table>
</td></tr><tr> <td colspan=2><input type='submit' class='textbox' value='Send' /></td></tr></table></form>";
if($_GET['ID'])
{
print "
<table width=75% border=2><tr><td colspan=2>[b]Your last 5 mails to/from this person:[/b]</td></tr>";
$q=$db->query("SELECT m.*,u1.username as sender from mail m left join users u1 on m.mail_from=u1.userid WHERE (m.mail_from=$userid AND m.mail_to={$_GET['ID']}) OR (m.mail_to=$userid AND m.mail_from={$_GET['ID']}) ORDER BY m.mail_time DESC LIMIT 5",$c);
while($r=$db->fetch_row($q))
{
$sent=date('F j, Y, g:i:s a',$r['mail_time']);
print "<tr><td>$sent</td> <td>[b]{$r['sender']} wrote:[/b] {$r['mail_text']}</td></tr>";
}
print "</table>";
}
}
function mail_send()
{
global $db,$ir,$c,$userid,$h;
$subj=str_replace(array("\n"),array("
"),strip_tags($_POST['subject']));
$msg=str_replace(array("\n"),array("
"),strip_tags($_POST['message']));
if($_POST['user1'] && $_POST['user2'])
{
 die("Please do not select a contact AND enter a username, only do one.

[url='mailbox.php']> Back[/url]");
}
if(!$_POST['user1'] && !$_POST['user2'])
{
 die("You must select a contact or enter a username.

[url='mailbox.php']> Back[/url]");
}
$codes = array(
    ':]',
  ':D',
  ':oo:',
  'O.o',
  ':/',
  ':angry:',
  ':?:',
  ':lol:',
  ':-:',
  ':O',
  ':(',
  'O.O',
  ':roll:',
  ':zzz:',
  ':)',
  ':P',
  ':S',
  ':nut:',
  ';)',
  ':heart:',
  'XD',
);
$images  = array(
  '[img=smilies/happy.gif]',
  '[img=smilies/biggrin.gif]',
  '[img=smilies/cool.gif]',
  '[img=smilies/blink.gif]',
  '[img=smilies/dry.gif]',
  '[img=smilies/angry.gif]',
  '[img=smilies/huh.gif]',
  '[img=smilies/laugh.gif]',
  '[img=smilies/mellow.gif]',
  '[img=smilies/ohmy.gif]',
  '[img=smilies/sad.gif]',
  '[img=smilies/ph34r.gif]',
  '[img=smilies/rolleyes.gif]',
  '[img=smilies/sleep.gif]',
  '[img=smilies/smile.gif]',
  '[img=smilies/tongue.gif]',
  '[img=smilies/unsure.gif]',
  '[img=smilies/wacko.gif]',
  '[img=smilies/wink.gif]',
  '[img=smilies/wub.gif]',
  '[img=smilies/XD.gif]',
);
$newmsg = str_replace($codes, $images, $msg);
$to=($_POST['user1']) ? $_POST['user1'] : $_POST['user2'];
$q=$db->query("SELECT userid FROM users WHERE username='{$to}'");
if($db->num_rows($q)==0)
{
 die("You cannot send mail to nonexistant users.

[url='mailbox.php']> Back[/url]");
}
$to=$db->fetch_single($q);
$db->query("INSERT INTO mail VALUES ('',0,$userid,$to,unix_timestamp(),'$subj','$newmsg')");
$db->query("UPDATE users SET new_mail=new_mail+1 WHERE userid={$to}");
print "Message sent.

[url='mailbox.php']> Back[/url]";
}
function mail_delete()
{
global $db,$ir,$c,$userid,$h;
$db->query("DELETE FROM mail WHERE mail_id={$_GET['ID']} AND mail_to=$userid");
print "Message deleted.

[url='mailbox.php']> Back[/url]";
}
function mail_delall()
{
global $ir,$c,$userid,$h;
print "This will delete all the messages in your inbox.

There is [b]NO[/b] undo, so be sure.

[url='mailbox.php?action=delall2']> Yes, delete all messages[/url]

[url='mailbox.php']> No, go back[/url]";
}
function mail_delall2()
{
global $db,$ir,$c,$userid,$h;
$db->query("DELETE FROM mail WHERE mail_to=$userid");
print "All ".$db->affected_rows()." mails in your inbox were deleted.

[url='mailbox.php']> Back[/url]";
}
function mail_archive()
{
global $ir,$c,$userid,$h;
print "This tool will download an archive of all your messages.

[url='dlarchive.php?a=inbox']> Download Inbox[/url]

[url='dlarchive.php?a=outbox']> Download Outbox[/url]";
}

function mail_view()
{
global $db,$ir,$c,$userid,$h;
print <<<OUT
<table width=100% class="table" border="0" cellspacing="1">
<tr>
<td class="h" width=25%>From</td>
<td class="h" width=75%>Subject/Message</td>
</tr>
OUT;
$id= abs((int) $_GET['ID']);
$q=$db->query("SELECT m.*,u.* FROM mail m LEFT JOIN users u ON m.mail_from=u.userid WHERE m.mail_id=$id LIMIT 1");
$r=$db->fetch_row($q);
$sent=date('F j, Y, g:i:s a',$r['mail_time']);
print "<tr><td>";
if($r['userid'])
{
print "[url='viewuser.php?u={$r[']{$r['username']}[/url] [{$r['userid']}]";
}
else
{
print "SYSTEM";
}
$fm=urlencode($r['mail_text']);
print "</td>\n<td>{$r['mail_subject']}</td></tr><tr><td>Sent at: $sent
";
if($ir['mailban'] == 0)
{
print "[url='mailbox.php?action=compose&ID={$r[']Reply[/url]
";
}
print "[url='mailbox.php?action=delete&ID={$r[']Delete[/url] 

[url='preport.php?ID={$r[']Report[/url]</td><td>{$r['mail_text']}</td></tr>";
if($r['mail_read'] == 0)
{
$db->query("UPDATE mail SET mail_read=1 WHERE mail_to=$userid AND mail_id=$id LIMIT 1");
$db->query("UPDATE users SET new_mail=new_mail-1 WHERE userid=$userid");
}
print "</table>";
}

function mail_massdel()
{
global $db,$ir,$c,$userid,$h;
$counter = 1;
$deleted=0;
while ($counter < 25) {
$dodel = "del" . $counter;
if ($_POST[$dodel] == "yes") {
$delid = "id" . $counter;
$db->query("DELETE FROM mail WHERE mail_to=$userid AND mail_id={$_POST[$delid]}") or die(mysql_error());
$deleted++;
}
$counter++;
}
print "<center>

$deleted messages deleted.
<a href=mailbox.php>> Back</a>";
}
print "

Mail count mixed up? Click [url='fix.php?fix=1']Here[/url] to fix";
$h->endpage();
?>

 

Like i said I've tried the Old V2 Mailbox and it still dont work!

mainmenu.php

<?php
global $db,$c,$ir, $set;
$hc=$set['hospital_count'];
$jc=$set['jail_count'];
$ec=$ir['new_events'];
$mc=$ir['new_mail'];
if($ir['hospital'])
{
 print "[url='hospital.php']<font color=red>Hospital ($hc)[/url]

 [url='inventory.php']Inventory[/url]
";
}
elseif($ir['jail'])
{
 print "[url='jail.php']<font color=red>Jail ($jc)[/url]
";
}
else
{
 print "[url='index.php']Home[/url]

 [url='inventory.php']Inventory[/url]
";
}
if($ec > 0) { print "[url='events.php']Events ($ec)[/url]
"; }
else { print "[url='events.php']Events (0)[/url]
"; }
if($mc > 0) { print "[url='mailbox.php']Mailbox ($mc)[/url]
"; }
else { print "[url='mailbox.php']Mailbox (0)[/url]
"; }
if($ir['jail'] and !$ir['hospital'])
{
 print "[url='gym.php']Jail Gym[/url]

 [url='hospital.php']Hospital ($hc)[/url]
";
}
else if (!$ir['hospital'])
{
 print "[url='explore.php']Explore[/url]

 [url='gym.php']Gym[/url]

 [url='gym2.php']Brutal Gym[/url]

 [url='criminal.php']Crimes[/url]

 [url='job.php']Your Job[/url]

 [url='education.php']Local School[/url]

 <hr>[url='hospital.php']Hospital ($hc)[/url]

 [url='jail.php']Jail ($jc)[/url]

 [url='bored.php']Are You Bored![/url]
";
}
else
{
 print "[url='jail.php']Jail ($jc)[/url]
";
}
print "[url='/forum/phpBB3/']Forums[/url]
";
if($ir['new_announcements'])
{
print "[url='announcements.php']Announcements ({$ir['new_announcements']})[/url]
";
}
else
{
print "[url='announcements.php']Announcements (0)[/url]
";
}
print "
[url='newspaper.php']Newspaper[/url]

[url='search.php']Search[/url]
";
if(!$ir['jail'] && $ir['gang'])
{
 print "[url='yourgang.php']Your Gang[/url]
";
}
if($ir['user_level'] < 2)
{
print "<hr />
[b]<u>Link's</u>[/b]

[url='pictures.php']Pictures[/url]


[url='http://www.mozilla-europe.org/en/products/firefox/']Get Firefox Now[/url]

[url='downloadstuff.php']Download Stuff[/url]

[url='http://criminalexistence.com/']Criminal Existence[/url]

[url='http://www.google.com']Google[/url]

[url='http://www.bebo.com']Bebo[/url]

[url='http://www.mccodes.com']Mccode's[/url]

[url='termsofservice.php']Terms of Service[/url]
\n";
}
if($ir['user_level'] > 2)
{
print "<hr />
[b]<u>Link's</u>[/b]

[url='http://www.mozilla-europe.org/en/products/firefox/']Get Firefox Now[/url]

[url='http://criminalexistence.com/']Criminal Existence[/url]

[url='termsofservice.php']Terms of Service[/url]
\n";
}
if($ir['user_level'] > 1)
{
print "<hr />
[url='staff.php']Staff Panel[/url]
\n";
print "<hr />[b]Staff Online:[/b]
";
$q=$db->query("SELECT * FROM users WHERE laston>(unix_timestamp()-15*60) AND user_level>1 ORDER BY userid ASC");
while($r=$db->fetch_row($q))
{
$la=time()-$r['laston'];
$unit="secs";
if($la >= 60)
{
$la=(int) ($la/60);
$unit="mins";
}
if($la >= 60)
{
$la=(int) ($la/60);
$unit="hours";
if($la >= 24)
{
$la=(int) ($la/24);
$unit="days";
}
}
print "[url='viewuser.php?u={$r[']{$r['username']}[/url] ($la $unit)
";
}
}
if($ir['donatordays'])
{
print "<hr />
[b]Donators Only[/b]

[url='friendslist.php']Friends List[/url]

[url='blacklist.php']Black List[/url]";
}
print "<hr />
[url='preferences.php']Preferences[/url]

[url='preport.php']Player Report[/url]

[url='helptutorial.php']Help Tutorial[/url]

[url='gamerules.php']Game Rules[/url]

[url='viewuser.php?u={$ir[']My Profile[/url]

[url='chooseyourbrowser.php']Logout[/url]

<hr>
[b]Time is now[/b]

";
echo date ('F j, Y')."-".date('g:i:s a');

?>

 

Please Help me with this one Pleaseeeeeeeeeee :oops:

Link to comment
Share on other sites

Re: Please Help With Mailbox!!!

Why not ask the original creator?

###################################

## Made By -Freek- ##

## Mail Box Adds on ##

## Copyright 2007 Deadly Mafia ##

###################################

It is most likely to be a query that is failing, or a missing one.

Link to comment
Share on other sites

Re: Please Help With Mailbox!!!

Funnily enough, I have seen a similar mistake done in a mod that was posted freely on these boards.

Take a look at the following code:

if($r['mail_read'] == 0)
{
$db->query("UPDATE mail SET mail_read=1 WHERE mail_to=$userid AND mail_id=$id LIMIT 1");
$db->query("UPDATE users SET new_mail=new_mail-1 WHERE userid=$userid");
}

Every time you read a mail, regardless of if it's new or old, it will reduce your new_mail counter by one. A quick "SELECT new_mail FROM users WHERE userid=your_id_here" will tell you just how many new mails you'd need to receive before you get back in positive values.

A little

"UPDATE users SET new_mail=new_mail-1 WHERE userid=$userid AND new_mail > 0"

change may help you in the future. :wink:

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...