[Tip] Remove Images from Quotes!

Started by heavyccasey, February 15, 2009, 03:13:17 AM

Previous topic - Next topic

heavyccasey

Here's a quick and simple way to display a link instead of an image in a quote, without hiding smileys or complicated regular expressions:

This is tested for 1.1.5 - 1.1.8, as well as 2.0 RC1, although older 1.1 versions will probably work too.


Subs.php
Find:
array(
'tag' => 'img',
'type' => 'unparsed_content',
'parameters' => array(


Add Before:
// Remove images from quotes.
array(
'tag' => 'img',
'type' => 'unparsed_content',
'require_parents' => array('quote'),
'parameters' => array(
'alt' => array('optional' => true),
'width' => array('optional' => true, 'value' => ' width="$1"', 'match' => '(\d+)'),
'height' => array('optional' => true, 'value' => ' height="$1"', 'match' => '(\d+)'),
),
'content' => '<i>(<a href="$1" target="_blank" onclick="this.parentNode.innerHTML = \'<i\' + \'mg src=\\\'\' + this.href + \'\\\' /\' + \'>\'; return false;">Image removed from quote</a>.)</i>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
'disabled_content' => '($1)',
),
array(
'tag' => 'img',
'type' => 'unparsed_content',
'require_parents' => array('quote'),
'content' => '<i>(<a href="$1" target="_blank" onclick="this.parentNode.innerHTML = \'<i\' + \'mg src=\\\'\' + this.href + \'\\\' /\' + \'>\'; return false;">Image removed from quote</a>.)</i>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
'disabled_content' => '($1)',
),



Instead of an image, it'll look like...

Quote(Image removed from quote.)
...and when you click it, the image will appear. No JavaScript, no problem! In that case, it'll open a new tab/window with the image.

You can mess with the HTML ('content' => '<i>...</i>',) if you want. Just don't touch the Javascript, it's hell trying to figure out how to properly escape the quotes.  :P

That's it!

Antechinus


SA™

http://samods.github.io/SAChatBar/

Xbox Live: smokerthecheese 360 or xbone
My Work
Piano Movers / Delivery service
QuoteMy allies are dead.
I'm 'bout to be too.
Zombies are chasing me.
F*** it, I'm screwed -___-

heavyccasey

Quote from: Antechinus on February 15, 2009, 03:17:13 AM
Nice. Can you do the same for RC1?
I don't know, I don't have a copy of RC1 installed.

I downloaded a copy of the source... the parse_bbc() array looks almost exactly the same as 1.1. I think the same code would work for 2.0, but I don't have anything to test on. Would you mind testing it? I'm almost certain it'll work.

Quote from: wdm2005 on February 15, 2009, 03:35:53 AM
aint that pretty much the same as my mod

http://custom.simplemachines.org/mods/index.php?mod=1302
Yes. In fact, I linked to it in my post. However, yours includes complicated regular expressions while this tip uses the SMF-included BBC manager.

Antechinus

Also this gives a hide/show option. I'm not sure if the mod does the same (because I haven't tested it) but it's a handy feature.

Marcus Forsberg


Antechinus


heavyccasey

Quote from: Antechinus on February 15, 2009, 04:36:48 AM
Doesn't appear to work in RC1.
Fixed in original post. Thanks for testing! Apparently SMF 2.0 doesn't automatically put in image dimensions anymore.

Antechinus

#8
Yep, that works. Good job. :)

ETA: Prefer it in non-italic myself but that's easy to sort if anyone wants to.

In fact I think I'll install this on my forum right now. I get sick of people quoting the same damned image just to post a one line response. 

heavyccasey

If you don't want the italics, you'd better replace <i></i> with <span></span> instead of just removing it, if you haven't already figured that out.

Drives me crazy too :P

Antechinus

It works without the <span></span>. Dunno if it's supposed to but it does.

ETA: Validates that way too. No html or css or js errors. Go figure.

heavyccasey

Quote from: Antechinus on February 15, 2009, 05:32:09 AM
It works without the <span></span>. Dunno if it's supposed to but it does.

ETA: Validates that way too. No html or css or js errors. Go figure.
It just looks like it's working. If you add text before or after the image, without the <span>, the text disappears too.

Antechinus

#12
Ah. I see what you mean. The text displays fine until you click the link to show the image. I added the span tags and as you say that sorts it.

Chas Large

Thanks for this tip, the mod works just fine in 1.1.10.
Chas
My Modifications :)  My Forum

Please DO NOT PM me with support requests. Post the problem in the appropriate Support Board so everyone can benefit from the advice given.

Simplemachines Cowboy

My SMF forum: The Open Range

bbmtalk

Can this be done to resize the image to 300 pixels in quotes if the image is larger than 300 pixel?

Arantor

Not without a lot of work. At that point the script does not know how big the image is, and won't without downloading it. At best you could make it scrollable, or else you'd have to enforce it go determine how big it is first.

chrlsnicholas7

Can we increase the pixel size if it is smaller than 100...
Will the clarity be maintained....

Arantor


heavyccasey

That mod uses its own regular expression code, while this edit uses the built-in SMF system.

Advertisement: