ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » geburtstags Mail Modul

Geschlossen
  1. #1
    User Pic
    KifferSportsMan Mitglied
    Registriert seit
    05.09.2010
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Guten Tag habe gerade das b-day modul installiert stand auch installation erfolgreich wollte dann auf die seite gehen kommt der Fehler Fatal error: Call to undefined function birthdaymail() in /data/multiserv/users/141242/projects/959435/www/ilch/index.php on line 30 was muss ich machen Help Pls


    verwendete ilchClan Version: 1.1

    betroffene Homepage: splinter-fanboys.server.gg/ilch/
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Ich kenne jetzt das Modul nicht, aber das Script findet die benötigte Funktion birthdaymail() nicht! Hast Du alle Daten hochgeladen? Bzw. lies mal die Readme ob evtl. die Funktion manuell eingefügt werden muss!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    KifferSportsMan Mitglied
    Registriert seit
    05.09.2010
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Müsste ich eig alles im uploadordner würde es was bringen wenn ich alles da drin nochma hochladen würde?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Ich vermute ja! Gib mal ein Link zu Modul!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    KifferSportsMan Mitglied
    Registriert seit
    05.09.2010
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    KifferSportsMan Mitglied
    Registriert seit
    05.09.2010
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Beim Kopieren der Daten kommt Newer version of index.php exist in the destination folder. Copy the file anyway? solli ja oder nein machen?
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    OK! Das Modul ersetzt die include/includes/func/user.php, was aufgrund des Alters und der Script-Version nicht unbedingt vorteilhaft ist! Auf jedem Fall ist in dieser Datei die gewünsche Funktion!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    KifferSportsMan Mitglied
    Registriert seit
    05.09.2010
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Das heißt was muss ich tun damit die Hp wieder funzt?
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Das kommt darauf an was Du bisher gemacht hast bzw. was Du schon für Module drauf hast!

    Ich persönlich würde nur die install ausführen und die Funktionen seperat in die Dateien einfügen!

    Also einfach die originale index.php & include/includes/func/user.php hochladen! Datenbankeintrag lassen und folgendes wieder einfügen:

    index.php
    if ($allgAr['birthdaymail_status'] == 1 ) { birthdaymail(); }


    include/includes/func/user.php
    function birthdaymail() {
        global $allgAr;  
    	$userabf = "SELECT `id`, `name`, `gebdatum`, `email` FROM `prefix_user` WHERE '".$allgAr['birthdaymail_recht']."' >= `recht` ORDER BY `id` DESC";  
    	$usererg = db_query($userabf);
        while ($urow = db_fetch_object($usererg)) {
    	    $ugbdex = explode("-",$urow->gebdatum);
    	    $usergbdate = $ugbdex[1].'-'.$ugbdex[2];
    	    $akdate = date('m-d', time());
    	    $arge = getAlter($urow->gebdatum);
    		$uid = $urow->id;
    		
    	    if ( $usergbdate == $akdate AND db_count_query("SELECT COUNT(ID) FROM `prefix_birthdaymail` WHERE `userid` = $uid AND `arge` = $arge") == false ) {
    	  	      db_query("INSERT INTO `prefix_birthdaymail` VALUES ('','".$urow->id."','".$urow->name."','".getAlter($urow->gebdatum)."')");     
    			  $mailtitle = $allgAr['birthdaymail_title'];
    			  $mailtitleaus = str_replace('#NAME#',$urow->name,$mailtitle);
    			  $mailtitleaus = str_replace('#ALTER#',getAlter($urow->gebdatum),$mailtitleaus);			  
    			  
    			  $mailtext = $allgAr['birthdaymail_text'];
    			  $mailaus = str_replace('#NAME#',$urow->name,$mailtext);
    			  $mailaus = str_replace('#ALTER#',getAlter($urow->gebdatum),$mailaus);			  
    			  $html = true;
    			  icmail($urow->email,$mailtitleaus,$mailaus,'',$html);
    			  
    	    }
     
    	}  
    
    }
    rules :: doku :: faq :: linkus
    1 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    KifferSportsMan Mitglied
    Registriert seit
    05.09.2010
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    edit; hab hinbekommen danke lord Schirmer


    Zuletzt modifiziert von KifferSportsMan am 05.09.2010 - 20:44:34
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    EDDI_X Mitglied
    Registriert seit
    18.12.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Hallo Lord Schirmer,

    ich habe nun auch das Geburstags Mail Modul v. 1.1 installiert,allerdings auch den db eintrag,nun bekomm ich in der index.php folgende Meldung

    Fatal error: Call to undefined function getAlter() in /www/htdocs/w0106c7f/include/includes/func/user.php on line 401

    in der user.php line 401 ist dieser eintrag

    $arge = getAlter($urow->gebdatum);

    kannst du mir sagen was ich ändern sollte ?

    Danke

    Betroffene Homepage: www.tggc.eu


    Zuletzt modifiziert von EDDI_X am 18.12.2013 - 11:30:44
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Da hast wahrscheinlich das Modul nicht vollständig hochgeladen.
    Die Datei include/includes/func/user.php, welche die Funktion beinhaltet, wurde nicht ersetzt.

    Hast Du die veränderte/aktuelle Version für 1.1P geladen?
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    EDDI_X Mitglied
    Registriert seit
    18.12.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Danke für die schnelle Antwort,ich habe die user.php nicht ersetzt,da noch andere Module zur Ilch Version 1.1 installiert sind.
    Habe deinen Code von hier einfach in die user.php eingefügt,evtl. an einer falsche position traurig hänge hier mal meine user.php an

    <?php
    
    # hier werden alle user spezifischen funktionen
    # definert...
    
    function user_identification () {
      user_auth();
      user_login_check();
      user_update_database();
      user_check_url_rewrite();
    }
    
    function user_auth () {
      debug ('user - auth gestartet'. session_id());
      $cn = session_und_cookie_name();
      if (!user_key_in_db()
       OR !isset($_SESSION['authid'])
       OR (isset($_SESSION['authsess']) AND $_SESSION['authsess'] != $cn)) {
    
        debug ('user - nicht in db oder nicht authid');
    
        user_set_guest_vars();
        user_set_user_online ();
    
        # wenn cn cookie vorhanden
        # dann checken ob er sich damit einloggen darf
        if (isset($_COOKIE[$cn])) {
          user_auto_login_check();
        }
    
        # gruppen, und modulzugehoerigkeit setzten
        user_set_grps_and_modules();
      }
    }
    
    function user_check_url_rewrite() {
      global $allgAr;
      if ( !loggedin() AND $allgAr['show_session_id'] == 0 ) {
        # loescht die sessionid von allen urls
        # auch urls wie formulare usw. damit
        # suchmaschienen bots nicht iritiert sind ;)
        # output_reset_rewrite_vars ist eine php funktion
        # nicht unnoetig dannach suchen ;) ...
        output_reset_rewrite_vars ();
      }
    }
    
    function user_update_database () {
      $dif = date('Y-m-d H:i:s', time() - 7200);
      db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
      db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
      if ( loggedin() ) {
        db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
      }
    }
    
    function user_set_user_online () {
      global $allgAr;
      if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        db_query("INSERT INTO prefix_online (sid,uptime,ipa) VALUES ('".session_id()."',now(),'".getip()."')");
      }
      $_SESSION['authgfx'] = $allgAr['gfx'];
    }
    
    function user_key_in_db() {
      if ( 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        return ( true );
      } else {
        return ( false );
      }
    }
    
    function session_und_cookie_name () {
      return (md5(dirname($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).DBPREF));
    }
    
    function user_pw_crypt($plainPassword) {
        if (version_compare(PHP_VERSION, '5.0') !== -1) {
            $pwCrypt = new PwCrypt();
            return $pwCrypt->cryptPasswd($plainPassword);
        }
        return md5($plainPassword);
    }
    
    function user_pw_check($plainPassword, &$passwordHash, $userId = false) {
        if (version_compare(PHP_VERSION, '5.0') !== -1) {
            $pwCrypt = new PwCrypt();
            $correct = $pwCrypt->checkPasswd($plainPassword, $passwordHash);
            if ($correct && $userId !== false && $pwCrypt->checkHashStrength($passwordHash)) {
                $passwordHash = $pwCrypt->cryptPasswd($plainPassword);
                if ($passwordHash) {
                    db_query('UPDATE `prefix_user` SET `pass` = "' . $passwordHash . '" WHERE `id` = ' . $userId);
                }
            }
            return $correct;
        }
        return md5($plainPassword) === $passwordHash;
    }
    
    function user_set_cookie($id, $cryptedPassword) {
        $cookieString = $id . '=' . md5(DBUSER . $cryptedPassword);
        setcookie($_SESSION['authsess'], $cookieString , strtotime('+1 year'), '/' );
    }
    
    function user_cookie_check($cookieHash, $cryptedPassword) {
        return md5(DBUSER . $cryptedPassword) == $cookieHash;
    }
    
    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['name']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $name = escape_nickname($_POST['name']);
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 15) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE name = BINARY '".$name."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if (user_pw_check($_POST['pass'], $row['pass'], $row['id']) ) {
            debug ('passwort stimmt ... '.$row['name']);
            $_SESSION['authname']  = $row['name'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            user_set_cookie($row['id'], $row['pass']);
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'user');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
    
    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if (user_cookie_check($pw, $row['pass'])) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          user_set_cookie($row['id'], $row['pass']);
          return (true);
        }
      }
    
      user_logout ();
      return (false);
    }
    
    function user_set_guest_vars() {
      $_SESSION['authname']  = 'Gast';
      $_SESSION['authid']    = 0;
      $_SESSION['authright'] = 0;
      $_SESSION['lastlogin'] = time();
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_SESSION['authsess']  = session_und_cookie_name();
    }
    
    function user_markallasread () {
      $_SESSION['lastlogin'] = time();
    }
    
    function user_logout () {
      #global $allgAr;
      #$_SESSION = array();
      #$_SESSION['authgfx'] = $allgAr['gfx'];
      user_set_guest_vars();
      db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
      setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #if (isset($_COOKIE[session_name()])) {
      #  setcookie(session_name(), '', time()-99999999999931104000, '/');
      #}
      #setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #session_destroy();
    }
    
    function user_set_grps_and_modules() {
        $_SESSION['authgrp'] = array();
        $_SESSION['authmod'] = array();
        $_SESSION['adminaccess'] = array();
        if (loggedin()) {
            $erg = db_query('SELECT gid FROM prefix_groupusers WHERE uid = ' . $_SESSION['authid']);
            while ($row = db_fetch_assoc($erg)) {
                $_SESSION['authgrp'][$row['gid']] = true;
            }
            $erg = db_query('SELECT DISTINCT m.url, m.gshow '
                . 'FROM prefix_modulerights mr '
                . 'INNER JOIN prefix_modules m ON m.id = mr.mid '
                . 'WHERE mr.uid = ' . $_SESSION['authid']);
            while ($row = db_fetch_assoc($erg)) {
                $_SESSION['authmod'][$row['url']] = true;
                if ($row['gshow']) {
                    $_SESSION['adminaccess'][$row['url']] = true;
                }
            }
        }
    }
    
    function loggedin () {
      if ( has_right(-1) ) { return ( true ); } else { return ( false ); }
    }
    function is_admin () {
      if ( has_right(-9) ) { return ( true ); } else { return ( false ); }
    }
    function is_coadmin () {
      if ( has_right(-8) ) { return ( true ); } else { return ( false ); }
    }
    function is_siteadmin ($m = NULL) {
      if ( has_right(-7) ) { return ( true ); }
      if ( !is_null($m) AND has_right(NULL, $m)) { return (true); }
      return ( false );
    }
    
    # diese funktion liefert immer true wenn es ein admin ist.
    # wenn kein kein admin wird geprueft ob der user
    # entweder ein angegebenes recht oder in einer angegebene
    # gruppe ist. oder ob er fals angegben das modulrecht hat.
    # wenn eines von diesen 3 kriterien stimmt wird true ansonsten
    # wenn keins uebereinstimmt false zurueck gegeben.
    function has_right ($recht,$modul = '') {
      if ( !is_array($recht) AND !is_null($recht) ) {
        $recht = array ( $recht );
      }
    
      if ( $_SESSION['authright'] == -9 ) {
        return ( true );
      }
    
      if ( !is_null($recht) ) {
        foreach ( $recht as $v ) {
          if ( ($v <= 0 AND $v >= $_SESSION['authright'] ) OR (isset($_SESSION['authgrp'][$v]) AND $_SESSION['authgrp'][$v] === true) ) {
            return (true);
          }
        }
      }
    
      if ( !empty($modul) AND isset($_SESSION['authmod'][$modul]) AND $_SESSION['authmod'][$modul] === true ) {
        return ( true );
      }
    
      return (false);
    }
    
    ### admin
    # wenn der 2. parameter weggelassen wird oder auf true gesetzt wird
    # dann wird ein login formular angezeigt, wenn der user kein admin ist.
    # wird der parameter auf false gesetzt wird das login formular nicht angezeigt.
    # erste parameter ist das menu objekt...
    function user_has_admin_right($menu, $sl = true) {
        if ($_SESSION['authright'] <= -8) {  # co leader...
            return true;
        } else {
            $uri_to_check1 = $menu->get(0);
            $uri_to_check2 = $menu->get(1);
            if (count($_SESSION['adminaccess']) < 1 OR !loggedin()) {
                if ($sl === true) {
                    if (!loggedin()) {
                        $tpl = new tpl('user/login.htm');
                        $tpl->set_out('WDLINK', 'admin.php', 0);
                    } else {
                        echo '<strong>Keine Berechtigung!</strong> <a href="index.php">Startseite</a>';
                    }
                }
                return false;
            } elseif ((isset($_SESSION['adminaccess'][$uri_to_check1]) AND $_SESSION['adminaccess'][$uri_to_check1] == true)
                || (isset($_SESSION['adminaccess'][$uri_to_check1 . '-' . $uri_to_check2]) AND $_SESSION['adminaccess'][$uri_to_check1 . '-' . $uri_to_check2] == true)
            ) {
                return true;
            } elseif (count($_SESSION['adminaccess']) > 0 AND loggedin()) {
                if ($sl === true) {
                    foreach ($_SESSION['adminaccess'] as $k => $v) {
                        $x = $k;
                        break;
                    }
                    $x = explode('-', $x);
                    $menu->set_url(0, $x[0]);
                    if (isset($x[1])) {
                        $menu->set_url(1, $x[1]);
                    }
                }
                return true;
            }
        }
        return false;
    }
    
    function user_regist ($name, $mail, $pass) {
      global $allgAr, $lang;
    
      $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");
      if (db_num_rows($erg) > 0) {
        return (false);
      }
    
      if ( $allgAr['forum_regist_user_pass'] == 0 ) {
            $new_pass = genkey(8);
      } else {
          $new_pass = $pass;
        }
    
      $passwordHash = user_pw_crypt($new_pass);
        $confirmlinktext = '';
    
        # confirm insert in confirm tb not confirm insert in user tb
        if ( $allgAr['forum_regist_confirm_link'] == 1 ) {
            # confirm link + text ... bit of shit put it in languages file
          $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
            $id = md5 (uniqid (rand()));
            $confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );
            db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,datime,ak)
            VALUES ('".$id."','".$name."','".$mail."','".$passwordHash."',NOW(),1)");
      } else {
          db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm)
            VALUES('".$name."','".$passwordHash."',-1,'".time()."','".time()."','".$mail."',1,1,1)");
            $userid = db_last_id();
        }
      $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);
    
        icmail($mail,'Anmeldung',$regmail); # email an user
    
      return (true);
    }
    
    function user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
    
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      if (is_array($eid)) {
          db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) ".
          "SELECT  ".$sid.",`prefix_user`.`id`,'".time()."','".$ti."','".$te."',".$status." FROM `prefix_user` WHERE `prefix_user`.`id` IN (" . implode(',', $eid) . ")");
      } else {
          db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
      }
    }
    function last_user($uid){  
      $lb = db_fetch_object(db_query("SELECT `last_bes`, `last_user_time` FROM `prefix_user` WHERE `id` = ".$uid));  
      if (empty($lb->last_bes)) return 'Du hast derzeit keine Besucher';   
      $lba = explode('#',$lb->last_bes);  
      $lbt = explode('#',$lb->last_user_time);  
      $s = '<table width="100%" cellpadding="5" cellspacing="1"><tr><td width="100%" height="60">'."";  
       
       foreach ($lba as $k => $v) {  
          if ($v < 1) { continue; }  
          $q = db_query("SELECT `name`, `avatar` FROM `prefix_user` WHERE `id` = ".$v);  
          $r = db_fetch_assoc($q);  
          $ava = (file_exists($r['avatar']) ? '<img width=60px src="'.$r['avatar'].'" alt="Avatar von '.$r['name'].'" />' : '<img width=60px src=include/images/avatars/gast.png />');  
          $time = date("d.m.Y \u\m H:i",$lbt[$k]);  
          $s .= '<div style="float: left; width:200px;"><a href="index.php?user-details-'.$v.'" target="_self">'.$ava.'<div style="float: right; width:130px;"><b>'.$r['name'].'</b><br /><br />am '.$time.' Uhr</a></div></div>'."\n";  
       }  
      $s .= '</td></tr></table>'."";  
        
      return($s);  
    }
    function birthdaymail() {
        global $allgAr;  
        $userabf = "SELECT `id`, `name`, `gebdatum`, `email` FROM `prefix_user` WHERE '".$allgAr['birthdaymail_recht']."' >= `recht` ORDER BY `id` DESC";  
        $usererg = db_query($userabf);
        while ($urow = db_fetch_object($usererg)) {
            $ugbdex = explode("-",$urow->gebdatum);
            $usergbdate = $ugbdex[1].'-'.$ugbdex[2];
            $akdate = date('m-d', time());
            $arge = getAlter($urow->gebdatum);
            $uid = $urow->id;
             
            if ( $usergbdate == $akdate AND db_count_query("SELECT COUNT(ID) FROM `prefix_birthdaymail` WHERE `userid` = $uid AND `arge` = $arge") == false ) {
                  db_query("INSERT INTO `prefix_birthdaymail` VALUES ('','".$urow->id."','".$urow->name."','".getAlter($urow->gebdatum)."')");     
                  $mailtitle = $allgAr['birthdaymail_title'];
                  $mailtitleaus = str_replace('#NAME#',$urow->name,$mailtitle);
                  $mailtitleaus = str_replace('#ALTER#',getAlter($urow->gebdatum),$mailtitleaus);              
                   
                  $mailtext = $allgAr['birthdaymail_text'];
                  $mailaus = str_replace('#NAME#',$urow->name,$mailtext);
                  $mailaus = str_replace('#ALTER#',getAlter($urow->gebdatum),$mailaus);            
                  $html = true;
                  icmail($urow->email,$mailtitleaus,$mailaus,'',$html);
                   
            }
      
        }  
     
    }
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Achso OK ... folgende beiden Funktionen müssen für das Modul in die include/includes/func/user.php eingebunden werden:

    // Start - Geburtstagsmail-Modul
    function getAlter($datum){
       $age = preg_split('/\-/', $datum);
       $alter = date("Y", time()) - $age[0];
       if (mktime(0, 0, 0, date("m",time()), date("d", time()), date("Y", time())) < mktime(0, 0, 0, $age[1], $age[2], date("Y", time())))
          $alter--;
          $return = $datum == '0000-00-00' ? false : $alter; 
       return ($return);
    }
    function birthdaymail() {
        global $allgAr;  
    	$userabf = "SELECT `id`, `name`, `gebdatum`, `email` FROM `prefix_user` WHERE '" . $allgAr['birthdaymail_recht'] . "' >= `recht` ORDER BY `id` DESC";  
    	$usererg = db_query($userabf);
        while ($urow = db_fetch_object($usererg)) {
    	    $ugbdex = explode("-", $urow->gebdatum);
    	    $usergbdate = $ugbdex[1] . '-'. $ugbdex[2];
    	    $akdate = date('m-d', time());
    	    $arge = getAlter($urow->gebdatum);
    		$uid = $urow->id;
    	    if ( $usergbdate == $akdate AND db_count_query("SELECT COUNT(ID) FROM `prefix_birthdaymail` WHERE `userid` = $uid AND `arge` = $arge") == false ) {
    	  	      db_query("INSERT INTO `prefix_birthdaymail` VALUES ('', '" . $urow->id . "', '" . $urow->name . "', '" . getAlter($urow->gebdatum) . "')");     
    			  $mailtitle = $allgAr['birthdaymail_title'];
    			  $mailtitleaus = str_replace('#NAME#', $urow->name, $mailtitle);
    			  $mailtitleaus = str_replace('#ALTER#', getAlter($urow->gebdatum),$mailtitleaus);			  
    			  
    			  $mailtext = $allgAr['birthdaymail_text'];
    			  $mailaus = str_replace('#NAME#', $urow->name,$mailtext);
    			  $mailaus = str_replace('#ALTER#', getAlter($urow->gebdatum),$mailaus);			  
    			  $html = true;
    			  icmail($urow->email, $mailtitleaus, $mailaus, '', $html);
    	    }
    	}  
    }
    // END - Geburtstagsmail-Modul
    rules :: doku :: faq :: linkus
    1 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    EDDI_X Mitglied
    Registriert seit
    18.12.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Danke ... der fehler in der index.php line 401 ist weg zwinker

    Lege dann mal ein testuser mit meiner anderen email an,welcher morgen gb hat um zu sehe ob die gbmail rausgeht.

    Melde mich dann auf jeden fall nochmal
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    EDDI_X Mitglied
    Registriert seit
    18.12.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Hi Lord Schirmer,

    das Script funktioniert ! ,nur die Formatierung vom Text die man las Mail bekommt sieht nicht wirklich schön aus

    Hallo tggctester, wir wünschen dir tggctester alles Gute zum 33. Geburtstag und viel Erfolg, Gesundheit und Glück in deim neuen Lebensjahr. Genieße den heutigen Tag, denn es ist dein Tag. Wenn wir dir einen Wunsch erfüllen können, dann lass es uns einfach wissen. Herzliche Grüße EDDI_X sowie das TGGC Team


    das ist alles in 2 Zeilen gedrückt,könnte man da nicht was machen,vielleicht sogar ein GB Bildchen mitschicken?
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Natürlich ... bedarf aber Kenntnisse in PHP.

    So kann man Beispielsweise einen Platzhalter #BILD# einbauen und diesen in der Funktion entsprechend ersetzen.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten