• Rejestracja
vBHELP.pl - polskie wsparcie vBulletin
Strona 1 z 2 12 OstatniOstatni
  1. #1
    Awatar Crooker
    Crooker jest nieaktywny Stały bywalec
    Dołączył
    Jan 2009
    Posty
    189

    Domyślnie Status serverów

    Witam,
    mam gotowy kod do wklejenia na stronie i chcę go dostosować pod vB. Chodzi mi o to, żeby pod shoutboxem wyświetlał się status/y czy servery są online czy offline, tak jak np. tutaj: www.amazingmuonline.pl
    Kod:
    Kod:
    <?php
    function serverStatus($ip, $isIP = true, $port = 44405)
    {
       /*
        * zmienna $port trzyma domyslny port dla serwerow
        * zmienna $isIP trzyma informacje o tym czy wartosc
        * w zmiennej $ip to host/adres ip
        */
       $serverNames = array (
                 'hefron.no-ip.info:55901' => 'Herfon Mu',
                 '82.146.225.113:55901' => 'Warka Mu'
                );
    
       if($isIP)
       {
          $tablica['ip'] = $ip;
          $tablica['host'] = gethostbyaddr($ip);
       }
       else
       {
          $tablica['ip'] = gethostbyname($ip);
          $tablica['host'] = $ip;
       }
    
    
       if($fp = @fsockopen($ip, $port, $errno, $errstr, 1) == false)
       {
          $tablica['status'] = true;
       }
       else
       {
          $tablica['status'] = false;
       }
    
       $tablica['port'] = $port;
       $tablica['name'] = $serverNames[$ip.':'.$port];
    
       return $tablica;
    }
    
    # przykład użycia
    $s2 = serverStatus('hefron.no-ip.info', false);      # pobieramy info z serwera hefron.no-ip.info (HOST) o porcie domyslnym (55901)
    $s1 = serverStatus('82.146.225.113', true, '55901'); # pobieramy info z serwera 82.146.225.113 (IP) o porcie 55901 (przeciez nie trzeba bylo go pisac)
    
    # jezeli jako pierwszy parametr podalismy adres ip to jako drugi podajemy true, 
    ezeli natomiast jest to host to jako drugi parametr podajemy false
    
    $status_1 = ($s1['status']) ? 'Online' : 'Offline';  # jezeli status jest 1 to Online
    $status_2 = ($s2['status']) ? 'Online' : 'Offline';  # a jezeli 0 to Offline
    $color_1 = ($s1['status']) ? 'green' : 'red';
    $color_2 = ($s2['status']) ? 'green' : 'red';
    
    echo '<b>'.$s1['name'].':</b> <span style=\"color:'.$color_2.';\">'.$status_1.'</span>';
    echo '<br /><br />';
    echo '<b>'.$s2['name'].':</b> <span style=\"color:'.$color_1.';\">'.$status_2.'</span>';
    # przykład użycia
    ?>



  2. #2
    MatKus jest nieaktywny Advanced Member
    Dołączył
    Jul 2008
    Posty
    247

    Domyślnie

    Widzę tutaj 3 rozwiązanie. Pierwsze to modyfikowanie samych skryptów. Tego rozwiązania nie polecam, bo będziesz miał robotę przy każdym update forum.

    Drugie rozwiązanie to napisanie wtyczki stosownej. Jeśli nie wiesz jak, możesz to zlecić komuś lub pokopać w dokumentacji.

    Trzecie rozwiązanie, najprostsze, ale zarazem najmniej eleganckie, to wstawić (np. do stopki) IFRAME, w którym będzie twoja strona, czyli to, co wpisałeś powyżej + jakiś nagłówek i stopka HTMLa.

    Myślę, że niezależnie od wybranej metody, przydało by ci się jednak dodać do całej tej zabawy jakieś cacheowanie i odświeżanie statusu serwera co jakiś czas tylko (np. raz na 5 minut) zamiast przy każdej wizycie każdego użytkownika, bo to spowoduje ci zamulenie serwera oraz wydłużenie ładowania strony użytkownikom.
    były administrator forum.tibia.pl
    administrator forum.tibiaspy.com


  3. #3
    Awatar Crooker
    Crooker jest nieaktywny Stały bywalec
    Dołączył
    Jan 2009
    Posty
    189

    Domyślnie

    Zwyczajnie chciałbym mieć taki system jak na tamtej stronce. Sam bym nie zrobił tego bo do końca nie ogarniam.

    Doda tylko, że ten skrypt łączy się z podanym ip i portem i sprawdza czy jest online/offline.

    Wykonałby ktoś?


  4. #4
    Awatar pitu
    pitu jest nieaktywny Advanced Member
    Dołączył
    Mar 2008
    Posty
    723
    Przydatne posty
    3

    Domyślnie

    Jeżeli ten skrypt, który podałeś działa ok i chcesz go wstawić to stwórz plugin PHP jest kilka tematów na forum o tym i do szablonu wstaw tylko zmienna i będzie ok

    @edit
    http://vbhelp.pl/artykua-y-faq-f22/j...nie-t1049.html
    Ostatnio edytowane przez pitu ; 11.03.2009 o 21:54
    Masz problem? Pisz na forum, a nie na PW, GG! Na GG oraz PW przyjmuje jedynie indywidualne zlecenia.
    _____________________________________

    Zajmuję się:
    -instalacją vBulletin
    -przenoszeniem na inny serwer
    -aktualizacją do nowszej wersji forum oraz modyfikacji
    -instalacją aktualizacji/styli
    -wszelkiego rodzaju pracami związanymi ze skryptem vBulletin

    Więcej szczegółów na PW - Klik


  5. #5
    Awatar Crooker
    Crooker jest nieaktywny Stały bywalec
    Dołączył
    Jan 2009
    Posty
    189

    Domyślnie

    Działa tylko że wyskakuje mi jeden błąd. Mógłby ktoś go sprawdzić? Bo ja już nie orientuję co jest źle..


  6. #6
    cizu jest nieaktywny Advanced Member
    Dołączył
    Aug 2008
    Posty
    454

    Domyślnie

    Jaki błąd?


  7. #7
    Awatar Crooker
    Crooker jest nieaktywny Stały bywalec
    Dołączył
    Jan 2009
    Posty
    189

    Domyślnie

    Kod:
    Parse error: syntax error, unexpected T_STRING in /home/accounts_c/crd11/public_html/status.php on line 46


  8. #8
    cizu jest nieaktywny Advanced Member
    Dołączył
    Aug 2008
    Posty
    454

    Domyślnie

    Kod:
    <?php
    function serverStatus($ip, $isIP = true, $port = 44405)
    {
       /*
        * zmienna $port trzyma domyslny port dla serwerow
        * zmienna $isIP trzyma informacje o tym czy wartosc
        * w zmiennej $ip to host/adres ip
        */
       $serverNames = array (
                 'hefron.no-ip.info:55901' => 'Herfon Mu',
                 '82.146.225.113:55901' => 'Warka Mu'
                );
    
       if($isIP)
       {
          $tablica['ip'] = $ip;
          $tablica['host'] = gethostbyaddr($ip);
       }
       else
       {
          $tablica['ip'] = gethostbyname($ip);
          $tablica['host'] = $ip;
       }
    
    
       if($fp = @fsockopen($ip, $port, $errno, $errstr, 1) == false)
       {
          $tablica['status'] = true;
       }
       else
       {
          $tablica['status'] = false;
       }
    
       $tablica['port'] = $port;
       $tablica['name'] = $serverNames[$ip.':'.$port];
    
       return $tablica;
    }
    
    # przykład użycia
    $s2 = serverStatus('hefron.no-ip.info', false);      # pobieramy info z serwera hefron.no-ip.info (HOST) o porcie domyslnym (55901)
    $s1 = serverStatus('82.146.225.113', true, '55901'); # pobieramy info z serwera 82.146.225.113 (IP) o porcie 55901 (przeciez nie trzeba bylo go pisac)
    
    # jezeli jako pierwszy parametr podalismy adres ip to jako drugi podajemy true, jezeli natomiast jest to host to jako drugi parametr podajemy false
    
    $status_1 = ($s1['status']) ? 'Online' : 'Offline';  # jezeli status jest 1 to Online
    $status_2 = ($s2['status']) ? 'Online' : 'Offline';  # a jezeli 0 to Offline
    $color_1 = ($s1['status']) ? 'green' : 'red';
    $color_2 = ($s2['status']) ? 'green' : 'red';
    
    echo '<b>'.$s1['name'].':</b> <span style=\"color:'.$color_2.';\">'.$status_1.'</span>';
    echo '<br /><br />';
    echo '<b>'.$s2['name'].':</b> <span style=\"color:'.$color_1.';\">'.$status_2.'</span>';
    # przykład użycia
    ?>


  9. #9
    Awatar Crooker
    Crooker jest nieaktywny Stały bywalec
    Dołączył
    Jan 2009
    Posty
    189

    Domyślnie

    Kod:
    Fatal error: Cannot redeclare serverstatus() (previously declared in /home/accounts_c/crd11/public_html/status.php:2) in /home/accounts_c/crd11/public_html/status.php on line 94


  10. #10
    Awatar loleslav
    loleslav jest nieaktywny Użytkownik
    Dołączył
    Dec 2008
    Posty
    21

    Domyślnie

    Jak to dodac na forum??


Strona 1 z 2 12 OstatniOstatni

Podobne wątki

  1. Aktualny status
    By Michal5525 in forum Pytania i problemy
    Odpowiedzi: 4
    Ostatni post / autor: 07.08.2010, 16:15
  2. Status Steam Id
    By MaXFireN in forum Pytania i problemy
    Odpowiedzi: 7
    Ostatni post / autor: 08.05.2010, 04:59
  3. Status vB 4.0.2
    By Max in forum Oficjalne ogłoszenia vBulletin
    Odpowiedzi: 3
    Ostatni post / autor: 05.02.2010, 22:31
  4. Status STEAM ?
    By Wayne in forum Pytania i problemy
    Odpowiedzi: 12
    Ostatni post / autor: 01.02.2010, 21:18
  5. Status Serwera CS
    By Daqq in forum Pytania i problemy
    Odpowiedzi: 3
    Ostatni post / autor: 15.03.2009, 18:33
Chmurka.pl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67