<?php ob_start("ob_gzhandler");

require("config.php");
require("func_template.php");
require("func_general.php");
require("func_raidpoints.php");

set_time_limit(1800);

checkdeadlines();

$username=$_COOKIE["rsusername"];
$password=$_COOKIE["rspassword"];
$userid=getuserid($username,$password);
$raidid=mysql_escape_string($_GET['raidid']);

$orderby="timestamp";
if($_GET['orderby']!="") {
	if($_GET['orderby']=="name") $orderby="name";
	if($_GET['orderby']=="class") $orderby="class";
	if($_GET['orderby']=="status") $orderby="status ASC, assignment ASC, class";
}

$pagedata['raidid']=$raidid;

$pagetemplate=read_template("raid.htm");
$loginmessage_in_template=read_template("raid_loginmessage_login.htm");
$loginmessage_out_template=read_template("raid_loginmessage_nologin.htm");
$charitem_template=read_template("raid_charitem.htm");
$charitem_alt_template=read_template("raid_charitemalt.htm");
$charitem_blue_template=read_template("raid_charitem_blue.htm");
$charitem_alt_blue_template=read_template("raid_charitemalt_blue.htm");
$my_nologin_template=read_template("raid_my_nologin.htm");
$my_login_signup_template=read_template("raid_my_login_signup.htm");
$my_login_nosignup_open_template=read_template("raid_my_login_nosignup_open.htm");
$my_login_nosignup_open_nochars_template=read_template("raid_my_login_nosignup_open_nochars.htm");
$my_login_nosignup_open_charitem_template=read_template("raid_my_login_nosignup_open_charitem.htm");
$my_login_nosignup_closed_template=read_template("raid_my_login_nosignup_closed.htm");
$my_raidisover_template=read_template("raid_my_raidisover.htm");
$raid_classes_item_template=read_template("raid_classes_item.htm");
$raid_adminpanel_template=read_template("raid_adminpanel.htm");
$raid_adminpanel_event_template=read_template("raid_adminpanel_event.htm");
$raid_adminpanel_event_color_normal_template=read_template("raid_adminpanel_event_color_normal.htm");
$raid_adminpanel_event_color_important_template=read_template("raid_adminpanel_event_color_important.htm");
$notetooltip_template=read_template("notetooltip.htm");
$raid_weekdays_dot_template=read_template("raid_weekdays_dot.htm");

unset($data);
$data['raidid']=$raidid;
$data['charname']=$username;
if($userid>0) $pagedata['loginmessage']=parse_template($loginmessage_in_template,$data);
else $pagedata['loginmessage']=parse_template($loginmessage_out_template,$data);

$res=mysql_query("SELECT raidid,name,date,deadline,notes,maxchars,status,ct1,ct2,ct3,ct4,ct5,ct6,ct7,ct8,ct9,(SELECT groupname FROM raidgroups WHERE groupid = raids.raidgroup) AS groupname FROM raids WHERE raidid = $raidid");
$raidinfo=mysql_fetch_assoc($res);

$pagedata['target']=$raidinfo['name'];
$pagedata['date']=date("d.m.Y",$raidinfo['date']);
$pagedata['notes']=$raidinfo['notes'];
$pagedata['maxchars']=$raidinfo['maxchars'];
$pagedata['deadline']=date("d.m.Y H:i:s",$raidinfo['deadline']);
$pagedata['status']=getStatusString($raidinfo['status']);
$pagedata['statuscolor']=getStatusColor($raidinfo['status']);
$pagedata['groupname']=$raidinfo['groupname'];

$res=mysql_query("SELECT COUNT(*) FROM signups WHERE raidid = $raidid");
$signupcount=mysql_result($res,0);
$pagedata['charcount']=$signupcount;

$res=mysql_query("SELECT signupid,(
	SELECT chars.name FROM chars WHERE charid = signups.charid
) AS name,(
	SELECT classes.name FROM classes WHERE classid = (
		SELECT class FROM chars WHERE charid = signups.charid
	)
) AS class,(
	SELECT rating FROM groupnotes WHERE groupid = (
		SELECT raidgroup FROM raids WHERE raidid = $raidid
	) AND charid = signups.charid
) AS rating,(
	SELECT note FROM groupnotes WHERE groupid = (
		SELECT raidgroup FROM raids WHERE raidid = $raidid
	) AND charid = signups.charid
) AS groupnote,timestamp,notes,status,charid,adminnotes,weekdays,assignment,raidmember FROM signups WHERE raidid = $raidid ORDER BY $orderby ASC");

$participationdata=getraidparticipationlist($raidid);

$charlist="";
$number=1;
while($item=mysql_fetch_assoc($res)) {
	unset($data);
	$data['date']=date("d.m.Y H:i:s",$item['timestamp']);
	$data['name']=$item['name'];
	$data['class']=$item['class'];
	$data['notes']=$item['notes'];
	//$data['lastraid']=getlastraid($item['name']);
	//$data['raids']=getraidcount($item['name']);
	if($item['rating']=="") $item['rating']=0;
	if($userid==0) {
		$item['rating']=0;
		$item['groupnote']="";
	}
	$data['ratingpic']="stars_".$item['rating'].".gif";
	$data['userid']=$item['charid'];
	$data['number']=$number.".";
	$data['chardata']=get_participation_tooltip($item['charid'],$participationdata,$raidid,-1);
	$data['uniquecharid']=$number;
	if($item['adminnotes']!="") {
		$data['notespic']="admin_note.gif";
		$subdata['adminnotes']=$item['adminnotes'];
		$subdata['uniquecharid']=$number;
		$data['notetooltip']=parse_template($notetooltip_template,$subdata);
	} else $data['notespic']="no_admin_note.gif";
	if($item['groupnote']!="") {
		$subdata['adminnotes']=$item['groupnote'];
		$subdata['uniquecharid']="G".$number;
		$data['groupnotetooltip']=parse_template($notetooltip_template,$subdata);
	}
	if($item['status']==1) {
		$data['statuspic']="status_in.gif";
		if($item['assignment']==1) $data['statuspic']="status_in_1.gif";
		if($item['assignment']==2) $data['statuspic']="status_in_2.gif";
		if($item['assignment']==3) $data['statuspic']="status_in_3.gif";
		if($item['assignment']==4) $data['statuspic']="status_in_4.gif";
		$data['alttext']="Dieser Spieler hat einen Platz in der Raidgruppe erhalten.";
	} else {
		if($item['status']==2) {
			$data['statuspic']="status_out.gif";
		    $data['alttext']="Dieser Spieler hat leider keinen Platz in der Raidgruppe mehr und muss diesmal aussetzen.";
        } else {
        	$data['statuspic']="status_unknown.gif";
		    $data['alttext']="Es wurde noch nicht festgelegt, ob dieser Spieler am Raid teilnehmen können wird oder nicht.";
		}
	}
	$weekdays=$item['weekdays'];
	if(($weekdays>>0)&1!=0) $data['mi']=$raid_weekdays_dot_template;
	if(($weekdays>>1)&1!=0) $data['do']=$raid_weekdays_dot_template;
	if(($weekdays>>2)&1!=0) $data['fr']=$raid_weekdays_dot_template;
	if(($weekdays>>3)&1!=0) $data['sa']=$raid_weekdays_dot_template;
	if(($weekdays>>4)&1!=0) $data['so']=$raid_weekdays_dot_template;
	if(($weekdays>>5)&1!=0) $data['mo']=$raid_weekdays_dot_template;
	if(($weekdays>>6)&1!=0) $data['di']=$raid_weekdays_dot_template;
	if($item['raidmember']==1) {
		if($number%2==0) {
			$charlist.=parse_template($charitem_alt_blue_template,$data);
		} else {
			$charlist.=parse_template($charitem_blue_template,$data);
		}
	} else {
		if($number%2==0) {
			$charlist.=parse_template($charitem_alt_template,$data);
		} else {
			$charlist.=parse_template($charitem_template,$data);
		}
	}
	$number++;
}
$pagedata['charlist']=$charlist;

unset($data);
$data['raidid']=$raidid;
if($userid==0) {
	$pagedata['mysignup']=parse_template($my_nologin_template,$data);
} else {
	if($raidinfo['status']>1) {
		$pagedata['mysignup']=parse_template($my_raidisover_template,$data);
	} else {
        $res=mysql_query("SELECT COUNT(*) FROM signups WHERE raidid = $raidid AND charid IN (SELECT charid FROM chars WHERE accountid = $userid)");
        $count=mysql_result($res,0);
        if($count==0) {
            if($raidinfo['status']==0) {
            	$pagedata['charitems']="";
            	$res2=mysql_query("SELECT charid, name FROM chars WHERE accountid = $userid AND active = 1");
            	if(mysql_num_rows($res2)==0) {
            		$pagedata['mysignup']=parse_template($my_login_nosignup_open_nochars_template,$data);
            	} else {
                    while($item=mysql_fetch_assoc($res2)) {
                        $chardata['charid']=$item['charid'];
                        $chardata['charname']=$item['name'];
                        $data['charitems'].=parse_template($my_login_nosignup_open_charitem_template,$chardata);
                    }
                    $pagedata['mysignup']=parse_template($my_login_nosignup_open_template,$data);
                }
            } else {
                $pagedata['mysignup']=parse_template($my_login_nosignup_closed_template,$data);
            }
        } else {
        	$res=mysql_query("SELECT notes,status,weekdays FROM signups WHERE raidid = $raidid AND charid IN (SELECT charid FROM chars WHERE accountid = $userid)");
        	$notes=mysql_result($res,0,0);
        	$status=mysql_result($res,0,1);
        	$data['notes']=$notes;
        	$weekdays=mysql_result($res,0,2);
        	if(($weekdays>>0)&1!=0) $data['mi']="checked";
        	if(($weekdays>>1)&1!=0) $data['do']="checked";
        	if(($weekdays>>2)&1!=0) $data['fr']="checked";
        	if(($weekdays>>3)&1!=0) $data['sa']="checked";
        	if(($weekdays>>4)&1!=0) $data['so']="checked";
        	if(($weekdays>>5)&1!=0) $data['mo']="checked";
        	if(($weekdays>>6)&1!=0) $data['di']="checked";
        	if($status==1) $data['statusinfo']="Dir wurde auch bereits ein Platz in der Raidgruppe zugesichert.";
        	if($status==2) $data['statusinfo']="Leider konnte für dich aber kein Platz mehr in der Raidgruppe gefunden werden :-(";
            $pagedata['mysignup']=parse_template($my_login_signup_template,$data);
        }
    }
}

$res=mysql_query("SELECT classid,name,IFNULL((
         SELECT count FROM (
              SELECT class, COUNT(subquery.class) AS count FROM (
                    SELECT (
                           SELECT chars.class FROM $dbname.chars WHERE charid = signups.charid
                    ) AS class FROM $dbname.signups WHERE signups.raidid = $raidid
              ) AS subquery GROUP BY class
         ) AS subquery2 WHERE class = classes_plural.classid
),0) AS count FROM $dbname.classes_plural ORDER BY classid ASC");
$classlist="";
while($item=mysql_fetch_assoc($res)) {
	unset($data);
	$data['classname']=$item['name'];
	$data['count']=$item['count'];
	$classlist.=parse_template($raid_classes_item_template,$data);
}
$pagedata['raidclassitems']=$classlist;

if(getuserrights($userid, $raidid)==1) {
	unset($data);
	$data['raidid']=$raidid;
	$res=mysql_query("SELECT * FROM $dbname.log WHERE raidid = $raidid ORDER BY timestamp DESC");
	while($item=mysql_fetch_assoc($res)) {
		unset($d2);
		$d2['date']=date("d.m.Y H:i:s",$item['timestamp']);
		$d2['event']=$item['txt'];
		if($item['flag_important']==1) $d2['eventcolor']=$raid_adminpanel_event_color_important_template;
		else $d2['eventcolor']=$raid_adminpanel_event_color_normal_template;
		$data['eventlist'].=parse_template($raid_adminpanel_event_template,$d2);
	}
	$adminpanel=parse_template($raid_adminpanel_template,$data);
	$pagedata['adminpanel']=$adminpanel;
}


$cstring=$raidinfo["ct1"]." Tanks, ".$raidinfo["ct2"]." Melee-DDs, ".$raidinfo["ct3"]." Range-DDs, ".$raidinfo["ct4"]." Heiler";

$pagedata['classeswanted']=$cstring;

echo parse_template($pagetemplate,$pagedata,1);
?>