anpera.net
https://anpera.dyndns.org/phpbb3/

Farbenproblem
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=2442
Seite 1 von 1

Autor:  Nathalie-Amy [ Di 11 Apr, 2006 11:44 ]
Betreff des Beitrags:  Farbenproblem

Hallöchen zusammen!
Ich bin's mal wieder... zualler erst... Man darf mir jetzt helfen, denn ich hab den Server nicht mehr auf funpic :-p *anpera anschiel*

So nun zumeinem Problem... ich habe gerade eben in der style.css un in der common.php ein paar neue Farben ein gefügt...
Nunja... als ich dann alles fertig hoch geladen hatte sah mein Server übel aus... die Zeichen die ich einer Farbe zugeordnet hatte und z.B. bei addnews genutzt wurde habe ich total vergessen und demnach kann man sich denken wie dann eine Newsmeldung aussah...: `@ Ayume...
Naja... dann hab ich das Zeichen woanders eingesetzt...(halt einer bunten Farbe zugeordnet) und jetzt ist alles weiß... es wird nun auf gar keine Farbe mehr eingegangen.

Da meine Source aber immer noch nicht geht... setz ich einfach mal meine komplette common und meine style.css rein... in der HOffnung jemand kann mir weiterhelfen (und wenn möglich sogar mit dem Source-Problem...)

Autor:  Nathalie-Amy [ Di 11 Apr, 2006 11:44 ]
Betreff des Beitrags: 

[php]<?php

// 12092004

require_once "dbwrapper.php";
require_once "anticheat.php";

$pagestarttime = getmicrotime();

$nestedtags=array();
$output="";

function adddbfield($table,$field,$type,$default=0)
{ $found = FALSE;
$sql = "SELECT * FROM ".$table;
$result = db_query($sql) or die(db_error(LINK));
$fields = mysql_num_fields($result);
for ($i=0; $i < $fields; $i++)
{ if (mysql_field_name($result, $i)==$field) { $found=TRUE; } }
if (!$found)
{ $sql = "ALTER TABLE `".$table."` ADD `".$field."` ".$type." NOT NULL DEFAULT ".$default."";
$result = db_query($sql) or die(db_error(LINK));
}
}


function pvpwarning($dokill=false) {
global $session;
$days = getsetting("pvpimmunity", 5);
$exp = getsetting("pvpminexp", 1500);
if ($session['user']['age'] <= $days &&
$session['user']['dragonkills'] == 0 &&
$session['user']['user']['pk'] == 0 &&
$session['user']['experience'] <= $exp) {
if ($dokill) {
output("`\$Warnung!`^ Da du selbst noch vor PvP geschützt warst, aber jetzt einen anderen Spieler angreifst, hast du deine Immunität verloren!!`n`n");
$session['user']['pk'] = 1;
} else {
output("`\$Warnung!`^ Innerhalb der ersten $days Tage in dieser Welt, oder bis sie $exp Erfahrungspunkte gesammelt haben, sind alle Spieler vor PvP-Angriffen geschützt. Wenn du einen anderen Spieler angreifst, verfällt diese Immunität für dich!`n`n");
}
}
}

function rawoutput($indata) {
global $output;
$output .= $indata . "\n";
}

function output($indata,$priv=false){
global $nestedtags,$output;
$data = translate($indata);
// Aprilscherz deaktiviert ;)
// if (date("m-d")=="04-01"){
// $out = appoencode($data,$priv);
// if ($priv==false) $out = borkalize($out);
// $output.=$out;
// }else{
$output.=appoencode($data,$priv);
// }
$output.="\n";
return 0;
}

function compress_out ($input) {
//Based on old YaBBSE code (c)
//Open-Source Project by Zef Hemel (zef@zefnet.com <mailto:zef@zefnet.com>)
//Copyright (c) 2001-2002 The YaBB Development Team
if((function_exists("gzcompress")) && (function_exists("crc32"))){
if(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "x-gzip")){
$encode = "x-gzip";
}
elseif(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "gzip")){
$encode = "gzip";
}
if (isset($encode)){
header("Content-Encoding: $encode");
$encode_size = strlen($input);
$encode_crc = crc32($input);
$out = "\x1f\x8b\x08\x00\x00\x00\x00\x00";
$out .= substr(gzcompress($input, 1), 0, -4);
$out .= pack("V", $encode_crc);
$out .= pack("V", $encode_size);
}
else{
$out = $input;
}
}
else{
$out = $input;
}
return ($out);
}


function safeescape($input){
return preg_replace('/([^\\\\])(["\'])/s',"\\1\\\\\\2",$input);

}

//by Chaosmaker
function petitionmail($subject,$body,$petition,$from,$seen=0,$to=0,$messageid=0) {
$subject = safeescape($subject);
$subject=str_replace("\n","",$subject);
$subject=str_replace("`n","",$subject);
$body = safeescape($body);

$sql = "INSERT INTO petitionmail (petitionid,messageid,msgfrom,msgto,subject,body,sent,seen) VALUES ('".(int)$petition."','".(int)$messageid."','".(int)$from."','".(int)$to."','$subject','$body',now(),'$seen')";
db_query($sql);
$sql = 'UPDATE petitions SET lastact=NOW() WHERE petitionid="'.(int)$petition.'"';
db_query($sql);
}
//end petitionmail

function systemmail($to,$subject,$body,$from=0,$noemail=false){
$subject = safeescape($subject);
$subject=str_replace("\n","",$subject);
$subject=str_replace("`n","",$subject);
$body = safeescape($body);
//echo $subject."<br>".$body;
$sql = "SELECT prefs,emailaddress FROM accounts WHERE acctid='$to'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
db_free_result($result);
$prefs = unserialize($row['prefs']);

if ($prefs['dirtyemail']){
//output("Not cleaning: $prefs[dirtyemail]");
}else{
//output("Cleaning: $prefs[dirtyemail]");
$subject=soap($subject);
$body=soap($body);
}

$sql = "INSERT INTO mail (msgfrom,msgto,subject,body,sent) VALUES ('".(int)$from."','".(int)$to."','$subject','$body',now())";
db_query($sql);
$email=false;
if ($prefs['emailonmail'] && $from>0){
$email=true;
}elseif($prefs[emailonmail] && $from==0 && $prefs[systemmail]){
$email=true;
}
if (!is_email($row['emailaddress'])) $email=false;
if ($email && !$noemail){
$sql = "SELECT name FROM accounts WHERE acctid='$from'";
$result = db_query($sql);
$row1=db_fetch_assoc($result);
db_free_result($result);
if ($row1['name']!="") $fromline="From: ".preg_replace("'[`].'","",$row1[name])."\n";
// We've inserted it into the database, so.. strip out any formatting
// codes from the actual email we send out... they make things
// unreadable
$body = preg_replace("'[`]n'", "\n", $body);
$body = preg_replace("'[`].'", "", $body);
mail($row['emailaddress'],"Neue LoGD Mail","Du hast eine neue Nachricht von LoGD @ http://".$_SERVER[HTTP_HOST].dirname($_SERVER[SCRIPT_NAME])." empfangen.\n\n$fromline"
."Betreff: ".preg_replace("'[`].'","",stripslashes($subject))."\n"
."Body: ".stripslashes($body)."\n"
."\nDu kannst diese Meldungen in deinen Einstellungen abschalten.",
"From: ".getsetting("gameadminemail","postmaster@localhost")
);
}
}

function isnewday($level){
global $session;
if ($session['user']['superuser']<$level) {
clearnav();
$session['output']="";
page_header("FREVEL!");
$session['bufflist']['angrygods']=array(
"name"=>"`^Die Götter sind wütend!",
"rounds"=>10,
"wearoff"=>"`^Es ist den Göttern langweilig geworden, dich zu quälen.",
"minioncount"=>$session['user']['level'],
"maxgoodguydamage"=> 2,
"effectmsg"=>"`7Die Götter verfluchen dich und machen dir `^{damage}`7 Schaden!",
"effectnodmgmsg"=>"`7Die Götter haben beschlossen, dich erstmal nicht zu quälen.",
"activate"=>"roundstart",
"survivenewday"=>1,
"newdaymessage"=>"`6Die Götter sind dir immer noch böse!"
);
output("Für den Versuch, die Götter zu betrügen, wurdest du niedergeschmettert!`n`n");
output("`\$Ramius, der Gott der Toten`) erscheint dir in einer Vision. Dafür, dass du versucht hast, deinen Geist mit seinem zu messen, sagt er dir wortlos, dass du keinen Gefallen mehr bei ihm hast.`n`n");
addnews("`&Für den Versuch, die Götter zu besudeln, wurde ".$session['user']['name']." zu Tode gequält! (Hackversuch gescheitert).");
$session['user']['hitpoints']=0;
$session['user']['alive']=0;
$session['user']['soulpoints']=0;
$session['user']['gravefights']=0;
$session['user']['deathpower']=0;
$session['user']['experience']*=0.75;
addnav("Tägliche News","news.php");
page_footer();
$sql = "SELECT acctid FROM accounts WHERE superuser>=3";
$result = db_query($sql);
while ($row = db_fetch_assoc($result)) {
systemmail($row['acctid'],"`#{$session['user']['name']}`# hat versucht, Superuser-Seiten zu hacken!","Böse(r), böse(r), böse(r) {$session['user']['name']}, du bist ein Hacker!");
}
exit();
}
}

function forest($noshowmessage=false) {
global $session,$playermount;
$conf = unserialize($session['user']['donationconfig']);
if ($conf['healer'] || $session['user']['acctid']==getsetting("hasegg",0)) {
addnav("H?Golindas Hütte","healer.php");
} else {
addnav("H?Hütte des Heilers","healer.php");
}
if ($session['user']['level']==15) {
addnav("Seltsame Lichtung","cruxis.php"); }
addnav("B?Etwas zum Bekämpfen suchen","forest.php?op=search");
if ($session['user']['level']>1)
addnav("H?Herumziehen","forest.php?op=search&type=slum");
addnav("N?Nervenkitzel suchen","forest.php?op=search&type=thrill");
//if ($session[user][hashorse]>=2) addnav("D?Dark Horse Tavern","forest.php?op=darkhorse");
if ($playermount['tavern']>0) addnav("D?Nimm {$playermount['mountname']} zur Dark Horse Taverne","forest.php?op=darkhorse");
if ($playermount['tavern']>0 && $conf['castle']) addnav("B?Nimm {$playermount['mountname']} zur Burg","forest.php?op=castle");
if ($conf['goldmine']>0) addnav("Goldmine (".$conf[goldmine]."x)","paths.php?ziel=goldmine&pass=conf");
addnav("","forest.php");
if ($session['user']['level']>=15 && $session['user']['seendragon']==0){
addnav("G?`@Den Grünen Drachen suchen","forest.php?op=dragon");
}
addnav("Wege");
addnav("M?Zurück zum Marktplatz","marktplatz.php");
addnav("Z?Zurück zum Hinterhof","hinterhof.php");
addnav("Z?Zurück zum Dorf","village.php");
addnav("Sonstiges");
addnav("Banküberweisung","schnellbank.php");
addnav("P?Plumpsklo","outhouse.php");
if ($session['user']['turns']<=1 ) addnav("Hexenhaus","hexe.php");
if ($noshowmessage!=true){
output("`c`7`bDer Wald`b`0`c");
output("Der Wald, Heimat von bösartigen Kreaturen und üblen Übeltätern aller Art.`n`n");
output("Die dichten Blätter des Waldes erlauben an den meisten Stellen nur wenige Meter Sicht. ");
output("Die Wege würden dir verborgen bleiben, hättest du nicht ein so gut geschultes Auge. Du bewegst dich so leise wie ");
output("eine milde Brise über den dicken Humus, der den Boden bedeckt. Dabei versuchst du es zu vermeiden ");
output("auf dünne Zweige oder irgendwelche der ausgebleichten Knochenstücke zu treten, welche den Waldboden spicken. ");
output("Du verbirgst deine Gegenwart vor den abscheulichen Monstern, die den Wald durchwandern.");
if ($session['user']['turns']<=1) output(" In der Nähe siehst du wieder den Rauch aus dem Kamin eines windschiefen Hexenhäuschens aufsteigen, von dem du schwören könntest, es war eben noch nicht da. ");
}
if ($session['user']['superuser']>1){
output("`n`nSUPERUSER Specials:`n");
$d = dir("special");
while (false !== ($entry = $d->read())){
// Skip non php files (including directories)
if(strpos($entry, ".php") === false) continue;
// Skip any hidden files
if (substr($entry,0,1)==".") continue;
output("<a href='forest.php?specialinc=$entry'>$entry</a>`n", true);
addnav("","forest.php?specialinc=$entry");
}
}
}

function borkalize($in){
$out = $in;
$out = str_replace(". ",". Bork bork. ",$out);
$out = str_replace(", ",", bork, ",$out);
$out = str_replace(" h"," hoor",$out);
$out = str_replace(" v"," veer",$out);
$out = str_replace("g ","gen ",$out);
$out = str_replace(" p"," pere",$out);
$out = str_replace(" qu"," quee",$out);
$out = str_replace("n ","nen ",$out);
$out = str_replace("e ","eer ",$out);
$out = str_replace("s ","ses ",$out);
return $out;
}

function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());

function e_rand($min=false,$max=false){
if ($min===false) return mt_rand();
$min*=1000;
if ($max===false) return round(mt_rand($min)/1000,0);
$max*=1000;
if ($min==$max) return round($min/1000,0);
// if ($min==0 && $max==0) return 0; //do NOT as me why this line can be executed, it makes no sense, but it *does* get executed.
if ($min<$max){
return round(@mt_rand($min,$max)/1000,0);
}else if($min>$max){
return round(@mt_rand($max,$min)/1000,0);
}
}

function is_email($email){
return preg_match("/[[:alnum:]_.-]+[@][[:alnum:]_.-]{2,}.[[:alnum:]_.-]{2,}/",$email);
}

function checkban($login=false){
global $session;
if ($session['banoverride']) return false;
if ($login===false){
$ip=$_SERVER[REMOTE_ADDR];
$id=$_COOKIE[lgi];
//echo "<br>Orig output: $ip, $id<br>";
}else{
$sql = "SELECT lastip,uniqueid,banoverride FROM accounts WHERE login='$login'";
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
if ($row['banoverride']){
$session['banoverride']=true;
//echo "`nYou are absolved of your bans, son.";
return false;
}else{
//echo "`nNo absolution here, son.";
}
db_free_result($result);
$ip=$row['lastip'];
$id=$row['uniqueid'];
//echo "<br>Secondary output: $ip, $id<br>";
}
$sql = "select * from bans where ((substring('$ip',1,length(ipfilter))=ipfilter AND ipfilter<>'') OR (uniqueid='$id' AND uniqueid<>'')) AND (banexpire='0000-00-00' OR banexpire>'".date("Y-m-d")."')";
//echo $sql;
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0){
// $msg.=$session['message'];
$session=array();
//$session['message'] = $msg;
//echo "Session Abandonment";
$session[message].="`n`4Du bist einer Verbannung zum Opfer gefallen:`n";
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$session[message].=$row[banreason];
if ($row[banexpire]=="0000-00-00") $session[message].=" `\$Die Verbannung ist permanent!`0";
if ($row[banexpire]!="0000-00-00") $session[message].=" `^Der Bann wird am ".date("M d, Y",strtotime($row[banexpire]))." aufgehoben `0";
$session[message].="`n";
}
$session[message].="`4Wenn du willst, kannst du mit einer Anfrage nach dem Grund fragen.";
header("Location: index.php");
exit();
}
db_free_result($result);
}

function increment_specialty(){
global $session;
if ($session[user][specialty]>0){
$skillnames = array(1=>"Dunkle Künste","Mystische Kräfte","Diebeskunst");
$skills = array(1=>"darkarts","magic","thievery");
$skillpoints = array(1=>"darkartuses","magicuses","thieveryuses");
$session[user][$skills[$session[user][specialty]]]++;
output("`nDu steigst in `&".$skillnames[$session[user][specialty]]."`# ein Level auf ".$session[user][$skills[$session[user][specialty]]]." auf. ");
$x = ($session[user][$skills[$session[user][specialty]]]) % 3;
if ($x == 0){
output("Du bekommst eine zusätzliche Anwendung!`n");
$session[user][$skillpoints[$session[user][specialty]]]++;
}else{
output("Nur noch ".(3-$x)." weitere Stufen, bis du eine zusätzliche Anwendung erhältst!`n");
}
}else{
output("`7Du wanderst ziel- und planlos durchs Leben. Du solltest eine Rast machen und einige wichtige Entscheidungen für dein weiteres Leben treffen.`n");
}
}

function fightnav($allowspecial=true, $allowflee=true){
global $PHP_SELF,$session;
//$script = str_replace("/","",$PHP_SELF);
$script = substr($PHP_SELF,strrpos($PHP_SELF,"/")+1);
addnav("Kämpfen","$script?op=fight");
if ($allowflee) {
addnav("Wegrennen","$script?op=run");
}
if (getsetting("autofight",0)){
addnav("AutoFight");
addnav("5 Runden kämpfen","$script?op=fight&auto=five");
addnav("Bis zum bitteren Ende","$script?op=fight&auto=full");
}
if ($allowspecial) {
addnav("`bBesondere Fähigkeiten`b");
if ($session[user][darkartuses]>0) {
addnav("`\$Dunkle Künste`0", "");
addnav("`\$• Skelette herbeirufen`7 (1/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=1",true);
}
if ($session[user][darkartuses]>1)
addnav("`\$• Voodoo`7 (2/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=2",true);
if ($session[user][darkartuses]>2)
addnav("`\$• Geist verfluchen`7 (3/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=3",true);
if ($session[user][darkartuses]>4)
addnav("`\$• Seele verdorren`7 (5/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=5",true);

if ($session[user][thieveryuses]>0) {
addnav("`^Diebeskünste`0","");
addnav("`^• Beleidigen`7 (1/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=1",true);
}
if ($session[user][thieveryuses]>1)
addnav("`^• Waffe vergiften`7 (2/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=2",true);
if ($session[user][thieveryuses]>2)
addnav("`^• Versteckter Angriff`7 (3/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=3",true);
if ($session[user][thieveryuses]>4)
addnav("`^• Angriff von hinten`7 (5/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=5",true);

if ($session[user][magicuses]>0) {
addnav("`%Mystische Kräfte`0","");
//disagree with making this 'n', players shouldn't have their behavior dictated by convenience of god mode, hehe
addnav("g?`%• Regeneration`7 (1/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=1",true);
}
if ($session[user][magicuses]>1)
addnav("`%• Erdenfaust`7 (2/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=2",true);
if ($session[user][magicuses]>2)
addnav("L?`%• Leben absaugen`7 (3/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=3",true);
if ($session[user][magicuses]>4)
addnav("A?`%• Blitz Aura`7 (5/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=5",true);
if ($session[user][superuser]>=4) {
addnav("`&Superuser`0","");
addnav("!?`&• __GOD MODE","$script?op=fight&skill=godmode",true);
}
// spells by anpera
$sql="SELECT * FROM items WHERE class='Zauber' AND owner=".$session[user][acctid]." AND value1>0 ORDER BY name ASC";
$result=db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0) addnav("Zauber");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$spellbuff=unserialize($row[buff]);
addnav("`v$spellbuff[name] `0(".$row[value1]."x)","$script?op=fight&skill=zauber&itemid=$row[id]");
}
// end spells
}
}

function appoencode($data,$priv=false){
global $nestedtags,$session;
while( !(($x=strpos($data,"`")) === false) ){
$tag=substr($data,$x+1,1);
$append=substr($data,0,$x);
//echo "<font color='green'>$tag</font><font color='red'>".((int)$x)."</font><font color='blue'>$data</font><br>";
$output.=($priv?$append:HTMLEntities($append));
$data=substr($data,$x+2);
switch($tag){
case "0":
if ($nestedtags[font]) $output.="</span>";
unset($nestedtags[font]);
break;
//Grau
case "1":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau1'>";
break;
case "2":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau2'>";
break;
case "3":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau3'>";
break;
case "4":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau4'>";
break;
case "5":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau5'>";
break;
case "6":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau6'>";
break;
//Blau
case "!":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau1'>";
break;
case "§":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau2'>";
break;
case "$":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau3'>";
break;
case "%":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau4'>";
break;
case "&":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau5'>";
break;
case ")":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau6'>";
break;
case "?":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlau7'>";
break;
//Gruen
case "Q":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen1'>";
break;
case "q":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen2'>";
break;
case "V":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen3'>";
break;
case "E":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen4'>";
break;
case "e":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen5'>";
break;
case "r":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen6'>";
break;
case "R":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGruen7'>";
break;
//Rot
case "t":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colRot1'>";
break;
case "T":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colRot2'>";
break;
case "z":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colRot3'>";
break;
case "Z":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colRot4'>";
break;
case "u":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colRot5'>";
break;
//Orange
case "7":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colOrange1'>";
break;
case "8":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colOrange2'>";
break;
case "9":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colOrange3'>";
break;
//Gelb
case "o":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGelb1'>";
break;
case "^":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGelb2'>";
break;
case "p":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGelb3'>";
break;
//Braun
case "a":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBraun1'>";
break;

case "v":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBraun2'>";
break;
case "A":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBraun3'>";
break;
case "s":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBraun4'>";
break;
//Lila
case "#":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila1'>";
break;
case "D":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila2'>";
break;
case "G":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila3'>";
break;
case "g":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila4'>";
break;
case "h":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila5'>";
break;
case "f":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila6'>";
break;
case "@":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila7'>";
break;
case "k":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila8'>";
break;
case "H":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLila9'>";
break;
//Grau2
case "I":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau7'>";
break;
case "L":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau8'>";
break;
case "y":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau9'>";
break;
case "Y":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau10'>";
break;
case "x":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colGrau11'>";
break;
//Hintergründe

case "F":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colWhiteBlack'>";
break;
case "*":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBack'>";
break;
case "A":
case "a":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colAttention'>";

//Special Funktionen

break;
case "c":
if ($nestedtags[div]) {
$output.="</div>";
unset($nestedtags[div]);
}else{
$nestedtags[div]=true;
$output.="<div align='center'>";
}
break;
case "+":
if ($nestedtags[div]) {
$output.="</span>";
unset($nestedtags[div]);
}else{
$nestedtags[div]=true;
$output.="<span class='navhi'>";
}
break;
case "b":
if ($nestedtags[b]){
$output.="</b>";
unset($nestedtags[b]);
}else{
$nestedtags[b]=true;
$output.="<b>";
}
break;
case "i":
if ($nestedtags[i]) {
$output.="</i>";
unset($nestedtags[i]);
}else{
$nestedtags[i]=true;
$output.="<i>";
}
break;
case "n":
$output.="<br>\n";
break;
case "w":
$output.=$session[user][weapon];
break;
case "`":
$output.="`";
break;
default:
$output.="`".$tag;
}
}
if ($priv){
$output.=$data;
}else{
$output.=HTMLEntities($data);
}
return $output;
}

// Angegebene Tags am Ende des Strings schließen
// (macht keinen Sinn bei Farben, da die nicht geschlossen werden)
function closetags($string, $tags) {
$tags = explode('`',$tags);
foreach ($tags as $siht) {
$siht = trim($siht);
if ($siht=='') continue;
if (substr_count($string,'`'.$siht)%2) $string .= '`'.$siht;
}
return $string;
}

function templatereplace($itemname,$vals=false){
global $template;
@reset($vals);
if (!isset($template[$itemname])) output("`bWarnung:`b Das `i$itemname`i Template wurde nicht gefunden!`n");
$out = $template[$itemname];
//output($template[$itemname]."`n");
while (list($key,$val)=@each($vals)){
if (strpos($out,"{".$key."}")===false) output("`bWarnung:`b Das `i$key`i Teil wurde im `i$itemname`i Template nicht gefunden! (".$out.")`n");
$out = str_replace("{"."$key"."}",$val,$out);
}
return $out;
}

function charstats(){
global $session;
$u =& $session[user];
if ($session[loggedin]){
$u['hitpoints']=round($u['hitpoints'],0);
$u['experience']=round($u['experience'],0);
$u['maxhitpoints']=round($u['maxhitpoints'],0);
$spirits=array("-6"=>"Wiedererweckt",
"-2"=>"Sehr schlecht",
"-1"=>"Schlecht",
"0"=>"Normal",
"1"=>"Gut",
"2"=>"Sehr gut");
if ($u[alive]){ }else{ $spirits[$u[spirits]] = "TOT"; }
reset($session[bufflist]);
$atk=$u[attack];
$def=$u[defence];
while (list($key,$val)=each($session[bufflist])){
$buffs.=appoencode("`#$val[name] `7($val[rounds] Runden übrig)`n",true);
if (isset($val[atkmod])) $atk *= $val[atkmod];
if (isset($val[defmod])) $def *= $val[defmod];
}
$atk = round($atk, 2);
$def = round($def, 2);
$atk = ($atk == $u[attack] ? "`^" : ($atk > $u[attack] ? "`@" : "`$")) . "`b$atk`b`0";
$def = ($def == $u[defence] ? "`^" : ($def > $u[defence] ? "`@" : "`$")) . "`b$def`b`0";

$kla=array(0=>"Keine Klamotten",
1=>"Weises Kleid",
2=>"Drachenleder Kleid",
3=>"Schwarzes Jacket",
4=>"Drachenleder Jacket");

$arm=array(0=>"Kein Armband",
1=>"Goldenes Armband",
2=>"Drachen Armband");

$shoes=array(0=>"Keine Schuhe",
1=>"Wanderschuhe",
2=>"Sportschuhe",
3=>"Lederstiefel",
4=>"Drachen Stiefel");

$hair=array(0=>"Glatze",
1=>"Glatze",
2=>"Glatze",
3=>"Glatze",
4=>"Glatze",
5=>"Glatze",
6=>"Glatze",
7=>"Glatze",
8=>"Glatze",
9=>"Glatze",
10=>"Kurze Haare",
11=>"Kurze Haare",
12=>"Kurze Haare",
13=>"Kurze Haare",
14=>"Kurze Haare",
15=>"Kurze Haare",
16=>"Kurze Haare",
17=>"Kurze Haare",
18=>"Kurze Haare",
19=>"Kurze Haare",
20=>"Normale Länge",
21=>"Normale Länge",
22=>"Normale Länge",
23=>"Normale Länge",
24=>"Normale Länge",
25=>"Normale Länge",
26=>"Normale Länge",
27=>"Normale Länge",
28=>"Normale Länge",
29=>"Normale Länge",
30=>"Normale Länge",
31=>"Normale Länge",
32=>"Normale Länge",
33=>"Normale Länge",
34=>"Normale Länge",
35=>"Normale Länge",
36=>"Normale Länge",
37=>"Normale Länge",
38=>"Normale Länge",
39=>"Normale Länge",
40=>"Lange Haare",
41=>"Lange Haare",
42=>"Lange Haare",
43=>"Lange Haare",
44=>"Lange Haare",
45=>"Lange Haare",
46=>"Lange Haare",
47=>"Lange Haare",
48=>"Lange Haare",
49=>"Lange Haare",
50=>"Lange Haare",
51=>"Lange Haare",
52=>"Lange Haare",
53=>"Lange Haare",
54=>"Lange Haare",
55=>"Lange Haare",
56=>"Lange Haare",
57=>"Lange Haare",
58=>"Lange Haare",
59=>"Lange Haare",
60=>"Lang und Ungeflegt",
61=>"Lang und Ungeflegt",
62=>"Lang und Ungeflegt",
63=>"Lang und Ungeflegt",
64=>"Lang und Ungeflegt",
65=>"Lang und Ungeflegt",
66=>"Lang und Ungeflegt",
67=>"Lang und Ungeflegt",
68=>"Lang und Ungeflegt",
69=>"Lang und Ungeflegt",
70=>"Lang und Ungeflegt",
71=>"Lang und Ungeflegt",
72=>"Lang und Ungeflegt",
73=>"Lang und Ungeflegt",
74=>"Lang und Ungeflegt",
75=>"Lang und Ungeflegt",
76=>"Lang und Ungeflegt",
77=>"Lang und Ungeflegt",
78=>"Lang und Ungeflegt",
79=>"Lang und Ungeflegt",
80=>"Lang und Ungeflegt");

$nagel=array(0=>"Kurz",
1=>"Kurz",
2=>"Kurz",
3=>"Kurz",
4=>"Kurz",
5=>"Kurz",
6=>"Kurz",
7=>"Kurz",
8=>"Kurz",
9=>"Kurz",
10=>"Normal",
11=>"Normal",
12=>"Normal",
13=>"Normal",
14=>"Normal",
15=>"Normal",
16=>"Normal",
17=>"Normal",
18=>"Normal",
19=>"Normal",
20=>"Gepflegt",
21=>"Gepflegt",
22=>"Gepflegt",
23=>"Gepflegt",
24=>"Gepflegt",
25=>"Gepflegt",
26=>"Gepflegt",
27=>"Gepflegt",
28=>"Gepflegt",
29=>"Gepflegt",
30=>"French-Maniküre",
31=>"Gepflegt",
32=>"Gepflegt",
33=>"Gepflegt",
34=>"Gepflegt",
35=>"Gepflegt",
36=>"Gepflegt",
37=>"Gepflegt",
38=>"Gepflegt",
39=>"Gepflegt",
40=>"Ungepflegt",
41=>"Ungepflegt",
42=>"Ungepflegt",
43=>"Ungepflegt",
44=>"Ungepflegt",
45=>"Ungepflegt",
46=>"Ungepflegt",
47=>"Ungepflegt",
48=>"Ungepflegt",
49=>"Ungepflegt",
50=>"Ungepflegt",
51=>"Ungepflegt",
52=>"Ungepflegt",
53=>"Ungepflegt",
54=>"Ungepflegt",
55=>"Ungepflegt",
56=>"Ungepflegt",
57=>"Ungepflegt",
58=>"Ungepflegt",
59=>"Ungepflegt",
60=>"Ungepflegt");

$hairco=array(0=>"Braun",
1=>"Schwarz",
2=>"Blond",
3=>"Grün",
4=>"Pink",
5=>"Rot",
6=>"Blau",
7=>"Bunt");

/* $nail=array(0=>"Kurz",
10=>"Normal",
20=>"Gepflegt",
30=>"French-Maniküre");
*/
$nailco=array(0=>"Keine",
1=>"Schwarz",
2=>"Gelb",
3=>"Lila",
4=>"Rot",
5=>"Blau",
6=>"Pink",
7=>"Klarlack");

$orden=array(1=>"Wasserorden",
2=>"Wasserorden `n
Feuerorden",
3=>"Wasserorden `n
Feuerorden `n
Windorden",
4=>"Wasserorden `n
Feuerorden `n
Windorden `n
Erdorden");




if (count($session[bufflist])==0){
$buffs.=appoencode("`^Keine`0",true);
}
$charstat=appoencode(templatereplace("statstart")
.templatereplace("stathead",array("title"=>"Vital Info"))
.templatereplace("statrow",array("title"=>"Name","value"=>appoencode($u[name],false)))
,true);
if ($session['user']['alive']){

$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Lebenspunkte","value"=>"$u[hitpoints]`0/$u[maxhitpoints]".grafbar($u[maxhitpoints],$u[hitpoints])))
.templatereplace("statrow",array("title"=>"Runden","value"=>$u['turns']))
,true);
}else{
$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Seelenpunkte","value"=>"$u[soulpoints]".grafbar((5*$u[level]+50),$u[soulpoints])))
.templatereplace("statrow",array("title"=>"Foltern","value"=>$u['gravefights']))
,true);
}
$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Stimmung","value"=>"`b".$spirits[(string)$u['spirits']]."`b"))
.templatereplace("statrow",array("title"=>"Level","value"=>"`b".$u['level']."`b"))
.($session['user']['alive']?
templatereplace("statrow",array("title"=>"Angriff","value"=>$atk))
.templatereplace("statrow",array("title"=>"Verteidigung","value"=>$def))
:
templatereplace("statrow",array("title"=>"Psyche","value"=>10 + round(($u['level']-1)*1.5)))
.templatereplace("statrow",array("title"=>"Geist","value"=>10 + round(($u['level']-1)*1.5)))
)
.templatereplace("statrow",array("title"=>"Edelsteine","value"=>$u['gems']))


.templatereplace("stathead",array("title"=>"Ausrüstung"))
.templatereplace("statrow",array("title"=>"Waffe","value"=>$u['weapon']))
.templatereplace("statrow",array("title"=>"Rüstung","value"=>$u['armor']))
.templatereplace("statrow",array("title"=>"Orden","value"=>$orden[$u['orden']]))
.templatereplace("statrow",array("title"=>"Klamotten","value"=>$kla[$u['klamotten']]))
.templatereplace("statrow",array("title"=>"Armband","value"=>$arm[$u['armband']]))
.templatereplace("statrow",array("title"=>"Schuhe","value"=>$shoes[$u['schuhe']]))
.templatereplace("stathead",array("title"=>"Aussehen"))
.templatereplace("statrow",array("title"=>"Haare","value"=>$hair[$u['frisur']]))
.templatereplace("statrow",array("title"=>"Haarfarbe","value"=>$hairco[$u['hairco']]))
.templatereplace("statrow",array("title"=>"Nägel","value"=>$nagel[$u['nagel']]))
.templatereplace("statrow",array("title"=>"Nagelfarbe","value"=>$nailco[$u['nagelco']]))


.templatereplace("stathead",array("title"=>"Weitere Infos"))
.templatereplace("statrow",array("title"=>"Gold","value"=>$u['gold']))
.templatereplace("statrow",array("title"=>"Gold in Bank","value"=>$u['goldinbank']))
.templatereplace("statrow",array("title"=>"Erfahrung","value"=>expbar()))
,true);
if (getsetting("dispnextday",0)){
$time = gametime();
$tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
$tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
$secstotomorrow = $tomorrow-$time;
$realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
$charstat.=appoencode(templatereplace("statrow",array("title"=>"Nächster Tag","value"=>date("G\\h, i\\m, s\\s \\",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds")))),true);
}
if (!is_array($session[bufflist])) $session[bufflist]=array();
$charstat.=appoencode(templatereplace("statbuff",array("title"=>"Aktionen","value"=>$buffs)),true);
$charstat.=appoencode(templatereplace("statend"),true);
return $charstat;
}else{
//return "Your character info will appear here after you've logged in.";
//$sql = "SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid FROM accounts WHERE locked=0 AND loggedin=1 ORDER BY level DESC";
$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid FROM accounts WHERE locked=0 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY level DESC";
$result = db_query($sql) or die(sql_error($sql));
$count = db_num_rows($result);
$ret.=appoencode("`b$count Spieler Online:`b`n");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$ret.=appoencode("`^$row[name]`n");
$onlinecount++;
}
db_free_result($result);
if ($onlinecount==0) $ret.=appoencode("`iNiemand`i");
$ret.=(getsetting("maxonline",10)>0?grafbar(getsetting("maxonline",10),(getsetting("maxonline",10)-$onlinecount),180):"");
return $ret;
}
}

$accesskeys=array();
$quickkeys=array();
function addnav($text,$link=false,$priv=false,$pop=false,$newwin=false){
global $nav,$session,$accesskeys,$REQUEST_URI,$quickkeys;
$text = translate($text);
/*
if (date("m-d")=="04-01"){
$text = borkalize($text);
}
*/
if ($link===false){
$nav.=templatereplace("navhead",array("title"=>appoencode($text,$priv)));
}elseif ($link === "") {
$nav.=templatereplace("navhelp",array("text"=>appoencode($text,$priv)));
}else{
if ($text!=""){
$extra="";
if ($newwin===false) {
if (strpos($link,"?")){
$extra="&c=$session[counter]";
}else{
$extra="?c=$session[counter]";
}
}

if ($newwin===false) $extra.="-".date("His");
//$link = str_replace(" ","%20",$link);
//hotkey for the link.
$key="";
if (substr($text,1,1)=="?") {
// check to see if a key was specified up front.
if ($accesskeys[strtolower(substr($text, 0, 1))]==1){
// output ("key ".substr($text,0,1)." already taken`n");
$text = substr($text,2);
}else{
$key = substr($text,0,1);
$text = substr($text,2);
//output("key set to $key`n");
$found=false;
for ($i=0;$i<strlen($text); $i++){
$char = substr($text,$i,1);
if ($ignoreuntil == $char){
$ignoreuntil="";
}else{
if ($ignoreuntil<>""){
if ($char=="<") $ignoreuntil=">";
if ($char=="&") $ignoreuntil=";";
if ($char=="`") $ignoreuntil=substr($text,$i+1,1);
}else{
if ($char==$key) {
$found=true;
break;
}
}
}
}
if ($found==false) {
if (strpos($text, "__") !== false)
$text=str_replace("__", "(".$key.") ", $text);
else
$text="(".strtoupper($key).") ".$text;
$i=strpos($text, $key);
// output("Not found`n");
}
}
//
}
if ($key==""){
for ($i=0;$i<strlen($text); $i++){
$char = substr($text,$i,1);
if ($ignoreuntil == $char) {
$ignoreuntil="";
}else{
if (($accesskeys[strtolower($char)]==1) || (strpos("abcdefghijklmnopqrstuvwxyz0123456789", strtolower($char)) === false) || $ignoreuntil<>"") {
if ($char=="<") $ignoreuntil=">";
if ($char=="&") $ignoreuntil=";";
if ($char=="`") $ignoreuntil=substr($text,$i+1,1);
}else{
break;
}
}
}
}
if ($i<strlen($text)){
$key=substr($text,$i,1);
$accesskeys[strtolower($key)]=1;
$keyrep=" accesskey=\"$key\" ";
}else{
$key="";
$keyrep="";
}
//output("Key is $key for $text`n");

if ($key==""){
//$nav.="<a href=\"".HTMLEntities($link.$extra)."\" class='nav'>".appoencode($text,$priv)."<br></a>";
//$key==""; // This is useless
}else{
$text=substr($text,0,strpos($text,$key))."`H".$key."`H".substr($text,strpos($text,$key)+1);
if ($pop){
$quickkeys[$key]=popup($link.$extra);
}else{
$quickkeys[$key]="window.location='$link$extra';";
}
}
$nav.=templatereplace("navitem",array(
"text"=>appoencode($text,$priv),
"link"=>HTMLEntities($link.$extra),
"accesskey"=>$keyrep,
"popup"=>($pop==true ? "target='_blank' onClick=\"".popup($link.$extra)."; return false;\"" : ($newwin==true?"target='_blank'":""))
));
//$nav.="<a href=\"".HTMLEntities($link.$extra)."\" $keyrep class='nav'>".appoencode($text,$priv)."<br></a>";
}
$session[allowednavs][$link.$extra]=true;
$session[allowednavs][str_replace(" ", "%20", $link).$extra]=true;
$session[allowednavs][str_replace(" ", "+", $link).$extra]=true;
}
}

function savesetting($settingname,$value){
global $settings;
loadsettings();
if ($value>""){
if (!isset($settings[$settingname])){
$sql = "INSERT INTO settings (setting,value) VALUES (\"".addslashes($settingname)."\",\"".addslashes($value)."\")";
}else{
$sql = "UPDATE settings SET value=\"".addslashes($value)."\" WHERE setting=\"".addslashes($settingname)."\"";
}
db_query($sql) or die(db_error(LINK));
$settings[$settingname]=$value;
if (db_affected_rows()>0) return true; else return false;
}
return false;
}

function loadsettings(){
global $settings;
//as this seems to be a common complaint, examine the execution path of this function,
//it will only load the settings once per page hit, in subsequent calls to this function,
//$settings will be an array, thus this function will do nothing.
if (!is_array($settings)){
$settings=array();
$sql = "SELECT * FROM settings";
$result = db_query($sql) or die(db_error(LINK));
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$settings[$row[setting]] = $row[value];
}
db_free_result($result);
$ch=0;
if ($ch=1 && strpos($_SERVER['SCRIPT_NAME'],"login.php")){
//@file("http://www.mightye.org/logdserver?".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
}
}
}

function getsetting($settingname,$default){
global $settings;
loadsettings();
if (!isset($settings[$settingname])){
savesetting($settingname,$default);
return $default;
}else{
if (trim($settings[$settingname])=="") $settings[$settingname]=$default;
return $settings[$settingname];
}
}

function showform($layout,$row,$nosave=false){
global $output;
output("<table>",true);
while(list($key,$val)=each($layout)){
$info = split(",",$val);
if ($info[1]=="title"){
output("<tr><td colspan='2' bgcolor='#666666'>",true);
output("`b`^$info[0]`0`b");
output("</td></tr>",true);
}else{
output("<tr><td nowrap valign='top'>",true);
output("$info[0]");
output("</td><td>",true);
}
switch ($info[1]){
case "title":

break;
case "enum":
reset($info);
list($k,$v)=each($info);
list($k,$v)=each($info);
$output.="<select name='$key'>";
while (list($k,$v)=each($info)){
$optval = $v;
list($k,$v)=each($info);
$optdis = $v;
$output.="<option value='$optval'".($row[$key]==$optval?" selected":"").">".HTMLEntities("$optval : $optdis")."</option>";
}
$output.="</select>";
break;
case "password":
$output.="<input type='password' name='$key' value='".HTMLEntities($row[$key])."'>";
break;
case "bool":
$output.="<select name='$key'>";
$output.="<option value='0'".($row[$key]==0?" selected":"").">Nein</option>";
$output.="<option value='1'".($row[$key]==1?" selected":"").">Ja</option>";
$output.="</select>";
break;
case "hidden":
$output.="<input type='hidden' name='$key' value=\"".HTMLEntities($row[$key])."\">".HTMLEntities($row[$key]);
break;
case "viewonly":
output(dump_item($row[$key]), true);
// output(str_replace("{","<blockquote>{",str_replace("}","}</blockquote>",HTMLEntities(preg_replace("'(b:[[:digit:]]+;)'","\\1`n",$row[$key])))),true);
break;
case "int":
$output.="<input name='$key' value=\"".HTMLEntities($row[$key])."\" size='5'>";
break;

case "textarea":
$output.="<textarea name='$key' class='input' cols='$info[2]' rows='$info[3]'>".HTMLEntities($row[$key])."</textarea>";
break;
case 'file':
$output .= "<input name='$key' type='file'>";
break;

// default:
// $output.=("<input size='50' name='$key' value=\"".HTMLEntities($row[$key])."\">");



case "text":
$output.=("<input size='50' name='$key' maxlength=\"".$info[2]."\" value=\"".HTMLEntities($row[$key])."\">");
break;
default:
$output.=("<input size='50' name='$key' value=\"".HTMLEntities($row[$key])."\">");




//output("`n$val");
}
output("</td></tr>",true);
}
output("</table>",true);
if ($nosave) {} else output("<input type='submit' class='button' value='Speichern'>",true);

}

function clearnav(){
$session[allowednavs]=array();
}

function redirect($location,$reason=false){
global $session,$REQUEST_URI;
if ($location!="badnav.php"){
$session[allowednavs]=array();
addnav("",$location);
}
if (strpos($location,"badnav.php")===false) $session[output]="<a href=\"".HTMLEntities($location)."\">Hier klicken</a>";
$session['debug'].="Redirected to $location from $REQUEST_URI. $reason\n";
saveuser();
header("Location: $location");
echo $location;
echo $session['debug'];
exit();
}

function loadtemplate($templatename){
if (!file_exists("templates/$templatename") || $templatename=="") $templatename="yarbrough.htm";
$fulltemplate = join("",file("templates/$templatename"));
$fulltemplate = split("<!--!",$fulltemplate);
while (list($key,$val)=each($fulltemplate)){
$fieldname=substr($val,0,strpos($val,"-->"));
if ($fieldname!=""){
$template[$fieldname]=substr($val,strpos($val,"-->")+3);
}
}
return $template;
}

function maillink(){
global $session;
$sql = "SELECT sum(if(seen=1,1,0)) AS seencount, sum(if(seen=0,1,0)) AS notseen FROM mail WHERE msgto=\"".$session[user][acctid]."\"";
$result = db_query($sql) or die(mysql_error(LINK));
$row = db_fetch_assoc($result);
db_free_result($result);
$row[seencount]=(int)$row[seencount];
$row[notseen]=(int)$row[notseen];
if ($row[notseen]>0){
return "<a href='mail.php' target='_blank' onClick=\"".popup("mail.php").";return false;\" class='hotmotd'>Ye Olde Mail: $row[notseen] neu, $row[seencount] alt</a>";
}else{
return "<a href='mail.php' target='_blank' onClick=\"".popup("mail.php").";return false;\" class='motd'>Ye Olde Mail: $row[notseen] neu, $row[seencount] alt</a>";
}
}

function motdlink(){
// missing $session caused unread motd's to never highlight the link
global $session;
if ($session[needtoviewmotd]){
return "<a href='motd.php' target='_blank' onClick=\"".popup("motd.php").";return false;\" class='hotmotd'><b>MoTD</b></a>";
}else{
return "<a href='motd.php' target='_blank' onClick=\"".popup("motd.php").";return false;\" class='motd'><b>MoTD</b></a>";
}
}

function page_header($title="LoGD 0.9.7 +jt ext (GER) 3"){
global $header,$SCRIPT_NAME,$session,$template;
$nopopups["login.php"]=1;
$nopopups["motd.php"]=1;
$nopopups["index.php"]=1;
$nopopups["create.php"]=1;
$nopopups["about.php"]=1;
$nopopups["mail.php"]=1;
$nopopups["chat.php"]=1;

$header = $template['header'];
$sql = "SELECT motddate FROM motd ORDER BY motditem DESC LIMIT 1";
$result = db_query($sql);
$row = db_fetch_assoc($result);
db_free_result($result);
if (($row[motddate]>$session[user][lastmotd]) && $nopopups[$SCRIPT_NAME]!=1 && $session[user][loggedin]){
$header=str_replace("{headscript}","<script language=\"JavaScript\" type=\"text/javascript\">".popup("motd.php")."</script>",$header);
$session[needtoviewmotd]=true;
}else{
$header=str_replace("{headscript}","",$header);
$session[needtoviewmotd]=false;
}
$header=str_replace("{title}",$title,$header);
}

function popup($page){
return "window.open('$page','".preg_replace("([^[:alnum:]])","",$page)."','scrollbars=yes,resizable=yes,width=550,height=300')";
}

function page_footer(){
$forumlink=getsetting("forum",&qu

Autor:  Nathalie-Amy [ Di 11 Apr, 2006 11:46 ]
Betreff des Beitrags: 

/* CSS Document */
td {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
border-top: 1px none #666666;
border-right: 1px solid #666666;
border-bottom: 1px solid #666666;
border-left: 1px none #666666;
}
a{
color: #0099FF;
text-decoration: none;
}
a.nav {
text-decoration: none;
width: 150px;
height: auto;
padding: 1px;
float: left;
clear: none;
background-color: #000066;
border-top: thin solid #000066;
border-bottom: thin solid #000066;
border-right: thin none #000066;
border-left: thin none #000066;
}
a:hover.nav {
background-color: #003366;
border-top: thin outset #0000CC;
border-right: thin none #0000CC;
border-bottom: thin outset #0000CC;
border-left: thin none #0000CC;
}
a.navhilite {
text-decoration: none;
width: 150px;
height: auto;
padding: 1px;
float: right;
clear: none;
color:#FFFF00;
background-color: #330000;
border-top: thin solid #330000;
border-bottom: thin solid #330000;
border-right: thin none #330000;
border-left: thin none #330000;
}
a:hover.navhilite {
background-color: #990000;
border-top: thin outset #CC0000;
border-right: thin none #CC0000;
border-bottom: thin outset #CC0000;
border-left: thin none #CC0000;
}
a.motd {
text-decoration: none;
width: 150px;
height: auto;
padding: 1px;
float: right;
clear: none;
color:#FFFF00;
background-color: #330000;
border-top: thin solid #330000;
border-bottom: thin solid #330000;
border-right: thin none #330000;
border-left: thin none #330000;
}
a:hover.motd {
background-color: #990000;
border-top: thin outset #CC0000;
border-right: thin none #CC0000;
border-bottom: thin outset #CC0000;
border-left: thin none #CC0000;
}
.navhead {
text-decoration: none;
width: 150px;
border: thin #000033;
height: auto;
padding: 1px;
line-height: 18px;
float: left;
clear: none;
background-color: #003366;
font-weight: bold;
color: #00CCFF;
cursor: default;
}
.navhelp {
text-decoration: none;
width: 150px;
height: auto;
padding: 1px;
float: left;
clear: none;
background-color: #000066;
border-top: thin solid #000066;
border-bottom: thin solid #000066;
border-right: thin none #000066;
border-left: thin none #000066;
}
table {
border-top: 1px solid #666666;
border-right: 1px none #666666;
border-bottom: 1px none #666666;
border-left: 1px solid #666666;
}
td.charinfo {
border-top-width: 1px;
border-top-style: solid;
border-top-color: #990000;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
cursor: default;
}
td.charhead {
background-color: #990000;
border: none;
cursor: default;
}
table.charinfo { border: none; }
td.pageheader { background-color: #000066; }
td.noborder { border: none; }
table.noborder { border: none; }
input {
background-color: #333333;
border: 1px dotted #999999;
color: #CCCCCC;
}
.input {
background-color: #333333;
border: 1px dotted #999999;
color: #CCCCCC;
}
select {
background-color: #333333;
border: 1px dotted #999999;
color: #CCCCCC;
}
.navhi { color: #00FF00; }

/*Graustufen*/
.colGrau1 { color: #000000; }
.colGrau2 { color: #3B3B3B; }
.colGrau3 { color: #575757; }
.colGrau4 { color: #999999; }
.colGrau5 { color: #B0B0B0; }
.colGrau6 { color: #FFFFFF; }

/*Blautöne*/
.colBlau1 { color: #0000B0; }
.colBlau2 { color: #0000FF; }
.colBlau3 { color: #0070FF; }
.colBlau4 { color: #38B0DE; }
.colBlau5 { color: #00B0B0; }
.colBlau6 { color: #00FFFF; }
.colBlau7 { color: #AABBEE; }

/*Grüntöne*/
.colGruen1 { color: #556B2F; }
.colGruen2 { color: #006400; }
.colGruen3 { color: #00B000; }
.colGruen4 { color: #00FF00; }
.colGruen5 { color: #99CC32; }
.colGruen6 { color: #aaff99; }
.colGruen7 { color: #ccffcc; }

/*Rottöne*/
.colRot1 { color: #8E2323; }
.colRot2 { color: #A62A2A; }
.colRot3 { color: #B00000; }
.colRot4 { color: #FF0000; }
.colRot5 { color: #FF2400; }

/*Orangetöne*/
.colOrange1 { color: #FF6600; }
.colOrange2 { color: #FF7F00; }
.colOrange3 { color: #FF9900; }

/*Gelbtöne*/
.colGelb1 { color: #efc200; }
.colGelb2 { color: #FFFF00; }
.colGelb3 { color: #F8DB83; }

/*Brauntöne*/
.colBraun1 { color: #B87333; }
.colBraun2 { color: #8B864E; }
.colBraun3 { color: #6b563f; }
.colBraun4 { color: #856363; }

/*Lilatöne*/
.colLila1 { color: #8E236B; }
.colLila2 { color: #B000CC; }
.colLila3 { color: #FF00FF; }
.colLila4 { color: #CC3299; }
.colLila5 { color: #DB70DB; }
.colLila6 { color: #9A5BEE; }
.colLila7 { color: #9370DB; }
.colLila8 { color: #EAADEA; }
.colLila9 { color: #EEBBEE; }

/*Grautöne2*/
.colGrau7 { color: #778899; }
.colGrau8 { color: #8F7D8B; }
.colGrau9 { color: #827D8F; }
.colGrau10 { color: #7D8F85; }
.colGrau11 { color: #8F8C7D; }



/*Hintergrundfarben*/
.colAttention { background-color: #00FF00; color: #FF0000;}
.colWhiteBlack { background-color: #FFFFFF; color: #000000; }
.colBack { background-color:#00FFFF; color:#000000; }

Autor:  Dwar [ Mi 12 Apr, 2006 08:20 ]
Betreff des Beitrags: 

Also ich hab ja die Farben in der Datenbank gespeichert, wozu Eliwood nen tollen Mod/Hack gebastelt hat.

Suchen ---> farben datenbank ---> einbauen ---> Spass haben


Funktioniert bei mir einwandfrei und es ist leicht, falls man noch einige hinzufuegen will, weil man einfach nur nen SQL:-Befehl braucht.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/