LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /logd/setnewday.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /logd/setnewday.php

<?php

// 11092004

/*setweather.php
An element of the global weather mod Version 0.5
Written by Talisman
Latest version available at http://dragonprime.cawsquad.net

translation: anpera
*/

if ((int)getsetting("expirecontent",180)>0){
    
$sql "DELETE FROM commentary WHERE postdate<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("expirecontent",180)." days"))."'";
    
db_query($sql);
    
$sql "DELETE FROM news WHERE newsdate<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("expirecontent",180)." days"))."'";
    
db_query($sql);
}
$sql "DELETE FROM mail WHERE sent<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("oldmail",14)."days"))."'";
db_query($sql);
    
// Reduce time in jail for chars who need it
    
$sql "UPDATE accounts SET jailtime=jailtime-1 WHERE jailtime > 0";
    
db_query($sql);

switch(
e_rand(1,9)){
    case 
1:
    
$clouds="Sonne Pur";
                break;
                case 
2:
      
$clouds="Sonnig und heiß";
                break;
                case 
3:
      
$clouds="Windig und Sonnig";
                break;
                case 
4:
      
$clouds="Wolkig und Schwül";
                break;
                case 
5:
     
$clouds="Vereinzelt Regen";
                break;
                case 
6:
      
$clouds="Regen";
                break;
                case 
7:
      
$clouds="Warmer Sommerschauer";
                break;
                case 
8:
      
$clouds="Sommergewitter";
                break;
                case 
9:
      
$clouds="Rekordhitze";
                break;        
}
savesetting("weather",$clouds);

// Vendor in town?
if (e_rand(1,3)==1){
    
savesetting("vendor","1");
    
$sql "INSERT INTO news(newstext,newsdate,accountid) VALUES ('`qDer Wanderhändler ist heute im Dorf!`0',NOW(),0)";
    
db_query($sql) or die(db_error($link));
}else{
    
savesetting("vendor","0");
}

// Other hidden paths
$spec="Keines";
$what=e_rand(1,3);
if (
$what==1$spec="Waldsee";
if (
$what==3$spec="Orkburg";
savesetting("dailyspecial","$spec");

// Gamedate-Mod by Chaosmaker
if (getsetting('activategamedate',0)==1) {
    
$date getsetting('gamedate','0000-01-01');
    
$date explode('-',$date);
    
$date[2]++;
    switch (
$date[2]) {
        case 
32:
            
$date[2] = 1;
            
$date[1]++;
            break;
        case 
31:
            if (
in_array($date[1], array(4,6,9,11))) {
                
$date[2] = 1;
                
$date[1]++;
            }
            break;
        case 
30:
            if (
$date[1]==2) {
                
$date[2] = 1;
                
$date[1]++;
            }
            break;
        case 
29:
            if (
$date[1]==&& ($date[0]%4!=|| ($date[0]%100==&& $date[0]%400!=0))) {
                
$date[2] = 1;
                
$date[1]++;
            }
    }
    if (
$date[1]==13) {
        
$date[1] = 1;
        
$date[0]++;
    }
    
$date sprintf('%04d-%02d-%02d',$date[0],$date[1],$date[2]);
    
savesetting('gamedate',$date);
}
// Adventsspecial für Merydiâ .. dies ist auf die reale Zeit bezogen, vom 1.12. bis 24.12., jeden Tag gibt es Geschenke
// Auch für anderes nutzbar ^^
// Copyright by Leen/Cassandra (cassandra@leensworld.de)
// SQL: INSERT INTO `settings` ( `setting` , `value` ) VALUES ('weihnacht', '0');

// settings -start-
$realdatum time();
$datum date('m-d',$realdatum);
// settings -end-

// Datum festlegen und welcher Dezember gerade ist
if ($datum >= '12-01' && $datum <= '12-31')
    {
    
$weihnacht $datum;
    }
else 
$weihnacht '0';
// Ende der Datumsabfrage

// speichern in Settings
savesetting('weihnacht',$weihnacht);
// fertig mit der Abfrage .. der Rest wird im newday.php gemacht!

// this now includes the database cleanup from index.php
$old getsetting("expireoldacct",45)-5;
$new getsetting("expirenewacct",10);
$trash getsetting("expiretrashacct",1);

$sql "SELECT acctid,emailaddress FROM accounts WHERE 1=0 "
.($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$old days"))."\")\n":"")
.
" AND emailaddress!='' AND sentnotice=0";
$result db_query($sql);
for (
$i=0;$i<db_num_rows($result);$i++){
    
$row db_fetch_assoc($result);

// can't send mail on anpera.net

    
mail($row[emailaddress],"LoGD Charakter verfällt",
    
"
    Einer oder mehrere deiner Charaktere von Legend of the Green Dragon auf 
    "
.$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']."
    verfällt demnächst und wird gelöscht. Wenn du den Charakter retten willst, solltest
     du dich bald möglichst mal damit einloggen!
     Falls der Charakter ein Haus hatte, ist dieses bereits enteignet."
,
    
"From: ".getsetting("gameadminemail","postmaster@localhost.com")
    );
    
$sql "UPDATE accounts SET sentnotice=1,house=0,housekey=0,marriedto=0 WHERE acctid='$row[acctid]'";
    if ((int)
$row[acctid]==(int)getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0));
    
db_query($sql);
    
$sql "UPDATE houses SET owner=0 WHERE owner=$row[acctid]";
    
db_query($sql);
    
$sql "UPDATE items SET owner=0 WHERE owner=$row[acctid]";
    
db_query($sql);
    
$sql "DELETE FROM pvp WHERE acctid2=$row[acctid] OR acctid1=$row[acctid]";
    
db_query($sql) or die(db_error(LINK));
    
$sql "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto=$row[acctid]";
    
db_query($sql);
}

    
$old+=5;
    
$delaccts '0';
    
$sql "SELECT acctid FROM accounts WHERE superuser<=1 AND (1=0\n"
    
.($old>0?"OR (laston < \"".date("Y-m-d H:i:s",time()-3600*24*$old)."\")\n":"")
    .(
$new>0?"OR (laston < \"".date("Y-m-d H:i:s",time()-3600*24*$new)."\" AND level=1 AND dragonkills=0)\n":"")
    .(
$trash>0?"OR (laston < \"".date("Y-m-d H:i:s",time()-3600*24*($trash+1))."\" AND level=1 AND experience < 10 AND dragonkills=0)\n":"")
    .
")";
    
$result db_query($sql);
    while (
$row db_fetch_assoc($result)) {
        
$delaccts .= ','.$row['acctid'];
        if (
$row['acctid']==getsetting("hasegg",0)) savesetting("hasegg","0");
    }
    
$sql "DELETE FROM accounts WHERE acctid IN ($delaccts)";
    
db_query($sql) or die(db_error(LINK));
    
$sql "UPDATE houses SET owner=0 WHERE owner IN ($delaccts)";
    
db_query($sql);
    
$sql "UPDATE items SET owner=0 WHERE owner IN ($delaccts) AND class='Schlüssel'";
    
db_query($sql);
    
$sql "DELETE FROM items WHERE owner IN ($delaccts) AND owner!=0";
    
db_query($sql);
    
$sql "DELETE FROM pvp WHERE acctid2 IN ($delaccts) OR acctid1 IN ($delaccts)";
    
db_query($sql) or die(db_error(LINK));
    
$sql "DELETE FROM mail WHERE msgto IN ($delaccts)";
    
db_query($sql) or die(db_error(LINK));
    
$sql "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto IN ($delaccts)";
    
db_query($sql);
    
// end cleanup

/**
* Legend of the Green Dragon - Das Goldene Ei (Verfallszeit)
* 2007 (C) by Kevin Gödecker [Kevz]
*
*
* Den Aktuellen Besitzer des Goldenen Ei's ermitteln. Falls 
* dieser nicht vorhanden sein sollte, oder Verfallszeit abgelaufen 
* ist, wird der Besitzer auf "Unbekannt" zurückgesetzt.
*/
$hasegg getsetting('hasegg'0);
$expirehasegg getsetting('expirehasegg'14);

$result db_query('SELECT 1 FROM `accounts` 
                    WHERE `acctid` = "'
.(int)$hasegg.'" AND 
                          `laston` < DATE_SUB(NOW(), INTERVAL '
.$expirehasegg.' DAY) ') or die (db_error($sql));

/**
* Falls kein Besitzer oder die Verfallszeit abgelaufen ist, wird 
* der Besitzer zurückgesetzt.
*/
If ( db_num_rows($result) )  
  
savesetting('hasegg''0');

savesetting("lastdboptimize",date("Y-m-d H:i:s"));
$result db_query("SHOW TABLES");
for (
$i=0;$i<db_num_rows($result);$i++){
    list(
$key,$val)=each(db_fetch_assoc($result));
    
db_query("OPTIMIZE TABLE $val");
}
?>