interessante frage zum string casting

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Original geschrieben von 3DMax
    und wie vermeiden?
    ich habe gerade sehr lange nachdenken müssen, aber mir ist nicht eingefallen, wann ich das letzte mal in php strings (vor allem mit _solchen_ inhalt) vergleichen musste. du etwa?

    Kommentar


    • #17
      Original geschrieben von penizillin
      ich habe gerade sehr lange nachdenken müssen, aber mir ist nicht eingefallen, wann ich das letzte mal in php strings (vor allem mit _solchen_ inhalt) vergleichen musste. du etwa?
      naja, das wären halt alle werte, die von aussen (aber auch intern!) kommen und die man auf diese weise vergleicht. und sicherlich ließe sich daraus auch ein security-problem konstruieren.

      also gut zu wissen, dass ein casting allein nicht immer ausreicht.

      Kommentar


      • #18
        Original geschrieben von penizillin
        ich habe gerade sehr lange nachdenken müssen, aber mir ist nicht eingefallen, wann ich das letzte mal in php strings (vor allem mit _solchen_ inhalt) vergleichen musste. du etwa?
        hatte gerade ein Array mit Usernamen, was ich verdoppeln und danach jedem User einen anderen User zuordnen musste, sodass am Ende möglichst nicht ein User sich selbst als Partner hat ... da war das nötig und hat auch spontan mit dem doppelten Gleich nicht funktioniert, habs dann nochmal mit strcmp gemacht, einwandfrei
        Aber dass ich da Strings hatte, lag auch nur daran, dass die vorher per regex aus einem Text gefischt wurden ... für gewöhnlich hat man ja ids dann erledigt sich das wieder *zuck*


        btw.@sinkendes Schiff

        Da spricht jemand, der keine Ahnung hat ... sorry, aber ist so. PHP ist deshalb so beliebt, weil es so einfach ist, da kann keine Sprache mithalten. Wer der Meinung ist, dass PERL eine Alternative wäre, der irrt, perl ist langsam und wie ich finde auch nicht sonderlich übersichtlich. Java ist langsam und aufwendiger zu programmieren und asp kenne ich nicht und will ich nicht kennen lernen.
        php hat eine Zukunft, wer das nicht sieht, hat die Augen zu XP

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #19
          Danke Koala

          vergleich:

          $var = (string) '0X2BAD';
          $var2 = (string) '11181';

          if( $var == $var2 ) ....

          Wenn ich mich dann auch Vorstellen dürfte, ich bin das arme kleine doublechen das vergeblich nach nem VP Job sucht ohne das ich 600 Kilometer umziehn muss =)
          Zuletzt geändert von double; 09.10.2006, 01:06.

          Kommentar


          • #20
            Hi,
            etwas polemik und schon bekommt der thread etwas pepp.

            @onemorenerd
            sicher wird etwas geändert. Das ist schon ewig so. Hier wird was geändert
            und dort und da auch noch. Nicht umsonst handelt es sich um eine solche
            frickelsprache. Es wurden designentscheidungen getroffen die schlichtweg
            falsch waren. Da hilft auch nachträgliches flicken nicht viel. Mir ist
            echt ein rätsel warum diejenigen unter euch die schon etwas länger dabei
            sind, sich dieses sachverhaltes offensichtlich noch nicht bewusst sind.

            Original geschrieben von ghostgambler

            btw.@sinkendes Schiff

            Da spricht jemand, der keine Ahnung hat ... sorry, aber ist so. PHP ist deshalb so beliebt, weil es so einfach ist, da kann keine Sprache mithalten. Wer der Meinung ist, dass PERL eine Alternative wäre, der irrt, perl ist langsam und wie ich finde auch nicht sonderlich übersichtlich. Java ist langsam und aufwendiger zu programmieren und asp kenne ich nicht und will ich nicht kennen lernen.
            php hat eine Zukunft, wer das nicht sieht, hat die Augen zu XP
            Ja muss wohl so sein dass ich keine ahnung habe.
            Dann verdien ich wohl mein geld mit "keine ahnung haben".
            Achso und alternativen gibt es natürlich auch nicht.
            Ruby on Rails
            Turbogears

            greets
            (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

            Kommentar


            • #21
              Original geschrieben von closure
              Hi,
              etwas polemik und schon bekommt der thread etwas pepp.

              Ja muss wohl so sein dass ich keine ahnung habe.
              Dann verdien ich wohl mein geld mit "keine ahnung haben".
              Achso und alternativen gibt es natürlich auch nicht.
              Ruby on Rails
              Turbogears

              greets
              Natürlich gibt es alternativen.
              z.b.s Perl der früher als PHP da war und immer weniger benutzt wird,

              java die eigentlich auch zusammen geflickt wurde und hat immer noch schwachstellen und es gibt immer noch kaum provider, die jsp anbieten.

              Ruby, die auch bestimmt ein paar Bugs hat, und genau so wie jsp kaum angeboten wird.

              eine Webanwendug kann man wunderbar in C++ schreiben und auch ohne Apache.
              Also du packst Threeadsfächige-serversocket und html-ausgaben in eine exe Datei und hast eine superschnelle Anwendung, die ausser dir keiner mehr warten kann.

              Man brauch nicht php zusammenflicken wenn es sein muss kann PHP neugeschrieben werden. PHP ist eine Sprache die man spricht und wenn es sein muss, wird es komplet neu überschrieben, da die Leute PHP-syntax verstehen und in vergleich zu anderen Sprachen besser damit zu Recht kommen.

              ehrlich gesagt, verstehe ich nicht ganz, warum du ein PHP-forum besuchst, wenn du fest überzeugt bist, dass PHP kein zukunft hat.
              wenn du dein Geld mit "keine Ahnung womit" verdienst und wunderbar ohne PHP zu recht kommst, was treibt dich dann diesen Forum zu besuchen?
              Slava
              bituniverse.com

              Kommentar


              • #22
                Original geschrieben von Slava
                .Ruby, die auch bestimmt ein paar Bugs hat, und genau so wie jsp kaum angeboten wird.
                Auf shared servern ja. Aber wenn es um größere webapplikationen geht,
                lässt du die ohnehin auf deinen eigenen servern laufen.

                Original geschrieben von Slava
                eine Webanwendug kann man wunderbar in C++ schreiben und auch ohne Apache.
                Also du packst Threeadsfächige-serversocket und html-ausgaben in eine exe Datei und hast eine superschnelle Anwendung, die ausser dir keiner mehr warten kann.
                Die meisten unixes, und die meisten server da draussen laufen mit nem *nix,
                können mit "exen" nix anfangen.

                Aber prinzipiell hast du natürlich recht. Nur über die wartbarkeit lässt sich
                streiten. Ich behaupte eine mittelgroße anwendung auf diese weise
                implementiert von entwicklern die ihr handwerk verstehen ist performanter und
                leichter wartbar als die selbe anwendung in php.

                Original geschrieben von Slava
                Man brauch nicht php zusammenflicken wenn es sein muss kann PHP neugeschrieben werden.
                Schlag das mal dem Zendteam vor.

                Original geschrieben von Slava
                ehrlich gesagt, verstehe ich nicht ganz, warum du ein PHP-forum besuchst, wenn du fest überzeugt bist, dass PHP kein zukunft hat.
                Weil ich trotzdem zu diesem thema etwas zu sagen habe. Also php
                ganz prinzipiell. Es ist ja nicht so, dass ich nie php programmieren musste.
                Das war und ist (leider) teilweise immer noch so. Ich kritisiere aber eben
                auch dinge wenn mir etwas nicht gefällt. Das trifft nicht nur php. Es gibt
                auch noch andere sprachen an denen mir dies oder das nicht gefällt.
                Jedoch halte ich php für einen hoffnungslosen fall.
                Ich beschäftige mich auch mit brainfuck , das heisst nicht dass ich
                eine zukunft sehe in der brainfuck für enterpriselösungen eingsetzt wird.

                Ich habe relativ viele sprachen gesehen und probiert. Aber keine hat mich
                so in die verzweiflung getrieben wie php. Das hat nichtmal lisp geschaft.
                Ich mag lisp bzw. scheme (sry an die common lisper für diese gleichstellung )
                ich mag auch c++ und perl. Ich liebe ruby.

                Naja php ist etwas, mit dem man wunderbar ein gästebuch schreiben kann.
                Aber eben nicht mehr und nicht weniger. Es hat sicher seine daseinsberechtigung
                in diesem bereich. Aber die entwicklung geht weiter und php gehört langsam
                zum alten eisen. Es gibt neue technologien auf die man als entwickler nicht
                verzichten will/kann.

                greets
                (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                Kommentar


                • #23
                  Sowohl Ruby wie auch Turbogears sind von der Syntax her einfach nur grottig. Wieso muss ich erst eine neue Syntax lernen, wenn ich "nur" eine Webanwendung programmieren will?
                  PHP hat die gleiche Syntax wie C, C++ und Java, ist somit einfach zu lernen, viel einfacher als eine komplett neue Syntax.

                  Abgesehen davon, gibt es für PHP einfach Extensions, die es für andere Programmiersprachen nicht gibt. Ein geliebtes Zitat von mir ist "PHP scales horizontally like a god", oder die Textstelle im Manual, wo von "Klebstoff zwischen Komponenten" geredet wird, ganz zu schweigen davon, dass sich einfach schon bestehender C Code einbinden lässt, der in Sachen Performance eine Menge auflegen kann.

                  Schau dir Präsentationen von großen Websiten an, über deren Entscheidung FÜR php, es gibt genügend...

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #24
                    Original geschrieben von ghostgambler
                    Sowohl Ruby wie auch Turbogears sind von der Syntax her einfach nur grottig.
                    Das ist wohl reine geschmackssache. Liefer mir doch mal php-code
                    der folgendes ebenso elegant(schön) ausdrückt. (frameworks darfst
                    du natürlich verwenden)

                    Code:
                    class User < ActiveRecord::Base
                        belongs_to :group
                        has_many :articles
                        validates_presence_of :name,:message => 'oh oh'
                    end
                    
                    u = User.create(:name => 'User')
                    u.articles << Article.create(:heading => 'MyTestArticle',:body => 'bla')
                    
                    #benutzer finden ?
                    the_user = User.find_by_name('User')
                    
                    #einen bestimmten artikel finden
                    some_article = the_user.articles.find_by_heading('MyTestArticle')
                    
                    #alle artikel finden und liste von überschriften erzeugen
                    headings = the_user.articles.collect { |article| article.heading }
                    Das ist valider code wenn man rails benutzt und tut genau das , was man
                    sich denkt. (Auch wenn man kein ruby kann)

                    Du sagtest ja auch etwas später etwas von extensions.
                    Ruby und Python kommen beide mit "Batteries included".


                    Original geschrieben von ghostgambler
                    Abgesehen davon, gibt es für PHP einfach Extensions, die es für andere Programmiersprachen nicht gibt.
                    Nenn mir ein beispiel. Das glaube ich schlichtweg nicht.

                    Original geschrieben von ghostgambler
                    ...ganz zu schweigen davon, dass sich einfach schon bestehender C Code einbinden lässt, der in Sachen Performance eine Menge auflegen kann.
                    Ist in ruby ebenso einfach, wenn nicht einfacher.

                    Original geschrieben von ghostgambler
                    Schau dir Präsentationen von großen Websiten an, über deren Entscheidung FÜR php, es gibt genügend...
                    Link ?


                    greets
                    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                    Kommentar


                    • #25
                      das ist wirklich Geschmacksache aber bei dem Ausdruck

                      class User < ActiveRecord::Base
                      belongs_to :group
                      has_many :articles
                      validates_presence_of :name,:message => 'oh oh'
                      end

                      finde ich nur Ersatz von extends "<" als interessant, alles anderes ist einfach hässlich.
                      von mir aus gehören die Programmiersprachen, die keine Klammerung verwenden in die Mülltonne. "end" "if -fi".
                      Slava
                      bituniverse.com

                      Kommentar


                      • #26
                        Original geschrieben von closure
                        Das ist wohl reine geschmackssache. Liefer mir doch mal php-code
                        der folgendes ebenso elegant(schön) ausdrückt. (frameworks darfst
                        du natürlich verwenden)

                        Code:
                        class User < ActiveRecord::Base
                            belongs_to :group
                            has_many :articles
                            validates_presence_of :name,:message => 'oh oh'
                        end
                        
                        u = User.create(:name => 'User')
                        u.articles << Article.create(:heading => 'MyTestArticle',:body => 'bla')
                        
                        #benutzer finden ?
                        the_user = User.find_by_name('User')
                        
                        #einen bestimmten artikel finden
                        some_article = the_user.articles.find_by_heading('MyTestArticle')
                        
                        #alle artikel finden und liste von überschriften erzeugen
                        headings = the_user.articles.collect { |article| article.heading }
                        Das ist valider code wenn man rails benutzt und tut genau das , was man
                        sich denkt. (Auch wenn man kein ruby kann)
                        Ich finde das nicht schön, demnach hat sich die Suche nach einem php-Äquivalent erledigt...
                        Stempel mich als konservativ ab, aber die einzig vernünftige Syntax für mich ist die C-Syntax. Alles andere ist der neumodische Versuch aus den alten Schellen auszubrechen, und das geht meist in die Hose...

                        Du sagtest ja auch etwas später etwas von extensions.
                        Ruby und Python kommen beide mit "Batteries included".

                        Nenn mir ein beispiel. Das glaube ich schlichtweg nicht.
                        für bzip hab ich spontan keine ruby-Ausweichmöglichkeit gefunden
                        Firebird-Support ist wohl auch nicht hausintern, sondern erst mit third-party-Ext
                        Und ich finde bestimmt noch mehr, wenn ich weiter suchen würde...

                        Link ?
                        Da ich in meinen undendlichen Weiten meiner Bookmarks (Firefox-Proposal: Suchfunktion in Bookmarks?! x_X) gerade nicht die passenden gefunden hab, hab ich bei Google mal was passendes zu meiner Meinung gesucht ^^
                        http://www.sitepoint.com/blogs/2006/...-pro-php-rant/

                        Teil 1 hiervon ist noch interessant, weil es einen Punkt unterstreicht den ich eh noch ankreiden wollte
                        http://clickablebliss.com/blog/2005/..._rails_part_1/
                        Mit PHP ist es nicht nur möglich Webanwendungen zu machen ... es ist zwar theoretisch etwas utopisch, aber ich habe in einem Buch auch eine Implementation für einen Monitor-Dämon in php gesehen; die Funktionalität ist eine ganz andere zwischen Ruby und PHP, ein Vergleich der beiden ist Banane...

                        Des weiteren stieß ich bei meiner Suche bei Google auch noch auf mangelhafte DB-Unterstützung in Ruby, das war allerdings noch zu php-Zeiten, weshalb ich das jetzt nicht als *das* Gegenargument anbringen will (da hat sich hoffentlich bei Ruby in Zwischenzeit etwas getan...)


                        irgendwas wollte ich noch sagen, aber das ist irgendwie flöten gegangen in der icq-Diskussion ob der Join nu kartesisch sei oder nicht *rolleyes* ... danke benny -.-

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar


                        • #27
                          Original geschrieben von ghostgambler
                          Ich finde das nicht schön, demnach hat sich die Suche nach einem php-Äquivalent erledigt...
                          Stempel mich als konservativ ab, aber die einzig vernünftige Syntax für mich ist die C-Syntax. Alles andere ist der neumodische Versuch aus den alten Schellen auszubrechen, und das geht meist in die Hose...
                          Es ist wie bereits gesagt geschmackssache. Ich bevorzuge eine
                          intuitive syntax.

                          Original geschrieben von ghostgambler
                          für bzip hab ich spontan keine ruby-Ausweichmöglichkeit gefunden
                          Firebird-Support ist wohl auch nicht hausintern, sondern erst mit third-party-Ext
                          Und ich finde bestimmt noch mehr, wenn ich weiter suchen würde...
                          bzip
                          firebird
                          firebird & rails

                          Original geschrieben von ghostgambler
                          Da ich in meinen undendlichen Weiten meiner Bookmarks (Firefox-Proposal: Suchfunktion in Bookmarks?! x_X) gerade nicht die passenden gefunden hab, hab ich bei Google mal was passendes zu meiner Meinung gesucht ^^
                          http://www.sitepoint.com/blogs/2006/...-pro-php-rant/
                          Ich sehe nichts was daran toll ist. Die spl ist ein unschöner versuch zusammen
                          mit dem vermurksten iteratorkonzept von php etwas stl-ähnliches zu
                          erschaffen. Mit mäßigem erfolg. Iteratoren in php sind keine container-unabhänige
                          schnittstelle. Ich hab zu diesem thema irgendwann mal was hier geschrieben.
                          Nachtrag: Hier stehts

                          Original geschrieben von ghostgambler
                          Teil 1 hiervon ist noch interessant, weil es einen Punkt unterstreicht den ich eh noch ankreiden wollte
                          http://clickablebliss.com/blog/2005/..._rails_part_1/
                          Der artikel ist pro-rails wenn es um webapplikationen geht.

                          Original geschrieben von ghostgambler
                          Mit PHP ist es nicht nur möglich Webanwendungen zu machen ... es ist zwar theoretisch etwas utopisch, aber ich habe in einem Buch auch eine Implementation für einen Monitor-Dämon in php gesehen; die Funktionalität ist eine ganz andere zwischen Ruby und PHP, ein Vergleich der beiden ist Banane...
                          Du darfst rails nicht mit ruby gleichsetzen. Ruby ist eine moderne
                          programmiersprache. Rails ist ein webframework dass mittels dieser
                          sprache implementiert wurde.
                          Mit ruby ist wesentlich mehr möglich.
                          Kleiner Ausblick

                          Original geschrieben von ghostgambler
                          Des weiteren stieß ich bei meiner Suche bei Google auch noch auf mangelhafte DB-Unterstützung in Ruby, das war allerdings noch zu php-Zeiten, weshalb ich das jetzt nicht als *das* Gegenargument anbringen will (da hat sich hoffentlich bei Ruby in Zwischenzeit etwas getan...)
                          Das ist wohl ne weile her, wenn man sich dbi und activerecord anschaut.

                          Original geschrieben von ghostgambler
                          irgendwas wollte ich noch sagen, aber das ist irgendwie flöten gegangen in der icq-Diskussion ob der Join nu kartesisch sei oder nicht *rolleyes* ... danke benny -.-
                          Kommt drauf an ob die ergebnismenge äquivalent zur menge aller geordneten paare der ausgangsmengen ist.
                          Das ist meistens der fall wenn die where-klausel nicht feuert oder keine
                          angegeben wurde.

                          Und noch ein Nachtrag
                          Mal contra-artikel die das zusammenfassen und noch mehr
                          was ich ebenfalls bemängele.
                          Why
                          PHP
                          sucks

                          greets
                          Zuletzt geändert von closure; 09.10.2006, 14:43.
                          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                          Kommentar


                          • #28
                            Original geschrieben von Slava
                            finde ich nur Ersatz von extends "<" als interessant, alles anderes ist einfach hässlich.
                            von mir aus gehören die Programmiersprachen, die keine Klammerung verwenden in die Mülltonne. "end" "if -fi".
                            Dann musst du ja lisp lieben

                            Mal ehrlich du findest
                            PHP-Code:

                            #3 mal ausgeben
                            for($i=0;$i<3;$i++){
                                 echo 
                            'php ';
                            }

                            #aufwärts zählend ausgeben
                            for($i 0;$i 10;$i++){
                                 print 
                            "{$i} jupp\n";
                            }

                            function 
                            bar($i){
                               return (
                            $i !== 5);
                            }

                            function 
                            foobar(){
                               
                            $foo 1;
                               while(
                            bar($foo)){
                                   echo 
                            "nein\n";
                                   
                            $foo++;
                              }

                            besser (schöner) als:
                            Code:
                            #3 mal ausgeben
                            3.times do
                               print 'ruby'
                            end
                            
                            #oder
                            
                            "ruby" * 3
                            
                            #----------------------------------------
                            
                            #aufwärts
                            0.upto(10) do |i|
                                print "#{i} yupp\n"
                            end
                            
                            #-----------------------------------------
                            
                            def foobar
                              foo = 1
                              while yield foo
                                   print "nein\n"
                                   foo+=1
                              end
                            end
                            
                            foobar do |i| 
                                i != 5 
                            end
                            ?

                            Also als jemand der von c++ kommt bin ich natürlich auch an klammern
                            gewöhnt aber schöner finde ich ruby's syntax.
                            (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                            Kommentar


                            • #29
                              Original geschrieben von closure
                              Dann musst du ja lisp lieben

                              Mal ehrlich du findest
                              PHP-Code:

                              #3 mal ausgeben
                              for($i=0;$i<3;$i++){
                                   echo 
                              'php ';
                              }

                              #aufwärts zählend ausgeben
                              for($i 0;$i 10;$i++){
                                   print 
                              "{$i} jupp\n";
                              }

                              function 
                              bar($i){
                                 return (
                              $i !== 5);
                              }

                              function 
                              foobar(){
                                 
                              $foo 1;
                                 while(
                              bar($foo)){
                                     echo 
                              "nein\n";
                                     
                              $foo++;
                                }

                              besser (schöner) als:
                              Code:
                              #3 mal ausgeben
                              3.times do
                                 print 'ruby'
                              end
                              
                              #oder
                              
                              "ruby" * 3
                              
                              #----------------------------------------
                              
                              #aufwärts
                              0.upto(10) do |i|
                                  print "#{i} yupp\n"
                              end
                              
                              #-----------------------------------------
                              
                              def foobar
                                foo = 1
                                while yield foo
                                     print "nein\n"
                                     foo+=1
                                end
                              end
                              
                              foobar do |i| 
                                  i != 5 
                              end
                              ?

                              Also als jemand der von c++ kommt bin ich natürlich auch an klammern
                              gewöhnt aber schöner finde ich ruby's syntax.
                              ich sage doch das es Geschmacksache ist, und ich finde Ruby-syntax nicht nur unübersichtlich, sondern auch richtig hässlich.
                              Villeicht wird ein VB-Programmierer sich auf so ein Syntax freuen, aber ich würde mal fui sagen.
                              Vielleich liegt es daran, dass ich eigentlich nur c, c++, java, c#, javascript und einwenig Actionscript programmiert habe.
                              shellscripting habe ich auch ein wenig gemacht, aber finde der Syntax nur für ganz kleine Programmstücke akzeptabel
                              Slava
                              bituniverse.com

                              Kommentar


                              • #30
                                Grundsätzlich will ich mich in die Diskussion eigentlich gar nicht einmischen, aber ...
                                #aufwärts
                                0.upto(10) do |i|
                                Sehe ich das richtig, dass hier eine Methode upto eines Zahlenobjekts(?) 0 mit dem Parameter 10 aufgerufen wird, um von 0 bis 9 zu laufen ...?

                                Was mich daran wirklich stört ist, dass der "Startwert" ein Objekt darstellt, der Endwert wiederum nur ein Parameter ist - sorry, aber diese Notation ist wirklich hässlich und intransparent in meinen Augen.

                                Das ist ja in etwa das gleiche, als wenn ich zum Vergleichen von zwei Zahlen keinen schlichten Operator mehr nehmen würde - sondern dazu eine Vergleichsmethode eines Zahlenobjektes nehme, und der die andere Zahl als Parameter übergebe ...

                                7.isEqualTo(13)

                                Sorry, aber da hört mein Begriff einer verständlichen Syntax vorher auf ...

                                Das klingt für mich eher nach Objektorientierung um der Objektorientierung willen, auf Teufel komm' raus, und nicht weil sie an der Stelle etwa sinnvoll wäre.
                                I don't believe in rebirth. Actually, I never did in my whole lives.

                                Kommentar

                                Lädt...
                                X