Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: pt_counter_sats nach PHP Umstellung

    lachen

    • Neu im Forum
    • Beiträge: 38
    pt_counter_sats nach PHP Umstellung
    am: 12. März 2013, 09:35:25
    Hallo,

    nach der PHP Umstellung beim Provider von PHP 5.2 auf 5.3 bekomme ich nun auf der Webseite x-Fehler im Style von: Deprecated:  Function eregi() is deprecated in /www/htdocs/xxxxxx/includes/pt_counter_stats.php on line 43 - sind auch noch andere Nummern am Schluss angegeben.

    Hat jemand eine Idee, wie ich das Problem lösen kann?

    Danke im voraus.
    Viele Grüße
    Klaus


    Linkback: https://www.modified-shop.org/forum/index.php?topic=25233.0

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #1 am: 12. März 2013, 10:04:35
    Ja ich habe eine Lösung. Einfach die alten PHP-Funktionen durch ihre aktuellen Äquivalente zu ersetzen.

    Gruß
    Ronny

    lachen

    • Neu im Forum
    • Beiträge: 38
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #2 am: 12. März 2013, 10:09:30
    Hallo Ronny,

    danke für Deine Antwort. Was meinst Du da genau damit - die alten PHP Funktionen zu ersetzen?
    In diesem Falle wäre die "eregi" das Problem. Würde das bedeuten, dass Wort müsste ich dann in der Datei ersetzen? Wenn ja, mit welchem Wort (Befehl). Da fehlt mir die Idee.

    Danke im voraus für Deine freundliche Antwort.
    Klaus

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #3 am: 12. März 2013, 10:16:03
    Klaus, schick doch mal bitte die Zeile, in der eregi() drin steht.

    Gruß
    Ronny

    lachen

    • Neu im Forum
    • Beiträge: 38
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #4 am: 12. März 2013, 10:40:17
    Hi Ronny,

    es fängt aber der Zeile 43 an:
    Hier mal ein kleiner Auszug vom Script:

    Code: PHP  [Auswählen]
    /*
                    GET Browser, Plattform etc
            */

            function parseUserAgent($ua) {
                    $browser['platform']    = "x";
                    $browser['browser']             = "x";
                    $browser['version']             = "x";
                    $browser['majorver']    = "x";
                    $browser['minorver']    = "x";

                    // Test for platform
                    if (eregi('Win95',$ua)) {
                            $browser['platform'] = "Windows 95";
                            }
                    else if (eregi('Win98',$ua)) {
                            $browser['platform'] = "Windows 98";
                            }
                    else if (eregi('Win 9x 4.90',$ua)) {
                            $browser['platform'] = "Windows ME";
                            }
                    else if (eregi('Windows NT 5.0',$ua)) {
                            $browser['platform'] = "Windows 2000";

    .
    .
    .
    und
    ab Zeile 85..
    Code: PHP  [Auswählen]
                    // Test for browser type
                    if (eregi('Mozilla/4',$ua) && !eregi('compatible',$ua)) {
                            $browser['browser'] = "Netscape";
                            eregi('Mozilla/([[:digit:]\.]+)',$ua,$b);
                            $browser['version'] = $b[1];

    Es werden x Browser Typen abgefragt mit dem Befehl.

    Hilft Dir die Angaben?

    Danke Dir im voraus.
    Klaus
             }

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #5 am: 12. März 2013, 10:48:52
    Probier das mal aus:
    Code: PHP  [Auswählen]
    if (preg_match('/^Win95/',$ua)) {
             $browser['platform'] = "Windows 95";
             }
          else if (preg_match('/^Win98/',$ua)) {
             $browser['platform'] = "Windows 98";
             }
          else if (preg_match('/^Win 9x 4.90/',$ua)) {
             $browser['platform'] = "Windows ME";
             }
          else if (preg_match('/^Windows NT 5.0/',$ua)) {
             $browser['platform'] = "Windows 2000";
     
    und
    Code: PHP  [Auswählen]
    if (preg_match('/^Mozilla/4/',$ua) && !preg_match('/^compatible/',$ua)) {
             $browser['browser'] = "Netscape";
             preg_match('/^Mozilla/([[:digit:]\.]+/)',$ua,$b);
             $browser['version'] = $b[1];
     

    Gruß
    Ronny

    lachen

    • Neu im Forum
    • Beiträge: 38
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #6 am: 12. März 2013, 11:06:20
    Hi Ronny,

    danke - Ich teste das aus. Melde mich, ob es danach geht.
    Gruß
    Klaus

    Matt

    • Experte
    • Beiträge: 4.241
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #7 am: 12. März 2013, 11:13:10
    Die ^ müssen da mit ziemlicher Sicherheit raus, weil sie nur matchen würden wenn der String am Anfang vorkommt.

    Und bei Mozilla/4 muss der / mit \ maskiert werden.

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #8 am: 12. März 2013, 11:18:33
    Code: PHP  [Auswählen]
    strpos(***) !== false

    Viele Grüße

    h-h-h

    lachen

    • Neu im Forum
    • Beiträge: 38
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #9 am: 12. März 2013, 13:59:23
    Hallo Zusammen,
    ist das eigentlich eine Standart Datei, wenn ja, hat die jemand schon angepasst. Dann könnte ich doch diese dann Hochladen?

    Gruß Klaus

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #10 am: 12. März 2013, 14:35:44
    @Matt
    Hast Recht, war heute morgen alles zwischen Kaffee und Forumlesen geschehen.

    @h-h-h
    Die Variante wäre ja noch einfacher ohne das ganze Regex-Matching.

    @Klaus
    Der veraltete pt_counter zählt nicht zum Standardrepertoire vom modified.

    Gruß
    Ronny

    lachen

    • Neu im Forum
    • Beiträge: 38
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #11 am: 12. März 2013, 14:41:09
    Hi Zusammen,
    bin nun ein Stück weiter gekommen. Die Strings habe ich im Moment so belassen also "/".
    Alle Meldungen sind nun weg, bis auf eine die da lautet:

    Parse error: syntax error, unexpected 'uri' (T_STRING) in /www/htdocs/xxxx/includes/pt_counter_stats.php on line 293.

    In der Zeile steht:

    if(!preg_match('/(HTTP_SERVER, $_SERVER["HTTP_REFERER"]) && !empty($_SERVER["HTTP_REFERER"])) {

    $request = array('uri'=> $_SERVER["HTTP_REFERER"], 'type' => 'out');

    Danke schon mal an Euch ALLE!!!

    Klaus

    Matt

    • Experte
    • Beiträge: 4.241
    Re: pt_counter_sats nach PHP Umstellung
    Antwort #12 am: 12. März 2013, 15:22:03
    Code: PHP  [Auswählen]
    if(!preg_match('/HTTP_SERVER/', $_SERVER["HTTP_REFERER"]) && !empty($_SERVER["HTTP_REFERER"])) {

    Was auch immer das tut. Wird vermutlich nie true. Möglicherweise muss es auch so aussehen:
    Code: PHP  [Auswählen]
    if(!preg_match('/'.HTTP_SERVER.'/', $_SERVER["HTTP_REFERER"]) && !empty($_SERVER["HTTP_REFERER"])) {

    Bitte Code-Tags benutzen, wenn du Code postest.
    45 Antworten
    11346 Aufrufe
    16. April 2018, 12:39:50 von Timm
    2 Antworten
    1676 Aufrufe
    10. September 2017, 12:53:00 von quinti
    26 Antworten
    5585 Aufrufe
    21. Dezember 2019, 18:01:23 von DerNachbar
    19 Antworten
    11421 Aufrufe
    19. Juli 2016, 14:29:53 von Bonsai
               
    anything