Restrict images

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
maico
Berichten: 562
Lid geworden op: 04 jan 2004, 18:26

Restrict images

Bericht door maico » 08 aug 2005, 08:01

Hoi,

Ik gebruik al een hele poos naar tevredenheid deze mod:
Restrict images in posts

Het probleem is dat hij aan de htmel tags voorbij loopt.
Foto die dus beginnen met:
<img src="http: bla bla bla
laat hij gewoon door ookal zijn ze groter dan de opgegeven maten in het admin panel.

In de BBCode werkt hij dus gewoon goed!
[img]http: bla bla bla als ze groter zijn dan de opgegeven waarde in het amdin panel krijg je een fout melding.

Nu is mijn vraag hoe los ik dat op zonder dat ik de html uit hoef te zetten?
Is het in de mod simpel aan te passen dat hij ook over de html tags waakt?

Hier een link met de mod text, ik denk als het zou kunnen dat het dan in het dikgedrukte gedeelte moet van de includes/functions_post.php

maico
Berichten: 562
Lid geworden op: 04 jan 2004, 18:26

Bericht door maico » 09 aug 2005, 18:33

:? Niemand?

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 09 aug 2005, 18:47

Snel probeerseltje:

Verander:

Code: Selecteer alles

if( preg_match_all("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", $message, $matches) )
..in:

Code: Selecteer alles

if( preg_match_all("#(\[img\]|<img(.+?) src=")((ht|f)tp://)([^\r\n\t<\"]*?)(\[/img\]|"(.+?)>)#sie", $message, $matches) )
..en:

Code: Selecteer alles

$image = preg_replace("#\[img\](.*)\[/img\]#si", "\\1", $matches[0][$i]);
..in:

Code: Selecteer alles

$image = preg_replace("#\([img\]|<img(.+?)src=")(.*)(\[/img\]|"(.+?)>)#si", "\\1", $matches[0][$i]);
Laatst gewijzigd door ElbertF op 09 aug 2005, 18:50, 2 keer totaal gewijzigd.

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 09 aug 2005, 18:47

Het IMG element is een open element, en heeft dus geen eindtag.
... Maar ik modereer (nog) niet.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 09 aug 2005, 18:50

:shock:

Ik schaam me diep, even de code aangepast :oops:

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 09 aug 2005, 18:56

Het geeft niet hoor, iedereen maakt fouten toch, en van die fouten kan je leren!
... Maar ik modereer (nog) niet.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 09 aug 2005, 19:01

Nee nee, ik verdien echt stokslagen :mrgreen:

Ik weet niet zeker of het zo werkt, reguliere expressies uit m'n hoofd zijn niet m'n sterkste punt. :bier:

maico
Berichten: 562
Lid geworden op: 04 jan 2004, 18:26

Bericht door maico » 09 aug 2005, 20:16

hey,,

er zit nog ergens iets fout :lol:

Code: Selecteer alles

Parse error: parse error, unexpected '(' in /data/members/paid/p/e/xxx/htdocs/beagle-bende/includes/functions_post.php on line 281
Regel 281 is de eerste wijziging

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 09 aug 2005, 20:49

Ah, de eerste wijziging moet dit worden:

Code: Selecteer alles

if( preg_match_all("#(\[img\]|<img(.+?) src=\")((ht|f)tp://)([^\r\n\t<\"]*?)(\[/img\]|\"(.+?)>)#sie", $message, $matches) )
De tweede moet je ook aanpassen:

Code: Selecteer alles

$image = preg_replace("#\([img\]|<img(.+?)src=\")(.*)(\[/img\]|\"(.+?)>)#si", "\\1", $matches[0][$i]);

maico
Berichten: 562
Lid geworden op: 04 jan 2004, 18:26

Bericht door maico » 09 aug 2005, 21:03

hey

Veranderd....... maar hij fietst er zo voorbij dus kan ze gewoon plaatsen.
Nu ook met BBCode, wel krijg ik dan eerst deze foutmelding:

Code: Selecteer alles

Warning: Compilation failed: missing terminating ] for character class at offset 46 in /data/members/paid/p/e/xxxxx/htdocs/beagle-bende/includes/functions_post.php on line 292

Warning: Cannot modify header information - headers already sent by (output started at /data/members/paid/p/e/xxxxx/htdocs/beagle-bende/includes/functions_post.php:292) in /data/members/paid/p/e/pemo.nl/htdocs/beagle-bende/includes/page_header.php on line 670

Warning: Cannot modify header information - headers already sent by (output started at /data/members/paid/p/e/xxxxx/htdocs/beagle-bende/includes/functions_post.php:292) in /data/members/paid/p/e/xxxxx/htdocs/beagle-bende/includes/page_header.php on line 672

Warning: Cannot modify header information - headers already sent by (output started at /data/members/paid/p/e/xxxxx/htdocs/beagle-bende/includes/functions_post.php:292) in /data/members/paid/p/e/xxxxxxxl/htdocs/beagle-bende/includes/page_header.php on line 673

Gesloten