het werk op zich goed, maar zodra er gecropped is of de aspect ratio iets anders is matched hij niet meer helaas :Squote:Op zaterdag 15 maart 2014 12:39 schreef Chandler het volgende:
Leuke link, ga ik ook eens benchmarken en kijken wat de resultaten zijn!tot over 12 uur
Laravel anders een optie? Of iig de ORM die daar in zit, is ook los te gebruiken IIRC.quote:Op zondag 16 maart 2014 09:00 schreef HalveZware het volgende:
[..]
Persoonlijk krijg ik echt rode vlekken van Symphony en alles wat er op lijkt... Slim lijkt vooral een klein framework te zijn, dan zou ik eerder voor CodeIgnitor gaan.
op dit moment zit ik vooral met ORM's te knoeien, een framework heb ik al ( zelf-bouw <3 )
Zo iets zag ik ook al, ga aankomende nacht 7 (5x functies/classes waaronder phasher en 2x exe's) vergelijkingen draaien op ruim 8000 plaatjesquote:Op zondag 16 maart 2014 13:21 schreef wipes66 het volgende:
[..]
het werk op zich goed, maar zodra er gecropped is of de aspect ratio iets anders is matched hij niet meer helaas :S
Laravel is inderdaad wel echt een lief systeem qua functionaliteit :-)quote:Op zondag 16 maart 2014 14:35 schreef WyriHaximus het volgende:
[..]
Laravel anders een optie? Of iig de ORM die daar in zit, is ook los te gebruiken IIRC.
http://www.edzynda.com/us(...)-outside-of-laravel/quote:Op zondag 16 maart 2014 16:18 schreef HalveZware het volgende:
[..]
Laravel is inderdaad wel echt een lief systeem qua functionaliteit :-)
op dit moment eigen-framework icm met RedBeanPHP na dat ik al maanden allerlei websites afgestruind ben naar het ideale framework...
Sowieso, van de hierboven genoemden "problemen" heb ik verder geen last,
dat is kwestie van je framework goed schrijven :-)
Jammer dat Laravel het ORM zover ik weet overigens alleen IN het framework heeft zitten, en dat het niet een los project is ( Dat doet Symhony dan weer wel, maar dat is voor de rest weer niet te gebruiken )
en zo is het altijd wat ( daarom ben ik dus ook maar zel gaan schrijven, dat en omdat ik gewoon me shit graag vanaf scratch bouw, al jaren gedaan )
1 2 3 4 5 6 7 8 | <?php class Foo { private $private; protected $protected; public $public; public function __construct() { |
Held! :-Dquote:Op zondag 16 maart 2014 16:58 schreef TwenteFC het volgende:
[..]
http://www.edzynda.com/us(...)-outside-of-laravel/
Fok plays pokemon, maar dan met PHP ?quote:Op maandag 17 maart 2014 14:59 schreef totalvamp het volgende:
Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren.
Bijvoorbeeld
post1:
[ code verwijderd ]
Waarop de volgende persoon zijn code hieraan toevoegd.
Fok plays PHPquote:Op maandag 17 maart 2014 15:19 schreef HalveZware het volgende:
[..]
Fok plays pokemon, maar dan met PHP ?
Ja waarom ook niet ^_^
quote:Op maandag 17 maart 2014 14:59 schreef totalvamp het volgende:
Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren.
Bijvoorbeeld
post1:
[ code verwijderd ]
Waarop de volgende persoon zijn code hieraan toevoegd.
1 2 3 | <?php function say($what) { print $what } ; die(say("one more time m*therfucker!")); ?> |
Neequote:
Pff, een beetje veel moeite xDquote:Op maandag 17 maart 2014 15:38 schreef Tijn het volgende:
Het leukste is als we zoiets doen in combinatie met een repository die automatisch de inhoud van de posts commit en pusht.
Maar hoe ga je fouten afvangen dan?quote:Op maandag 17 maart 2014 14:59 schreef totalvamp het volgende:
Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren.
Bijvoorbeeld
post1:
[ code verwijderd ]
Waarop de volgende persoon zijn code hieraan toevoegd.
Hmm geen idee, iets om over na te denken nog dus.quote:Op maandag 17 maart 2014 17:58 schreef TwenteFC het volgende:
[..]
Maar hoe ga je fouten afvangen dan?
Iemand vergeet een ; of submit compleet foute code.
FOK! posts zijn wel super makkelijk uit te lezen.
quote:Op maandag 17 maart 2014 19:00 schreef totalvamp het volgende:
[..]
Hmm geen idee, iets om over na te denken nog dus.
Misschien de optie om de poster fouten te verbeteren als iemand ze tegenkomt, dan leert diegene er ook nog van
in het begin kan de code toch niet uitgevoerd wordenquote:Op maandag 17 maart 2014 19:03 schreef TwenteFC het volgende:
[..]En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren.
Of wordt de code niet écht uitgevoerd?
Geen idee nogquote:Op maandag 17 maart 2014 19:17 schreef Rockfire het volgende:
Klinkt leuk
Maar ga je dan van tevoren een doel stellen? Wat er gemaakt moet worden?
Wat is het maximale aantal tekens in een FOK! post?quote:Op maandag 17 maart 2014 19:37 schreef totalvamp het volgende:
[..]
Geen idee nogNiet iets te makkelijk, maar ook niet te moeilijk.
1 2 3 | 1. public function foo($foo){ 2. 3. } |
1 2 3 | 1. public function foo($foo, $bar) { 2. 3. } |
Volgens mij is dat maximum 65535 tekens. Daar kun je een hoop tekst in kwijt.quote:Op maandag 17 maart 2014 21:36 schreef TwenteFC het volgende:
[..]
Wat is het maximale aantal tekens in een FOK! post?anders kan je een totaal code laten posten en dan [insert line:5] [replace line:5] [remove line:5] commando's oid maken.
Het is JavaScript dat geinsert wordt? Lekker veilig.quote:Op maandag 17 maart 2014 21:42 schreef TwenteFC het volgende:
http://forum.fok.nl/ajax/(...)&tpl=forum2009&ver=1
Hmm, dacht dat dit json was, maar dat is niet.
Je moet dus het topic met een domscanner uitlezen (http://simplehtmldom.sourceforge.net/), of heeft iemand een beter idee?
quote:Op maandag 17 maart 2014 15:38 schreef Tijn het volgende:
Het leukste is als we zoiets doen in combinatie met een repository die automatisch de inhoud van de posts commit en pusht.
Had inderdaad een stuk netter gekund.quote:Op maandag 17 maart 2014 21:44 schreef Scorpie het volgende:
[..]
Het is JavaScript dat geinsert wordt? Lekker veilig.
quote:
Het lijkt op javascript dat uitgevoerd wordt. En ik zie het veiligheidsaspect niet zo. Het is vooral een kwestie van data escapen en filteren waar nodig, maar dat moet je sowieso doen.quote:Op maandag 17 maart 2014 21:44 schreef Scorpie het volgende:
[..]
Het is JavaScript dat geinsert wordt? Lekker veilig.
Eigenlijk moet je zoiets binnen een sandbox kunnen draaien. Ik offer mijn server er in ieder geval niet voor opquote:Op maandag 17 maart 2014 19:03 schreef TwenteFC het volgende:
[..]En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren.
Of wordt de code niet écht uitgevoerd?
Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel.quote:Op maandag 17 maart 2014 21:53 schreef Light het volgende:
[..]
Het lijkt op javascript dat uitgevoerd wordt. En ik zie het veiligheidsaspect niet zo. Het is vooral een kwestie van data escapen en filteren waar nodig, maar dat moet je sowieso doen.
Vind het wel knap dat ze überhaupt op dit idee zijn gekomen, eerlijk is eerlijk, ik zou er niet aan gedacht hebben.quote:Op maandag 17 maart 2014 22:54 schreef Scorpie het volgende:
[..]
Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel.
Filteren doe je op de input, eens. Ik neem aan dat dat hier ook gebeurt. En escapen moet je sowieso doen, of je nou javascript, json, xml of nog iets anders teruggeeft. Dat je in php de functie json_encode() hebt die het escapen voor je regelt, doet niets af aan het feit dat het wel gedaan moet worden. Welke argumenten er gebruikt zijn bij het maken van de keuze voor javascript, weet ik niet.quote:Op maandag 17 maart 2014 22:54 schreef Scorpie het volgende:
[..]
Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel.
Ik kan me voorstellen dat er soms voor wordt gekozen om maar gewoon HTML terug te geven, zeker als het om erg gestructureerde data gaat. Als je geen HTML fragmenten teruggeeft moet je alles via JS gaan opbouwen. Nogal lastig als je ergens in de template aanpassingen doet en die vervolgens ook door moet voeren in het stuk JS wat het renderen van de posts afhandelt.quote:Op maandag 17 maart 2014 22:54 schreef Scorpie het volgende:
[..]
Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel.
Welnee, daar hebben we juist template engines voor bedacht. http://garann.github.io/template-chooser/quote:Op maandag 17 maart 2014 23:51 schreef bondage het volgende:
[..]
Ik kan me voorstellen dat er soms voor wordt gekozen om maar gewoon HTML terug te geven, zeker als het om erg gestructureerde data gaat. Als je geen HTML fragmenten teruggeeft moet je alles via JS gaan opbouwen. Nogal lastig als je ergens in de template aanpassingen doet en die vervolgens ook door moet voeren in het stuk JS wat het renderen van de posts afhandelt.
Ik ben vooral verbaasd over het feit dat er hele lappen (duplicate) HTML over de lijn gaan.quote:Op maandag 17 maart 2014 23:42 schreef Light het volgende:
[..]
Filteren doe je op de input, eens. Ik neem aan dat dat hier ook gebeurt. En escapen moet je sowieso doen, of je nou javascript, json, xml of nog iets anders teruggeeft. Dat je in php de functie json_encode() hebt die het escapen voor je regelt, doet niets af aan het feit dat het wel gedaan moet worden. Welke argumenten er gebruikt zijn bij het maken van de keuze voor javascript, weet ik niet.
De templates hou ik al redelijk gescheiden van de rest dmv views. Ik heb even een paar van die template engine scriptjes bekeken en het ziet er wel erg aantrekkelijk uit. Ik ga me er sowieso meer in verdiepen, al gaat het wel lang duren voordat ik de templates van al mijn huidige projecten om heb gezet naar pure js.quote:Op dinsdag 18 maart 2014 00:00 schreef Scorpie het volgende:
[..]
Welnee, daar hebben we juist template engines voor bedacht. http://garann.github.io/template-chooser/
Zo hou je de templates netjes gescheiden van je data, kan je aanpassingen makkelijk doorvoeren (nieuw templatetje maken en die matchen op je data) en je onderhoud gaat nog eens flink omlaag.
Vroeger, toen de hele template nog in JS gebouwd werdquote:Op maandag 17 maart 2014 23:51 schreef bondage het volgende:
[..]
Ik kan me voorstellen dat er soms voor wordt gekozen om maar gewoon HTML terug te geven, zeker als het om erg gestructureerde data gaat. Als je geen HTML fragmenten teruggeeft moet je alles via JS gaan opbouwen. Nogal lastig als je ergens in de template aanpassingen doet en die vervolgens ook door moet voeren in het stuk JS wat het renderen van de posts afhandelt.
Ik heb wel een webservert beschikbaar.quote:Op maandag 17 maart 2014 19:03 schreef TwenteFC het volgende:
[..]En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren.
Of wordt de code niet écht uitgevoerd?
De FOK!silver layout deed dat toch? Die template was ook redelijk makkelijk in stukjes te hakken en heb ik lange tijd gebruikt om de dagcijfers mee te indexeren. Tegenwoordig gebruik ik daar de textonly layout voor aangezien die zo weinig mogelijk 'zooi' bevat wat ik niet nodig heb.quote:Op dinsdag 18 maart 2014 00:44 schreef KomtTijd... het volgende:
[..]
Vroeger, toen de hele template nog in JS gebouwd werd
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 | <?php include('../simplehtmldom/simple_html_dom.php'); class ScanTopic { public $fokTopicChain = "http://forum.fok.nl/topicchain/61"; public $topicPosts = "/1/300"; private $fokBaseUrl = "http://forum.fok.nl/"; protected $fokLatestTopicDom; public function __construct(){ $this->fokLatestTopicDom = $this->getLatestTopicDom($this->getPageDom($this->fokTopicChain)->find('.tTitel > a',0)->href); } public function scanPosts(){ return $this->fokLatestTopicDom->find('.codeDisplayTableCode'); } private function getLatestTopicDom($topicUrl){ return $this->getPageDom($this->fokBaseUrl.$topicUrl.$this->topicPosts); } private function getPageDom($page){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $page); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($ch); curl_close($ch); return str_get_html($html); } } $topic = new ScanTopic; foreach($topic->scanPosts() AS $scannedPost){ $postText = $scannedPost->plaintext; if(strpos($postText, 'submit-tag')){ echo $postText; } } ?> |
Kan je ook op find('.classname') selecteren, ipv find('tag[attr=blabla]')?quote:Op dinsdag 18 maart 2014 19:57 schreef TwenteFC het volgende:
[ code verwijderd ]
Super netjes is het niet, maar ik vind het te traaaaaag.
Je kan zoeken op .classname ja.quote:Op dinsdag 18 maart 2014 20:20 schreef Crutch het volgende:
[..]
Kan je ook op find('.classname') selecteren, ipv find('tag[attr=blabla]')?
Kan ook, alleen ben ik niet zo bekend met scrapen van sites daarin.quote:
Je zou kunnen kijken Symfony 2 of Laravel 4 hoe zij het aangepakt hebben?quote:Op dinsdag 18 maart 2014 20:52 schreef robin007bond het volgende:
Overigens vind ik het implementeren van de autoloader best lastig. Ook met die gist van Github weet ik totaal niet hoe ik het in moet richten. Een klasse met statische methodes die ik dan moet laten registreren via spl_autoload_register. Het is een beetje een warboel.
Ze zeggen dat ik dat dan maar in één klasse hoef te doen, maar die spl_autoload moet toch wel in iedere klasse zitten? Ik kan weinig echt concrete toepassingen vinden. En dan wil ik ook nog PSR-4 compliant werken, maar ik heb helemaal geen namespaces dus dan moet ik alles weer opnieuw inrichten.
Je kunt ook kijken of een tool als Composer misschien een wat makkelijkere oplossing bied?quote:Op dinsdag 18 maart 2014 20:52 schreef robin007bond het volgende:
Overigens vind ik het implementeren van de autoloader best lastig. Ook met die gist van Github weet ik totaal niet hoe ik het in moet richten. Een klasse met statische methodes die ik dan moet laten registreren via spl_autoload_register. Het is een beetje een warboel.
Ze zeggen dat ik dat dan maar in één klasse hoef te doen, maar die spl_autoload moet toch wel in iedere klasse zitten? Ik kan weinig echt concrete toepassingen vinden. En dan wil ik ook nog PSR-4 compliant werken, maar ik heb helemaal geen namespaces dus dan moet ik alles weer opnieuw inrichten.
Goede tip inderdaad!quote:Op dinsdag 18 maart 2014 21:02 schreef TwenteFC het volgende:
[..]
Je zou kunnen kijken Symfony 2 of Laravel 4 hoe zij het aangepakt hebben?
Ja, daar dacht ik ook al aan. Ben wel voorzichtig met externe tools omdat niet iedereen met die dingen werkt.quote:Op dinsdag 18 maart 2014 21:16 schreef Sitethief het volgende:
[..]
Je kunt ook kijken of een tool als Composer misschien een wat makkelijkere oplossing bied?
Psiesquote:Op dinsdag 18 maart 2014 20:46 schreef TwenteFC het volgende:
[..]
Kan ook, alleen ben ik niet zo bekend met scrapen van sites daarin.
Be my guestIk wil best een bijdrage leveren als er een basis staat.
Edit:Het is logischer en makkelijker dan ik dacht dus
http://blog.dtrejo.com/po(...)query-and-selectorga
https://gist.github.com/DTrejo/790580
Nodejs is wel wat meer dan Socket ondersteuning hequote:Op dinsdag 18 maart 2014 20:51 schreef robin007bond het volgende:
[..]
Omdat we niet altijd sockets nodig hebben.
Misschien is dat (net zoals bij jQuery) een snellere selector dan eerst de tag te selecteren.quote:
quote:Op woensdag 19 maart 2014 00:09 schreef Crutch het volgende:
Ik stem alvast voor een Mercurial repository
Ik heb nog gekeken. Ze gebruiken allebei de autoloader van composer. Maar goed, dan moet ik nu overal namespaces inrichten en waah. Ik weet niet.quote:Op dinsdag 18 maart 2014 21:02 schreef TwenteFC het volgende:
[..]
Je zou kunnen kijken Symfony 2 of Laravel 4 hoe zij het aangepakt hebben?
Opzich is namespaces heel eenvoudig. Het lijkt heel lastig in zijn uitleg, qualified en fully qualified etc, maar als je het eenmaal ingesteld hebt voor al je classes en shit dan werkt het vrij eenvoudig, zeker als je composer gebruikt. Het is ook fijn als je een IDE hebt die met namespaces kan omgaan, dat vereenvoudigt het gebruik. Maar het is belangrijk niet blind te varen op de IDE en eerst zelf te leren hoe je namespaces het beste kunt inzetten in je software.quote:Op woensdag 19 maart 2014 09:12 schreef robin007bond het volgende:
[..]
Ik heb nog gekeken. Ze gebruiken allebei de autoloader van composer. Maar goed, dan moet ik nu overal namespaces inrichten en waah. Ik weet niet.
Lol, ik wist niet dat je een class ook zonder (foo,bar) kon oproepenquote:Op dinsdag 18 maart 2014 19:57 schreef TwenteFC het volgende:
[ code verwijderd ]
Super netjes is het niet, maar ik vind het te traaaaaag.
Mijn ervaring met scrapen is dat het vaak het snelste is om er gewoon een moeilijk ranzig legertje regex'en op los te laten.quote:Op dinsdag 18 maart 2014 19:57 schreef TwenteFC het volgende:
[ code verwijderd ]
Super netjes is het niet, maar ik vind het te traaaaaag.
http://simplehtmldom.sourceforge.net/quote:Op woensdag 19 maart 2014 11:07 schreef KomtTijd... het volgende:
[..]
Mijn ervaring met scrapen is dat het vaak het snelste is om er gewoon een moeilijk ranzig legertje regex'en op los te laten.
Uiteraard!quote:Op dinsdag 18 maart 2014 19:43 schreef robin007bond het volgende:
Gebruiken jullie al PSR-4 als autoloader?
quote:Op woensdag 19 maart 2014 11:16 schreef Sitethief het volgende:
[..]
http://simplehtmldom.sourceforge.net/
Of good ol' DOMDocument, als is dat best een hassle, zal ongetwijfeld sneller zijn.quote:Op woensdag 19 maart 2014 18:14 schreef TwenteFC het volgende:
[..]dat had ik dus gebruikt, zat ook even te kijken naar phpQuery, maar dat had ik nog nooit eerder gebruikt.
Ongetwijfeld, maar wel een penswerkquote:Op woensdag 19 maart 2014 18:45 schreef Crutch het volgende:
[..]
Of good ol' DOMDocument, als is dat best een hassle, zal ongetwijfeld sneller zijn.
1 2 3 4 5 6 | <?php // Die with a success message wp_die("<span class='success'><a href='http://hpgonline.nl/shop/hpgroep-nieuw/' title='Terug naar de homepage'><img src='http://hpgonline.nl/shop/hpgroep-nieuw/wp-content/uploads/2013/10/favicon.png' style='float: right;' alt='Logo HPG'/></a><br/> Dank voor uw aanvraag. De offerte aanvraag is door HPG ontvangen.<br />We nemen spoedig contact met u op! </span><meta http-equiv="refresh" content="5;url=http://hpgonline.nl/shop/hpgroep-nieuw/" />",'Het bericht is door HPG ontvangen!'); } ?> |
1 2 3 4 5 6 | <<?php $test = 10; echo "Dit is een test".($test > 5 ? "score is hoger dan 10":"score is lager dan 10"); ?> |
1 2 3 4 5 6 | <<?php $test = 10; echo "Dit is een test".($test>5)? "score is hoger dan 10":"score is lager dan 10"; ?> |
quote:Op zondag 23 maart 2014 10:54 schreef slacker_nl het volgende:
Prachtig, maak er een test voor en ga debuggen.
Klanten willen ni betalen voor tests!quote:Op zondag 23 maart 2014 10:54 schreef slacker_nl het volgende:
Prachtig, maak er een test voor en ga debuggen.
Nee, dat doe ik al een tijdje, maar ik heb hier heel lang niet gepost.. en TDD ftw (en klanten betalen ervoor, wedden!!). Een collega verwees me naar Extreme Programming: "If you don't test, you don't do extreme programming" - je weet tog?! Maar op werk ben ik nu soort van verantwoordelijk voor de testsuite van onze applicatie, dus ja, beetje beroepsdeformatie is het wel.quote:Op maandag 24 maart 2014 19:14 schreef TwenteFC het volgende:
Ben jij recentelijk begonnen met TDD ofzo? Komt de laatste tijd wel erg vaak terug in je posts
.
Ik zou willen dat de baas er hier ook zo overdacht, maar helaas is devven niet onze core business en het enige waar hij omgeeft is dat zijn wensenlijstjes zo vlot mogelijk weggewerkt zijn.quote:Op maandag 24 maart 2014 20:51 schreef slacker_nl het volgende:
[..]
Nee, dat doe ik al een tijdje, maar ik heb hier heel lang niet gepost.. en TDD ftw (en klanten betalen ervoor, wedden!!). Een collega verwees me naar Extreme Programming: "If you don't test, you don't do extreme programming" - je weet tog?! Maar op werk ben ik nu soort van verantwoordelijk voor de testsuite van onze applicatie, dus ja, beetje beroepsdeformatie is het wel.
Dat maakt het des te gekker, want zelfs al zou de hele code niet draaien, zou er op zijn minst een < moeten staatquote:
Hoe kun je in hemelsnaam niet zien wat daar mis mee is? Zit je zonder syntax highlighting te werken ofzo? heb je error_reporting en alles uit staan?quote:Op zondag 23 maart 2014 09:48 schreef Elelfem het volgende:
Een nieuwe dummie vraag:
Ik wil graag vanuit een verzendbevestiging van een formulier dat de gebruiker geredirect wordt naar de homepage.
Daarvoor gebruik ik:
[ code verwijderd ]
Maar die werkt 'natuurlijk' niet.
Wat zou wel moeten werken?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |