LoGD Standardrelease steht hier zum Download zur Verfügung!
<?php
#-----------------------------------------#
# Gildensystem Version: 1.5b #
# ~~ Funktionen für die Verwaltung ~~ #
# Autor: Eliwood #
# Mit Unterstüzung von: Nephilea #
#-----------------------------------------#
function aufnehm($id,$name)
{
global $session;
output("`fD`Fu`h nimmst `^$name`h in die Gilde a`Fu`ff.`n");
$body = "`fD`Fu`h wurdest in der Gilde `^{$session['guild']['gildenname']}`h aufgenomm`Fe`fn.";
$subject = "`fA`Fu`hfgenomm`Fe`hn!";
systemmail($id,$subject,$body);
$sql = "UPDATE accounts SET memberid='{$session['guild']['gildenid']}' WHERE acctid='$id'";
db_query($sql);
$sql = "DELETE FROM bewerbungen WHERE bewerberid='$id'";
db_query($sql);
}
function ablehn($id,$name)
{
global $session;
output("`fD`Fu`h verweigerst `^$name`h die Aufnahme in die Gil`Fd`fe.`n");
$body = "`fD`Fe`hr Eintritt in die Gilde `^{$session['guild']['gildenname']}`h wurde dir verweige`Fr`ft.";
$subject = "`fA`Fb`hgeleh`Fn`ft!";
systemmail($id,$subject,$body);
$sql = "DELETE FROM bewerbungen WHERE bewerberid='$id'";
db_query($sql);
$sql = "UPDATE accounts SET gildenactive='0' WHERE acctid='$id'";
db_query($sql);
}
function showbewerber()
{
global $session;
$sql = "SELECT bewerbungen.*, "
."accounts.name, "
."accounts.acctid, "
."accounts.login "
."FROM bewerbungen "
."INNER JOIN accounts "
."ON accounts.acctid = bewerbungen.bewerberid "
."WHERE gildenid='".$session['guild']['gildenid']."'"
."ORDER BY bewerbid ASC";
$result = db_query($sql) or die(db_errno($sql,LINK).": ".db_error($sql,LINK));
$i = 0;
rawoutput("<table align='center' bgcolor='#999999' cellpadding='1' cellspacing='1'>");
rawoutput("<tr class='trhead'>");
rawoutput("<td>");
output("`fB`Fe`hwerberna`Fm`fe");
rawoutput("</td><td>");
output("`fO`Fp`htion`Fe`fn");
rawoutput("</td></tr>");
while($row = db_fetch_assoc($result))
{
$bgcolor = ($i%2?"trdark":"trlight");
$login = RawUrlEncode($row['login']);
$link = array(1=>"gildenverwalt.php?op=nimm&id=$row[acctid]&login=$login",2=>"gildenverwalt.php?op=ablehn&id=$row[acctid]&login=$login");
rawoutput("<tr class='$bgcolor'><td>");
output($row['name']);
rawoutput("</td><td>");
output("<a href='$link[1]'>`0[`fA`Fn`hnehm`Fe`fn`0]</a> <a href='$link[2]'>`0[`fA`Fb`hlehn`Fe`fn`0]</a>",true);
rawoutput("</td></tr>");
allownav($link[1]);
allownav($link[2]);
$i++;
}
if($i == 0)
{
output("<tr><td align='center' colspan='2'>`b`i`fK`Fe`hine Bewerbungen vorhand`Fe`fn`i`b</td></tr>",true);
}
rawoutput("</table>");
}
function showtitles($link = "gildenverwalt.php?op=ranks")
{
global $session,$output;
$sql = "SELECT * FROM gildenranks WHERE gildenid='".$session['guild']['gildenid']."' ORDER BY sortid,rankname DESC ".page("rankid","gildenranks","gildenverwalt.php?op=ranks","WHERE gildenid='{$session['guild']['gildenid']}'")."";
$result = db_unbuffered_query($sql);
$output .= "<table align='center' bgcolor='#999999' cellpadding='1' cellspacing='1'>";
$output .= "<tr class='trhead'>";
$output .= "<td>";
output("`fR`Fa`hngna`Fm`fe");
$output .= "</td><td>";
output("`fO`Fp`htion`Fe`fn");
$output .= "</td>";
$output .= "</tr>";
$i = 0;
while($row = db_fetch_assoc($result))
{
$bgcolor = ($i%2?"trlight":"trdark");
$output .= "<tr class='$bgcolor'>";
$output .= "<td>";
output("`&".stripslashes($row['rankname']));
$output .= "</td><td>";
$linkb = $link."&id=".$row['rankid'];
$link1 = $linkb."&subop=edit";
$link2 = $linkb."&subop=del";
output("`0<a href='$link1'>`&[`fR`Fe`hna`Fm`fe`&]</a> `0<a href='$link2'>`&[`fL`Fö`hsch`Fe`fn`&]</a>",true);
$output .= "</td>";
$output .= "</tr>";
allownav($link1);
allownav($link2);
$i++;
}
$output .= "</table>";
$linkb = $link."&subop=add";
output("`n`n`c<a href='$linkb'>[ `fR`Fa`hng hinzufüg`Fe`fn ]</a>`c",true);
allownav($linkb);
}
function createtitle($id=false)
{
global $output,$session;
if(!isset($_POST['rankname']))
{
if($id!==false)
{
$sql = "SELECT * FROM gildenranks WHERE rankid='$id'";
$row = db_fetch_assoc(db_query($sql));
}
$output .= "<form action='gildenverwalt.php?op=ranks&subop=save' method='POST'><table>";
allownav("gildenverwalt.php?op=ranks&subop=save");
$output .= "<tr><td>";
$output .= "`fT`Fi`htelna`Fm`fe: ";
$output .= "</td><td>";
$output .= "<input type='text' name='rankname' value='".stripslashes($row[rankname])."'>";
$output .= "</td></tr>";
$output .= "<tr><td>";
$output .= "<input type='hidden' name='rankid' value='".($id===false?"not":$id)."'>";
$output .= "</td><td>";
$output .= "<input type='submit' value='`fB`Fe`hstätig`Fe`fn'>";
$output .= "</td></tr>";
$output .= "</table";
}
elseif($id===false)
{
$sql = "INSERT INTO gildenranks (`rankname`,`gildenid`) VALUES ('".addslashes($_POST['rankname'])."','".$session['guild']['gildenid']."')";
db_query($sql);
output("`fR`Fa`hng hinzugefü`Fg`ft!`n");
}
else
{
$sql = "UPDATE gildenranks SET rankname='".addslashes($_POST[rankname])."' WHERE rankid='$id'";
db_query($sql);
output("`fR`Fa`hng aktualisie`Fr`ft!`n");
}
}
function deletetitle($id)
{
global $output;
output("`c`fT`Fi`htel gelösc`Fh`ft`c`n");
if(db_query("DELETE FROM gildenranks WHERE rankid='$id' LIMIT 1")) return true; else return false;
}
function showuser()
{
global $output,$session;
$sql = "SELECT acctid,name,login,isleader,rankid FROM accounts WHERE memberid='".$session['guild']['gildenid']."' ".page("acctid","accounts","gildenverwalt.php?op=members","WHERE memberid='".$session['guild']['gildenid']."'")."";
$result = db_query($sql);
rawoutput("<table align='center' bgcolor='#999999' cellpadding='1' cellspacing='1'>");
rawoutput("<tr class='trhead'>");
rawoutput("<td>");
output("`fN`Fam`fe");
rawoutput("</td><td>");
output("`fA`Fk`htueller Ra`Fn`fg");
rawoutput("</td><td>");
output("`fO`Fp`htion`Fe`fn");
rawoutput("</td></tr>");
while($row = db_fetch_assoc($result))
{
/* Ränge laden */
$result_2 = db_query("SELECT * FROM gildenranks WHERE gildenid='{$session[guild][gildenid]}' ORDER BY rankid");
$ranklist.="<option value='0' ".($row['rankid']==0?"selected='selected'":"").">`fK`Fe`hin Tit`Fe`fl\n";
while($ranks = db_fetch_assoc($result_2))
{
$ranklist.="<option ".($ranks['rankid']==$row['rankid']?" selected='selected' ":" ")."value='{$ranks[rankid]}'>{$ranks[rankname]}\n";
if($ranks['rankid'] == $row['rankid']) $acrank = $ranks['rankname'];
}
$bgcolor = ($i%2?"trdark":"trlight");
rawoutput("<tr class='$bgcolor'><td>");
output($row['name']);
rawoutput("</td><td>");
output($acrank);
rawoutput("</td><td>");
$links = array(
1=>"gildenverwalt.php?op=members&action=leader",
2=>"gildenverwalt.php?op=members&action=rank",
3=>"gildenverwalt.php?op=members&action=dropmember&dropid=".$row['acctid']
);
allownav($links[1]);
allownav($links[2]);
allownav($links[3]);
/* Verwalterid zuweisen lassen */
output(" <form action='$links[1]' method='POST'><input type='hidden' name='acctid' value='$row[acctid]'><input name='id' type='text' size='2' value='$row[isleader]'><input class='button' type='submit' value='Verwalterid zuweisen'></form> ",true);
/* Rang zuweisen lassen */
output(" <form action='$links[2]' method='POST'>"
."<select type='hidden' value='$row[acctid]' name='rank'>"
.$ranklist
."</select>"
."<input name='acctid' type='hidden' value='$row[acctid]'>"
."<input class='button' type='submit' value='Rangzuweisen'>"
."</form>`n",true);
output("`0[`0<a href='$links[3]'>`fE`Fn`htlass`Fe`fn</a>`0]",true);
rawoutput("</td></tr>");
$i++;
unset($ranklist);
unset($acrank);
unset($links);
}
rawoutput("</table>");
}
function showuser_pay()
{
global $output,$session;
$sql = "SELECT acctid,name,login,isleader,rankid FROM accounts WHERE memberid='".$session['guild']['gildenid']."' AND acctid!='".$session['user']['acctid']."' ".page("acctid","accounts","gildenverwalt.php?op=belohnen","WHERE memberid='".$session['guild']['gildenid']."' AND acctid!='".$session['user']['acctid']."'")."";
$result = db_query($sql);
rawoutput("<table align='center' bgcolor='#999999' cellpadding='1' cellspacing='1'>");
rawoutput("<tr class='trhead'>");
rawoutput("<td>");
output("`fN`Fam`fe");
rawoutput("</td><td>");
output("`fO`Fp`htion`Fe`fn");
rawoutput("</td></tr>");
while($row = db_fetch_assoc($result))
{
$bgcolor = ($i%2?"trdark":"trlight");
rawoutput("<tr class='$bgcolor'><td>");
output($row['name']);;
rawoutput("</td><td>");
$links = array(1=>"gildenverwalt.php?op=belohnen&action=gold","gildenverwalt.php?op=belohnen&action=gems");
allownav($links[1]);
allownav($links[2]);
/* Gold */
output(" <form action='$links[1]' method='POST'>"
."<input type='hidden' name='acctid' value='$row[acctid]'>"
."<input type='hidden' name='art' value='gold'>"
."<input name='value' type='text' size='5' value='0'>"
."<input class='button' type='submit' value='`fG`Fo`hld auszahl`Fe`fn'>"
."</form> ",true);
/* Edelsteine */
output(" <form action='$links[2]' method='POST'>"
."<input type='hidden' name='acctid' value='$row[acctid]'>"
."<input type='hidden' name='art' value='gems'>"
."<input name='value' type='text' size='5' value='0'>"
."<input class='button' type='submit' value='`fE`Fd`helsteine auszahl`Fe`fn'>"
."</form> ",true);
rawoutput("</td></tr>");
$i++;
}
rawoutput("</table>");
}
fuNcTiOn show_text($art)
{
GlObAl $session;
switch ($art):
case "desc": $field = "gildendesc"; $ptitle = "`fB`Fe`hschreibung ände`Fr`fn"; break;
case "story": $field = "gildenstory"; $ptitle = "`fG`Fe`hschichte ände`Fr`fn"; break;
case "regeln": $field = "gildenregeln"; $ptitle = "`fR`Fe`hgeln ände`Fr`fn"; break;
endswitch;
page_title($ptitle);
rawoutput("<p align='center'>");
output("`fA`Fk`htue`Fl`fl:`n`n");
output(stripslashes($session['guild'][$field]),true);
output("`n`n`fÄ`Fn`hde`Fr`fn:`n`n");
$link = "gildenverwalt.php?op=texte&text=".$art."";
allownav($link);
rawoutput("<form action='$link' method='POST'>");
rawoutput("<textarea class='input' rows='20' cols='50' name='text'>".stripslashes($session['guild'][$field])."</textarea><br />");
rawoutput("<input type='submit' class='button' value='`fÄ`Fn`hderungen übernehm`Fe`fn'>");
rawoutput("<input type='hidden' value='$field' name='field'>");
rawoutput("</form>");
output("`fH`FT`hML erlaubt, für Absätze ``n oder <br> verwend`Fe`fn.");
rawoutput("</p>");
}
function show_build_navs()
{
global $session;
/* Marktplatz Stufe 1 (Nötig)*/
$result = db_query("SELECT * FROM `gilden_ausbau` WHERE `ownerguild`='".$session['guild']['gildenid']."' AND `name`='Marktplatz'") or die(db_error(LINK));
if(db_num_rows($result)==0)
{
$row = db_fetch_assoc($result);
addnav("`fM`Fa`hrktplatz bauen (Stuf`Fe`f 1)","gildenverwalt.php?op=build&action=marktplatz&stufe=1");
}
/* Sonstiges */
else
{
$row = db_fetch_assoc($result);
$count = db_fetch_assoc(db_unbuffered_query("SELECT COUNT(name) AS count FROM gilden_ausbau WHERE name!='Marktplatz' AND ownerguild='".$session['guild']['gildenid']."'"));
$count = $count['count'];
$freeplaces = ($row['value1']-$count);
// $freeplaces = 0;
addnav("`fN`Fo`hch ".($freeplaces)." Plätze fr`Fe`fi","");
if($freeplaces == 0)
{
$sql = "SELECT * FROM gilden_ausbau WHERE name='Marktplatz' AND stufe>'$row[stufe]' ORDER BY stufe ASC LIMIT 1";
$result2 = db_query($sql) or die(db_error(LINK));
if(db_num_rows($result2)>0)
{
$row2 = db_Fetch_Assoc($result2);
addnav($row['name']." `hausbauen (Stu`Ff`fe `^$row2[stufe])","gildenverwalt.php?op=build&action=$row2[link]&stufe=$row2[stufe]&value=$row2[value1]");
}
else {addnav("`fM`Fa`hrktplatz nicht weiter ausbaub`Fa`fr","");}
}
else
{
$sql_ = "SELECT * FROM gilden_ausbau WHERE ownerguild='0' AND name!='Marktplatz'";
$result2_ = db_query($sql_);
while($row2 = db_fetch_assoc($result2_))
{
$check_sql = db_query("SELECT * FROM gilden_ausbau WHERE ownerguild='{$session[guild][gildenid]}' AND name='$row2[name]'");
if(db_num_rows($check_sql)==0)
{
$navlink = "";
if($row2['goldcost']<$session['guild']['gold'] && $row2['gemcost']<$session['guild']['gems'])
$navlink = "gildenverwalt.php?op=build&action=".$row2['link']."&stufe=".$row2['stufe'];
addnav($row2['name'],$navlink);
} // end if
} // end while
} // end else
} // end else
} // end function
function build_something($what)
{
global $session;
$sql = "SELECT * FROM gilden_ausbau WHERE ownerguild='0' AND link='$what'";
$row = db_fetch_assoc(db_unbuffered_query($sql));
}
/* User entlassen */
function drop_member($id)
{
global $session,$highestleader;
$drop_user = db_fetch_assoc(db_unbuffered_query("SELECT name,isleader FROM accounts WHERE acctid='$id'"));
if($drop_user['isleader']>=highestleader)
{
output("`fE`FR`hROR! Du darfst den Gründer nicht entlass`Fe`fn!");
}
elseif($session['user']['isleader']<highestleader && $session['user']['isleader']>0 && $drop_user['isleader']>0)
{
output("`fE`FR`hROR! Nur der Gründer kann eingesetzte Verwalter entlass`Fe`fn!");
}
elseif($id === $session['user']['acctid'])
{
output("`fE`FR`hROR! Du KANNST dich nicht entlassen, du musst schon deine Kündigung einreich`Fe`fn!");
}
else
{
db_unbuffered_query("UPDATE accounts SET isleader='0',memberid='0',gildenactive='0' WHERE acctid='$id'");
output("`c`b`fU`Fs`her ".$drop_user['name']." entlass`Fe`fn!`b`n`c;: ".$highestleader);
}
}
function renameform($action)
{
global $output,$session;
$output.="<form action='$action' method='POST'><table>";
rowform("`fN`Fa`hme der Gilde (Ohne Farbcod`Fe`fs)","<input type='text' size='30' value='{$session['guild']['gildenname_b']}' maxlength='100' name='gildenname_b'>");
rowform("`fN`Fa`hme der Gilde (Mit Farbcod`Fe`fs)","<input type='text' size='30' value='{$session['guild']['gildenname']}' maxlength='100' name='gildenname'>");
rowform("`fP`Fr`hefix (Ohne Farbcod`Fe`fs)","<input type='text' size='5' value='{$session['guild']['gildenprefix_b']}' maxlength='5' name='gildenprefix_b'>");
rowform("`fP`Fr`hefix (Mit Farbcod`Fe`fs)","<input type='text' size='5' value='{$session['guild']['gildenprefix']}' maxlength='18' name='gildenprefix'>");
rowform(false,"<input type='submit' class='button' value='`fB`Fe`hstätig`Fe`fn'>");
$output.="</table></form>";
addnav("",$action);
}
function dropguild($id)
{
global $session;
addnews("`fD`Fi`he Gilde {$session['guild']['gildenname']} wurde von {$session['user']['name']} aufgelö`Fs`ft.");
db_query("DELETE FROM gilden WHERE gildenid='$id' LIMIT 1"); // Gilde löschen
db_query("DELETE FROM gildenranks WHERE gildenid='$id' LIMIT 1"); // Ränge löschen
db_query("DELETE FROM gilden_ausbau WHERE ownerguild='$id' LIMIT 1"); // Gebäude löschen
db_query("DELETE FROM gilden_data WHERE gildenid='$id' LIMIT 1"); // Ausbau-Daten löschen
db_query("UPDATE accounts SET isleader='0',memberid='0',gildenactive='0',rankid='0' WHERE memberid='$id'"); // User entlassen
$session['user']['memberid'] = 0;
$session['user']['gildenactive'] = '0';
$session['user']['isleader'] = 0;
$session['user']['rankid'] = 0;
saveuser();
redirect("gildenstrasse.php");
}
?>