ilch Forum » Ilch Clan 1.1 » Allgemein » Meldung im Tab bei PN

Geschlossen
  1. #1
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Halli hallo,

    ich stelle mir gerade die Frage, wie man es hin bekommt, dass eine Meldung(am besten blinkend) im Tab kommt, wenn man eine Privatnachricht erhalten hat.

    Hat Jemand ne Idee?

    Liebe Grüße

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    den <title> kann man dynamisch mit php erstellen

    ob das aber mit <blink> auch im tab blinkt hab ich noch nicht probiert
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Ehhhm, joar, vielleicht ein wenig genauer wäre nett zwinker
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    meinst du sowas wie ich auf ilch.de gebastelt habe ?

    teste ma und schick dir selbst ne PM lächeln

    *edit* ist mit JS umgesetzt und kein blinken sondern nur ein wechsel zwischen 2 texten, was aber auch diesen Blink-Effect ergibt

    <blink> funzt leider nicht, wie ich getestet habe


    Zuletzt modifiziert von GeCk0 am 15.10.2010 - 17:03:40
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Edeka-Ecky Mitglied
    Registriert seit
    19.11.2009
    Beiträge
    213
    Beitragswertungen
    0 Beitragspunkte
    sowas würde mich auch interessieren
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    öffne include/boxes/login.php

    suche nach
    if ( $allgAr['Fpmf'] == 1 ) {
    		  $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']);
    			$check_pm = db_result($erg,0);
    			$nachrichten_link = '<a class="loginilch" href="index.php?forum-privmsg">'.$lang['messages'].'</a>&nbsp;('.$check_pm.')';
    		} else {
    		  $nachrichten_link = '';
    		}


    füge danach ein
    	$q = "
    	  SELECT DISTINCT
            a.fid as fid,
            a.name as titel,
            'foru' as typ,
            a.id as id,
            `time`,
    		c.erst as autor
          FROM prefix_posts c
            LEFT JOIN prefix_topics a ON a.id = c.tid
            LEFT JOIN prefix_forums b ON b.id = a.fid
            LEFT JOIN prefix_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = b.view
            LEFT JOIN prefix_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = b.reply
            LEFT JOIN prefix_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = b.start
          WHERE (((b.view >= ".$_SESSION['authright']." AND b.view <= 0) OR
                (b.reply >= ".$_SESSION['authright']." AND b.reply <= 0) OR
                (b.start >= ".$_SESSION['authright']." AND b.start <= 0)) OR
                (vg.fid IS NOT NULL OR rg.fid IS NOT NULL OR sg.fid IS NOT NULL OR ".$_SESSION['authright']." = -9))
            AND (".$str_forum." 1 = 1)
    		AND (".$str_forum_a." 1 = 1)
            AND (time >= ". $x .")
          GROUP BY a.id
    	  ORDER BY time DESC";
    
    $anzNew = db_num_rows(db_query($q));
    
    		if ($check_pm >= 1) {
    			$xsgs = 'PM';
    			if 		($check_pm == 1) { $xsgs = 'Nachricht'; }
    			elseif 	($check_pm >= 2) { $xsgs = 'Nachrichten'; }
    			echo '<script language="javascript" type="text/javascript">
    				<!--
    				function titlebar(val)
    				{
    					var msg  = "'.$check_pm.' '.$xsgs.'";
    					var speed = 1500;
    					var pos = val;
    				
    					var msg1  = "Du hast";
    					var msg2  = ""+msg+"";
    				
    					if(pos == 0){
    						masg = msg1;
    						pos = 1;
    					}
    					else if(pos == 1){
    						masg = msg2;
    						pos = 0;
    					}
    				
    					document.title = masg;
    					timer = window.setTimeout("titlebar("+pos+")",speed);
    				}
    				
    				titlebar(0);
    				// -->
    				</script>';
    		}
    		
    		$tpl->set ( 'anzNEW', $anzNew );



    musst mal testen ob das so hinhaut...

    ansonsten poste mal deine include/boxes/login.php


    Zuletzt modifiziert von GeCk0 am 26.10.2010 - 14:01:25
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    1 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    sCar Mitglied
    Registriert seit
    21.10.2008
    Beiträge
    231
    Beitragswertungen
    15 Beitragspunkte
    Fatal error: Call to a member function countNewTopics() on a non-object in /home/vhosts/5000157536/next-tactical-fighters.de/atf-zone.de/htdocs/include/boxes/login.php on line 25

    <?php 
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $tpl = new tpl ( 'user/boxen_login.htm' );
    if ( loggedin() ) {
      
      if ( user_has_admin_right($menu,false) ) {
        $tpl->set ( 'ADMIN', '<table width="100%" border="0" cellpadding="1"><td><a href="admin.php?admin"><span style="font-size:9; margin-left:10px;"><font color="#6f6f6f">'.$lang['adminarea'].'</font></span></a></td></table>' );
      } else {
        $tpl->set ( 'ADMIN', '' );
      }
    
          if ( $allgAr['Fpmf'] == 1 ) {
              $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']);
                $check_pm = db_result($erg,0);
                $nachrichten_link = '<a class="box" href="index.php?forum-privmsg"><span style="font-size:9;"><font color="#6f6f6f">Neue '.$lang['messages'].'</font></span></a>&nbsp;('.$check_pm.')<img alt="PM" src="include/images/icons/login/pm.png" style="border: 0px solid ; margin: -1px; margin-left:5px;"><br>';
            } else {
              $nachrichten_link = '';
            }
    
    $anzNew = $ilchBB->countNewTopics();
            if ($check_pm >= 1) {
                $xsgs = 'PM';
                if      ($check_pm == 1) { $xsgs = 'Nachricht'; }
                elseif  ($check_pm >= 2) { $xsgs = 'Nachrichten'; }
                echo '<script language="javascript" type="text/javascript">
                    <!--
                    function titlebar(val)
                    {
                        var msg  = "'.$check_pm.' '.$xsgs.'";
                        var speed = 1500;
                        var pos = val;
                   
                        var msg1  = "Du hast";
                        var msg2  = ""+msg+"";
                   
                        if(pos == 0){
                            masg = msg1;
                            pos = 1;
                        }
                        else if(pos == 1){
                            masg = msg2;
                            pos = 0;
                        }
                   
                        document.title = masg;
                        timer = window.setTimeout("titlebar("+pos+")",speed);
                    }
                   
                    titlebar(0);
                    // -->
                    </script>';
            }
           
            $tpl->set ( 'anzNEW', $anzNew );
    
    
    	$erg=db_query('SELECT * FROM prefix_kasse_beitraege WHERE uid='.$_SESSION['authid']);
    	if(@db_num_rows($erg)==1){
    		$row=db_fetch_assoc($erg);
    		$payedto= mktime(0, 0, 0, date ("m",$row['date'])+$row['zyklus'] , date ("d",$row['date']), date("Y",$row['date']));
    		$prewarn= mktime(0, 0, 0, date ("m") , date ("d")+20, date("Y"));
    		$warn= mktime(0, 0, 0, date ("m") , date ("d")+7, date("Y"));
    		$alert= mktime(0, 0, 0, date ("m") , date ("d")+2, date("Y"));
    		$payedto2=date("d.m.Y",$payedto);
                     if($payedto<time()){
    			$beitrag='<center><em style="font-size:0.8em;">Admin war zu zahlen am '.$payedto2.'</em></center></div>';
    		} elseif($payedto>time() AND $payedto<=$alert){
    			$beitrag='<center><em style="font-size:0.8em;">Admin zu zahlen am '.$payedto2.'</em></center></div>';
    		} elseif($payedto>time() AND $payedto<=$warn){
    			$beitrag='<center><em style="font-size:0.8em;">Admin zu zahlen am '.$payedto2.'</em></center></div>';
    		} elseif($payedto>time() AND $payedto<=$prewarn){
    			$beitrag='<center><em style="font-size:0.8em;">Admin bezahlt bis '.$payedto2.'</em></center>';
    		} elseif($payedto>time()){
    			$beitrag='<center><em style="font-size:0.8em;">Admin bezahlt bis '.$payedto2.'</em></center>';
    		}
    	} else{
    		$beitrag='';
    	}
    
    $erg = db_query('SELECT id, name, avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"');
    $row = db_fetch_object($erg);
     
    if ( file_exists($row->avatar)) {
    $avatar = '<a href="index.php?user-8" ><img src="'.$row->avatar.'" width="30" height="30" border="0" title="Avatar">';
    }else{
    $avatar = '<a href="index.php?user-8" ><img src="include/images/avatars/keinavatar.png" width="30" height="30" border="0" title="Kein Avatar">';
    } 
    
    $erg = db_query('SELECT id, name, userpict FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"');
    $row = db_fetch_object($erg);
     
    if ( file_exists($row->userpict)) {
    $userpict = '<a href="index.php?user-8"><img src="'.$row->userpict.'" width="30" height="30" border="0" title="Userbild">';
    }else{
    $userpict = '<a href="index.php?user-8" ><img src="include/images/avatars/keinavatar.png" width="30" height="30" border="0" title="Kein USerbild">';
    } 
    
    
    # USERGB START
            $usergb = db_query("SELECT COUNT(id) FROM `prefix_usergb` WHERE uid = ".$_SESSION['authid']."");
            $eintrage = db_result($usergb,0);
            $usergb2 = '<a class="box" href="index.php?user-usergb-view-'.$_SESSION['authid'].'">Mein Gästebuch</a>&nbsp;('.$eintrage.')<br>';
        
            $tpl->set ( 'USERGB' , $usergb2 );
    # USERGB ENDE    
            $tpl->set ( 'SID' , session_id() );
            $tpl->set ( 'NACHRICHTEN' , $nachrichten_link );
            $tpl->set ( 'NAME', $_SESSION['authname'] );
    	 $tpl->set ( 'ID', $_SESSION['authid'] );
    	 $tpl->set ( 'BEITRAG' , $beitrag );
    	 $tpl->set ( 'POPUP', check_for_pm_popup() );
    	$tpl->set ( 'AVATAR' , $avatar );
    	$tpl->set ( 'USERBILD' , $userpict );
        $tpl->out (0);        
    } else {
      if (empty($_POST['login_name'])) { $_POST['login_name'] = 'Nickname'; }
        if (empty($_POST['login_pw'])) { $_POST['login_pw'] = 'ääääääää'; }
        $regist = '';
        if ( $allgAr['forum_regist'] == 1 ) {
          $regist = '<table width="80px" border="0" cellspacing="1" class="none" cellpadding="1" align="center"><tr><td class="Chead"><center><a href="index.php?user-regist"><strong><font size="1" color="#b68400">[</font> <font size="1">Registrieren</font> <font size="1" color="#b68400">]</font></strong></td></tr></table></a></div></center>';
        }
        $tpl->set_ar_out ( array ( 'regist' => $regist, 'wdlink' => '?'.$allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' => $_POST['login_name'] ) , 1 );
    }
    unset($tpl);
    ?>



    Zuletzt modifiziert von sCar am 25.10.2010 - 14:21:06
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    mit dem ilchbb -Modul von Flomavali sollte es funktionieren
    ansonsten müsste ich eine extra Funktion dazu schreiben
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Bei mir schaut die login.php bissle anders aus, nu weiss ich nicht, wie ichs einfügen kann weinen

    hier mal mein code
    <?php
    // Copyright by Manuel Staechele
    // Support www.ilch.de
    defined ('main') or die ('no direct access');
    
    $tpl = new tpl ('user/boxen_login.htm');
    
    if (loggedin()) {
        if (user_has_admin_right($menu, false)) {
            $tpl->set ('ADMIN', '<a class="box" href="admin.php?admin">' . $lang['adminarea'] . '</a>');
        } else {
            $tpl->set ('ADMIN', '');
        }
    
        $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = " . $_SESSION['authid']);
        $check_pm = db_result($erg, 0);
    
        $tpl->set ('SID' , session_id());
        // $tpl->set ( 'NACHRICHTEN' , $nachrichten_link );
        $tpl->set ('NAME', $_SESSION['authname']);
        $tpl->set ('UID', $_SESSION['authid']);
        $tpl->out (0);
    
        if ($check_pm > 0) {
            echo '<script type="text/javascript"> $(document).ready(hover);</script>';
            check_for_pm_popup(true);
        }
    } else {
        if (empty($_POST['login_name'])) {
            $_POST['login_name'] = 'Nickname';
        }
        if (empty($_POST['login_pw'])) {
            $_POST['login_pw'] = 'ääääääää';
        }
        $regist = '';
        if ($allgAr['forum_regist'] == 1) {
            $regist = ' &nbsp; &nbsp; <a href="index.php?user-regist">Regist</a>';
        }
        $tpl->set_ar_out (array ('regist' => $regist, 'wdlink' => '?' . $allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' => $_POST['login_name']) , 1);
    }
    unset($tpl);
    
    ?>


    Liebe Grüße und THX für die Hilfe
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Niemand ne Idee? weinen
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    echo '<script type="text/javascript"> $(document).ready(hover);
    window.setInterval(function() {
       document.title = document.title == "Seitentitel" ? "Neue Nachrichten" : "Seitentitel";
    }, 1000);
    </script>';


    Nicht getestet, aber könnte funktionieren.


    Zuletzt modifiziert von Mairu am 27.11.2010 - 22:05:29
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Danke dir, haut fast hin zwinker
    Problem, er zieht den Seitentitel nicht, sondern im Tab wird dann immer zwischen den beiden Wörtern gewechselt.

    Seitentitel, Neue Nachricht

    Ich denke mal statt Seitentitel wäre es besser, wenn der Seitentitel dann wirklich da stehen würde zwinker
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    Seitentitel durch {titel} ersetzen...

    und ja, das "blinken" ist nur ein wechsel zwischen 2 oder mehr wörtern
    anders gehts nicht


    Zuletzt modifiziert von GeCk0 am 28.11.2010 - 10:51:49
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Dann steht {titel} da.

    Folgenden Code:

            echo '<script type="text/javascript"> $(document).ready(hover);
    window.setInterval(function() {
       document.title = document.title == "{titel}" ? "Neue Nachrichten" : "{titel}";
    }, 1000);
    </script>';


    Noch ne frage, kann man es so machen, das eine abfrage alle 5 Minuten oder so gestartet wird und falls man eine pn hat, dass dann eben das blinken kommt?

    Denn Sinn des ganzen ist es ja, falls man sich auf anderen Seiten befindet, dass man dann darauf aufmerksam gemacht wird, dass man eine pn hat^^
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    ähh warum echo ?

    javascript gehört in den html-code rein, und dann geht auch der {title}-platzhalter...

    und ja man kann es automatisch reloaden
    dafür musst du ein div um einen bereich packen, also der loginbox, welches du dann per javascript neu lädst...

    also z.b. <div id="loginbox">{_boxes_login}</div>

    und dann das div alle x sekunden neu laden lassen

    wobei die folgenden 20000 20sec entsprechen
        	<script>
    		   var refreshId = setInterval(function() {
    			  $("#loginbox").load('include/boxes/user_login.php&randval='+ Math.random());
    		   }, 20000);
    		</script>
    evtl noch die loginbox-pfad-angabe und die div-id anpassen


    Zuletzt modifiziert von GeCk0 am 28.11.2010 - 11:57:34
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Also das war mir jetzt leider zu viel Info und verwirrt mich ein wenig.

    Was genau muss ich machen das der titel hin haut?

    Und das mit dem Script zum neu laden, check ich gar nicht weinen Ich weiss weder in welche datein, noch zwischen welchen code das ganze muss weinen
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja ich dachte du fügst deinen Seitentitel ein, man kann den natürlich vorher in eine Variable auslagern.

    echo '<script type="text/javascript"> $(document).ready(hover);
    var sitetitle = document.title;
    window.setInterval(function() {
       document.title = document.title == sitetitle ? "Neue Nachrichten" : sitetitle;
    }, 1000);
    </script>';
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Botox84 Mitglied
    Registriert seit
    09.08.2006
    Beiträge
    1.190
    Beitragswertungen
    21 Beitragspunkte
    Super danke, haut hin zwinker
    Nun fehlt nur noch die 5 Minuten Abfrage^^
    Denn das hab ich leider nicht verstanden wie ich das machen soll weinen
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    marco1978 Mitglied
    Registriert seit
    03.12.2008
    Beiträge
    116
    Beitragswertungen
    1 Beitragspunkte
    Hallo

    ich habe das mal bei mir eingebaut das lauft nicht

    ich bekomme das nicht hin

    <div id="loginbox">{_boxes_login}</div>


    <script>
               var refreshId = setInterval(function() {
                  $("#loginbox").load('include/boxes/user_login.php&randval='+ Math.random());
               }, 20000);
            </script>
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    royal Mitglied
    Registriert seit
    20.01.2011
    Beiträge
    111
    Beitragswertungen
    0 Beitragspunkte
    Bei mir geht es auch leider nicht.

    Wie wäre es wenn jemand mal so nett wäre ein kleines Modul/Box dafür zu schreiben ?

    Die dann auch wirklich zu 100 % funktioniert wenn man die Standart ilch Loginbox nutz.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten