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

require_once('../../PHPMailer/class.phpmailer.php');
require_once(
'../../PHPMailer/class.smtp.php');
require_once(
'../smtpconfig.php');


$sql "DELETE FROM commentary WHERE postdate<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("expirecontent",180)." days"))."'";
db_query($sql);

$sql "DELETE FROM commentary WHERE section='offtopic' AND postdate<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("expirecontentot",180)." days"))."'";
db_query($sql);

$sql "DELETE FROM news WHERE newsdate<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("expirecontentnews",180)." days"))."'";
db_query($sql);

$sql "DELETE FROM debuglog WHERE date<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("expiredebuglog",180)." days"))."'";
db_query($sql);

$sql "DELETE FROM mail WHERE sent<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("oldmail",14)."days"))."'";
db_query($sql);

$sql "DELETE FROM mail WHERE seen=1 AND readed>'0000-00-00 00:00:00' AND readed<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("oldreadedmail",14)."days"))."'";
db_query($sql);

$sql "DELETE FROM gildenbuch WHERE datum<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("expireguild",180)." days"))."'";
db_query($sql);


// Reduce time in jail for chars who need it
// $sql = "UPDATE accounts SET jailtime=jailtime-1 WHERE jailtime > 0";
$sql "SELECT acctid FROM accounts WHERE jailtime > 0";
$result=db_query($sql);
while(
$row=db_fetch_assoc($result)){
    
updateuser($row['acctid'], array('jailtime' =>'-1'));
}

// Pilzsuche by Linus & Veskara
if(mt_rand(1,5)==2savesetting('steintroll','0');
else 
savesetting('steintroll','1');

$current_moonphase = (int)getsetting('moonphase',0) ;
if(
$current_moonphase 19$current_moonphase++ ;
else 
$current_moonphase ;
savesetting('moonphase',$current_moonphase);

$sql="SELECT acctid, name FROM accounts WHERE loggedin='1' AND locked='0' AND stealth='0'  AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY RAND() LIMIT 1";
$result=db_query($sql);
$num=db_num_rows($result);
if(
$num>0){
    
$row db_fetch_assoc($result);
    
$pudelact=$row['acctid'];
} else {
    
$pudelact='0';
}
savesetting('pudel',$pudelact);

/*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
*/

/*weihnachtswettereinstellungen by Rikkarda@silienta-logd.de*/
savesetting("pudel_active","0");
$mon date ("m");
$immonat 12;
if (
$mon $immonat){
    switch(
e_rand(1,16)){
        case 
1:
            
$clouds "Hochnebel";
            
$nightclouds "Nebliger Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
2:
            
$clouds "Nebel";
            
$nightclouds "Nebliger Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
3:
            
$clouds "Dichter Nebel";
            
$nightclouds "Kühler, teilweise stark vernebelter Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
4:
            
$clouds "Kalt bei klarem Himmel";
            
$nightclouds "Kühler, klarer Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
5:
            
$clouds "Eisig und bewölkt";
            
$nightclouds "Kühler, teilweise bedeckter Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
6:
            
$clouds "Sturmwinde bei Kälte";
            
$nightclouds "Stürmische Nachtwinde" ;
            
savesetting("pudel_active","1");
            break;
        case 
7:
            
$clouds "Föhnwind";
            
$nightclouds "von Föhnwind durchzogene Nacht" ;
            
savesetting("pudel_active","1");
            break;
        case 
8:
            
$clouds "Wechselhaft und kühl, mit sonnigen Abschnitten";
            
$nightclouds "Kühler, teilweise bedeckter Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
9:
            
$clouds "Kalt mit Hagel";
            
$nightclouds "Kalte Nacht mit Hagelschauern" ;
            break;
        case 
10:
            
$clouds "Regnerisch";
            
$nightclouds "Kühle regnerische Nacht" ;
            break;
        case 
11:
            
$clouds "Sintflutartige Regenschauer";
            
$nightclouds "Eine Nacht mit sintflutartigen Regenfällen" ;
            break;
        case 
12:
            
$clouds "Düster und kalt";
            
$nightclouds "Kalter stockdunkler Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
13:
            
$clouds "Warm und sonnig";
            
$nightclouds "sternenklarer Nachthimmel" ;
            
savesetting("pudel_active","1");
            break;
        case 
14:
            
$clouds "Heiß und sonnig";
            
$nightclouds "sternenklare warme Nacht" ;
            
savesetting("pudel_active","1");
            break;
        case 
15:
            
$clouds "Starker Wind mit vereinzelten Regenschauern";
            
$nightclouds "Kühle Nacht mit vereinzelten Regenschauern " ;
            break;
        case 
16:
            
$clouds "Gewittersturm";
            
$nightclouds "düstere Gewittersturmnacht" ;
            break;

    }
}
if (
$mon >= $immonat){
    switch(
e_rand(1,4)){

    case 
1:
            
$clouds "Dichter Schnee";
      
$nightclouds "Verschneiter Nachthimmel" ;
            break;
        case 
2:
            
$clouds "Kalt und frostig";
      
$nightclouds "eisbedeckter Nachthimmel" ;
            break;
        case 
3:
            
$clouds "Kühles Schneewehen";
      
$nightclouds "Kühler, teilweise stark verschneiter Nachthimmel" ;
            break;
        case 
4:
            
$clouds "Kalt bei klarem Himmel";
      
$nightclouds "Kühler, klarer Nachthimmel" ;
            break;

    }
}
savesetting("weather",$clouds);
savesetting("weather_night",$nightclouds);

// 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 >= '11-30' && $datum <= '12-31'){
    
$weihnacht $datum;
} else 
$weihnacht '0';
// Ende der Datumsabfrage
// speichern in Settings
savesetting('weihnacht',$weihnacht);
// fertig mit der Abfrage .. der Rest wird in newday.php gemacht!

// Osteraddons starten/stoppen (2015)
if ($datum >= '04-01' && $datum <= '04-08'){
    
savesetting('ostern','1');
} else {
    
savesetting('ostern','0');
}

// Samhain starten/stoppen (2011)
if ($datum >= '10-26' && $datum <= '11-09'){
    
savesetting('samhain','1');
} else {
    
savesetting('samhain','0');
}

// 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,login FROM accounts WHERE 1=0 "
.($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("c")."-$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);
    
    
$mail = new PHPMailer();                 
    
$mail->IsSMTP();
    
$mail->Host       $mailhost;
    
$mail->SMTPAuth   true;
    
$mail->Username   $mailusername;
    
$mail->Password   $mailpassword;
    
$mail->SMTPSecure $mailsecure;                            // Enable TLS encryption, `ssl` also accepted
    
$mail->Port $mailport;                                    // TCP port to connect to            
    
$mail->SetFrom($frommail$fromname);                
    
$address $row[emailaddress];
    
$adrname $row[login];
    
$mail->AddAddress($address$adrname);    
    
$mail->Subject "LoGD Charakter verfällt";
    
$mail->Body "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 damit einloggen!";                    
    
$mail->CharSet  =  $mailcharset;            
    
$mail->setLanguage('de''../../PHPMailer/language/');    
    
/*            
    if(!$mail->Send()) { //Localer Server soll keine Mails schicken ;)
      $mailerror=true;
    }        
    */
    
//    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 damit einloggen!", "From: ".getsetting("gameadminemail","postmaster@localhost.com"));
    
    
    
$sql "UPDATE accounts SET sentnotice=1 WHERE acctid='$row[acctid]'";
    
db_query($sql);

/*    
    $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, marriedto 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 AND herotattoo=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 AND herotattoo=0)\n":"")
.
")";
$result db_query($sql);
while (
$row db_fetch_assoc($result)) {
    
$delaccts .= ','.$row['acctid'];
  if(
$row['marriedto']>0){
    
$sql2 "SELECT acctid, marriedto FROM accounts WHERE acctid=$row[marriedto]";
    
$result2=db_query($sql2);
    
$row2=db_fetch_assoc($result2);
    
db_free_result($result2);
    if(
$row2['marriedto']==$row['acctid']) 
        
$sql "UPDATE accounts SET charisma=0,marriedto=0, fragen=0 WHERE acctid=$row[marriedto]";
        
db_query($sql);
        
// Transferbugfix
        
updateuser($row['marriedto'], array('marriedto'=>"=0"'fragen'=>"=0" ,'charisma'=>"=0"));                
     }
// kann entfallen, wegen Verfallszeit:    if ($row['acctid']==getsetting("hasegg",0)) savesetting("hasegg","0");
}


$sql "DELETE FROM accounts WHERE acctid IN ($delaccts)";
db_query($sql);
// $sql = "UPDATE accounts SET charisma=0,marriedto=0, fragen=0 WHERE marriedto  IN ($delaccts)";
// db_query($sql);
$sql "DELETE FROM accounts_update WHERE acctid IN ($delaccts)";
db_query($sql);
$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);
$sql "DELETE FROM mail WHERE msgto IN ($delaccts)";
db_query($sql);
$sql "DELETE FROM bio WHERE acctid IN ($delaccts)";
db_query($sql);
$sql "DELETE FROM pilze WHERE acctid IN ($delaccts)";
db_query($sql);
$sql "UPDATE kinder SET mama=0 WHERE mama IN ($delaccts)";
db_query($sql);
$sql "UPDATE kinder SET papa=0 WHERE papa 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.
*/
if (getsetting('eggduedates'0)){
    if (
getsetting('expireegg_timestamp'time()) < time()-(3600*24*getsetting('expireegg'14))) {
        
savesetting('hasegg''0');
        
savesetting('expireegg_timestamp'time());
    }
    if (
getsetting('hasegg'0)>0) {
        
$sql 'SELECT `acctid` FROM `accounts` WHERE `acctid` = "%u" AND `laston` < DATE_SUB(NOW(), INTERVAL %u DAY)';
        
db_query(sprintf($sqlgetsetting('hasegg'0), getsetting('expirehasegg'10))) or die(db_error(LINK));
        if (
db_affected_rows() == 1){
            
savesetting('hasegg''0');
            
savesetting('expireegg_timestamp'time());
        }
    }
}
// Ende Das Goldene Ei (Verfallszeit)

/* Legend of the Green Dragon - Ring der Schatten (Verfallszeit)
 * 2008 by Linus nach dem Vorbild von by Kevin Gödeckers [Kevz] Das Goldene Ei (Verfallszeit)
 */
if (getsetting('ringduedates'0)){
    if (
getsetting('expirering_timestamp'time()) < time()-(3600*24*getsetting('expirering'14))) {
        
savesetting('hasring''0');
        
savesetting('expirering_timestamp'time());
    }
    if (
getsetting('hasring'0)>0) {
        
$sql 'SELECT `acctid` FROM `accounts` WHERE `acctid` = "%u" AND `laston` < DATE_SUB(NOW(), INTERVAL %u DAY)';
        
db_query(sprintf($sqlgetsetting('hasring'0), getsetting('expirehasring'10))) or die(db_error(LINK));
        if (
db_affected_rows() == 1){
            
savesetting('hasring''0');
            
savesetting('expirering_timestamp'time());
        }
    }
}
// Ende Ring der Schatten (Verfallszeit)

//Das Amulett der Macht
if (getsetting('amulettduedates'0)){
    if (
getsetting('expireamu_timestamp'time()) < time()-(3600*24*getsetting('expireamulett'14))) {
        
savesetting('hasamulett''0');
        
savesetting('expireamu_timestamp'time());
    }
    if (
getsetting('hasamulett'0)>0) {
        
$sql 'SELECT `acctid` FROM `accounts` WHERE `acctid` = "%u" AND `laston` < DATE_SUB(NOW(), INTERVAL %u DAY)';
        
db_query(sprintf($sqlgetsetting('hasamulett'0), getsetting('expirehasamulett'10))) or die(db_error(LINK));
        if (
db_affected_rows() == 1){
            
savesetting('hasamulett''0');
            
savesetting('expireamu_timestamp'time());
        }
    }
}
// Ende Amulett der Macht (Verfallszeit)

savesetting("lastdboptimize",date("Y-m-d H:i:s"));
$result db_query("SHOW TABLES");
while (
$helferlein=db_fetch_assoc($result)){
    list(
$key,$val)=each($helferlein);
    
db_query("OPTIMIZE TABLE $val");
}