ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Auto Birthday News 1.0

Geschlossen
  1. #1
    User Pic
    pilzwb Mitglied
    Registriert seit
    14.10.2013
    Beiträge
    57
    Beitragswertungen
    3 Beitragspunkte
    Guhten morgen habe mal eine frage wo in der datenbank finde ich denn eintrag für das Auto Birthday News Modul möchte es gerne löschen und neu instalieren da es bei mir nicht richtig gehet

    danke schon mal

    mfg Pilzwb


    verwendete ilch Version: 1.1

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Moin,

    die Einträge in der Gatenbank zum Auto Birthday-News findest Du in der Tabelle
    ZitatZitat
    ic?_config

    Da findest Du in der Spalte kat alles zum Modul mit dem Eintrag
    ZitatZitat
    Birthday News Optionen

    Das sind allerdings nur die Einstellungen zum Modul, die kannst Du auch im Admin-Bereich (admin.php?allg) ändern.


    Zuletzt modifiziert von Outi77 am 01.05.2014 - 06:16:06
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    pilzwb Mitglied
    Registriert seit
    14.10.2013
    Beiträge
    57
    Beitragswertungen
    3 Beitragspunkte
    ich danke dir
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Jan68 Mitglied
    Registriert seit
    06.03.2015
    Beiträge
    114
    Beitragswertungen
    0 Beitragspunkte
    Hallo und Danke erst mal,

    ich habe dieses Modul erfolgreich installiert lächeln und möchte die begeistert-fuer-jesus.de/index.php?birthday_news.php über Cronjob starten da ich eine Fehlermeldung bekomme wenn ich es in die index.php einbinde.

    Der Cronjob Anbieter ( cron-job.org/ ) teilt mir jedoch mit Cronjob Auftrag fehlgeschlagen, Status zu groß. grumml

    Installierte Version 1.1 Update:H
    Weiß Jemad Rat?
    Gruß Jan
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die Antwort darf nur 1024 Bytes lang sein, und diese wird sicher überschritten.

    cron-job.org/de/faq/

    Es sollte dann wohl so angepasst werden, dass nur ein Statustext zurückgegeben wird (ggf. auch prüfen, dass das Skript nur von cron-job.org aufgerufen werden darf)
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    @Jan68
    Überprüfe mal sämtliche Verlinkungen die "click.php?id=" enthalten und korrigiere bitte, die Webseiten werden nicht aufgerufen es wird eine 404-Fehlerseite angezeigt.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Jan68 Mitglied
    Registriert seit
    06.03.2015
    Beiträge
    114
    Beitragswertungen
    0 Beitragspunkte
    Hallo und Danke erstmal,

    laut Anweisung soll ich diesen Code in der indx.php unter site_statistic(); folgendes einfügen

      require_once ('include/includes/func/birthday_news.php');
      birthday_news();


    Wenn ich das mache bekomme ich eine dicke Fehlermeldung und sie Seite wird nicht geladen.

    Ich hoffe ihr könnt mir weiterhelfen
    Die alte Webseite mit der click.php ist abgeschalten.

    Gruß Jan
    PS: Ich sehe gerade das die Seite garnicht in dem Ordner: include/includes/func/ vorhanden ist grumml , welche muß dann jetzt da rein?
    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    define ( 'main' , TRUE );
    
    //Konfiguration zur Anzeige von Fehlern
    //Auf http://www.php.net/manual/de/function.error-reporting.php sind die verfügbaren Modi aufgelistet
    
    //Seit php-5.3 ist eine Angabe der TimeZone Pflicht
    if (version_compare(phpversion(), '5.3') != -1) {
    	@error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
    	date_default_timezone_set('Europe/Berlin');
    } else {
    	@error_reporting(E_ALL ^ E_NOTICE);
    }
    @ini_set('display_errors','On');
    
    session_name  ('sid');
    session_start ();
    
    require_once ('include/includes/config.php');
    require_once ('include/includes/loader.php');
    
    db_connect();
    $allgAr = getAllgAr ();
    $menu = new menu();
    user_identification();
    site_statistic();
    
    if ( isset ( $_GET['messenger'] ) ) {
    	require_once('include/includes/func/messenger.php');
    	db_close();
    }
    
    
    require_once ('include/contents/'.$menu->get_url());
    
    db_close();
    if (false) { //debugging aktivieren
    	debug('anzahl sql querys: '.$count_query_xyzXYZ);
    	debug('',1,true);
    }
    ?>



    Zuletzt modifiziert von Jan68 am 12.03.2015 - 17:34:53
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die Fehlermeldung wäre eigentlich das entscheidende.

    Aber die Datei, muss ja bei dem Modul dabei sein.
    Wenn du es über die Cronseite machen willst, müssest du statt dem Einfügen in der index.php eigentlich nur den Code in einer contents/birthdaycron.php einfügen und dann index.php?birthdaycron (ohne .php) aufrufen lassen. (Kannst du ja auch so aufrufen zum Testen, bevor du es konfurierst)

    <?php
    defined('main') or die('no direct access');
    
    require_once ('include/includes/func/birthday_news.php');
    birthday_news();
    
    echo 'OK';
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Jan68 Mitglied
    Registriert seit
    06.03.2015
    Beiträge
    114
    Beitragswertungen
    0 Beitragspunkte
    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&uuml;nschen Dir viel Erfolg, Gesundheit und Gl&uuml;ck im neuen Lebensjahr.</p>' : '<p style="text-align: center;">Wir w&uuml;nschen Euch viel Erfolg, Gesundheit und Gl&uuml;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."')");
                                                
                    }
                }
            }
        } 
    } 
          
    ?>
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das passiert, weil das Modul so geschrieben ist, dass die Funktion nur einmal pro Skriptdurchlauf aufgerufen wird, was ja auch sehr sinnvoll ist.

    Entweder du bindest es in der index.php ein oder aber mit der contents Datei und dem cronjob, beides ist nicht notwendig.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Es ist genau so, wie Mairu es schreibt. In der zip befindet sich zum einen der Ordner extras, der unter anderem eine contents-Datei birthday_news.php enthält. Diese per Cronjob 1 Mal am Tag aufrufen, sollte funktionieren.
    Des weiteren gibt es den Ordner upload, der in include/includes/func/ die Datei birthday_news.php enthält. Hier muss der Eintrag in der index.php gemacht werden, so wie in der readme beschrieben.
    Wie bereits erwähnt, beide Variante zusammen werden nicht funktionieren, Du mußt Dich also für eine entscheiden. Wenn Die Cronjob-Variante (include/contents/birthday_news.php) bei Dir nicht funktioniert, dann eben mit dem Eintrag in der index.php.
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Jan68 Mitglied
    Registriert seit
    06.03.2015
    Beiträge
    114
    Beitragswertungen
    0 Beitragspunkte
    URL: externer Link
    Letzter Abruf: 14.03.2015 00:05:00 (geplant: 14.03.2015 00:05:00)
    Letzter Status: Erfolgreich (200 OK)
    cron-job.org/

    so jetzt läuft alle das ist super!

    Besten Dank zwinker
    Gruß Jan
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Leon67 Mitglied
    Registriert seit
    28.02.2012
    Beiträge
    109
    Beitragswertungen
    0 Beitragspunkte
    Hallo Jan68

    Schau mal bitte in dein Gästebuch, ist total zu gespamt,
    besonnders der Eintrag vom 01.03.15

    Lg. Leon


    Zuletzt modifiziert von Leon67 am 19.05.2015 - 15:21:12
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten