@MySql:
Ich benutze Wordpad++, und das stellt die Syntax eigentlich dar, ich wüsste nicht wo ich es umstelle, aber soweit ich es sehe benutzt es die Syntax passend zur Dateiendung - und wie gesagt, die sahen da gleich aus.
Ich weiß du hast den dit schon gesehen, wollte es aber auch gesagt haben
@Eliwood
Jetzt müsste ich nur irgendwo einen PC mit Linux herbekommen...
Gut zu wissen jedenfalls, das kann ich in anderen Fällen ja auch mal testen, in diesem hier gibts ja gottseidank einen Workaround
@Auric
Ein ganz tolles Wohnviertel, wir sind sehr zufrieden damit, im Vergleich der verschiedenen Wohnviertel ist die Wahl einstimmig auf dieses hier gefallen - mit gewissen Bedingungen, aber die sind ja unsere Sorge.
Und aus der wichtigsten Bedingung ist das unten Folgende entsprungen.
Danke!
@All
Nachdem ich jetzt schon einiges aus dem Forum entnommen und profitiert habe möchte ich auch mal was zurückgeben, ich weiß zwar nicht für wieviele das noch hilfreich sein wird, aber das ist ja kein Grund damit zurückzuhalten.
Für unseren Server wollten wir unbedingt Zimmer deren Namen und Beschreibung man selbst ändern kann, also hab ich versucht den OOP Code zu verstehen. Ich hab noch gesagt das kann länger dauern, aber keine 24h später gabs die erste funktionierende Version, die ich hiermit vorstellen will, für jene die sich sowas noch nicht selbst gebaut haben (so schwer wars ja dann doch nicht, hier im Thread hab ich aber noch kein Zimmer mit der Funktion gesehen).
$this->bbcode_second_pass_code('', '// Class Freizimmer erstellt von Deus
class freizimmer1 extends zimmer {
var $back;
// Konstruktor
function freizimmer1() {
$this->back ="nhouses.php?op=drin&go=".$_GET['go'];
switch($_GET['act']){
case "rename": $this->rename(); break;
case "desc": $this->desc(); break;
default: $this->basis(); break;
}
} // Ende Funktion
function basis() {
global $haus;
output("`8`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n
`b".$haus->fz1n."`b `c`n
".$haus->fz1b."`8");
viewcommentary("frei_zim_1_-".$haus->id,"Mit deinen Mitbewohnen unterhalten",25);
output("`0");
addnav($haus->fz1n."`0");
addnav("Namen des Zimmers ändern",$this->back."&act=rename");
addnav("Beschreibung ändern",$this->back."&act=desc");
addnav("Verlassen");
addnav("Zurück zum Flur","nhouses.php?op=drin");
} // Ende Funktion
function rename() {
global $haus;
if (!$_POST['roomname']){
output("`8DHier kannst du den Namen des Raumes ändern.`n`n
Der aktuelle Name ist: `0".$haus->fz1n."`0`n
`0<form action='".$this->back."&act=rename' method='POST'>`n
`8Gebe einen neuen Namen für den Raum ein:`n`n
<input name='roomname' maxlength='50' size='50'>`n`n
<input type='submit' class='button' value='Umbenennen'>",true);
addnav("",$this->back."&act=rename");
}else{
output("`8Dieser Raum heißt jetzt: ".stripslashes($_POST['roomname'])."`8.");
$haus->fz1n = $_POST['roomname'];
}
addnav("Zurück ins Frei Zimmer 1",$this->back);
} // Ende Funktion
function desc() {
global $haus;
if (!$_POST['desc']){
output("`8Hier kannst du die Beschreibung des Zimmers ändern.`n`n
Die aktuelle Beschreibung ist:`0`n`n".$haus->fz1b."`0`n
`0<form action='".$this->back."&act=desc' method='POST'>`n
`8Gib eine Beschreibung für diesen Raum ein:`n`n
<input name='desc' maxlength='500' size='50'>`n`n
<input type='submit' class='button' value='Abschicken'>",true);
addnav("",$this->back."&act=desc");
}else{
output("`8Die Beschreibung wurde geändert.`n`0".stripslashes($_POST['desc'])."`8.");
$haus->fz1b = $_POST['desc'];
}
addnav("Zurück ins Frei Zimmer 1",$this->back);
} // Ende Funktion
} // Ende Klasse')
Notwendig sind für dieses Zimmer auch zwei kleine Änderungen in der classes.php:
$this->bbcode_second_pass_code('', 'Suche:
$this->besitzerid = $row['owner'];
Füge darunter hinzu:
//Deklaration von fz1n und fz1b eingefügt für Zimmer mit freiem Beschreibungtext by Deus
$this->fz1n = $row['freizimmer1name'];
$this->fz1b = $row['freizimmer1beschreibung'];
Suche:
function eintragen()
Ersetze darin:
$sql="UPDATE `houses` SET owner = ".$this->besitzerid.",status = ".$this->status.", gold = ".$this->gold.", gems = ".$this->gems.", housename = '".$this->name."', description = '".addslashes($this->text)."', ausbauten = '".implode(',',$this->ausbauten)."' WHERE houseid = ".$this->id;
Durch diese Zeile:
$sql="UPDATE `houses` SET owner = ".$this->besitzerid.",status = ".$this->status.", gold = ".$this->gold.", gems = ".$this->gems.", housename = '".$this->name."', description = '".addslashes($this->text)."', ausbauten = '".implode(',',$this->ausbauten)."', freizimmer1name = '".addslashes($this->fz1n)."', freizimmer1beschreibung = '".addslashes($this->fz1b)."' WHERE houseid = ".$this->id;')
Und ein SQL Befehl muss auch noch sein:
(Ich hab den aus meiner Erstellung kopiert, mehr oder weniger, ich bin sicher Teile davon müssen anders sein für gewisse Server / Zeichensätze, aber ich weiß nicht was davon ich gefahrlos weglassen kann (CHARACTER SET und COLLATE ?) damit es funktioniert, ich hab die Felder direkt in der Datenbank eingefügt. Wenn mir da noch wer weiterhilft wie ich den Einfügebefehl bestmöglich abwandle ändere ich es gerne noch. Außerdem ist glaube ich VARCHAR für PHP 4 auf 255 beschränkt oder so irgendwie, glaube ich mal gelesen zu haben, wenn mir das jemand bestätigt ändere ich auch das im Befehl damit es auch auf PHP 4 Servern funktioniert, vergrößern geht ja immer.)
$this->bbcode_second_pass_code('', 'ALTER TABLE `houses` ADD `freizimmer1name` VARCHAR( 50 ) NOT NULL DEFAULT 'Frei waehlbarer Name' AFTER `ausbauten` ,
ADD `freizimmer1beschreibung` VARCHAR( 500 ) NOT NULL DEFAULT 'Frei waehlbare Beschreibung' AFTER `freizimmer1name` ')
--Änderung vom 02. September 2010:
Nachdem ich mich wieder damit beschäftigt habe, ist es jetzt möglich den Selbst gegebenen Namen auch im Link zu verwenden, dafür ist eine weitere Änderung in der classes.php notwendig:
$this->bbcode_second_pass_code('', 'Suche (in der "classes.php" / unter "function flur"):
addnav($row['label'],$row['link']);
ersetze durch:
// Zusatzabfrage für frei benennbare Zimmer, damit die Links entsprechend dargestellt werden (Name und Farben) (von Deus)
if (strpos($row['label'],'freizimmer') !== false){
$zz = str_replace('freizimmer','',$row['label']);
$zn = ("fz".$zz."n");
$benenn = $this->$zn;
} else {
$benenn = $row['label'];
}
addnav($benenn,$row['link']);
// Ende Zusatzabfrage für frei benennbare Zimmer')
Diese Vorgehensweise bedingt jedoch die entsprechende Nummerierung der Zimmer als freizimmer1 / freizimmer2 / usw. und ein genau dem entsprechendes Label, das normalerweise auch so eingetragen ist und nicht verändert werden darf damit das so funktioniert.
--Ende Eintrag vom 02. September 2010
Falls jemand eine Idee hat wie man Dinge daran vereinfachen kann oder weniger Änderungen in anderen Dateien dafür notwendig sind, bin ich da ganz aufgeschlossen
Meine Hauptsorge damit ist momentan, dass es die Datenbank furchtbar aufbläht wenn man eine Umnenn Funktion für sehr viele Räume verfügbar machen will, aber ich fürchte da lässt sich nichts dagegen machen
Viel Spass falls es jemand brauchen kann!