Meteora hat geschrieben:
nein, ich muss sehen ob du wirklichg das gemacht hast was ich dir gesagt habe!
Also, dass ich die lib-Sachen so gemacht habe, davon kannst du mal ausgehen, da ich die ja nur in den LIB-Ordner hochladen musste - den LIB-Ordner habe ich ja extra dafür erstellt, da er zuvor noch nicht vorhanden war. Zudem habe ich noch die Waffeneditier-Sachen die du gerade zuvor gepostet hast eingebaut.
Hier mal die
lib/gilden.php
[php]<?php
#-----------------------------------------#
# Gildensystem Version: 1.3 #
# ~~ Funktionen ~~ #
# Autor: Eliwood #
# Mit Unterstüzung von: Nephilea #
#-----------------------------------------#
/* Struktur zusätzlicher Accounts-Felder:
-------------------------------------------------------------------
| Feldname Typus SIGNED || Charset Null? default
| memberid int(11) UNSIGNED Nein 0
| gildenactive enum('0', '1') latin1_german1_ci Nein 0
| rankid int(11) Nein 0
| isleader int(3) UNSIGNED Nein 0
| gildengold int(11) Nein 0
| gildengems int(11) Nein 0
-------------------------------------------------------------------
*/
/* Define Settings */
define("dkrequired",20); // Benötigte Drachenkills
define("goldprice",30000); // Goldpreis der Gilde
define("gemprice",50); // Edelsteinpreis der Gilde
define("bewerbpreis",2500); // Preis zum Bewerben
define("maxgold",2500000); // Goldlagergrösse
define("maxgems",2500); // Edelsteinlagergrösse
define("minchar",8); // Mindestlänge das Gildennamens, ohne Farbcodes
define("highestleader",2); // Höchste leaderid (Leaderkennungszahl)
define("buildactive",TRUE); // Ausbau aktiv?
define("goldperlevel",3000); // Goldtransfer pro Level
define("gemsperlevel",3); // Edelsteintransfer pro Level
DEFINE("SQL_CACHE",FALSE); // Bitte, nur aktivieren, wenn garantiert wegen dem keine Fehlermeldungen kommen!
define("maxweapons",10); // Maximale Waffen pro Gilde
/* Define Functions */
/* Gilde laden */
function loadguild($id)
{
global $session,$SQL_CACHE;
if($id > 0)
{
$sql = "SELECT ".(SQL_CACHE==true?"SQL_CACHE":"")." * FROM gilden WHERE gildenid= '".$id."' OR leaderid='$id'";
$result = db_query($sql);
$session['guild'] = db_fetch_assoc($result);
db_free_result($result);
$session['guild']['gildenname'] = stripslashes($session['guild']['gildenname']);
$session['guild']['gildenprefix'] = stripslashes($session['guild']['gildenprefix']);
$sql = "SELECT rankname FROM gildenranks WHERE rankid='".$session['user']['rankid']."'";
$rank = db_fetch_assoc(db_unbuffered_query($sql));
$session['rank'] = $rank['rank'];
}
}
/* Gilde speichern, eigentlich nicht mehr nötig, aber ich lass es mal drinne */
function saveguild($id)
{
global $session;
if($id>0)
{
$sql="UPDATE `gilden` SET ";
// unset($session['house']['houseid']);
reset($session[house]);
while(list($key,$val)=each($session[house])){
if (is_array($val)){
$sql.="`".$key."` = '".addslashes(serialize($val))."', ";
}else{
$sql.="`".$key."` = '".addslashes($val)."', ";
}
}
$sql = substr($sql,0,strlen($sql)-2);
$sql.=" WHERE `gildenid` = '".$id."' LIMIT 1";
db_unbuffered_query($sql,LINK);
}
}
/* Zeige Gilden */
function showguilds($id=false,$withlink=false,$detaillink=false)
{
global $session,$output,$SQL_CACHE;
if($id === false)
{
$output.="<table align='center' bgcolor='#999999' cellpadding='2' cellspacing='1'>";
$output.="<tr class='trhead'><td>";
output("Kürzel");
$output.="</td><td>";
output("Name der Gilde");
$output.="</td><td>";
output("Leader");
$output.="</td><td>";
output("Punkte");
if($withlink !== false || $detaillink!==false)
{
$output.="</td><td>";
output("Ops");
}
$output.="</td></tr>";
$sql = "SELECT ".(SQL_CACHE==true?"SQL_CACHE":"")." * FROM gilden WHERE active='1' ORDER BY gildenpunkte DESC";
$result = db_query($sql);
$i = 0;
while($row = db_fetch_assoc($result))
{
$sql = "SELECT ".(SQL_CACHE==true?"SQL_CACHE":"")." name FROM accounts WHERE acctid='".$row['leaderid']."'";
$row2 = db_fetch_assoc(db_unbuffered_query($sql));
$bgcolor = ($i%2==1?"trdark":"trlight");
$output.="<tr class='$bgcolor'><td>";
output(stripslashes($row['gildenprefix']));
$output.="</td><td>";
output(stripslashes($row['gildenname']));
$output.="</td><td>";
output($row2['name']);
$output.="</td><td align='center'>";
output("`&".$row['gildenpunkte']."`0");
if($withlink !== false || $detaillink===true)
{
$output.="</td><td>";
if($withlink !== false)
{
output("`&[<a href='".$withlink."&id=".$row['gildenid']."'> `xBewerben </a>`&] |",true);
addnav("",$withlink."&id=".$row['gildenid']);
}
/* Details (PopUp) */
if($withlink !== false || $detaillink===true) output(" `&[<a href='showdetail.php?id=".$row['gildenid']."' target='window_popup' onClick="".popup("showdetail.php?id=".$row['gildenid'])."; return false;"> `xDetails </a>`&]",true);
}
$output.="</td></tr>";
$i++;
}
db_free_result($result);
}
else
{
$sql = "SELECT ".(SQL_CACHE==true?"SQL_CACHE":"")." * FROM gilden WHERE active='1' AND gildenid='$id'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
output("<p align='center'>",true);
output("`b".stripslashes($row['gildenname'])."`b`n`n");
output("`3~~ Beschreibung `3~~`n`n");
output(stripslashes($row['gildendesc']),true);
output("`n`n`3~~ Geschichte `3~~`n`n");
output(stripslashes($row['gildenstory']),true);
output("`n`n`3~~ Regeln `3~~`n`n");
output(stripslashes($row['gildenregeln']),true);
output("</p>",true);
}
}
/* Preistafel */
function preistafel()
{
global $bewerbpreis,$goldprice,$gemprice;
rawoutput("<pre>");
output("");
output("`2#----------------------------------------------------------------------#");
output("`2# - `3Bewerbungskosten: `^".bewerbpreis." Gold `2#");
output("`2# - `3Goldkosten für gegründete Gilde: `^".goldprice." Gold `2#");
output("`2# - `3Edelsteinkosten für gegründete Gilde: `%".gemprice." Edelsteine `2#");
output("`2#----------------------------------------------------------------------#");
rawoutput("</pre>");
}
/* Zeilen, 1 Zeile, 2 Spalten */
function rowform($title=false,$input=false)
{
global $output;
if($title===false)
{
$output.= "<tr><td colspan='2' align='center'>";
$output.= $input;
$output.= "</td></tr>";
}
else
{
$output.= "<tr><td>";
$output.= $title;
$output.= "</td><td>";
$output.= $input;
$output.= "</td></tr>";
}
}
/* Formular für die Gründung */
function grundform($action)
{
global $output;
$output.="<form action='$action' method='POST'><table>";
rowform("Name der Gilde (Ohne Farbcodes)","<input type='text' size='30' value='{$_POST['gildenname_b']}' maxlength='100' name='gildenname_b'>");
rowform("Name der Gilde (Mit Farbcode","<input type='text' size='30' value='{$_POST['gildenname']}' maxlength='100' name='gildenname'>");
rowform("Prefix (Ohne Farbcodes)","<input type='text' size='5' value='{$_POST['gildenprefix_b']}' maxlength='5' name='gildenprefix_b'>");
rowform("Prefix (Mit Farbcodes)","<input type='text' size='5' value='{$_POST['gildenprefix']}' maxlength='18' name='gildenprefix'>");
rowform(false,"<input type='submit' value='Bestätigen'>");
$output.="</table></form>";
addnav("",$action);
}
/* Eingabe überprüfen */
function check_input($var)
{
global $error,$minchar;
if($_POST['gildenname_b']!=striptag($_POST['gildenname']))
{
$error = "ERROR! Verwende bitte gleiche Namen, danke.";
$allow = false;
}
elseif($_POST['gildenprefix_b']!=striptag($_POST['gildenprefix']))
{
$error = "ERROR! Verwende bitte gleiche Prefixe, danke.";
$allow = false;
}
elseif($_POST['gildenname_b']=="" || strlen($_POST['gildenname_b'])<minchar)
{
$error = "ERROR! Name leer oder zu kurz.";
$allow = false;
}
elseif($_POST['gildenprefix_b']=="")
{
$error = "ERROR! Prefix leer!";
$allow = false;
}
else $allow = true;
return $allow;
}
/* Links erlauben (Funktionsgleich mit addnav("",$link) */
if(!function_exists("allownav"))
{
function allownav($link)
{
global $session;
$session['allowednavs'][$link.$extra]=true;
$session['allowednavs'][str_replace(" ", "%20", $link).$extra]=true;
$session['allowednavs'][str_replace(" ", "+", $link).$extra]=true;
}
}
/* Tribut checken */
function check_tribut()
{
global $session,$errorart,$error,$maxgold,$maxgems;
if($session['user']['gold']<(int)$_POST['gold'])
{
$errorart = 1;
$error .= "`\$Du kannst nicht mehr Gold einzahlen, als du bei dir hast!";
return false;
}
elseif($session['user']['gems']<(int)$_POST['gems'])
{
$errorart = 2;
$error .= "`\$Du kannst nicht mehr Edelsteine einzahlen, als du bei dir hast!";
return false;
}
elseif(!is_int((int)$_POST['gold']) || !is_int((int)$_POST['gems']))
{
$errorart = 3;
$error .= "`\$Gib eine Zahl ein!";
return false;
}
elseif(($_POST['gold']+$session['guild']['gold'])>maxgold)
{
$errorart = 4;
$error .= "`\$Goldspeicher voll!";
return false;
continue;
}
elseif(($_POST['gems']+$session['guild']['gems'])>maxgold)
{
$errorart = 5;
$error .= "`\$Edelsteinspeicher voll!";
return false;
}
else return true;
}
if(!function_exists("page_title"))
{
function page_title($data)
{
output("`c`b$data`b`c`n",true);
}
}
if(!function_exists("db_unbuffered_query"))
{
function db_unbuffered_query($sql) {
global $session,$dbqueriesthishit,$dbtimethishit;
$dbqueriesthishit++;
$dbtimethishit -= getmicrotime();
$fname = DBTYPE."_unbuffered_query";
$r = $fname($sql) or die(($session[user][superuser]>=3 || 1?"<pre>".HTMLEntities($sql)."</pre>":"").db_error(LINK));
$dbtimethishit += getmicrotime();
return $r;
}
}
function showuser_public()
{
global $output,$session;
$sql = "SELECT acctid,name,login,isleader,rankid FROM accounts WHERE memberid='".$session['guild']['gildenid']."' ".page("acctid","accounts","gilden.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("Name");
rawoutput("</td><td>");
output("Aktueller Rang");
rawoutput("</td></tr>");
while($row = db_fetch_assoc($result))
{
$result_2 = db_unbuffered_query("SELECT rankname FROM gildenranks WHERE rankid='{$row[rankid]}'");
$raw = db_fetch_assoc($result_2);
$bgcolor = ($i%2?"trdark":"trlight");
rawoutput("<tr class='$bgcolor'><td>");
output($row['name']);
rawoutput("</td><td>");
output($raw['rankname']);
rawoutput("</td></tr>");
$i++;
}
rawoutput("</table>");
}
if(!function_exists("page"))
{
function page($callfield,$table,$site,$whereclause,$perpage=30)
{
// Seitenfunktion 2005 by Eliwood
$sql = "SELECT count($callfield) AS c FROM $table ".$whereclause."";
///output($sql);
$result = db_unbuffered_query($sql);
$row = db_fetch_assoc($result);
$total = $row['c'];
$perpage=30;
if ($_GET['page']=="") $_GET['page']=1;
$pageoffset = (int)$_GET['page'];
if ($pageoffset>0) $pageoffset--;
$pageoffset*=$perpage;
$from = $pageoffset+1;
$to = min($pageoffset+$perpage,$total);
$limit=" LIMIT $pageoffset,$perpage ";
/* Seiten verlinken */
addnav("Seiten");
for ($i=0;$i<$total;$i+=$perpage){
addnav("Seite ".($i/$perpage+1)." (".($i+1)."-".min($i+$perpage,$total).")","$site&page=".($i/$perpage+1));
}
return $limit;
}
}
function guild_update($field,$value)
{
global $session,$link;
$sql = "UPDATE gilden SET `$field`='".addslashes($value)."' WHERE gildenid='{$session['guild']['gildenid']}'";
db_query($sql) or die(db_error(LINK));
$session['guild'][$field] = $value;
}
function show_builded_navs()
{
global $session;
$sql = "SELECT * FROM gilden_ausbau WHERE ownerguild='".$session['guild']['gildenid']."' AND name='marktplatz'";
$result = db_query($sql);
if(db_num_rows($result)==1)
{
addnav("Marktplatz");
$sql = "SELECT * FROM gilden_ausbau WHERE ownerguild='".$session['guild']['gildenid']."' AND name!='marktplatz'";
$result = db_unbuffered_query($sql);
while($row = db_fetch_assoc($result))
{
addnav($row['name'],"gilden.php?op=build&action=$row[link]");
}
}
}
function is_buildet($what)
{
global $session;
$result = db_query("SELECT * FROM `gilden_ausbau` WHERE link='$what' AND ownerguild='".$session['guild']['gildenid']."'");
if(db_num_rows($result)==1)
return true;
else
return false;
}
function drop_me($my_acctid,$my_name,$my_leaderid)
{
global $highestleader,$session;
if($my_leaderid >= highestleader)
{
output("`\$Du darfst die Gilde SO nicht verlassen.");
}
else
{
db_unbuffered_query("UPDATE accounts SET isleader='0',memberid='0',gildenactive='0',rankid='0',gildengold='0',gildengems='0' WHERE acctid='$my_acctid'");
$session['user']['isleader'] = 0;
$session['user']['memberid'] = 0;
$session['user']['rankid'] = 0;
$session['user']['gildenactive'] = 0;
$session['user']['gildengold'] = 0;
$session['user']['gildengems'] = 0;
systemmail($session['guild']['leaderid'],"Kündigung","`^".$my_name."`# hat die fristlose Kündigung eingereicht!");
unset($session['guild']);
//die(print_r(func_get_args()));
//redirect("gildenstrasse.php");
addnav("Zurück zur Gildenstrasse","gildenstrasse.php");
page_header("Gildenstrasse");
page_footer();
exit();
}
}
?>[/php]
Hier einmal die
lib/gildenbuilding.php
[php]<?php
#-----------------------------------------#
# Gildensystem Version: 1.3 #
# ~~ Funktionen für die Gebäude ~~ #
# Autor: Eliwood #
# Mit Unterstüzung von: Nephilea #
#-----------------------------------------#
if(file_exists("lib/invhandler.php"))
require_once "lib/invhandler.php";
function showweapons($withlink=true)
{
global $session;
$result = db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value4>0 ORDER BY value1 ASC");
addnav("Waffen");
rawoutput("<table align='center' bgcolor='#999999'>");
rawoutput("<tr class='trhead'><td>Name</td><td>Schaden</td><td>Goldkosten</td><td>Stückzahl im Lager</td>");
if($session['user']['acctid']==$session['guild']['leaderid']){
rawoutput("<td>Bearbeiten</td></tr>");
}
$i = 0;
while($row = db_fetch_assoc($result))
{
$tableclass = ($i%2==1?"trlight":"trdark");
$mylink = "";
if($row['value3']<=$session['user']['gold']) $mylink = "gilden.php?op=build&action=weapon&weaponid=".$row['value1'];
if($withlink===true) addnav($row['data'],$mylink);
rawoutput("<tr class='$tableclass'>"
."<td>".$row['data']."</td>"
."<td>".$row['value2']."</td>"
."<td>".$row['value3']."</td>"
."<td>".$row['value4']."</td>");
if($session['user']['acctid']==$session['guild']['leaderid']){
rawoutput("<td><a href='gildenverwalt.php?op=verwaltbuild&action=weapon&do=edit&weaponid=".$row['value1']."'>Bearbeiten</a></td>");
}
rawoutput("</tr>");
addnav("","gildenverwalt.php?op=verwaltbuild&action=weapon&do=edit&weaponid=".$row['value1']."");
$i++;
}
rawoutput("</table>");
if($withlink===true) output("`\$`n`n--->Wenn du eine Waffen kaufen willst, klicke rechts oben auf den Navpunkt.");
}
function editweapon($id,$formlink)
{
global $session;
$weapon = db_fetch_assoc(db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'"));
allownav($formlink);
$values = array(1=>48,225,585,990,1575,2250,2790,3420,4230,5040,5850,6840,8010,9000,10350);
rawoutput("<form method='POST' action='$formlink'><table>");
rawoutput("<input type='hidden' name='id' value='$id'>");
rawoutput("<tr><td>Name der Waffe</td>");
rawoutput("<td><input type='text' name='name' value='$weapon[data]' /></td></tr>");
rawoutput("<tr><td colspan='2' rowspan='2' align='center' valign='middle'><input class='button' type='submit' value='Waffe bearbeiten' /></td></tr><tr></tr>");
rawoutput("</table></form>");
}
function update_weapon($id){
global $session;
db_query("UPDATE gilden_data SET data='".$_POST['name']."' WHERE value1=".$id." AND gildenid=".$session['guild']['gildenid']);
}
function give_new_weapon($name,$description,$attack=0,$gold=0)
{
// Gives Users a New Waepon
global $session;
if (!is_int($attack)) $defence = 0;
if (!is_int($gold)) $gold = 0;
$sql="INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('$name','Waffe','".$session['user']['acctid']."','$attack','$gold','$description')";
db_query($sql) or die("Ach, so nen Mist, schon wieder verbockt!");
}
function buyweapon($id)
{
global $session;
$weapon = db_fetch_assoc(db_unbuffered_query("SELECT * FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'"));
give_new_weapon($weapon['data'],"Eine Waffe, von der Gilde gekauft",$weapon['value2'],$weapon['value3']);
if(($weapon['value4']-1)==0) // Wenn keine Stückzahlen mehr vorhanden sind, Waffe aus der Datenbank löschen
db_query("DELETE FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'");
else // Wenn es noch was von der Waffe hat => Stückzahl verringern
db_query("UPDATE gilden_data SET value4=value4-'1' WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon' AND value1='$id'");
guild_update("gold",$session['guild']['gold']+$weapon['value3']);
$session['user']['gold']-=$weapon['value3'];
}
function insertweapon($name,$attack,$piece)
{
global $session;
$values = array(1=>48,225,585,990,1575,2250,2790,3420,4230,5040,5850,6840,8010,9000,10350);
$result = db_unbuffered_query("SELECT MAX(value1) AS maxid FROM gilden_data WHERE gildenid='".$session['guild']['gildenid']."' AND name='weapon'");
$a = db_fetch_assoc($result);
$id = ($a['maxid']+1);
db_unbuffered_query("INSERT INTO gilden_data (gildenid,name,value1,data,value2,value3,value4) VALUES ('".$session['guild']['gildenid']."','weapon','$id','$name','$attack','".$values[$attack]."','$piece')");
db_free_result();
}
function weaponform($formlink)
{
global $session;
allownav($formlink);
$values = array(1=>48,225,585,990,1575,2250,2790,3420,4230,5040,5850,6840,8010,9000,10350);
rawoutput("<form method='POST' action='$formlink'><table>");
rawoutput("<tr><td>Name der Waffe</td>");
rawoutput("<td><input type='text' name='name' /></td></tr>");
rawoutput("<tr><td>Schaden</td>");
rawoutput("<td><select name='damage'>");
for($i=1;$i<=15;$i++)
{
rawoutput("<option value='$i'>$i (Goldkosten: ".$values[$i].")");
}
rawoutput("</select></td></tr>");
rawoutput("<tr><td>Wieviel davon herstellen?</td>");
rawoutput("<td><select name='piece'>");
for($i=1;$i<=20;$i++)
{
rawoutput("<option value='$i'>$i");
}
rawoutput("</select></td></tr>");
rawoutput("<tr><td colspan='2' rowspan='2' align='center' valign='middle'><input class='button' type='submit' value='Waffe schmieden' /></td></tr><tr></tr>");
rawoutput("</table></form>");
}
/*
Eine Liste mit den Wichtigen Informationen über die Tabelle gilden_data:
Waffen:
name => weapon
value1 => Waffenprimärschlüssel
data => Waffenname
value2 => Angriffspunkte
value3 => Waffenwert in Gold
value4 => Stückzahl
// Die Waffen werden ins Inventar übertragen!
*/
?>[/php]
Hier mal die
lib/gildenverwaltfunc.php
[php]<?php
#-----------------------------------------#
# Gildensystem Version: 1.3 #
# ~~ Funktionen für die Verwaltung ~~ #
# Autor: Eliwood #
# Mit Unterstüzung von: Nephilea #
#-----------------------------------------#
function aufnehm($id,$name)
{
global $session;
output("`#Du nimmst `^$name`# in die Gilde auf.`n");
$body = "`#Du wurdest in der Gilde `^{$session['guild']['gildenname']}`# aufgenommen.";
$subject = "`@Aufgenommen!";
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("`#Du verweigerst `^$name`# die Aufnahme in die Gilde.`n");
$body = "`#Der eintritt in die Gilde `^{$session['guild']['gildenname']}`# wurde dir verweigert.";
$subject = "`\$Abgelehnt!";
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("Bewerbername");
rawoutput("</td><td>");
output("Optionen");
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[`2Annehmen`0]</a> <a href='$link[2]'>`0[`^Ablehnen`0]</a>",true);
rawoutput("</td></tr>");
allownav($link[1]);
allownav($link[2]);
$i++;
}
if($i == 0)
{
output("<tr><td align='center' colspan='2'>`~`b`iKeine Bewerbungen vorhanden`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("Rangname");
$output .= "</td><td>";
output("Optionen");
$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'>`&[`2Rename`&]</a> `0<a href='$link2'>`&[`\$Löschen`&]</a>",true);
$output .= "</td>";
$output .= "</tr>";
allownav($link1);
allownav($link2);
$i++;
}
$output .= "</table>";
$linkb = $link."&subop=add";
output("`n`n`c<a href='$linkb'>[ Rang hinzufügen ]</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 .= "Titelname: ";
$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='Bestätigen'>";
$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("`2Rang hinzugefügt!`n");
}
else
{
$sql = "UPDATE gildenranks SET rankname='".addslashes($_POST[rankname])."' WHERE rankid='$id'";
db_query($sql);
output("`2Rang aktualisiert!`n");
}
}
function deletetitle($id)
{
global $output;
output("`4`cTitel gelöscht`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("Name");
rawoutput("</td><td>");
output("Aktueller Rang");
rawoutput("</td><td>");
output("Optionen");
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'":"").">Kein Titel\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]'>`\$Entlassen</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("Name");
rawoutput("</td><td>");
output("Optionen");
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='Gold auszahlen'>"
."</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='Edelsteine auszahlen'>"
."</form> ",true);
rawoutput("</td></tr>");
$i++;
}
rawoutput("</table>");
}
fuNcTiOn show_text($art)
{
GlObAl $session;
switch ($art):
case "desc": $field = "gildendesc"; $ptitle = "Beschreibung ändern"; break;
case "story": $field = "gildenstory"; $ptitle = "Geschichte ändern"; break;
case "regeln": $field = "gildenregeln"; $ptitle = "Regeln ändern"; break;
endswitch;
page_title($ptitle);
rawoutput("<p align='center'>");
output("`#Aktuell:`n`n");
output(stripslashes($session['guild'][$field]),true);
output("`#`n`nÄndern:`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='Änderungen übernehmen'>");
rawoutput("<input type='hidden' value='$field' name='field'>");
rawoutput("</form>");
output("`\$HTML erlaubt, für Absätze ``n oder <br> verwenden.");
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("Marktplatz bauen (Stufe `^1`0)","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("Noch ".($freeplaces)." Plätze frei","");
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']." ausbauen (Stufe `^$row2[stufe]`0)","gildenverwalt.php?op=build&action=$row2[link]&stufe=$row2[stufe]");
}
else {addnav("Marktplatz nicht weiter ausbaubar","");}
}
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'];
addnav($row['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("`\$ERROR! Du darfst den Gründer nicht entlassen!");
}
elseif($session['user']['isleader']<highestleader && $session['user']['isleader']>0 && $drop_user['isleader']>0)
{
output("`\$ERROR! Nur der Gründer kann eingesetzte Verwalter entlassen!");
}
elseif($id === $session['user']['acctid'])
{
output("`\$ERROR! Du KANNST dich nicht entlassen, du musst schon deine Kündigung einreichen ;D");
}
else
{
db_unbuffered_query("UPDATE accounts SET isleader='0',memberid='0',gildenactive='0' WHERE acctid='$id'");
output("`c`b`2User ".$drop_user['name']."`2 entlassen!`b`n`c;: ".$highestleader);
}
}
function renameform($action)
{
global $output,$session;
$output.="<form action='$action' method='POST'><table>";
rowform("Name der Gilde (Ohne Farbcodes)","<input type='text' size='30' value='{$session['guild']['gildenname_b']}' maxlength='100' name='gildenname_b'>");
rowform("Name der Gilde (Mit Farbcode","<input type='text' size='30' value='{$session['guild']['gildenname']}' maxlength='100' name='gildenname'>");
rowform("Prefix (Ohne Farbcodes)","<input type='text' size='5' value='{$session['guild']['gildenprefix_b']}' maxlength='5' name='gildenprefix_b'>");
rowform("Prefix (Mit Farbcodes)","<input type='text' size='5' value='{$session['guild']['gildenprefix']}' maxlength='18' name='gildenprefix'>");
rowform(false,"<input type='submit' class='button' value='Bestätigen'>");
$output.="</table></form>";
addnav("",$action);
}
function dropguild($id)
{
global $session;
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',gildengold='0',gildengems='0' WHERE memberid='$id'"); // User entlassen
$session['user']['memberid'] = 0;
$session['user']['gildenactive'] = 0;
$session['user']['rankid'] = 0;
$session['user']['isleader'] = 0;
$session['user']['gildengold'] = 0;
$session['user']['gildengems'] = 0;
addnews("`#Die Gilde `@{$session['guild']['gildenname']}`# wurde von `@{$session['user']['name']}`# aufgelöst.");
saveuser();
redirect("gildenstrasse.php");
}
?>[/php][/php]