Ergebnis 1 bis 36 von 36

Thema: Neue Klasse zur Browsererkennung

  1. #1
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard Neue Klasse zur Browsererkennung

    Hallo zusammen,

    nachdem ich öfters mal den Wunsch habe, auf einfachem Weg den Browser auszuwerten, habe ich die PHP-Klasse aus Browser.php von Chris Schuld in eine kleine Contao-Erweiterung gegossen. Diese steht nun für alle Erweiterungs-Entwickler als browserdetection zur Verfügung. Die Versionsnummerierung entspricht dabei seinen Versionsnummern um das besser abgleichen zu können.

    Nutzung:
    Nach einem $this->import('Browser'); stehen folgende Funktionen zur Verfügung

    $this->Browser->getBrowser() (->Rückgabewerte siehe unten)
    $this->Browser->getVersion()
    $this->Browser->getPlatform() (->Rückgabewerte siehe unten)
    $this->Browser->getAolVersion()
    $this->Browser->isAol()
    $this->Browser->isMobile()
    $this->Browser->isRobot()

    Rückgabewerte/Erkannte Systeme

    Webbrowser: 'unknown', 'Opera', 'Opera Mini', 'WebTV', 'Internet Explorer', 'Pocket Internet Explorer', 'Konqueror', 'iCab', 'OmniWeb', 'Firebird', 'Firefox', 'Iceweasel', 'Shiretoko', 'Mozilla', 'Amaya', 'Lynx', 'Safari', 'iPhone', 'iPod', 'iPad', 'Chrome', 'Android', 'GoogleBot', 'Yahoo! Slurp', 'W3C Validator', 'BlackBerry', 'IceCat', 'Nokia S60 OSS Browser', 'Nokia Browser', 'MSN Browser', 'MSN Bot'
    Plattformen: 'unknown', 'Windows', 'Windows CE', 'Apple', 'Linux', 'OS/2', 'BeOS', 'iPhone', 'iPod', 'iPad', 'BlackBerry', 'Nokia', 'FreeBSD', 'OpenBSD', 'NetBSD', 'SunOS', 'OpenSolaris', 'Android'

    Morgen gibt es dann ein oder zwei Erweiterungen von mir, die das mit nutzen werden.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  2. #2
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Da fehlen nun noch Funktionen um generisch herauszufinden welche Browserengine verwendet wird.
    wie z.B. Webkit (siehe: http://trac.webkit.org/wiki/Applicat...using%20WebKit), Gecko, ....

    Ansonsten eine schoene Idee.

    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Schau ich mir mal an, könnte ich wahrscheinlich in meinem Visitors verwenden und meine jetzige Funktion über browscap.ini raus schmeißen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Die Extension ist wirklich hilfreich. Ich hab sie bereits am Freitag erfolgreich eingesetzt und wollte jetzt ein weiteres Projekt damit austatten. Leider bekomme ich bei diesem folgende Fehlermeldung:

    PHP-Code:
    Runtime noticeRedefining already defined constructor for class Browser in D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\browserdetection\Browser.php on line 229

    #0 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\functions.php(57): __error(2048, 'Redefining alre...', 'D:\Eigene Datei...', 229, Array)
    #1 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\functions.php(57): __autoload()
    #2 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\libraries\System.php(147): __autoload('Browser')
    #3 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\templates\fe_page.tpl(2): System->import('Browser')
    #4 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\libraries\Template.php(142): include('D:\Eigene Datei...')
    #5 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\frontend\FrontendTemplate.php(49): Template->parse('Browser')
    #6 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\frontend\FrontendTemplate.php(103): FrontendTemplate->parse()
    #7 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\frontend\PageRegular.php(136): FrontendTemplate->output()
    #8 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\index.php(198): PageRegular->generate()
    #9 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\index.php(329): Index->run(Object(DB_Mysql_Result))
    #10 {main} 
    Beim ersten Projekt handelte es sich um einen Hetzner Server, da funktionierte es ja richtig gut. Aber wieso bekomme ich diesen Fehler wenn ich auf dem internen Xampp arbeite? Bisher hatte ich hier noch nie Probleme...

    LG

  5. #5
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Hat keiner eine Idee wieso es nicht klappt? Ich werd leider nicht schlau aus der Fehlermeldung...

  6. #6
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    bin gerade im Urlaub, also gibt es leider nur verzögerten Erweiterungssupport. ;-)

    Was für PHP-Versionen hast du denn auf den beiden Systemen im Einsatz?

    Was für andere Module hast du denn noch installiert? Interessant wären vor allem die, die bei deinem ersten Projekt nicht mit installiert sind.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  7. #7
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Hallo Jan,

    das wusste ich nicht ;-)
    Ich versuche mal alles aufzulisten:


    Projekt 1 (in dem das Modul funktionierte)

    - TYPOlight 2.8.3
    - PHP Version 5.2.6-1+lenny4

    projekt1.jpg


    Projekt 2 (in dem das Modul leider nicht funktioniert)

    - Contao 2.9.1
    - PHP Version 5.2.9

    projekt2.jpg

    Ansonsten ist der verwendete Code in der fe_page.tpl identisch!
    Kannst du schon sagen ob es an der Contao/TYPOlight liegt oder an der PHP Version liegt? Die PHP Version im zweiten Projekt kann ich leider nicht ohne weiteres ändern da es eine XAMPP Installation ist :-)

  8. #8
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Lächelndes Gesicht

    Thema hat sich erledigt. Hab den Fehler selbst in der browser.php entdeckt und behoben :-)

  9. #9
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Kannst du kurz erläutern was der Fehler war, ev benötigt das ja mal wer anders
    Kein Privat Support via PM.

  10. #10
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    und ich kann es - wenn es eine allgemeine und keine systemspezifische Lösung ist - mit in die Erweiterung aufnehmen. ;-)

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  11. #11
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Ja klar gerne :-)

    Und zwar muss man bei der Nutzung von PHP 5.3 folgende Klasse auskommentieren:

    PHP-Code:
    Zeile 143:
    protected function 
    __construct() {} 
    Anscheinend überschreibt TYPOlight 2.8.3 diese Zeile, denn bei 2.8.3 unter PHP 5.3 hatte ich diesen Fehler nicht. Sobald ich aber mit Contao damit arbeite (unter der selben Entwicklungsumgebung) schmeißt es einen Fehler.

    Der Fehler ist mir gestern aufgefallen nachdem ich die browser.php in ein Kohana Projekt implementiert habe - KohanaPHP benötigt auch PHP 5.3 und hat mir die selbe Fehlermeldung ausgegeben wie Contao 2.9.1 :-)

    PS: Zumal die Zeile meines Erachtens gar keinen Sinn macht. Die macht doch garnichts?!

  12. #12
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    mit der PHP-Version sollte das weniger was zu tun haben. Wir haben hier PHP 5.3 und keine Probleme mit dieser Zeile.

    Es klingt eher danach, dass eine andere Erweiterung selbst eine Klasse "Browser" definiert, die mit dieser einen Konflikt erzeugt. Kannst du mal in der nicht funktionierenden Installation unter "system/modules" nach "class Browser" suchen?

    Über die Modulliste kann ich es leider nicht weiter eingrenzen. Die einzigen beiden, die durch Ausschluss deiner Listen und der bei uns installierten Erweiterungen in Frage kommen, definieren keine Klasse "Browser". Hast du ggf. Erweiterungen, die nicht über das Repository installiert worden sind?

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  13. #13
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Nein andere Extensions habe ich nicht installiert. Ich nutze nur das Repository...
    Ich bezweifle ausserdem das es an anderen Extensions liegt, schließlich bekomme ich mit Kohana auch diese Fehlermeldung!

  14. #14
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    nun, Kohana kann ja gerne die selbe doppelte Klassendefinition haben - dann bekommst du auch die gleiche Fehlermeldung.

    Die Meldung "Redefining already defined constructor for class Browser" sagt klar, dass die der Konstruktor zwei mal definiert wird. Da das nicht innerhalb dieser Erweiterung ist, muss es an einer anderen Stelle (also wohl in einer zweiten Erweiterung) der Fall sein.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  15. #15
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Öhm?! Ich habe doch oben die fehlerhafte Zeile beschrieben.
    In der Zeile 143 innerhalb der browser.php wird ein doppelter Konstruktor verwendet.

    Daher kommt der Fehler.

  16. #16
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Ich habe mal nach "class Browser" gesucht. Weder in der Kohana Installation noch in der Contao Installation (in die Erweiterung vor auskommentieren der besagten Zeile nicht funktionierte) wurde etwas gefunden.

    Ich hab kein Problem damit mich zu irren und es auch zu zugeben aber diesmal bin ich mir ziemlich sicher das es an dieser Zeile 143 liegt :-)


    Kann jemand anderer sich das nochmal anschauen?
    Wenn es nicht an dieser Zeile liegen sollte, kann man sie ja mal auskommentieren und schauen welcher Fehler ausgeworfen wird oder?

  17. #17
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von jared Beitrag anzeigen
    #3 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\templates\fe_pa ge.tpl(2): System->import('Browser')

    #5 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\ frontend\FrontendTemplate.php(49): Template->parse('Browser')
    Also wenn ich mir das so ansehe, wird das von dir selbst 2 mal eingebunden.
    Einmal kommt es übers Frontend und einmal über die fe_page.tpl, was wird denn das?
    Oder sehe ich das grad schräg?

    Wie bindest du denn die nun genau ein?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  18. #18
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Nein ich binde die Extension nicht 2 mal ein.
    Nachdem die Extension via Repository installiert wurde, habe ich einfach mit $this->import die Klasse in die fe_page.tpl geladen um sie dort zu verwenden.

    So steht es ja in der Doku.

  19. #19
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    In der Zeile 143 innerhalb der browser.php wird ein doppelter Konstruktor verwendet.
    Das setzt jedoch voraus, dass er bereits an anderer Stelle definiert wurde - sonst wäre er ja nicht doppelt. Er trat nun auch noch woanders auf.

    Kannst einer von euch beiden mal bitte die Erweiterung deaktivieren und dann im Template einbauen:

    PHP-Code:
    <?php 
      $this
    ->import('Browser');
      
    var_dump($this->Browser);
    ?>
    Die Ausgabe könnte helfen zu verstehen woher diese Browser-Klasse kommt.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  20. #20
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Hab ich gemacht. Ganz nach oben ins Template und folgende Ausgabe habe ich erhalten:

    PHP-Code:
    Fatal errorCould not load class Browser in D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\functions.php on line 76

    #0 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\functions.php(76): __error(256, 'Could not load ...', 'D:\Eigene Datei...', 76, Array)
    #1 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\libraries\System.php(147): __autoload('Could not load ...', 256)
    #2 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\templates\fe_page.tpl(2): System->import('Browser')
    #3 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\libraries\Template.php(142): include('D:\Eigene Datei...')
    #4 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\frontend\FrontendTemplate.php(49): Template->parse('Browser')
    #5 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\frontend\FrontendTemplate.php(103): FrontendTemplate->parse('Browser')
    #6 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\modules\frontend\PageRegular.php(136): FrontendTemplate->output()
    #7 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\index.php(198): PageRegular->generate()
    #8 D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\index.php(329): Index->run()
    #9 {main} 

  21. #21
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Das Forum zerschießt mir irgendwie die Ausgabe der ersten Zeile. Korrekt lautet es so:

    Code:
    Fatal error: Could not load class Browser in D:\Eigene Dateien\Webserver\xampp\htdocs\xxx\system\functions.php on line 76

  22. #22
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    ok, das spricht dafür, dass es wirklich nirgends anders definiert ist und das aus der Erweiterung selbst entsteht. Das kann aber an sich nur passieren, wenn die zwei Mal geladen wird oder so.

    Kannst du mir Zugriff auf das System zum Testen gewähren?

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  23. #23
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Ich würde es dir gerne gewähren aber du siehst ja an den Fehlermeldung - es handelt sich hier um eine lokale Installation auf meinem Xampp. Und wenn ich sie online auf meinen Hosteurope Server schiebe dann gibt es kein Problem mehr.

    Aber da habe ich auch kein PHP 5.3 mehr...

  24. #24
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    Zitat Zitat von jared Beitrag anzeigen
    Ich würde es dir gerne gewähren aber du siehst ja an den Fehlermeldung - es handelt sich hier um eine lokale Installation auf meinem Xampp. Und wenn ich sie online auf meinen Hosteurope Server schiebe dann gibt es kein Problem mehr.

    Aber da habe ich auch kein PHP 5.3 mehr...
    Auch auf "lokale" Hosts gibt es ggf. einen externen Zugriff. ;-) Und PHP 5.3 alleine kann das Thema nicht sein: Wie gesagt, bei uns läuft das damit einwandfrei.

    Vielleicht findet sich jemand, der das auf einem zugreifbaren System reproduzieren kann?

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  25. #25
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Wenn du mir erklärst wie ich dir den Zugriff geben kann, dann richte ich das gerne ein.
    Ich hätte jetzt drauf getippt das es mit PHP zu tun hat, aber wenn ihr alle anderer Meinung seid dann gebe ich mich geschlagen.

    Ich weiß nur noch das es klappt sobald ich die Zeile auskommentiere und ansonsten nirgends ein "class Browser" im System habe.

    Danke dir auf jeden Fall schon mal für die bisherige Hilfe.

  26. #26
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    Zitat Zitat von jared Beitrag anzeigen
    Wenn du mir erklärst wie ich dir den Zugriff geben kann, dann richte ich das gerne ein.
    Für Windows-Systeme fragst du da leider den falschen... Sorry.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  27. #27
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo jared, Hallo Jan,

    ohne jetzt unnötig Werbung machen zu wollen: Die Fernwartungssoftware "TeamViewer" (Link setze ich jetzt keinen - das findet jeder mit der Suchmaschine seines Vertrauens) sollte für alle gängigen Betriebssystemwelten (Windows, Linux, Mac, usw.) in einer kostenlosen Vollversion verfügbar sein.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  28. #28
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    Zitat Zitat von BugBuster Beitrag anzeigen
    Schau ich mir mal an, könnte ich wahrscheinlich in meinem Visitors verwenden und meine jetzige Funktion über browscap.ini raus schmeißen.
    Wie ich in deinem Ticketing gesehen habe, hast du die Klasse direkt eingebunden, weil du sie erweitert hast. Vielleicht versuchen wir, die Erweiterungen "upstream" zu pflegen, so dass alle Nutzer dieser Klasse was davon haben. Das baue ich dann natürlich auch bei mir ein.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  29. #29
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    so, Update auf 1.9.1 ist da.

    Darin ist der Fehler mit der Meldung "Runtime notice: Redefining already defined constructor for class Browser" gefixt. Das Problem war, dass die Klasse eien Funktion "Browser" hatte, die automatisch auch als Konstruktor verwendet wird. Das hatte ich übersehen.

    Außerdem habe ich zwei Arrays mit Browser- und Systemnamen sowie jeweiligen Kürzeln ergänzt, die z.B. zur automatischen Generierung von Select-Listen dienen können.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  30. #30
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Also hatte ich doch recht mit dem doppelten Konstruktor? Schön dass das Problem gefixt wurde :-)

  31. #31
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    Zitat Zitat von jared Beitrag anzeigen
    Also hatte ich doch recht mit dem doppelten Konstruktor? Schön dass das Problem gefixt wurde :-)
    Ja, es war nur nicht so offensichtlich. Ob die Meldung angezeigt wird oder nicht hängt nicht von der PHP-Version sondern von den Settings ab, welche Ausgaben er vornimmt.

    Ich würde ich freuen, wenn du kurz verifizieren könntest, dass mit der neuen Version der Fehler wirklich weg ist... ;-)

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  32. #32
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von ETES Beitrag anzeigen
    Ich würde ich freuen, wenn du kurz verifizieren könntest, dass mit der neuen Version der Fehler wirklich weg ist... ;-)
    Also, ich für meinen Teil kann das bestätigen, dass mit der aktuellen Version der Fehler nicht mehr auftaucht!
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  33. #33
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von ETES Beitrag anzeigen
    Wie ich in deinem Ticketing gesehen habe, hast du die Klasse direkt eingebunden, weil du sie erweitert hast.
    Jan
    Direkt eingebunden weil ich die Browser je Zähler brauche, nicht je Contao Installation. (Multidomain Installation, inkl. Statistik Anzeige Backend)
    Die Klasse selbst habe ich erweitert und verändert um diese mit meiner Vorgänger Version kompatibel zu machen.
    Das auffälligste wäre die Windows Version Ergänzung + MacOSX:
    PHP-Code:
            const PLATFORM_WINDOWS_98    'Win98';
            const 
    PLATFORM_WINDOWS_ME    'WinME';
            const 
    PLATFORM_WINDOWS_NT    'WinNT';
            const 
    PLATFORM_WINDOWS_2000  'Win2000';
            const 
    PLATFORM_WINDOWS_2003  'Win2003';
            const 
    PLATFORM_WINDOWS_XP    'WinXP';
            const 
    PLATFORM_WINDOWS_VISTA 'WinVista';
            const 
    PLATFORM_WINDOWS_7     'Win7';
            const 
    PLATFORM_MACOSX        'MacOSX'
    Und damit die Änderung gleich zu Anfang in der protected function checkPlatform():
    PHP-Code:
    if( stripos($this->_agent'windows NT 7.0') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_7;
                }
                elseif( 
    stripos($this->_agent'windows NT 6.1') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_7;
                }
                elseif( 
    stripos($this->_agent'windows NT 6.0') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_VISTA;
                }
                elseif( 
    stripos($this->_agent'windows NT 5.2') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_2003;
                }
                elseif( 
    stripos($this->_agent'windows NT 5.1') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_XP;
                }
                elseif( 
    stripos($this->_agent'windows NT 5.0') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_2000;
                }
                elseif( 
    stripos($this->_agent'windows NT 4.0') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_NT;
                }
                elseif( 
    stripos($this->_agent'windows Me') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_ME;
                }
                elseif( 
    stripos($this->_agent'windows 98') !== false ) {
                        
    $this->_platform self::PLATFORM_WINDOWS_98;
                }
                elseif( 
    stripos($this->_agent'Mac OS X') !== false ) {
                        
    $this->_platform self::PLATFORM_MACOSX;
                } 
    Sobald ich die neue Version von Visitors im ER habe, kannste dir Details anschauen in der Datei ModuleVisitorBrowser3.php
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  34. #34
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    das Problem in deiner Implementierung dürfte in der Kompatibilität liegen.

    Alle, die sich bislang auf die Windows-Erkennung verlassen, könnten das nicht mehr wie gewohnt tun, weshalb das sicher nicht in das offizielle Release eingeplegt werden wird.

    Ich würde das daher eher in $this->_platformVersion statt in $this->_platform führen. Alle, die nur das Betriebssystem wissen wollen, können das weiter verwenden wie bislang und alle, die auch den Typ wissen wollen, könnten dann eine neue Variable abfragen. Oder spricht da was dagegen?

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  35. #35
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Sollte ja nur als Info dienen.
    Ob und wie du das in deinem Modul umsetzt überlasse ich dir.
    Die Idee von dir find ich gut.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  36. #36
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Ich hab das Update auf dem Problemserver durchgeführt und es läuft wunderbar :-)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Eine neue Klasse....wo reinschreiben?
    Von Wurzel im Forum Layout / Templates / Holy Grail
    Antworten: 4
    Letzter Beitrag: 24.11.2010, 13:50
  2. CSS Klasse
    Von schlunze im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 08.02.2010, 22:03
  3. Antworten: 5
    Letzter Beitrag: 26.11.2009, 23:35
  4. Die PDF Klasse (tcPdf)
    Von Sarvo im Forum Entwickler-Fragen
    Antworten: 1
    Letzter Beitrag: 07.09.2009, 08:42

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •