Hallo und Danke erstmal Mairu,
Soory habe die Datei birthday_news.php gefunden und an ihren Platz gebracht. Habe die Funktion in der Index.php erfolgreich eingefügt und die birthdaycron.php im Ordner Contents erstellt.
Ich bekomme aber eine Fehlermeldung beim Aufruf der
externer Link
folgende fehlermeldung kommt: Fatal error: Cannot redeclare dz_timestamp() (previously declared in /www/Ilch/include/includes/func/birthday_news.php:22) in /www/Ilch/include/includes/func/birthday_news.php on line 22
<?php
defined ('main') or die ( 'no direct access' );
########################################################
# #
# Auto Birthday News v1.1 für News Extended #
# © 2014 by Outi77 & LordOfDeath #
# #
# ------------------------------------------------ #
# Support: www.ilch.de #
# ------------------------------------------------ #
# Homepage: Outi77 (www.sivos.de) #
# LordOfDeath (www.altehasen-gaming.de) #
# #
########################################################
function birthday_news () {
global $allgAr;
function dz_timestamp($d, $t = '00:00') {
$d = trim($d);
$t = trim($t);
if (preg_match('/^\d{1,2}.\d{1,2}.(\d{2}|\d{4})$/', $d) == false OR preg_match('/^\d{1,2}:\d\d$/', $t) == false) {
return false;
}
$d = explode('.', $d);
$t = explode(':', $t);
if ($o = mktime($t[0], $t[1], 0, $d[1], $d[0], $d[2])) {
return $o;
} else {
return false;
}
}
# Birthday News ein- oder aus
if ( $allgAr['birthdaynews_active'] == 1 ) {
#abgelaufene News löschen
$now = time();
db_query("DELETE FROM prefix_news WHERE archiv = 3 AND endtime < ".$now);
# Abfrage News Extended installiert ja/nein
$News_ex = array();
$News_ex_inst = db_query("SHOW FULL COLUMNS FROM `prefix_news`");
while($ar = db_fetch_object($News_ex_inst)){
$News_ex[] = $ar->Field;
}
if (in_array('editor_id',$News_ex)) {
# User Rechte aus Einstellungen für News Extended umwandeln
$bdnews_ex_recht = $allgAr['birthdaynews_grecht'];
switch ($bdnews_ex_recht) {
case '-0' : $bdnews_ex_recht = '1023'; break;
case '-1' : $bdnews_ex_recht = '1022'; break;
case '-2' : $bdnews_ex_recht = '1020'; break;
case '-3' : $bdnews_ex_recht = '1016'; break;
case '-4' : $bdnews_ex_recht = '1008'; break;
case '-5' : $bdnews_ex_recht = '992'; break;
case '-6' : $bdnews_ex_recht = '960'; break;
case '-7' : $bdnews_ex_recht = '896'; break;
case '-8' : $bdnews_ex_recht = '768'; break;
case '-9' : $bdnews_ex_recht = '512'; break;
}
# Aktuelles Datum und timestamp für News
$akt_date = date('Y-m-d');
$shownews = time();
# Datum für Geburtstagsabfrage
$geb_date_abf = date('m-d');
#Datum zum Löschen der News ermitteln
$time_to_del = date('d.m.Y', strtotime("+".$allgAr['birthdaynews_del_time']." days"));
$endtime = dz_timestamp($time_to_del, '00:00');
#Ermitteln, ob News nach x Tagen gelöscht oder archiviert werden sollen
if ($allgAr['birthdaynews_del_time'] != '') {
$arch_del = ($allgAr['birthdaynews_del'] == 1 ? 3 : 2);
} else {
$arch_del = 0;
$endtime = 'NULL';
}
# User Abfragen die zur Usergruppe gehören und Geburtstag haben
$ucount = 0;
$bduserlist = '';
$abf = db_query("SELECT `id`, `name`, `gebdatum`, `avatar`, `recht` FROM `prefix_user` WHERE `recht` <= '".$allgAr['birthdaynews_urecht']."' AND DATE_FORMAT(gebdatum, '%m-%d') = '".$geb_date_abf."' ");
while ($row = db_fetch_assoc($abf)) {
$ucount++;
# Avatar falls vorhanden-> wenn nicht Gast Avatar benutzen
$avatar = '';
if (file_exists($row['avatar'])) {
$avatar = $row['avatar'];
} else {
$avatar = 'include/images/avatars/wurstegal.jpg';
}
# Alter bestimmen
$gebdatum = date('d.m.Y',strtotime($row['gebdatum']));
$tag = date('d',strtotime($row['gebdatum']));
$monat = date('m',strtotime($row['gebdatum']));
$jahr = date('Y',strtotime($row['gebdatum']));
$jetzt = mktime(0,0,0,date("m"),date("d"),date("Y"));
$geburtstag = mktime(0,0,0,$monat,$tag,$jahr);
$alter = intval(($jetzt - $geburtstag) / (3600 * 24 * 365));
# Umbruch nach x Usern
if ($ucount % $allgAr['birthdaynews_umbr'] == 0) {
$tdbrk = '</tr></table><table width="100%" align="center"><tr>';
} else {
$tdbrk = '';
}
# Array -> User die Geburtstag haben
$bduserlist .= '<td align="center" valign="middle" style="padding:5px"><div class="bdaynews" style="text-align: center"><a href="index.php?user-details-'.$row['id'].'"><img src="'.$avatar.'" width="100"><br>'.$row['name'].' ('.$alter.')</a></div></td>'.$tdbrk.'';
}
# News Text
if ($ucount > 0) {
$bdnews_text = '<br><br>';
$bdnews_text .= ($ucount == 1 ? '<p style="text-align: center;">Wir gratulieren folgendem User zum Geburtstag</p>' : '<p style="text-align: center;">Wir gratulieren folgenden Usern zum Geburtstag</p>');
$bdnews_text .= '<br><br><br>';
$bdnews_text .= '<table width="100%" align="center"><tr>';
$bdnews_text .= ''.$bduserlist.'';
$bdnews_text .= '</tr></table>';
$bdnews_text .= '<br><br><br>';
$bdnews_text .= ($ucount == 1 ? '<p style="text-align: center;">Wir wünschen Dir viel Erfolg, Gesundheit und Glück im neuen Lebensjahr.</p>' : '<p style="text-align: center;">Wir wünschen Euch viel Erfolg, Gesundheit und Glück im neuen Lebensjahr.</p>');
$bdnews_text .= '<br><br><br>';
# Prüfen ob eine News schon geschrieben wurde
$check_news = db_count_query("SELECT COUNT(*) FROM `prefix_news` WHERE `news_title` = '".$allgAr['birthdaynews_titel']."' AND news_time = '".$akt_date." 00:00:00' ");
if(!$check_news) {
# Wenn noch nicht vorhanden, News schreiben
$bdnews_do_qry = @db_query("INSERT INTO `prefix_news` (`news_title`,`user_id`,`news_time`,`endtime`,`news_recht`,`news_kat`,`news_text`,`show`,`html`,`archiv`)
VALUES
('".$allgAr['birthdaynews_titel']."','".$allgAr['birthdaynews_sendid']."','".$akt_date."',if($endtime<>'',$endtime,NULL),'".$bdnews_ex_recht."','".$allgAr['birthdaynews_kat']."','".$bdnews_text."','".$shownews."',1,'".$arch_del."')");
}
}
}
}
}
?>