Alle Dateien, die hier eingesehen werden können, sind unter der GNU GPL lizenziert. Wenn du etwas darin findest, das du gerne hättest, so schreibe mir doch bitte eine Anfrage damit ich, wenn ich es rausgeben will, alle Änderungen raussuchen könnte. Denn ich übernehme keine Verantwortung, solltest du was rausnehmen und es geht nicht. Und Support deswegen geb ich schon gar nicht.
Solltest du eine Schwachstelle im Code finden, sei es eine kritische Lücke oder eine Möglichkeit zu cheaten, dann bitte ich dich, mir das mitzuteilen. Solltest du beim cheaten erwischt werden, werde ich deinen Account eigenhändig löschen & bannen; Solltest du meinen Server angreifen, so werde ich meine Rechtsschutzversicherung kontaktieren.
Da es leider immer wieder vorgekommen ist, dass eigene Scripte auf anderen Servern ohne Nachfrage gefunden wurden und Spieler gecheatet haben, habe ich viele der php's gesperrt. Wenn du gerne eine haben möchtest, so frage bitte einfach nach. Alle Dateien, die gesperrt sind, sind entweder wegen Cheatmöglichkeiten gesperrt, oder aber eigens für Phoenix programmiert oder für Phoenix angepasst, umgeschrieben oder gemodded worden.
Verzeichnisse:
<?php
#-----------------------------------------#
# Gildensystem Version: 1.5b #
# ~~ Gildeninnern ~~ #
# Autor: Eliwood, Serra #
#-----------------------------------------#
/* Require */
require_once "common.php";
require_once "lib/gilden.php";
require_once "lib/gildenverwaltfunc.php";
/* Gilde laden und speichern in $session['guild'] */
loadguild($session['user']['memberid']);
/* Maintitle */
$title = "Gildenhaus ".$session['guild']['gildenname_b']."";
/* Script */
switch($_GET['op']):
/* Übersicht */
case "":
/* Seitentitel festlegen */
page_title("Verwaltung der Gilde");
output("`2Hier kannst die komplette Gilde bearbeiten und verwalten.`nTexte bearbeiten, Ränge verteilen, Mitglieder belohnen... Es gibt viele Möglichkeiten.`n`n");
addcommentary();
viewcommentary("gilden-privat ".$session['guild']['gildenid'],"`iUnterhalte dich mit den anderen Verwaltern:`i",25,"sagt",1,1);
break;
/* Bewerbungen - Übersicht */
case "bewerbungen":
showbewerber();
break;
/* Bewerbungen - Aufnehmen */
case "nimm":
aufnehm($_GET['id'],RawUrlDecode($_GET['login']));
break;
/* Bewerbungen - Ablehnen */
case "ablehn";
ablehn($_GET['id'],RawUrlDecode($_GET['login']));
break;
/* Ränge */
case "ranks":
/* Wenn kein subop gesetzt ist, Titel anzeigen */
if(!isset($_GET['subop']))
showtitles();
/* Titel editieren */
elseif($_GET['subop']=="edit")
{
createtitle((int)$_GET['id']);
}
/* Titel löschen & Liste anzeigen */
elseif($_GET['subop']=="del")
{
deletetitle((int)$_GET['id']); // Titel löschen
showtitles(); // Titel wieder anzeigen
}
/* Speichern */
elseif($_GET['subop']=="save")
{
if($_POST['rankid']=="not")
createtitle();
else
createtitle((int)$_POST['rankid']);
showtitles();
}
/* Hinzufügen */
elseif($_GET['subop']=="add")
{
createtitle();
}
break;
/* Mitglieder */
case "members":
if($_GET['action']=="leader")
{
/* Wenn die gespostete Leadergrösse grösser oder gleich dem maximalen Wert ist, soll sie 1 unter dem maximal Wert liegen. */
if(highestleader<=$_POST['id']) $_POST['id'] = highestleader-1;
// output(output_array($_POST,"DEBUG: ")); // Debug Ausgabe
$sql = "UPDATE accounts SET isleader='$_POST[id]' WHERE acctid='$_POST[acctid]' AND (acctid!='{$session[user][acctid]}' AND acctid!='{$session[guild][leaderid]}')";
db_query($sql); // Update in die Datenbank schreiben
}
elseif($_GET['action']=="rank")
{
// output(output_array($_POST,"DEBUG: ")); // Debug Ausgabe
$sql = "UPDATE accounts SET rankid='$_POST[rank]' WHERE acctid='$_POST[acctid]'";
db_query($sql); // Update in die Datenbank schreiben
/* Anti-Updatefehler | Wenn der Bearbeiter sich selbst einen Rang zuteilt, kann nicht aktualisiert werden. */
if($session['user']['acctid'] == $_POST['acctid']) $session['user']['rankid'] = (int)$_POST['rank'];
}
elseif($_GET['action']=="dropmember")
{
drop_member($_GET['dropid']);
}
showuser();
break;
case "texte":
/* Texte editieren */
if(isset($_POST['field'])) // Prüfen, ob der Key field im Post-Array gesetzt wurde
{
guild_update($_POST['field'],$_POST['text']); // Gildenwerte updaten
output("`c".$session['guild'][$_POST['field']]."`c",true); // Neuen Text ausgeben
output("Änderungen übernommen"); // Erfolgreiche Änderungen posten
}
else
show_text($_GET['text']); // Text anzeigen & Feld zum Editieren anzeigen
break;
case "belohnen":
/* Spieler belohnen */
if(isset($_POST['value'])) // Prüfen, ob der Key value im Post-Array gesetzt wurde
{
if("gold" == $_POST['art'])
{
$sql = "SELECT gold,gildengold,level,name,acctid FROM accounts WHERE acctid='".$_POST['acctid']."'";
$row = db_fetch_assoc(db_query($sql));
// print_r($row);
if($row['gildengold'] == (int)-($row['level']*1000) OR
($row['gildengold'] - $_POST['value']) < (int)-($row['level']*1000) OR
$session['guild']['gold'] < $_POST['value'] OR
($_POST['value']<0))
{
output("`\$Fehler aufgetreten!");
rawoutput($row['gildengold'].(int)-($row['level']*1000).$row['gildengold'] .$_POST['value']);
}
else
{
output("`@Okay!");
db_unbuffered_query("UPDATE accounts SET gold=gold+'".$_POST['value']."',gildengold=gildengold-'".$_POST['value']."' WHERE acctid='".$_POST['acctid']."'");
guild_update("gold",$session['guild']['gold']-$_POST['value']);
$row_buch=mysql_fetch_assoc(mysql_query("SELECT name FROM accounts WHERE acctid='".$_POST['acctid']."'"));
gildenbuch("-".$_POST['value'], "0", "Behlonung für $row_buch[name]");
}
}
elseif("gems" == $_POST['art'])
{
$sql = "SELECT gems,gildengems,level,name,acctid FROM accounts WHERE acctid='".$_POST['acctid']."'";
$row = db_fetch_assoc(db_query($sql));
if($row['gildengems'] == (int)-($row['level']*2) OR
($row['gildengems'] - $_POST['value']) < (int)-($row['level']*2) OR
$session['guild']['gems'] < $_POST['value'] OR
($_POST['value']<0))
{
output("`\$Fehler aufgetreten! ");
}
else
{
output("`@Okay!");
db_unbuffered_query("UPDATE accounts SET gems=gems+'".$_POST['value']."',gildengems=gildengems-'".$_POST['value']."' WHERE acctid='".$_POST['acctid']."'");
guild_update("gems",$session['guild']['gems']-$_POST['value']);
$row=mysql_fetch_assoc(mysql_query("SELECT name FROM accounts WHERE acctid='".$_POST['acctid']."'"));
gildenbuch("0", "-".$_POST['value'], "Behlonung für $row[name]");
}
}
}
showuser_pay();
break;
/* Ausbau-Modifikation by Eliwood */
case "build":
if(!isset($_GET['step']))
{
if(!isset($_GET['stufe'])) $_GET['stufe'] = 1;
$sql = "SELECT * FROM gilden_ausbau WHERE ownerguild='0' AND link='$_GET[action]' AND stufe='$_GET[stufe]'";
$row = db_fetch_assoc(db_unbuffered_query($sql));
output("`#$row[name] kostet `^$row[goldcost] Goldstücke`# und `%$row[gemcost] Edelsteine`#.`n`n");
if($session['guild']['gold']>=$row['goldcost'] && $session['guild']['gems']>=$row['gemcost'])
{
output("`#Deine Schätze sind gross genug, du kannst also mit dem Bau beginnen.`n`n");
addnav($row['name']." (Stufe `^".$row['stufe']."`0)","gildenverwalt.php?op=build&action=$_GET[action]&stufe=$_GET[stufe]".($row['value1']>0?"&value=$row[value1]":"")."&step=1");
}
}
else
{
if($_GET['stufe']>1)
{
$sql = "UPDATE `gilden_ausbau` SET `stufe`='$_GET[stufe]', `value1`='$_GET[value]' WHERE `ownerguild`='{$session['guild']['gildenid']}' AND `link`='$_GET[action]'";
db_query($sql);
$row_buch=mysql_fetch_assoc(mysql_query("SELECT * FROM gilden_ausbau WHERE stufe='$_GET[stufe]' AND `link`='$_GET[action]' AND `ownerguild`='0'"));
gildenbuch("-".$row_buch['goldcost'], "-".$row_buch['gemcost'], "Bau von ".$row_buch['name']);
}
else
{
$sql = "SELECT * FROM gilden_ausbau WHERE ownerguild='0' AND link='$_GET[action]' AND stufe='1'";
$row = db_fetch_assoc(db_unbuffered_query($sql));
db_query("INSERT INTO gilden_ausbau (ownerguild,name,stufe,value1,value2,link)VALUES ('".$session['guild']['gildenid']."','$row[name]','$row[stufe]','$row[value1]','$row[value2]','$row[link]')") or die(db_error(LINK));
$row_buch=mysql_fetch_assoc(mysql_query("SELECT * FROM gilden_ausbau WHERE stufe='1' AND `link`='$_GET[action]' AND `ownerguild`='0'"));
gildenbuch("-".$row_buch['goldcost'], "-".$row_buch['gemcost'], "Bau von ".$row_buch['name']);
}
output("`#$row[name] Stufe $row[stufe] wurde (aus)gebaut.");
guild_update("gold",($session['guild']['gold']-$row['goldcost']));
guild_update("gems",($session['guild']['gems']-$row['gemcost']));
guild_update("gildenpunkte",($session['guild']['gildenpunkte']+$row['givepoint']));
}
break;
/* Ausbau verwalten */
case "verwaltbuild":
// page_title("Gebäudeverwaltung");
require_once "lib/gildenbuilding.php";
switch($_GET['action'])
{
case "weapon":
include_once "builds/weapon.php";
break;
case "armor":
include_once "builds/armor.php";
break;
case "diplomat":
include_once "builds/diplomat.php";
break;
}
break;
/* Fehlermeldung, falls kein Fall für op vorhanden */
case "rename":
if(!isset($_GET['step']) || $_GET['step'] == 1)
{
renameform("gildenverwalt.php?op=rename&step=2");
}
else
{
if(check_input($_POST)==false)
{
rawoutput($error);
renameform("gildenverwalt.php?op=rename&step=2");
}
else
{
guild_update("gildenname",$_POST['gildenname']);
guild_update("gildenname_b",$_POST['gildenname_b']);
guild_update("gildenprefix",$_POST['gildenprefix']);
guild_update("gildenprefix_b",$_POST['gildenprefix_b']);
output("Gilde umbenannt!");
}
}
break;
case "dropguild":
if(!isset($_GET['step']))
{
$droplink = "gildenverwalt.php?op=dropguild&step=1";
allownav($droplink);
output("<form action='$droplink' method='POST'><input type='submit' class='button' value='Gilde auflösen' onClick='return confirm(\"Willst du die Gilde WIRKLICH LÖSCHEN?\");'></form>", true);
}
else dropguild($session['guild']['gildenid']);
break;
case "buch":
output("Hier werden alle Finanztransaktionen der Gilde angezeigt.`n");
output("<table cellspacing=5><tr><th width='150'>Name</th><th width='60'>Gold</th><th width='30'>Edelstein</th><th width='200'>Beschreibung</th></tr>", true);
$result=mysql_query("SELECT * FROM gildenbuch WHERE guild='".$session['guild']['gildenid']."' ORDER BY id DESC");
while($row=mysql_fetch_assoc($result)) {
output("<tr><td valign=top>$row[user]</td><td valign=top>",true);
if ($row[gold]>0) {
output("`@ $row[gold]");
} elseif ($row[gold]==0) {
output("`V $row[gold]");
} else {
output("`$ $row[gold]");
}
output("</td><td valign=top>",true);
if ($row[gem]>0) {
output("`@ $row[gem]");
} elseif ($row['gem']==0) {
output("`V $row[gem]");
} else {
output("`$ $row[gem]");
}
output("</td><td valign=top>$row[grund]</td></tr>", true);
}
output("</table>",true);
break;
// Gildenpunkte verwendern
case "gildenpunkte":
output("Hier kannst du nun die Gildenpunkte, die deine Gilde gesammelt hat, dazu benutzen um euch Vorteile zu verschaffen.`n`n");
$restpunkte = $session['guild']['gildenpunkte'] - $session['guild']['punktespend'];
output("Von `k".$session['guild']['gildenpunkte']." `7Punkten habt ihr bereits `k".$session['guild']['punktespend']." `7Punkte ausgegeben.`nAlso könnt ihr noch `k$restpunkte `7Punkte ausgeben.`n`n");
$sql = "SELECT pet,weapon,armor,gypsy,train,bank,punktespend FROM gilden WHERE ".$session['guild']['gildenid']."";
$result = db_query($sql);
$row = db_fetch_assoc($result);
if($HTTP_GET_VARS[subop] == "pet") {
output("test");
$row['pet']++;
$row['punktespend'] += 20;
}
if($HTTP_GET_VARS[subop] == "weapon") {
$row['weapon']++;
$row['punktespend'] += 20;
}
if($HTTP_GET_VARS[subop] == "armor") {
$row['armor']++;
$row['punktespend'] += 20;
}
if($HTTP_GET_VARS[subop] == "gypsy") {
$row['gypsy']++;
$row['punktespend'] += 20;
}
if($HTTP_GET_VARS[subop] == "train") {
$row['train']++;
$row['punktespend'] += 20;
}
if($HTTP_GET_VARS[subop] == "bank") {
$row['bank']++;
$row['punktespend'] += 20;
}
if($restpunkte >= 20) {
$mal = floor($restpunkte / 20);
output("`iDu kannst noch `k$mal `7x einen Vorteil erhöhen.`i`n`n");
$link1 = "gildenverwalt.php?op=gildenpunkte&subop=pet";
$link2 = "gildenverwalt.php?op=gildenpunkte&subop=weapon";
$link3 = "gildenverwalt.php?op=gildenpunkte&subop=armor";
$link4 = "gildenverwalt.php?op=gildenpunkte&subop=gypsy";
$link5 = "gildenverwalt.php?op=gildenpunkte&subop=train";
$link6 = "gildenverwalt.php?op=gildenpunkte&subop=bank";
output("<table align='center' bgcolor='#999999' cellpadding='2' cellspacing='1' width='80%'>
<tr class='trhead'>
<th>Vorteil</th>
<th>Prozente zurzeit</th>
<th>Prozente erhöhen?</th>
</tr>
<tr class='trlight'>
<td>Prozente beim Tierkauf</td>
<td>".$session['guild']['pet']." %</td>
<td><a href='$link1'>Erhöhen</a></td>
</tr>
<tr class='trdark'>
<td>Prozente beim Waffenkauf</td>
<td>".$session['guild']['weapon']." %</td>
<td><a href='$link2'>Erhöhen</a></td>
</tr>
<tr class='trlight'>
<td>Prozente beim Rüstungskauf</td>
<td>".$session['guild']['armor']." %</td>
<td><a href='$link3'>Erhöhen</a></td>
</tr>
<tr class='trdark'>
<td>Prozente beim Edelsteinkauf im Zigeunerzelt</td>
<td>".$session['guild']['gypsy']." %</td>
<td><a href='$link4'>Erhöhen</a></td>
</tr>
<tr class='trlight'>
<td>Mehr Erfahrung beim Training in der Gilde</td>
<td>".$session['guild']['train']." %</td>
<td><a href='$link5'>Erhöhen</a></td>
</tr>
<tr class='trdark'>
<td>Mehr Zinsen bei der Bank</td>
<td>".$session['guild']['bank']." %</td>
<td><a href='$link6'>Erhöhen</a></td>
</tr>
</table>", true);
allownav($link1);
allownav($link2);
allownav($link3);
allownav($link4);
allownav($link5);
allownav($link6);
} else {
output("`iNicht genügend Punke!`i");
}
break;
default:
$title = "FEHLER!";
output("`\$Fehler! Melde es unverzüglich den Administratoren, wenn du das sehen kannst");
endswitch;
/* Navigation */
/* Aktionen */
addnav("Aktionen");
addnav("Bewerbungen",($_GET['op']=="bewerbungen"?"":"gildenverwalt.php?op=bewerbungen")); // Bewebungen einsehen
addnav("Mitgliederliste",($_GET['op']=="members"?"":"gildenverwalt.php?op=members")); // Mitgliederliste einsehen &Ränge zuteilen
addnav("Spieler belohnen",($_GET['op']=="belohnen"?"":"gildenverwalt.php?op=belohnen")); // Spieler mit Gems oder Gold belohnen
addnav("Kontoauszug",($_GET['op']=="buch"?"":"gildenverwalt.php?op=buch"));
addnav("Ränge bearbeiten",($_GET['op']=="ranks"?"":"gildenverwalt.php?op=ranks")); // Ränge verwalten
if($session['user']['superuser'] == 6) addnav("Punkte verteilen",($_GET['op']=="gildenpunkte"?"":"gildenverwalt.php?op=gildenpunkte")); // Ränge verwalten
if ($session['user']['isleader'] >= highestleader)
{
addnav("Gilde umbenennen",($_GET['op']=="rename"?"":"gildenverwalt.php?op=rename")); // Gilde umbennen
addnav("`\$Gilde auflösen",($_GET['op']=="dropguild"?"":"gildenverwalt.php?op=dropguild")); // Auflösen der Gilde
}
addnav("Texte");
addnav("Editiere...","");
addnav("Geschichte","gildenverwalt.php?op=texte&text=story"); // Geschichte editieren
addnav("Beschreibung","gildenverwalt.php?op=texte&text=desc"); // Beschreibung der Gilde editieren
addnav("Regeln","gildenverwalt.php?op=texte&text=regeln"); // Die Regeln editieren
/* Ausbau-Modifikation by Eliwood */
if(buildactive===true)
{
addnav("Gebäudeverwaltung");
if(is_buildet("weapon")) addnav("Waffenverwaltung","gildenverwalt.php?op=verwaltbuild&action=weapon");
if(is_buildet("armor")) addnav("Rüstungsverwaltung","gildenverwalt.php?op=verwaltbuild&action=armor");
if(is_buildet("diplomat")) addnav("Diplomatie","gildenverwalt.php?op=verwaltbuild&action=diplomat");
if($_GET['step']!=1)
{
addnav("Ausbau");
show_build_navs();
}
}
/* Ausgang */
addnav("Ausgang");
addnav("Aufenthaltsraum","gilden.php"); // Hauptraum
addnav("Gildenstrasse","gildenstrasse.php"); // Zurück zur Gildenstrasse
if(function_exists("backplace")) // Prüfen ob Funktion backplace überhaupt definiert ist
backplace(0); // Zurück zum Platz
addnav("Dorfplatz","village.php"); // Zum Dorfplatz
/* Gildenwerte in der Datenbank wieder abspeichern */
// saveguild($session['guild']['memberid']);
/* Output ausgeben */
page_header($title);
page_footer();
?>