133 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			133 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								  require 'lib/function.php';
							 | 
						|||
| 
								 | 
							
								  require 'lib/layout.php';
							 | 
						|||
| 
								 | 
							
								  $postread=readpostread($loguserid);
							 | 
						|||
| 
								 | 
							
								  $users1=mysql_query("SELECT id,name,birthday,sex,powerlevel FROM users WHERE FROM_UNIXTIME(birthday,'%m-%d')='".date('m-d',ctime())."' AND birthday ORDER BY name");
							 | 
						|||
| 
								 | 
							
								  for($numbd=0;$user=mysql_fetch_array($users1);$numbd++){
							 | 
						|||
| 
								 | 
							
								    if(!$numbd) $blist="<tr>$tccell2s colspan=5>Birthdays for ".date('F j',ctime()).': ';
							 | 
						|||
| 
								 | 
							
								    else $blist.=', ';
							 | 
						|||
| 
								 | 
							
								    $users[$user[id]]=$user;
							 | 
						|||
| 
								 | 
							
								    $y=date('Y',ctime())-date('Y',$user[birthday]);
							 | 
						|||
| 
								 | 
							
								    $namecolor=getnamecolor($user[sex],$user[powerlevel]);
							 | 
						|||
| 
								 | 
							
								    $blist.="<a href=profile.php?id=$user[id]><font $namecolor>$user[name]</font></a> ($y)"; 
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  $onlinetime=ctime()-300;
							 | 
						|||
| 
								 | 
							
								  $onusers=mysql_query("SELECT id,name,powerlevel,lastactivity,sex,minipic FROM users WHERE lastactivity>$onlinetime OR lastposttime>$onlinetime ORDER BY name");
							 | 
						|||
| 
								 | 
							
								  $numonline=mysql_num_rows($onusers);
							 | 
						|||
| 
								 | 
							
								  $numguests=mysql_result(mysql_query("SELECT count(*) FROM guests WHERE date>$onlinetime"),0,0);
							 | 
						|||
| 
								 | 
							
								  if($numguests) $guestcount=" | <nobr>$numguests guest".($numguests>1?"s":"");
							 | 
						|||
| 
								 | 
							
								  for($numon=0;$onuser=mysql_fetch_array($onusers);$numon++){
							 | 
						|||
| 
								 | 
							
								    if($numon) $onlineusers.=', ';
							 | 
						|||
| 
								 | 
							
								    $namecolor=getnamecolor($onuser[sex],$onuser[powerlevel]);
							 | 
						|||
| 
								 | 
							
								    $namelink="<a href=profile.php?id=$onuser[id]><font $namecolor>$onuser[name]</font></a>";
							 | 
						|||
| 
								 | 
							
								    if($onuser[minipic]) $onuser[minipic]='<img width=11 height=11 src="'.str_replace('"','%22',$onuser[minipic]).'" align=absmiddle> ';
							 | 
						|||
| 
								 | 
							
								    if($onuser[lastactivity]<=$onlinetime) $namelink="($namelink)";
							 | 
						|||
| 
								 | 
							
								    $onlineusers.="<nobr>$onuser[minipic]$namelink</nobr>";
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  if($onlineusers) $onlineusers=': '.$onlineusers;
							 | 
						|||
| 
								 | 
							
								  if($log){
							 | 
						|||
| 
								 | 
							
								    $headlinks.=' | <a href=index.php?action=markallforumsread>Mark all forums read</a>';
							 | 
						|||
| 
								 | 
							
								    $header=makeheader($header1,$headlinks,$header2);
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  if($action=='markforumread' and $log){
							 | 
						|||
| 
								 | 
							
								    mysql_query("DELETE FROM forumread WHERE user=$loguserid AND forum=$forumid");
							 | 
						|||
| 
								 | 
							
								    mysql_query("INSERT INTO forumread (user,forum,readdate) VALUES ($loguserid,$forumid,".ctime().')');
							 | 
						|||
| 
								 | 
							
								    $postread=readpostread($loguserid);
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  if($action=='markallforumsread' and $log){
							 | 
						|||
| 
								 | 
							
								    mysql_query("DELETE FROM forumread WHERE user=$loguserid");
							 | 
						|||
| 
								 | 
							
								    mysql_query("INSERT INTO forumread (user,forum,readdate) SELECT $loguserid,id,".ctime().' FROM forums');
							 | 
						|||
| 
								 | 
							
								    $postread=readpostread($loguserid);
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  if($log) $logmsg="You are logged in as $loguser[name].";
							 | 
						|||
| 
								 | 
							
								  $posts[d]=mysql_result(mysql_query('SELECT COUNT(*) FROM posts WHERE date>'.(ctime()-86400)),0,0);
							 | 
						|||
| 
								 | 
							
								  $posts[h]=mysql_result(mysql_query('SELECT COUNT(*) FROM posts WHERE date>'.(ctime()-3600)),0,0);
							 | 
						|||
| 
								 | 
							
								  $lastuser=mysql_fetch_array(mysql_query('SELECT id,name,sex,powerlevel FROM users ORDER BY id DESC LIMIT 1'));
							 | 
						|||
| 
								 | 
							
								  $misc=mysql_fetch_array(mysql_query('SELECT * FROM misc'));
							 | 
						|||
| 
								 | 
							
								  if($posts[d]>$misc[maxpostsday]) mysql_query("UPDATE misc SET maxpostsday=$posts[d],maxpostsdaydate=".ctime());
							 | 
						|||
| 
								 | 
							
								  if($posts[h]>$misc[maxpostshour]) mysql_query("UPDATE misc SET maxpostshour=$posts[h],maxpostshourdate=".ctime());
							 | 
						|||
| 
								 | 
							
								  if($numonline>$misc[maxusers]) mysql_query("UPDATE misc SET maxusers=$numonline,maxusersdate=".ctime().",maxuserstext='".addslashes($onlineusers)."'");
							 | 
						|||
| 
								 | 
							
								  $namecolor=getnamecolor($lastuser[sex],$lastuser[powerlevel]);
							 | 
						|||
| 
								 | 
							
								  print "$header<br>
							 | 
						|||
| 
								 | 
							
									$tblstart
							 | 
						|||
| 
								 | 
							
									 $tccell1s><table width=100%><td class=fonts>$logmsg</td><td align=right class=fonts>$count[u] registered users<br>Latest registered user: <a href=profile.php?id=$lastuser[id]><font $namecolor>$lastuser[name]</font></a></table>
							 | 
						|||
| 
								 | 
							
									 $blist<tr>
							 | 
						|||
| 
								 | 
							
									 $tccell2s>$count[t] threads and $count[p] posts in the board | $posts[d] posts during the last day, $posts[h] posts during the last hour.<tr>
							 | 
						|||
| 
								 | 
							
									 $tccell1s>$numonline user".($numonline>1?'s':'')." currently online$onlineusers$guestcount
							 | 
						|||
| 
								 | 
							
								  ";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  $new=' ';
							 | 
						|||
| 
								 | 
							
								  if($log){
							 | 
						|||
| 
								 | 
							
								    $pmsgnum=0;
							 | 
						|||
| 
								 | 
							
								    $pmsgnew=0;
							 | 
						|||
| 
								 | 
							
								    $maxid=mysql_result(mysql_query("SELECT max(id) FROM pmsgs WHERE userto=$loguserid"),0,0);
							 | 
						|||
| 
								 | 
							
								    $pmsgs=mysql_query("SELECT userfrom,date,u.id,name,sex,powerlevel FROM pmsgs p,pmsgs_text,users AS u WHERE p.id=0$maxid AND u.id=p.userfrom AND p.id=pid") or print mysql_error();
							 | 
						|||
| 
								 | 
							
								    if($pmsg=@mysql_fetch_array($pmsgs)){
							 | 
						|||
| 
								 | 
							
									$pmsgnum=mysql_result(mysql_query("SELECT COUNT(*) FROM pmsgs WHERE userto=$loguserid"),0,0);
							 | 
						|||
| 
								 | 
							
									$pmsgnew=mysql_result(mysql_query("SELECT COUNT(*) FROM pmsgs WHERE userto=$loguserid AND msgread=0"),0,0);
							 | 
						|||
| 
								 | 
							
									if($pmsgnew) $new=$newpic;
							 | 
						|||
| 
								 | 
							
									$namecolor=getnamecolor($pmsg[sex],$pmsg[powerlevel]);
							 | 
						|||
| 
								 | 
							
									$lastmsg="Last message from <a href=profile.php?id=$pmsg[id]><font $namecolor>$pmsg[name]</font></a> on ".date($dateformat,$pmsg[date]+$tzoff);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								    $privatebox="
							 | 
						|||
| 
								 | 
							
									$tblstart
							 | 
						|||
| 
								 | 
							
									$tccellhs colspan=2>Private messages<tr>
							 | 
						|||
| 
								 | 
							
									$tccell1>$new</td>
							 | 
						|||
| 
								 | 
							
									$tccell2l><a href=private.php>Private messages</a> -- You have $pmsgnum private messages ($pmsgnew new). $lastmsg
							 | 
						|||
| 
								 | 
							
									$tblend<br>
							 | 
						|||
| 
								 | 
							
								    ";
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  $forumlist="
							 | 
						|||
| 
								 | 
							
									$tccellh> </td>
							 | 
						|||
| 
								 | 
							
									$tccellh>Forum</td>
							 | 
						|||
| 
								 | 
							
									$tccellh>Threads</td>
							 | 
						|||
| 
								 | 
							
									$tccellh>Posts</td>
							 | 
						|||
| 
								 | 
							
									$tccellh>Last post
							 | 
						|||
| 
								 | 
							
								  ";
							 | 
						|||
| 
								 | 
							
								  $categories=mysql_query("SELECT id,name FROM categories WHERE (!minpower OR minpower<=$loguser[powerlevel]) ORDER BY id");
							 | 
						|||
| 
								 | 
							
								  $forums=mysql_query("SELECT f.*,u.id AS uid,name,sex,powerlevel FROM forums f LEFT JOIN users u ON f.lastpostuser=u.id WHERE (!minpower OR minpower<=$loguser[powerlevel]) ORDER BY catid,forder");
							 | 
						|||
| 
								 | 
							
								  $mods=mysql_query("SELECT u.id,name,sex,powerlevel,forum FROM users u INNER JOIN forummods m ON u.id=m.user INNER JOIN forums f ON f.id=m.forum WHERE (!minpower OR minpower<=$power) ORDER BY catid,forder,name");
							 | 
						|||
| 
								 | 
							
								  $forum=mysql_fetch_array($forums);
							 | 
						|||
| 
								 | 
							
								  $mod=mysql_fetch_array($mods);
							 | 
						|||
| 
								 | 
							
								  while($category=mysql_fetch_array($categories)){
							 | 
						|||
| 
								 | 
							
								    $forumlist.="<tr><td class='tbl tdbgc center font' colspan=5><a href=index.php?cat=$category[id]>$category[name]";
							 | 
						|||
| 
								 | 
							
								    for(;$forum[catid]==$category[id];$modlist=''){
							 | 
						|||
| 
								 | 
							
									for($m=0;$mod[forum]==$forum[id];$m++){
							 | 
						|||
| 
								 | 
							
									  $namecolor=getnamecolor($mod[sex],$mod[powerlevel]);
							 | 
						|||
| 
								 | 
							
									  $modlist.=($m?', ':'')."<a href=profile.php?id=$mod[id]><font $namecolor>$mod[name]</font></a>";
							 | 
						|||
| 
								 | 
							
									  $mod=mysql_fetch_array($mods);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									if($m) $modlist="$smallfont(moderated by: $modlist)</font>";
							 | 
						|||
| 
								 | 
							
									$namecolor=getnamecolor($forum[sex],$forum[powerlevel]);
							 | 
						|||
| 
								 | 
							
									if($forum[numposts]){
							 | 
						|||
| 
								 | 
							
									  $forumlastpost=date($dateformat,$forum[lastpostdate]+$tzoff);
							 | 
						|||
| 
								 | 
							
									  $threadi = mysql_fetch_array(mysql_query("SELECT `id`, `replies` FROM `threads` WHERE `forum` = '$forum[id]' AND `lastpostdate` = '$forum[lastpostdate]' LIMIT 1"));
							 | 
						|||
| 
								 | 
							
									  $threadid = $threadi[id];
							 | 
						|||
| 
								 | 
							
									  if(!$ppp) $ppp=($log?$loguser[postsperpage]:20);
							 | 
						|||
| 
								 | 
							
									  $pg = floor($threadi[replies] / $ppp);
							 | 
						|||
| 
								 | 
							
									  $by="$smallfont<br>by <a href=profile.php?id=$forum[uid]><font $namecolor>$forum[name]</font></a> <a href=thread.php?id=$threadid&page=$pg><3E></a><br></font>";
							 | 
						|||
| 
								 | 
							
									}else{
							 | 
						|||
| 
								 | 
							
									  $forumlastpost='-------- --:-- --';
							 | 
						|||
| 
								 | 
							
									  $by='';
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									$new=' ';
							 | 
						|||
| 
								 | 
							
									if((($forum[lastpostdate]>$postread[$forum[id]] and $log) or (!$log and $forum[lastpostdate]>ctime()-3600)) and $forum[numposts]) $new=$newpic;
							 | 
						|||
| 
								 | 
							
									if($forum[lastpostdate]>$category[lastpostdate]){
							 | 
						|||
| 
								 | 
							
									  $category[lastpostdate]=$forum[lastpostdate];
							 | 
						|||
| 
								 | 
							
									  $category[l]=$forumlastpost.$by;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									if($cat=='' or $cat==$category[id])
							 | 
						|||
| 
								 | 
							
									  $forumlist.="
							 | 
						|||
| 
								 | 
							
										<tr>$tccell1>$new</td>
							 | 
						|||
| 
								 | 
							
										$tccell2l><a href=forum.php?id=$forum[id]>$forum[title]</a><br>
							 | 
						|||
| 
								 | 
							
										$smallfont$forum[description]<br>$modlist</td>
							 | 
						|||
| 
								 | 
							
										$tccell1>$forum[numthreads]</td>
							 | 
						|||
| 
								 | 
							
										$tccell1>$forum[numposts]</td>
							 | 
						|||
| 
								 | 
							
										$tccell2><nobr>$forumlastpost$by$forumlastuser
							 | 
						|||
| 
								 | 
							
									  ";
							 | 
						|||
| 
								 | 
							
									$forum=mysql_fetch_array($forums);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  print "$tblend<br>$privatebox$tblstart$forumlist$tblend$footer";
							 | 
						|||
| 
								 | 
							
								  printtimedif($startingtime);
							 | 
						|||
| 
								 | 
							
								?>
							 |