ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » IM Messenger

Geschlossen
  1. #1
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Hallo!
    Ich habe den IM Messenger installiert, bin genau nach Anwesing vorgegangen und habe alle nötigen Dateien bearbeitet. Allerdings öffnet sich bei mir das Chatfenster nicht und ich bekomme folgende Fehlermeldungen im Firefox.

    Fehler: $.ajax is not a function
    Quelldatei: gdf.gilde-web.de/include/includes/js/messenger.js
    Zeile: 330

    Fehler: $("#chatbox_" + chatboxtitle) is null
    Quelldatei: gdf.gilde-web.de/include/includes/js/messenger.js
    Zeile: 70

    Vielleicht hat einer von Euch eine Idee.
    lg
    Sarah
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Hat denn keiner eine Idee? Ich denke, es liegt an bereits installierten Modulen, da auf einer nativen Ilch-Installation der Messenger bestens funktioniert.

    Hier ein Auszug meiner index.htm
    <head>
    <title>{TITLE}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    
    <meta name="keywords" content="GdF, GdF2, GdF II, Geistige Fragmente der Finsternis, Guild Wars, Factions, Prophecies, Eye of the North,
    GWEN, EoN, Night Fall, Nigthfall, Tor der Pein, TdP, Speedrun, Rekord, Gilde, Neo, Neo Van Alemania, Crow, Demo, Meisterin Ayda, Pia, 
    Raido, Sarah, Shady,  Bernd, Johannes, Syra, Dante ">
    
    <link rel="stylesheet" type="text/css" href="include/designs/GdF/style.css">
    <link rel="shortcut icon" href="include/designs/GdF/img/gdf.ico">
    
    <script type="text/javascript" src="include/includes/js/jquery.js"></script> 
        <script type="text/javascript" src="include/includes/js/messenger.js"></script> 
        <link type="text/css" rel="stylesheet" media="all" href="include/includes/css/messenger/chat.css" /> 
        <link type="text/css" rel="stylesheet" media="all" href="include/includes/css/messenger/screen.css" /> 
     
        <!--[if lte IE 7]> 
        <link type="text/css" rel="stylesheet" media="all" href="include/includes/css/messenger/screen_ie.css" /> 
        <![endif]-->
    
    <script type="text/javascript" src="include/includes/gwbbcode/overlib.js"></script> 
    <script type="text/javascript" src="include/includes/js/BBCodeGlobal.js"></script>
    
    
    
    <script type="text/javascript" src="include/includes/js/lightbox/js/prototype.js"></script> 
    <script type="text/javascript" src="include/includes/js/lightbox/js/scriptaculous.js?load=effects"></script> 
    <script type="text/javascript" src="include/includes/js/lightbox/js/lightbox.js"></script> 
    <link rel="stylesheet" href="include/includes/js/lightbox/css/lightbox.css" type="text/css" media="screen" />
    
    <script type="text/javascript" src="http://www.buffed.de/js/buffed-ext-wow-tooltips.js"></script>
    <script type="text/javascript" src="include/includes/js/b3k.js"></script>
    <link href="include/includes/css/raidplaner.css" rel="stylesheet" type="text/css" />
    
    
    
    
    </head>
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    KoernerWS gelöschter User
    Fehler: Du nutzt verschiedene Javascript-Frameworks. Das Modul arbeitet aber nur mit jQuery und geht davon aus, dass nur dieses geladen wird.

    Lösung: Ganz auf jQuery umsteigen (Jedes Modul bei ilch sollte es bereits in jQuery-Version geben) oder halt noConflict - aber das dürfen dir die anderen erklären.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Danke für Deine Antwort.
    Ganz auf jQuery umstellen schaffe ich wohl net, aber die noConflict Funktion scheint mir machbar. Allerdings habe ich dabei ein klitzekleines Problem: wie stelle ich das am Besten an? zwinker

    Ein bisschen habe ich mich schon schlau gemacht und ich muss wohl $ entweder bei der lightbox und bei der overlib.js oder bei der jQuery anders übergeben. Bis jetzt sind aber alle meine Versuche kläglich gescheitert. Mir fehlt einfach das KnowHow dazu. :'(
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Welche Ilch Version nutzt du?
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Ich verwende die Ilch-Version 1.1.O.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Kann mir denn keiner weiterhelfen? traurig
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Hast du in der messenger.js schon selbst Änderungen gemacht, denn da steht ja jetzt $j an machen Stellen, das mit dem noConflict sollte eigentlich gar nicht so schwer sein.

    (function($) {
      //Hier drinnen kann nun jQuery Code stehen der auch $ benutzen kann
    })(jQuery);


    Damit müsstest du wohl die Stellen Code umschließen, die das jQuery $ benutzen und dann noch einmal
    jQuery.noConflict();
    woanders, um $ nicht für jQuery an anderen Stellen zu verwenden.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Mein Denkansatz war folgender: in der index.html nach dem Laden der Scripte noConflicht aufzurufen und anstatt $, $j weiterzugeben. Daher habe ich auch eine Zeile in der messenger.js verändert.

    Wenn ich Dich richtig verstehe, muss ich nur direkt in der messenger.js herumbasteln.

    Sorry aber ich bin ein echter Laie, sobald es über einen html-Code hinaus geht. zwinker
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja das noConflict sollte schon nach dem Laden der Scripte aufgerufen, wobei damit eigentlich nur die Frameworks gemeint sind, also nicht die messenger.js und dann sollte die Änderung in der messenger.js nur dann reichen, wenn woanders nicht $ für jQuery benutzt wird, das weiß ich nicht.

    Zu deinem Ansatz, man kann ja auch ein $j definieren und dieses dann verwenden, nur müssen dann wirklich alle Vorkommen von $ die für jQuery stehen, auch durch $j ersetzt werden, und du hattest ja nur ein paar wenige ersetzt, soweit ich das gesehen hab.


    Zuletzt modifiziert von Mairu am 05.01.2011 - 13:30:43
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Jetzt habe ich brav einiges geändert und die Fehlermeldungen reduzieren sich. Allerdings erscheint jetzt eine neue.

    Fehler: chatWith is not defined
    Quelldatei: gdf.gilde-web.de/index.php?user-details-3
    Zeile: 1
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      
      <html>
    <head>
    <title>{TITLE}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    
    <meta name="keywords" content="GdF, GdF2, GdF II, Geistige Fragmente der Finsternis, Guild Wars, Factions, Prophecies, Eye of the North,
    GWEN, EoN, Night Fall, Nigthfall, Tor der Pein, TdP, Speedrun, Rekord, Gilde, Neo, Neo Van Alemania, Crow, Demo, Meisterin Ayda, Pia, 
    Raido, Sarah, Shady,  Bernd, Johannes, Syra, Dante ">
    
    <link rel="stylesheet" type="text/css" href="include/designs/GdF/style.css">
    <link rel="shortcut icon" href="include/designs/GdF/img/gdf.ico">
    
    
    
    
    <script type="text/javascript" src="include/includes/gwbbcode/overlib.js"></script> 
    <script type="text/javascript" src="include/includes/js/BBCodeGlobal.js"></script>
    
    
    
    <script type="text/javascript" src="include/includes/js/lightbox/js/prototype.js"></script> 
    <script type="text/javascript" src="include/includes/js/lightbox/js/scriptaculous.js?load=effects"></script> 
    <script type="text/javascript" src="include/includes/js/lightbox/js/lightbox.js"></script> 
    <link rel="stylesheet" href="include/includes/js/lightbox/css/lightbox.css" type="text/css" media="screen" />
    
    
    <script type="text/javascript" src="http://www.buffed.de/js/buffed-ext-wow-tooltips.js"></script>
    <script type="text/javascript" src="include/includes/js/b3k.js"></script>
    <link href="include/includes/css/raidplaner.css" rel="stylesheet" type="text/css" />
    
    
    <script type="text/javascript" src="include/includes/js/jquery.js"></script> 
    
    <script>jQuery.noConflict();</script>
        <script type="text/javascript" src="include/includes/js/messenger.js"></script> 
        <link type="text/css" rel="stylesheet" media="all" href="include/includes/css/messenger/chat.css" /> 
        <link type="text/css" rel="stylesheet" media="all" href="include/includes/css/messenger/screen.css" /> 
     
        <!--[if lte IE 7]> 
        <link type="text/css" rel="stylesheet" media="all" href="include/includes/css/messenger/screen_ie.css" /> 
        <![endif]-->
    
    
    
    
    
    
    </head>


    Hier meine user_details.php
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    #if (loggedin()) {
    #// [..]
    #}
    #else {
    #header('Location: http:index.php?self-recht');
    #}
    
    #if ( $_SESSION['authright'] >= -3 ) { 
    #    die ('Zugriff nur für Member'); 
    #}
    
    
    
    if ( $_SESSION['authright'] >= -1 ) { 
       header('Location: http:index.php?self-recht'); 
    }
    
    $uid = $menu->get(2);
    
    include('user_infos.php');
    
    $ar = array (
    	'UID' => $uid,
    	
      'NAME' => $row['name'],
    	'JOINED'  => date('d.m.Y',$row['regist']),
    	'LASTAK'  => date('d.m.Y - H:i',$row['llogin']),
    	'POSTS'   => $row['posts'],
    	'postpday' => $postpday,
    	'RANG'    => userrang ($row['posts'],$uid),
    	'AVATA'   => $avatar,
    	'ONLINE' => $online,
    	'USERTITEL' => $usertitel,
    	'EMAIL' => $email,
    	'HOMEPAGE' => $homepage,
    	'GESCHLECHT' => $geschlecht,
    	'GEBDATUM' => $gebdatum,
    	'ALTER' => $alter,
    	'WOHNORT' => $wohnort,
    	'FORUMTOPICS' => $row4['forumtopics'],
    	'NEWSTOPICS' => $row5['newstopics'],
    	'NEWSPOSTS' => $row6['newsposts'],
    	'FORUMPOSTS' => $row7['forumposts'],
    	'SIGNATUR' => $row['sig'],
    	'STAAT' => $staat,
    	
    	'STERNZEICHEN' => $sternzeichen,
    	'GB_EINTRAEGE' => $gb_eintraege,
    	'GALLERIE_EINTRAEGE' => $gallery_eintraege,
    	'ICQ' => $icq,
    );
    
    		
    $title = $allgAr['title'].' :: Users :: Details von '.$row['name'];
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> &raquo; </b> <a href=index.php?user-details-'.$uid.'>Details von '.$row['name']."</a>".$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    $tpl = new tpl ( 'user/userdetails' );
    
     
    $l = profilefields_show ( $uid ); 
    
    
    
    $ar['rowspan'] = 4 + substr_count($l, '<tr><td class="');
    
    $ar['profilefields'] = $l;
    $tpl->set_ar_out($ar,0);
    $design->footer();
    
    ?>


    und die userdetails.htm
    <!--<a href="javascript:history.back(1)"><b>&laquo;</b> {_lang_back}</a>
    <br />
    <br />
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border">
      <tr class="Chead"> 
        <th colspan="3"><b>{_lang_detailsfrom} {NAME}</b></th>
      </tr><tr>
        <td class="Cmite" width="30%">{_lang_nickname}</td>
        <td class="Cnorm" width="40%">{NAME}</td>
        <td class="Cnorm" width="30%" rowspan="{rowspan}" valign="top" align="center">
    		  {AVATA}
    			<br /><br />
    			<font class="smalfont">{RANG}</font>
    
    
    		</td>
      </tr><tr>
        <td class="Cmite">{_lang_regsince}</td>
        <td class="Cnorm">{JOINED}</td>
      </tr><tr>
        <td class="Cmite">{_lang_lastactivity}</td>
        <td class="Cnorm">{LASTAK}</td>
      </tr><tr>
        <td class="Cmite">{_lang_posts2}</td>
        <td class="Cnorm">{POSTS}, {_lang_perday}: {postpday}</td>
      </tr>
    	
    {profilefields}
    	
    </table>
    
    <br />
    <a href="javascript:history.back(1)"><b>&laquo;</b> {_lang_back}</a>-->
    <br />
    
    <script language="javascript" type="text/javascript">
    	function details()
    	{
    		if(document.getElementById('more_details').style.display=='block'){
    			document.getElementById('more_details').style.display='none';
    		}else{
    			document.getElementById('more_details').style.display='block';
    		}
    	}
    </script>
    
    <table border="0" width="100%">
    	<tr>
    		<td colspan="2" style="padding-left:8px;" width="300" height="25"><u><b>&bull; Personal Info</b></u></td>
    		<td colspan="2" style="padding-left:8px;" width="270" height="25"><u><b>&bull; Userpic</b></u></td>
    	</tr><tr>
    		<td width="15%" height="25">Nickname</td>
    		<td height="25">{NAME}</td>
    		<td colspan="2" valign="top" align="center" rowspan="13" style="vertical-align:middle">{AVATA}</td>
    	</tr><tr>
    		<td height="25">Status</td>
    		<td height="25">{ONLINE}</td>
    	</tr><tr>
    		<td height="25">Titel</td>
    		<td height="25">{USERTITEL}</td>
    	</tr><tr>
    		<td height="25">Kontakt</td>
    		<td height="25">{EMAIL}</td>
    	</tr><tr>
    		<td height="25">ICQ</td>
    		<td height="25">{ICQ}</td>
    	</tr><tr>
    		<td height="25">Homepage</td>
    		<td height="25">{HOMEPAGE}</td>
    	</tr><tr>
    		<td height="25">Geschlecht</td>
    		<td height="25">{GESCHLECHT}</td>
    	</tr><tr>
    		<td height="25">Geburtstag</td>
    		<td height="25">{GEBDATUM} {ALTER}</td>
    	</tr><tr>
    		<td height="25">Sternzeichen</td>
    		<td height="25">{STERNZEICHEN}</td>
    	</tr><tr>
    		<td height="25">Wohnort</td>
    		<td height="25">{WOHNORT} {STAAT}</td>
    	</tr><tr>
    		<td height="25">Registriert</td>
    		<td height="25">{JOINED}</td>
    	</tr><tr>
    		<td height="25">Last Login</td>
    		<td height="25">{LASTAK} Uhr</td>
    	</tr><tr><td colspan="4">&nbsp;</td></tr><tr>
    		<td colspan="2" style="padding-left:8px;" width="320" height="25"><u><b>&bull; More Infos</b></u></td>
    		<td colspan="2" style="padding-left:8px;" width="250" height="25"><u><b>&bull; Statistic</b></u></td>
    	</tr><tr>
    		<td height="25">Usergallerie</td>
    		<td height="25">{GALLERIE_EINTRAEGE} (<a href="index.php?user-usergallery-{UID}">ansehen)</a></td>
    		<td height="25" width="20%">Forumtopics</td>
    		<td height="25">{FORUMTOPICS}</td>
    	</tr><tr>
    		<td height="25">Private Nachricht</td>
    		<td height="25"><a href="index.php?forum-privmsg-new=0&empfid={UID}">schreiben</a></td>
    		<td height="25">Newstopics</td>
    		<td height="25">{NEWSTOPICS}</td>
    	</tr><tr>
    		<td height="25">Chat</td>
    		<td height="25"><a href="javascript:void(0)" onclick="javascript:chatWith({UID},'{NAME}')">IM Fenster &ouml;ffnen</a></td>
    		<td height="25">Newsposts</td>
    		<td height="25">{NEWSPOSTS}</td>
    	</tr><tr>
    		<td height="25"></td>
    		<td height="25"></div></td>
    		<td height="25">Forumposts</td>
    		<td height="25">{POSTS}</td>
    	</tr><tr><td colspan="4">&nbsp;</td></tr><tr>
    		<td colspan="4" style="padding-left:8px;" width="320" height="25"><u><b>&bull; Signatur</b></u></td>
    	</tr><tr>
    		<td height="25" colspan="4" valign="top">{SIGNATUR}</td>
    	</tr><tr><td colspan="4">&nbsp;</td></tr><tr>
    		<td colspan="4"><div id="more_details" style="display:none"><table>{profilefields}</table></div></td>
    	</tr>
    </table>
    
    <br />
    <a href="javascript:history.back(1)"><b>&laquo;</b> {_lang_back}</a>
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich bin da auch kein Profi, allerdings hab ich gerade getestet wie das mit Funktionen läuft, und wenn man Funktionen innerhalb eines solchen Blockes definiert, dann ist sie lokal und kann nicht von außerhalb aufgerufen werden, du hast mehrere Blöcke, weshalb beim Aufruf der Startseite z.B. ein Fehler kommt startChatSession is not defined da der Aufruf und die Definition nicht im gleichem Block erfolgt.

    Allerdings kann man die Funktion in einer anderen Form definieren und dann hat es bei mir funktioniert, hier mein Testbeispiel.

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script type="text/javascript">
    	jQuery.noConflict();
        (function($) {
            $(document).ready(function() {
                console.log('started');
                myFunc();
            });
    
        })(jQuery);
        (function($) {
            //So funktionert es nicht
            function myFunc(){
                $('<div/>').html('es passiert etwas').insertAfter('#content');
            }
        
            //So gehts
            myFunc = function() {
                $('<div/>').html('es passiert etwas').insertAfter('#content');
            }
        })(jQuery);
    </script>
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Jetzt habe ich mich wieder etwas herumgespielt, aber wie ich es auch anstelle, ich bekomme es einfach nicht hin.
    Sorry, es ist mir eben einfach zu hoch. :'(
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja ich hab jetzt mal die messenger.js so geändert wie ich denke, dass es richtig wäre, kannst aber nicht testen oder so.

    Das noConflict sollte aber vielleicht schon in die index.htm direkt unter dem Laden von jQuery selbst.

    /*
    Copyright (c) 2009 Anant Garg (anantgarg.com | inscripts.com)
    Modified 2009 Florian Koerner (ilch.de | Flomavali)
    
    This script may be used for non-commercial purposes only. For any
    commercial purposes, please contact the author at
    anant.garg@inscripts.com
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    OTHER DEALINGS IN THE SOFTWARE.
    
    */
    
    var windowFocus = true;
    var username;
    var chatHeartbeatCount = 0;
    var minChatHeartbeat = 1000;
    var maxChatHeartbeat = 33000;
    var chatHeartbeatTime = minChatHeartbeat;
    var originalTitle;
    var blinkOrder = 0;
    
    var chatboxFocus = new Array();
    var newMessages = new Array();
    var newMessagesWin = new Array();
    var chatBoxes = new Array();
    
    
    
    jQuery.noConflict();
    (function($) {
        $(document).ready(function(){
            originalTitle = document.title;
            startChatSession();
            $([window, document]).blur(function(){
                windowFocus = false;
            }).focus(function(){
                windowFocus = true;
                document.title = originalTitle;
    
            });
        });
    
        restructureChatBoxes = function() {
        	align = 0;
        	for (x in chatBoxes) {
        		chatboxuid = chatBoxes[x];
        
        		if ($("#chatbox_"+chatboxuid).css('display') != 'none') {
        			if (align == 0) {
        				$("#chatbox_"+chatboxuid).css('right', '20px');
        			} else {
        				width = (align)*(225+7)+20;
        				$("#chatbox_"+chatboxuid).css('right', width+'px');
        			}
        			align++;
        		}
        	}
        }
        
        
        
        
        chatWith = function(chatuserid,chatuser) {
        	createChatBox(chatuserid,chatuser);
        	$("#chatbox_"+chatuserid+" .chatboxtextarea").focus();
        }
        
        createChatBox = function(chatboxuid,chatboxtitle,minimizeChatBox) {
        	if ($("#chatbox_"+chatboxtitle).length > 0) {
        		if ($("#chatbox_"+chatboxuid).css('display') == 'none') {
        			$("#chatbox_"+chatboxuid).css('display','block');
        			restructureChatBoxes();
        		}
        		$("#chatbox_"+chatboxuid+" .chatboxtextarea").focus();
        		return;
        	}
        
        	$(" <div />" ).attr("id","chatbox_"+chatboxuid)
        	.addClass("chatbox")
        	.html('<div class="chatboxhead"><div class="chatboxtitle">'+chatboxtitle+'</div><div class="chatboxoptions"><a href="javascript:void(0)" onclick="javascript:toggleChatBoxGrowth(\''+chatboxuid+'\')">-</a> <a href="javascript:void(0)" onclick="javascript:closeChatBox(\''+chatboxuid+'\')">X</a></div><br clear="all"/></div><div class="chatboxcontent"></div><div class="chatboxinput"><textarea class="chatboxtextarea" onkeydown="javascript:return checkChatBoxInputKey(event,this,\''+chatboxuid+'\');"></textarea></div>')
        	.appendTo($( "body" ));
        			   
        	$("#chatbox_"+chatboxuid).css('bottom', '0px');
        	
        	chatBoxeslength = 0;
        
        	for (x in chatBoxes) {
        		if ($("#chatbox_"+chatBoxes[x]).css('display') != 'none') {
        			chatBoxeslength++;
        		}
        	}
        
        	if (chatBoxeslength == 0) {
        		$("#chatbox_"+chatboxuid).css('right', '20px');
        	} else {
        		width = (chatBoxeslength)*(225+7)+20;
        		$("#chatbox_"+chatboxuid).css('right', width+'px');
        	}
        	
        	chatBoxes.push(chatboxuid);
        
        	if (minimizeChatBox == 1) {
        		minimizedChatBoxes = new Array();
        
        		if ($.cookie('chatbox_minimized')) {
        			minimizedChatBoxes = $.cookie('chatbox_minimized').split(/\|/);
        		}
        		minimize = 0;
        		for (j=0;j<minimizedChatBoxes.length;j++) {
        			if (minimizedChatBoxes[j] == chatboxuid) {
        				minimize = 1;
        			}
        		}
        
        		if (minimize == 1) {
        			$('#chatbox_'+chatboxuid+' .chatboxcontent').css('display','none');
        			$('#chatbox_'+chatboxuid+' .chatboxinput').css('display','none');
        		}
        	}
        
        	chatboxFocus[chatboxuid] = false;
        
        	$("#chatbox_"+chatboxuid+" .chatboxtextarea").blur(function(){
        		chatboxFocus[chatboxuid] = false;
        		$("#chatbox_"+chatboxuid+" .chatboxtextarea").removeClass('chatboxtextareaselected');
        	}).focus(function(){
        		chatboxFocus[chatboxuid] = true;
        		newMessages[chatboxuid] = false;
        		$('#chatbox_'+chatboxuid+' .chatboxhead').removeClass('chatboxblink');
        		$("#chatbox_"+chatboxuid+" .chatboxtextarea").addClass('chatboxtextareaselected');
        	});
        
        	$("#chatbox_"+chatboxuid).click(function() {
        		if ($j('#chatbox_'+chatboxuid+' .chatboxcontent').css('display') != 'none') {
        			$j("#chatbox_"+chatboxuid+" .chatboxtextarea").focus();
        		}
        	});
        
        	$j("#chatbox_"+chatboxuid).show();
        }
        
        
        chatHeartbeat = function(){
        
        	var itemsfound = 0;
        	
        	if (windowFocus == false) {
         
        		var blinkNumber = 0;
        		var titleChanged = 0;
        		for (x in newMessagesWin) {
        			if (newMessagesWin[x] == true) {
        				++blinkNumber;
        				if (blinkNumber >= blinkOrder) {
        					document.title = x+' says...';
        					titleChanged = 1;
        					break;
        				}
        			}
        		}
        		
        		if (titleChanged == 0) {
        			document.title = originalTitle;
        			blinkOrder = 0;
        		} else {
        			++blinkOrder;
        		}
        
        	} else {
        		for (x in newMessagesWin) {
        			newMessagesWin[x] = false;
        		}
        	}
        
        	for (x in newMessages) {
        		if (newMessages[x] == true) {
        			if (chatboxFocus[x] == false) {
        				//FIXME: add toggle all or none policy, otherwise it looks funny
        				$('#chatbox_'+x+' .chatboxhead').toggleClass('chatboxblink');
        			}
        		}
        	}
        	
        	$.ajax({
        	  url: "index.php?messenger=chatheartbeat",
        	  cache: false,
        	  dataType: "json",
        	  success: function(data) {
        
        		$.each(data.items, function(i,item){
        			if (item)	{ // fix strange ie bug
        
        				chatboxtitle = item.f;
        				chatboxuid = item.i;
        
        				if ($("#chatbox_"+chatboxuid).length <= 0) {
        					createChatBox(chatboxuid,chatboxtitle);
        				}
        				if ($("#chatbox_"+chatboxuid).css('display') == 'none') {
        					$("#chatbox_"+chatboxuid).css('display','block');
        					restructureChatBoxes();
        				}
        				
        				if (item.s == 1) {
        					item.f = username;
        				}
        
        				if (item.s == 2) {
        					$("#chatbox_"+chatboxuid+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxinfo">'+item.m+'</span></div>');
        				} else {
        					newMessages[chatboxuid] = true;
        					newMessagesWin[chatboxuid] = true;
        					$("#chatbox_"+chatboxuid+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxmessagefrom">'+item.f+':&nbsp;&nbsp;</span><span class="chatboxmessagecontent">'+item.m+'</span></div>');
        				}
        
        				$("#chatbox_"+chatboxuid+" .chatboxcontent").scrollTop($("#chatbox_"+chatboxuid+" .chatboxcontent")[0].scrollHeight);
        				itemsfound += 1;
        			}
        		});
        
        		chatHeartbeatCount++;
        
        		if (itemsfound > 0) {
        			chatHeartbeatTime = minChatHeartbeat;
        			chatHeartbeatCount = 1;
        		} else if (chatHeartbeatCount >= 10) {
        			chatHeartbeatTime *= 2;
        			chatHeartbeatCount = 1;
        			if (chatHeartbeatTime > maxChatHeartbeat) {
        				chatHeartbeatTime = maxChatHeartbeat;
        			}
        		}
        		
        		setTimeout('chatHeartbeat();',chatHeartbeatTime);
        	}});
        }
        
        closeChatBox = function(chatboxuid) {
        	$('#chatbox_'+chatboxuid).css('display','none');
        	restructureChatBoxes();
        
        	$.post("index.php?messenger=closechat", { chatbox: chatboxuid} , function(data){
        	});
        
        }
        
        toggleChatBoxGrowth = function(chatboxuid) {
        	if ($('#chatbox_'+chatboxuid+' .chatboxcontent').css('display') == 'none') {
        		
        		var minimizedChatBoxes = new Array();
        		
        		if ($.cookie('chatbox_minimized')) {
        			minimizedChatBoxes = $.cookie('chatbox_minimized').split(/\|/);
        		}
        
        		var newCookie = '';
        
        		for (i=0;i<minimizedChatBoxes.length;i++) {
        			if (minimizedChatBoxes[i] != chatboxuid) {
        				newCookie += chatboxuid+'|';
        			}
        		}
        
        		newCookie = newCookie.slice(0, -1)
        
        
        		$.cookie('chatbox_minimized', newCookie);
        		$('#chatbox_'+chatboxuid+' .chatboxcontent').css('display','block');
        		$('#chatbox_'+chatboxuid+' .chatboxinput').css('display','block');
        		$("#chatbox_"+chatboxuid+" .chatboxcontent").scrollTop($("#chatbox_"+chatboxuid+" .chatboxcontent")[0].scrollHeight);
        	} else {
        		
        		var newCookie = chatboxuid;
        
        		if ($.cookie('chatbox_minimized')) {
        			newCookie += '|'+$.cookie('chatbox_minimized');
        		}
        
        
        		$.cookie('chatbox_minimized',newCookie);
        		$('#chatbox_'+chatboxuid+' .chatboxcontent').css('display','none');
        		$('#chatbox_'+chatboxuid+' .chatboxinput').css('display','none');
        	}
        	
        }
        
        checkChatBoxInputKey = function(event,chatboxtextarea,chatboxuid) {
        	 
        	if(event.keyCode == 13 && event.shiftKey == 0)  {
        		message = $(chatboxtextarea).val();
        		message = message.replace(/^\s+|\s+$/g,"");
        
        		$(chatboxtextarea).val('');
        		$(chatboxtextarea).focus();
        		$(chatboxtextarea).css('height','44px');
        		if (message != '') {
        			$.post("index.php?messenger=sendchat", {eid: chatboxuid, txt: message} , function(data){
        				message = message.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;");
        				$("#chatbox_"+chatboxuid+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxmessagefrom">'+username+':&nbsp;&nbsp;</span><span class="chatboxmessagecontent">'+message+'</span></div>');
        				$("#chatbox_"+chatboxuid+" .chatboxcontent").scrollTop($("#chatbox_"+chatboxuid+" .chatboxcontent")[0].scrollHeight);
        			});
        		}
        		chatHeartbeatTime = minChatHeartbeat;
        		chatHeartbeatCount = 1;
        
        		return false;
        	}
        
        	var adjustedHeight = chatboxtextarea.clientHeight;
        	var maxHeight = 94;
        
        	if (maxHeight > adjustedHeight) {
        		adjustedHeight = Math.max(chatboxtextarea.scrollHeight, adjustedHeight);
        		if (maxHeight)
        			adjustedHeight = Math.min(maxHeight, adjustedHeight);
        		if (adjustedHeight > chatboxtextarea.clientHeight)
        			$(chatboxtextarea).css('height',adjustedHeight+8 +'px');
        	} else {
        		$(chatboxtextarea).css('overflow','auto');
        	}
        	 
        }
        
        
        
        startChatSession = function(){
        	$.ajax({
        	  url: "index.php?messenger=startchatsession",
        	  cache: false,
        	  dataType: "json",
        	  success: function(data) {
         
        		username = data.username;
        
        		$.each(data.items, function(i,item){
        			if (item)	{ // fix strange ie bug
        
        				chatboxtitle = item.f;
        				chatboxuid = item.i;
        
        				if ($("#chatbox_"+chatboxuid).length <= 0) {
        					createChatBox(chatboxuid,chatboxtitle,1);
        				}
        				
        				if (item.s == 1) {
        					item.f = username;
        				}
        
        				if (item.s == 2) {
        					$("#chatbox_"+chatboxuid+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxinfo">'+item.m+'</span></div>');
        				} else {
        					$("#chatbox_"+chatboxuid+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxmessagefrom">'+item.f+':&nbsp;&nbsp;</span><span class="chatboxmessagecontent">'+item.m+'</span></div>');
        				}
        			}
        		});
        		
        		for (i=0;i<chatBoxes.length;i++) {
        			chatboxuid = chatBoxes[i];
        			$("#chatbox_"+chatboxuid+" .chatboxcontent").scrollTop($("#chatbox_"+chatboxuid+" .chatboxcontent")[0].scrollHeight);
        			setTimeout('$("#chatbox_"+chatboxuid+" .chatboxcontent").scrollTop($("#chatbox_"+chatboxuid+" .chatboxcontent")[0].scrollHeight);', 100); // yet another strange ie bug
        		}
        	
        	setTimeout('chatHeartbeat();',chatHeartbeatTime);
        		
        	}});
        }
    })(jQuery);
    
    /**
     * Cookie plugin
     *
     * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
     * Dual licensed under the MIT and GPL licenses:
     * http://www.opensource.org/licenses/mit-license.php
     * http://www.gnu.org/licenses/gpl.html
     *
     */
    jQuery.cookie = function(name, value, options) {
        if (typeof value != 'undefined') { // name and value given, set cookie
            options = options || {};
            if (value === null) {
                value = '';
                options.expires = -1;
            }
            var expires = '';
            if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
                var date;
                if (typeof options.expires == 'number') {
                    date = new Date();
                    date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
                } else {
                    date = options.expires;
                }
                expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
            }
            // CAUTION: Needed to parenthesize options.path and options.domain
            // in the following expressions, otherwise they evaluate to undefined
            // in the packed version for some reason...
            var path = options.path ? '; path=' + (options.path) : '';
            var domain = options.domain ? '; domain=' + (options.domain) : '';
            var secure = options.secure ? '; secure' : '';
            document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
        } else { // only name given, get cookie
            var cookieValue = null;
            if (document.cookie && document.cookie != '') {
                var cookies = document.cookie.split(';');
                for (var i = 0; i < cookies.length; i++) {
                    var cookie = jQuery.trim(cookies[i]);
                    // Does this cookie string begin with the name we want?
                    if (cookie.substring(0, name.length + 1) == (name + '=')) {
                        cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                        break;
                    }
                }
            }
            return cookieValue;
        }
    };
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    KoernerWS gelöschter User
    Hinweis: In deiner Bearbeitung steht an einigen Stellen noch $j => Das soll wohl nicht so sein, oder?
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Hallo Mairu!

    Ich habe jetzt Deine messenger.js genommen. Allerdings wirft mir Firefox noch immer folgenden Fehler aus.

    Fehler: chatWith is not defined
    Quelldatei: gdf.gilde-web.de/index.php?user-details-3
    Zeile: 1

    Also geht das Chatfenster noch immer nicht auf.
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich kann mir deine Userdetails nicht ansehen, weil die für Gäste gesperrt sind.

    Und die $j müssen wieder durch $ ersetzt werden, richtig, ich hatte als Quelle ja nur deine Datei vom Server.


    Zuletzt modifiziert von Mairu am 06.01.2011 - 14:00:09
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Hier ist meine user_details.php
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    #if (loggedin()) {
    #// [..]
    #}
    #else {
    #header('Location: http:index.php?self-recht');
    #}
    
    #if ( $_SESSION['authright'] >= -3 ) { 
    #    die ('Zugriff nur für Member'); 
    #}
    
    
    
    if ( $_SESSION['authright'] >= -1 ) { 
       header('Location: http:index.php?self-recht'); 
    }
    
    $uid = $menu->get(2);
    
    include('user_infos.php');
    
    $ar = array (
    	'UID' => $uid,
    	
      'NAME' => $row['name'],
    	'JOINED'  => date('d.m.Y',$row['regist']),
    	'LASTAK'  => date('d.m.Y - H:i',$row['llogin']),
    	'POSTS'   => $row['posts'],
    	'postpday' => $postpday,
    	'RANG'    => userrang ($row['posts'],$uid),
    	'AVATA'   => $avatar,
    	'ONLINE' => $online,
    	'USERTITEL' => $usertitel,
    	'EMAIL' => $email,
    	'HOMEPAGE' => $homepage,
    	'GESCHLECHT' => $geschlecht,
    	'GEBDATUM' => $gebdatum,
    	'ALTER' => $alter,
    	'WOHNORT' => $wohnort,
    	'FORUMTOPICS' => $row4['forumtopics'],
    	'NEWSTOPICS' => $row5['newstopics'],
    	'NEWSPOSTS' => $row6['newsposts'],
    	'FORUMPOSTS' => $row7['forumposts'],
    	'SIGNATUR' => $row['sig'],
    	'STAAT' => $staat,
    	
    	'STERNZEICHEN' => $sternzeichen,
    	'GB_EINTRAEGE' => $gb_eintraege,
    	'GALLERIE_EINTRAEGE' => $gallery_eintraege,
    	'ICQ' => $icq,
    );
    
    		
    $title = $allgAr['title'].' :: Users :: Details von '.$row['name'];
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> &raquo; </b> <a href=index.php?user-details-'.$uid.'>Details von '.$row['name']."</a>".$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    $tpl = new tpl ( 'user/userdetails' );
    
     
    $l = profilefields_show ( $uid ); 
    
    
    
    $ar['rowspan'] = 4 + substr_count($l, '<tr><td class="');
    
    $ar['profilefields'] = $l;
    $tpl->set_ar_out($ar,0);
    $design->footer();
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dir bringt mich da nicht wirklich weiter, außer du deaktivierst die Sperre

    if ( $_SESSION['authright'] >= -1 ) {
       header('Location: http:index.php?self-recht');
    }


    mit // davor wie drüber, dann könnte ich es mir ansehen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Ich habe die Sperre ausgeblendet und Du kannst jetzt auf die Userprofile zugreifen.
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mhh der Fehler ist leider so nichtssagend, dass ich den nicht ohne weitere Codeanalyse finden kann, wobei ich selbst den Code beliebig ändern kann, eigentlich ists ja auch nicht mein Code von daher ists noch doofer, dass gerade ich dann nach dem Fehler suchen soll, du kannst mir ja, wenn du willst, FTP Zugang geben, allerdings wäre es dann schön, wenn du die Original messenger.js auch noch hochladen könntest, kann auch woanders liegen oder anders heißen, aber ich bräuchte da sicher Zugriff drauf.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Hast eine PM von mir bekommen. lachen
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Für alle, die es interessiert, am Ende wurde es doch durch entfernen des anderen Frameworks (prototype) bewerkstelligt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Danke Mairu, es funktioniert! lachen
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Die Begeisterung meiner Leute über den Messenger ist so gross, dass sie diesen nun direkt im Forum bei den Avataren der Poster einen Link haben wollen. Der Einbau des Links ist kein Problem, nur kann das Script nicht ausgeführt werden.
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Versteh ich jetzt nicht, kommt da eine Fehlermeldung, das Skript kann nicht ausgeführt werden, oder wie meinst du das?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    sarah15 Mitglied
    Registriert seit
    07.02.2009
    Beiträge
    45
    Beitragswertungen
    0 Beitragspunkte
    Ich würde da ja das Skript nicht nur über die user-details sondern auch über die show-posts ansprechen. Also muss ich in der showpost.htm den Link zum Starten des Skripts einbauen. Das habe ich unter dem Avatar gemacht. Nun müssen in der show_posts.php die Variablen UID und NAME deklariert werden. UID ist doch die ID des eingeloggten Users und NAME die des Chatpartners. Und genau da komme ich nicht mehr weiter. Es müsste doch dann NAME die Variable $erst in der show_posts.php sein? Und was ist dann die UID?
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die Daten des eingeloggten Users kann man aus der Session auslesen und ans Template übergeben.

    $tpl->set('loggeduid', $_SESSION['authid']);
    $tpl->set('loggedname', $_SESSION['authname']);

    (vor dem richtigen $tpl->???out(??); einfügen.)

    Dabei ist zu beachten, dass Gäste die id 0 erhalten und ggf. nicht Chatten können sollen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    KoernerWS gelöschter User
    Dies können sie aufgrund einer Sicherheitsmaßnahme des Modules eh nicht. zwinker
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten