Quellcode der Dragonslayer-Edition
Quellcode der Dragonslayer-Edition : 0.9.7(Dragonslayer Edition V/3)


Anmerkung: Dies ist nur ein Auszug aus dem Source. Ein etwas älteres, abgespecktes Release ist für jeden Interessenten frei zum Download verfügbar. Allerdings würden wir uns über eine Anfrage freuen, in der die Serveradresse bzw. sonstiger Verwendungszweck aufgeführt sind, da wir gern wissen würden wohin unsere Version geht. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./index.php

zurück
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
<?php
/**
 * index.php: Startseite für Atrahor
 * @author LOGD-Core / Drachenserver-Team (Überarbeitung, Performance, Liverestzeit)
 * @version DS-E V/2
*/

require_once 'common.php';

if (
$session['loggedin'])
{
    
redirect('badnav.php');
}

//Falls mehrere URLs auf den gleichen Server zeigen aber nur eine Domain verwendet werden soll leitet
//dieses Codefragment den User auf die richtige Domain um und setzt den Cookie neu, so dass er nicht in
//einer Aktualisierungssperre landet
/*
$arr_server = parse_url(getsetting('server_address','localhost'));
$str_referer = ($_SERVER['HTTPS']?'https://':'http://').$_SERVER['HTTP_HOST'];
if(!LOCAL_TESTSERVER && !preg_match('/'.preg_quote($arr_server['host']).'/i',$str_referer))
{
    setcookie('lasthit',0,strtotime(date('r').'+365 days'));
    redirect(getsetting('server_address','localhost'));
}
*/

page_header();

// Ausgabestring
$str_out '';

// In Var speichern, wird mehrfach verwendet
$str_townname getsetting('townname','Atrahor');
$int_maxonline getsetting('maxonline',10);

$str_out .= '`c`b`IWillkommen in Kaltenstayn!`n`n';
if (
getsetting('activategamedate','0')==1)
{
    
$str_out .='`IWir schreiben den `y'.getgamedate().'`I.`0`n';
}
$str_out .='`IDie gegenwärtige Zeit in '.$str_townname.' ist `y'.getgametime(true).'`I.`0`n';

//Next New Day in ... is by JT from logd.dragoncat.net
$time gametime();
// $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
$tomorrow mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));
// $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
$secstotomorrow $tomorrow-$time;
$realsecstotomorrow round($secstotomorrow / (int)getsetting("daysperday",4));

$calctime strtotime('1980-01-01 00:00:00 + '.$realsecstotomorrow.' seconds');

$nextdattime date('G \\S\\t\\u\\n\\d\\e\\n, i \\M\\i\\n\\u\\t\\e\\n, s \\S\\e\\k\\u\\n\\d\\e\\n\\ \\(\\E\\c\\h\\t\\z\\e\\i\\t\\)',$calctime);
$str_out .='`IDer nächste neue Tag beginnt in: `0<div id="index_time">`y'.$nextdattime.'`0</div>`n';
$str_out .='
<script language="javascript" type="text/javascript">
/*Kleines Schmankerl by Alucard
    www.atrahor.de
*/
var index_time_div = document.getElementById("index_time");
var index_time_day = Math.ceil(24/'
.(int)getsetting("daysperday",4).');
var index_dest_time = 0;
</script>
<script language="javascript" type="text/javascript" src="'
.TEMPLATE_PATH.'stuff.js"></script>
<script language="javascript" type="text/javascript">
if( index_time_div ){
    index_set_time('
.date('G, i, s',$calctime).');
}
</script>
'
;

/*$newplayer=stripslashes(getsetting('newplayer',''));
if ($newplayer!='')
{
$str_out .='`IUnser jüngster Spieler ist `y'.$newplayer.'`I!`0`n';
}*/
$newdk=stripslashes(getsetting('newdragonkill',''));
if (
$newdk!='')
{
    
$str_out .='`IDie letzte Heldentat vollbrachte `y'.$newdk.'`I!`0`n`n';
}

$guild=stripslashes(getsetting('dgtopguild',''));
if (
$guild!='')
{
    
$str_out .='`IDie angesehenste Firma '.getsetting('townname','Atrahor').'s ist zur Zeit `y'.$guild.'`I!`0`n`n';
}

$dkcounter number_format( (int)getsetting('dkcounterges',0) , ' '' ' );
if (
$dkcounter>0)
{
    
$str_out .='`IInsgesamt haben unsere Bürger bereits `y'.$dkcounter.'`I Heldentaten vollbracht!`0`n`n';
}

$fuerst=stripslashes(getsetting('fuerst',''));
if (
$fuerst!='')
{
    
$str_out .='`IDen Fürstentitel '.$str_townname.'s trägt zur Zeit `0`y'.$fuerst.'`0`I!`0`n`n';
}

if(
getsetting('wartung',0) > 0) {
    
$str_out .='`b`^Der Server befindet sich im Moment im Wartungsmodus, um Änderungen am Spiel oder dem Server störungsfrei vornehmen zu können.`0`b`^`nBitte warte, bis sich dies ändert.`n`n`0';
}

$result db_fetch_assoc(db_query("SELECT COUNT(*) AS onlinecount FROM accounts WHERE locked=0 AND ".user_get_online() ));
$onlinecount $result['onlinecount'];

// do not check if playerlimit is not reached!
if (( $onlinecount >= $int_maxonline && $int_maxonline!=0) || getsetting('wartung',0) > )
{
    
$id=$_COOKIE['lgi'];
    
$sql "SELECT superuser,uniqueid FROM accounts WHERE uniqueid='$id' AND superuser>0";
    
$result db_query($sql);
    if (
db_num_rows($result)>0)
    {
        
$row db_fetch_assoc($result);
        
$is_superuser=$row['superuser'];
    }
    else
    {
        
$is_superuser=0;
    }
}
else
{
    
$is_superuser 0;
}

if ( (
$onlinecount<$int_maxonline || $int_maxonline==|| $is_superuser) )
{
    
$str_out .='`tGib deinen Charakter-Namen und dein Passwort ein, um '.$str_townname.' zu betreten!`n
    (Falls kein Login-Feld sichtbar ist lies bitte die <a href="petition.php?op=faq" target="_blank" onClick="window.open(\'petition.php?op=faq\',\'petitionphpopfaq\',\'scrollbars=yes,resizable=yes,width=550,height=300\');return false;">F.A.Q.</a> oder schreibe eine Anfrage!)`n`0'
;
    if (
$_GET['op']=='timeout' )
    {
        
$session['message'].='`nDeine Sessionzeit ist abgelaufen. Bitte neu einloggen!`n';
        if (!isset(
$_COOKIE['PHPSESSID']))
        {
            
$session['message'].=' Es scheint, als ob die Cookies dieser Seite von deinem System blockiert werden! Zumindest Session-Cookies müssen für diese Seite zugelassen werden!`n';
        }
    }
    if (
$session['message']!='')
    {
        
$str_out .= '`b`$'.$session['message'].'`0`b`n';
    }
    
$encoded_password_transfer_script 'onSubmit="document.forms.loginform.hidden_pw.value = calcMD5(document.forms.loginform.password.value);document.forms.loginform.password.value=\'\';"';
    
$str_out .= "
    <noscript><b style=\"color: #FF0000;\">Javascript wird zur korrekten Funktionsweise benötigt. Bitte aktiviere es! Tipps und Hinweise hierzu findest du in der <a href='petition.php?op=faq' target='_blank'>FAQ</a>.</b></noscript>
    <div id=\"NOT_COMP\" style=\"display: none;\"><br /><br /><br /><b style=\"color: #FF0000;\">Dein Browser erfüllt leider nicht die Anforderungen des Spiels. Weitere Informationen hierzu findest du in der <a href='petition.php?op=faq' target='_blank'>FAQ</a>.</b></div>
    <div id=\"JSLIB_SAFARI\" style=\"display: none;\">`n`n`#Lieber Safari-Benutzer,`nda wir keine Möglichkeit haben, die Funktionalität im Safari-Browser zu gewährleisten, ist der Login leider nicht für dich verfügbar.`nMozilla Firefox wird hingegen unterstützt: `0<a href='http://www.firefox-browser.de/mac.php' target='_blank'>Firefox für MAC</a></div>
    <div id=\"LOGIN_FORM\" style=\"display: none;\"><form action='login.php' name='loginform' method='POST' $encoded_password_transfer_script>
    <input type='hidden' name='hidden_pw' />"
    
.templatereplace("login",array("username"=>"<u>N</u>ame","password"=>"<u>P</u>asswort","button"=>"Einloggen!"))
    .
'</form></div>`c
    <script language="JavaScript" type="text/javascript" src="templates/md5.js"></script>
    <script type="text/javascript" language="JavaScript">

                var is_c = LOTGD.compCheck();
                document.getElementById("NOT_COMP").style.display = (is_c ? "none" : "block");
                if( Browser.isSafari ){
                    document.getElementById("JSLIB_SAFARI").style.display = "block";
                }
                document.getElementById("LOGIN_FORM").style.display = "block";//(is_c ? "block" : "none");
                document.forms.loginform.name.focus();
            </script>'
;
    
// Without this, I had one user constantly get 'badnav.php' :/  Everyone else worked, but he didn't
    
addnav('','login.php');
}
else
{
    
$str_out .='`b`^Der Server ist im Moment ausgelastet, die maximale Anzahl an Usern ist bereits online.`0`b`^`nBitte warte, bis wieder ein Platz frei ist.`n`n`0';
    if (
$_GET['op']=='timeout')
    {
        
$session['message'].='`nDeine Sessionzeit ist abgelaufen. Bitte neu einloggen!`n';
        if (!isset(
$_COOKIE['PHPSESSID']))
        {
            
$session['message'].=' Es scheint, als ob die Cookies dieser Seite von deinem System blockiert werden! Zumindest Session-Cookies müssen für diese Seite zugelassen werden!`n';
        }
    }
    if (
$session['message']!='')
    {
        
$str_out .='`b`$'.$session['message'].'`b`n';
    }
    
$str_out .=templatereplace('full').'`c';
}


$str_out .='`n`c`b`&'.getsetting('loginbanner','').'`0`b`c`n';
$session['message']='';
$str_out .='`c`t'.$str_townname.' läuft unter: `y'.GAME_VERSION.'`0`c';

// Ausgabe
output($str_out);

// Hotkeys auf Startseite?
$bool_hotkeys false;
$int_ref=intval($_GET['r']);
$str_ref=($int_ref>0?'?r='.$int_ref:'');
$str_ref2=($int_ref>0?'&r='.$int_ref:'');
clearnav();
addnav('Neu hier?');
addnav('`#Charakter Registrieren`0','create_rules.php'.$str_ref,false,false,false,$bool_hotkeys);
if(
getsetting('demouser_public',0)>0)
{
    
addnav('Schnupperzugang','demouser.php'.$str_ref,false,false,false,$bool_hotkeys);
}
addnav('Über Kaltenstayn (LotGD)','about.php'.$str_ref,false,false,false,$bool_hotkeys);
addnav('F.A.Q.','petition.php?op=faq',false,true,false,$bool_hotkeys);
addnav('Das Spiel');
addnav('Liste der Einwohner','list.php'.$str_ref,false,false,false,$bool_hotkeys);
addnav('Passwort vergessen?','create.php?op=forgot'.$str_ref2,false,false,false,$bool_hotkeys);
addnav('Sonstiges');
addnav('Impressum''about.php?op=impressum'.$str_ref2,false,false,false,$bool_hotkeys);
addnav('KS-eV-Forum','http://www.KS-eV-Forum.de');
addnav('Partnerstädte');
addnav('`NH`(a`7u`wp`9t`!st`9a`wdt `wSa`9i`!nt`9-`wO`7m`(a`Nr','http://www.saint-omar.de');
addnav('`tArmadale','http://www.armadale.de/');
addnav('`TE`Yr`Id`tr`&e`pi`gc`Gh `@Fa`jr`2a`Jth`0','http://www.das-land-der-abenteuer-farath.de/Logd/index.php');
//addnav('Die LoGD-Welt');
//addnav('LoGD Netz','logdnet.php?op=list'.$str_ref2);
//addnav('DragonPrime','http://www.dragonprime.net',false,false,true);

page_footer();
?>
0.9.7(Dragonslayer Edition V/3)