ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Problem mit Wer ist Wo Modul

Geschlossen
  1. #1
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Ich habe da noch ein kleines Problem mit dem Modul hier

    Wer ist Wo Ilch 1.3

    Das Modul funktioniert soweit ganz gut, bis aus eine Kleinigkeit.
    Wenn jemand auf die Seite kommt steht als Aufenthaltsort "shbox=fetch".
    (Ich habe die Shbox 3.2.2 installiert link )
    Wenn ich die Original Ilch Shoutbox verwende steht als Aufenthaltsort "start"

    Ich habe mir jetzt schon nen Wolf gesucht, komme aber nicht dahinter
    warum das so ist...
    Jemand ne Idee was das sein kann ???


    verwendete ilchClan Version: 1.1 P

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Soweit ich weiß nimmt der Aufenthaltsort die Information aus der aufgerufenen url? Da du aber beim Link Aufruf ja eigentlich nur die index.php aufrufst kann ich mir dies so nicht erklären müsste jemand anders was zu sagen.

    Hab aber bisher auch noch keine Erfahrung mit geänderten Shoutboxen gemacht
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Soweit war ich auch schon, deswegen kann ich mir das ja auch nicht
    erklären...
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Dann Entschuldige meine Antwort...

    evtl. könnte es daran liegen das die Shoutbox über Javascript läuft und sich ja glaub Ständig aktualisiert bzw. auch beim Seitenaufruf und es deswegen zur Stande kommt?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Stimmt, die Box nutzt Javascript für den Reload.
    Aber selbst wenn ich den Autoreload abschalte bleibt das
    Problem...
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hast Du denn das Modul nun fehlerfrei zum Laufen gebracht?
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Nein, hab mich aber auch noch nicht weiter drum gekümmert.
    Eigentlich läuft es ja soweit, bis auf dieses shbox=fetch Phänomen...
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    <script language="JavaScript" type="text/javascript">
    window.onload = "fetch()";


    Beim laden der Seite wird die box geladen was den uri auf "shbox=fetch"

    stellt. Stimmt also alles
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Und wie könnte ich das weg bekommen ?
    Nen Array und die Ausgabe umbenennen ?
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    gar nicht, es ist eine funktion der Shoutbox die dafür sorgt das die beiträge aktuell bleiben.

    Du kannst der wer ist wo box evtl beibringen das fetch die startseite ist
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Das meinte ich doch...
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Also ich mache das folgendermaßen:
    $location = wiwb($row->uid);
    		switch ($location) {
    			case 'user-details-1'	: $location = 'Userdetails'; break;
    			case 'user-8'			: $location = 'Profil'; break;
    			case 'shbox=fetch'		: $location = 'Shoutbox'; break;
    			.
    			.
    			.
    		}

    So könntest Du jedwede Möglichkeit in eine vernünftige Ausgabe ändern.
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    So in der Art hatte ich mir das auch überlegt...
    Werde ich mich heute Abend mal dran setzen.


    Zuletzt modifiziert von Jens238 am 15.10.2013 - 16:34:08
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Jetzt brauche ich auch Hilfe, und zwar wenn ich mich in der Galerie befinde,
    spuckt die Funktion gallery aus.
    Befinde ich mich in einer speziellen Galerie-Kategorie, wird dies durch die entsprechende ID erkennbar, z.Bsp. gallery-1.
    Ich möchte jetzt gerne, egal wo in der Galerie sich jemand befindet, immer nur Galerie ausgeben lassen.
    Ich switche durch das Ergebnis der function:
    $location = wiwb($row->uid);
    	switch ($location) {
    		case 'linkus'						: $location = 'LinkUs';				break;
    		case 'user-details-'.$row->uid		: $location = 'Userdetails';		break;
    		case 'user-8'						: $location = 'Profil';				break;
    		case 'shbox=fetch'					: $location = 'Shoutbox';			break;
    		case 'user'							: $location = 'Mitglieder';			break;
    		case 'news'							: $location = 'Startseite';			break;
    		case 'start'						: $location = 'Startseite';			break;
    		case 'user-usergallery-'.$row->uid	: $location = 'Galerie von '.$name;	break;
    		case 'gbook'						: $location = 'Gästebuch';			break;
    	}

    Wie muss das in meinem Fall aussehen, gibt es einen Platzhalter oder Wildcard für alles nach gallery?
    Danke für die Hilfe!

    Grüße Outi
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Mhh ... kenne das Modul jetzt nicht, daher ist es die Frage wie er den Parameter prüft. Wenn er nur menu->get(0) prüft reicht gallery aus. Müsste da den ganzen Code sehen.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hier mal die gesamte contentstatistic.php
    <?php 
    
    defined ('main') or die ( 'no direct access' );
    
    function wiw($tmp)
    {
     if($tmp == "liste")
     {
       	$wiwstring = ''; 
            $dif = date('Y-m-d H:i:s', time() - USERUPTIME);
    	$erg = db_query("SELECT DISTINCT uid, name, page, prefix_ranks.bez, spezrank FROM `prefix_online` left join prefix_user on prefix_user.id =              prefix_online.uid left join prefix_ranks ON prefix_ranks.id = prefix_user.spezrank WHERE uid > 0 and uptime > '". $dif."'");
    	while($row = db_fetch_object($erg)) 
            {
                $wiwstring .= '<a title="Aufenthaltsort: '.$row->page.'" href="index.php?user-details-'.$row->uid.'">'.$row->name.'</a> , ';
    
            }
    	$wiwstring = substr($wiwstring,0,strlen($wiwstring) - 3);
    
     }
     else
     {      
           $wiwstring = "offline";
           $dif = date('Y-m-d H:i:s', time() - USERUPTIME);
           $erg = db_query("SELECT DISTINCT uid, name, page, prefix_ranks.bez, spezrank FROM `prefix_online` left join prefix_user on prefix_user.id =              prefix_online.uid left join prefix_ranks ON prefix_ranks.id = prefix_user.spezrank WHERE uid = '".$tmp."' and uptime > '". $dif."'");
           while($row = db_fetch_object($erg)) 
           {
                $wiwstring = '<a title="Aufenthaltsort: '.$row->page.'" href="index.php?'.$row->page.'">'.$row->page.'</a>';
    
           }
     }
    return($wiwstring);
    }
    
    function wiwb($tmp)
    {
     
           $wiwstring = "offline";
           $dif = date('Y-m-d H:i:s', time() - USERUPTIME);
           $erg = db_query("SELECT DISTINCT uid, name, page, prefix_ranks.bez, spezrank FROM `prefix_online` left join prefix_user on prefix_user.id =              prefix_online.uid left join prefix_ranks ON prefix_ranks.id = prefix_user.spezrank WHERE uid = '".$tmp."' and uptime > '". $dif."'");
           while($row = db_fetch_object($erg)) 
           {
                $wiwstring = $row->page;
    
           }
    return($wiwstring);
    }
    
    function contentstatistic()
    {
    
      $log = 0;  // Auf 1 Setzen wenn alles in der log.txt gespeichert werden soll(log.txt im Verzeichniss wo die index.php ist erstellen und Recht 77 geben.)
    
      if($_SERVER['QUERY_STRING']=="")$_SERVER['QUERY_STRING']="start";
    
    
      db_query('UPDATE `prefix_online` SET `page` = "'.$_SERVER['QUERY_STRING'].'" WHERE `sid` = "'.session_id().'"');
      $dummy = 0;
    
      $erg = db_query("SELECT * FROM prefix_pagestat");
      while ($row = db_fetch_object($erg))
      {
        if ($row->page == $_SERVER['QUERY_STRING']) $dummy = 1;
      }
    
      if ($dummy == 0)
      {
         db_query('INSERT INTO prefix_pagestat (page , counter) VALUES ("'.$_SERVER['QUERY_STRING'].'" , "0")');
      }
    
      db_query('UPDATE `prefix_pagestat` SET `counter`= `counter` +1 WHERE `page`= "'.$_SERVER['QUERY_STRING'].'"');
    
      if ($log == 1)
      {
        $authname = $_SESSION['authname'];
        $ip = $_SERVER['REMOTE_ADDR'];
        $qs = $_SERVER['QUERY_STRING'];
        $datei = fopen("log.txt", "a");
        fwrite($datei, "Nick:$authname Seite:$qs IP:$ip\n");
        fclose($datei);
      }
    }
    ?>
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    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
    Da mit $_SERVER['QUERY_STRING'] gearbeitet wird, könnte man prüfen ob im String nach dem ? am Anfang gallery vorkommt und dann nur dieses ohne weitere Parameter weitergeben.

    zB. so in der Art:

    if (substr($_SERVER['QUERY_STRING'], 0, 7) == 'gallery') {$ort = 'gallery';}



    Zuletzt modifiziert von Lord|Schirmer am 27.10.2013 - 23:26:36
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Ich werd noch bekloppt, warum bin ich nicht gleich auf die Idee
    gekommen...

    if($_SERVER['QUERY_STRING']=="")$_SERVER['QUERY_STRING']="start";


    Einfach mal Zeile 54 ergänzt...
    if($_SERVER['QUERY_STRING']=="")$_SERVER['QUERY_STRING']="start";
    if($_SERVER['QUERY_STRING']=="shbox=fetch")$_SERVER['QUERY_STRING']="start";


    Manchmal liegt die Lösung ja sooo nah...
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Funktioniert, danke!!!
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten