Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Thread Thumbnails Details »»
Thread Thumbnails
Version: 3.1.0, by Null Parameter Null Parameter is offline
Developer Last Online: Apr 2014 Show Printable Version Email this Page

Category: Forum Display Enhancements - Version: 4.0.x Rating:
Released: 03-02-2010 Last Update: 04-29-2010 Installs: 243
DB Changes Uses Plugins Auto-Templates
Translations  
No support by the author.

Thread Thumbnails
Created By: Null Parameter

The Thread Thumbnails mod allows users of a forum to specify, in several possible ways, a thumbnail for their thread to be displayed on Forumdisplay thread list.

I had created the mod for vB 3.8, but people we're crying out for a ported version to vB4, and, thanks to help from several of the members, here it is!


Description of Features

Thumbnails are displayed on the Forumdisplay next to the threadicon.
In the ACP Options, assuming you are using the Auto-Template Edits, you can choose which side of the icon to display it on.

Forum Display Screenshot


When submitting a new thread or editing the first post of a thread, a thumbnail can be specified directly if the User Entered URL option is chosen in the ACP. Another option is to Require the thumbnail. If the thumbnail isn't required, it may be left blank by the user, and it can either not be shown at all on forumdisplay or be replaced by a default thumbnail image specified in the ACP.

New Thread Screenshot

Edit Post Screenshot


All available options in the ACP include...
  • Turn Off/On Thumbnails
  • Turn Off/On Auto-Template Edits
  • Which forums to use thumbnails in
  • Turn Off/On thumbnails on sticky threads
  • Require thumbnails (doesn't work with attachment option)
  • Choose to retrieve thumbnails from one of the following
    • User Entered URL
    • First Attachment
    • First Image in Post
  • Choose where thumbnail is displayed in threadbit (relies on Auto-Template Edits)
  • Thumbnail CSS Style
  • Specify No Thumbnail Replacement Image
ACP Options Screenshot


This version is also now using phrases, so it can more easily be translated!


Installation

Install the product XML file. That's it!

If you have a highly customized style, there is a chance that the auto-template edits will not work. In that case, you will need to make the template edits manually. See the included README for more details.


Thumbnail Style

The style for thumbnails is specified in the ACP. It is used to choose exactly how thumbnails will be displayed, including width, height, margins, borders and many other attributes.

The style is specified in CSS, and is applied directly to the HTML img tag.

Here are some examples of possible thumbnail styles, along with a description of what they will do. If you don't know much about CSS, you can learn more here.
  • Every thumbnail will have a width of 100 pixels, but be constrained to being a maximum of 150 pixels in height
    • width:100px;max-height:150px;
  • Every thumbnail will have a width of 120 pixels and have a margin of 3 pixels around the thumbnail, so that it doesn't touch any of the other elements in the threadbit
    • width:120px;margin:3px;
  • Thumbnails aren't allowed to exceed 150 pixels in either dimension, and are also mildly transparent
    • max-width:150px;max-height:150px;opacity:0.8;filter:alpha(opacity=80);
Note: Using CSS positioning attributes (i.e. position, float, clear, etc.) could mess up the threadbit structure, so beware.


FAQs

The version of this mod for vB 3.8 showed thumbnails in the search results. Where did they go?
The search system between vB 3.x and vB4 changed significantly. I didn't have the time to figure out the complexity of it, and was unable to find any examples of other mods that integrated into the search results.

If you know how this is done, feel free to contact me and we can work to get this feature back in!
Does this mod work for RTL Languages, such as Arabic?
There is a separate product XML file available for download that has the appropriate changes to support RTL languages.
When I choose the First Image in Post option, no thumbnails show up in my current threads. Why?
Thumbnails are only updated when a new thread is created or when the first post is edited. Parsing through every forum/thread whenever the options are changed could be disastrous for performance.

Luckily, a user of this mod, megamoose, created a script that you can use to help this out. I want this method to be known, but because I didn't write this, I make no promises that it will work.

Quote:
Originally Posted by megamoose View Post
This should enable batch processing. I have tested it.
Change the $STEP_AMOUNT at the top to something lower if you still get errors
Remember this is for vB version 3.8
Always backup your data before running scripts like these

TO THOSE WHO HAVEN'T BEEN FOLLOWING THE CONVERSATION:
This script will go through all your existing posts and give them thumbnails, based on the First IMG in post option.

Code:
<?php $STEP_AMOUNT = 600; ?>

<input type="button" id="btnNext" value="Process Next Results" onClick="window.location='?start='+(<?php echo $_GET["start"]; ?>+<?php echo $STEP_AMOUNT;?>)" disabled=true><br>
The button above should enable once this batch is complete!<br>
<br>

<?php
error_reporting(E_ALL & ~E_NOTICE & ~8192);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('SKIP_SESSIONCREATE', 1);
define('NOCOOKIES', 1);
define('THIS_SCRIPT', 'xupdate');
define('CSRF_PROTECTION', true);

// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array();

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

if (!$_GET["start"]) { $_GET["start"] = 0; }


        $threads = $db->query_read_slave("
        SELECT *
        FROM " . TABLE_PREFIX . "thread
        LIMIT ".$db->escape_string($_GET["start"]).",". $db->escape_string($_GET["start"]+$STEP_AMOUNT));

while ($thread = $db->fetch_array($threads)){
    echo "<b>Thread:</b> ".$thread["title"]."<br>";

    $posts = $db->query_read_slave("SELECT * FROM `" . TABLE_PREFIX . "post` WHERE `postid` = '".$thread["firstpostid"]."'");
    $post = $db->fetch_array($posts);
    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <b>First Post:</b> ".$post["title"]."<br>";
preg_match('/\[img\](.*?)\[\/img\]/i',$post["pagetext"],$matches);
$query = "UPDATE `" . TABLE_PREFIX . "thread` set `thumbnailurl` = '".$db->escape_string($matches[1])."' WHERE threadid = " . $thread["threadid"];
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <b>SQL:</b>".$query."<br><br>";
$db->query_write($query);

}
?>

<script> document.getElementById("btnNext").disabled = false; </script>
Translations

Arabic

Versions

v3.1
  • Fix for Required Thumbnails
  • New feature to automatically use ALL Forums
v3.0
  • Support for vB4!
  • Use Phrases
  • Option to make Thumbnails Required
  • Option to select where to show the thumbnail on Forumdisplay
  • Option to specify the CSS Style of thumbnail images
Mod Support

I am fully willing to support this mod and continue to add new feature to it when they are desired enough to make them applicable to the product as a whole. The issue is that I do not have access to a vB4 installation, and therefore cannot develop.

Several people were gracious enough to offer up a test installation for me to use, and that is how this mod exists today. If any new features/fixes are wanted, other people will need to be just as gracious.

Also, since I don't own a vB4 instance, I'm supporting this strictly out of the kindness of my heart. So, if you wish to Support me as a developer, it would be much appreciated.

Enjoy!

Download Now

File Type: zip product-thread_thumbnails_v31.zip (313.3 KB, 1895 views)
File Type: xml product-thread_thumbnails_RTL.xml (19.2 KB, 609 views)

Screenshots

File Type: png forumdisplay.png (148.2 KB, 0 views)
File Type: png editpost.png (24.6 KB, 0 views)
File Type: png newthread.png (36.1 KB, 0 views)
File Type: jpg adminoptions.jpg (121.5 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
misericorde

Comments
  #202  
Old 01-14-2011, 10:39 PM
Athena1984 Athena1984 is offline
 
Join Date: Nov 2009
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have the settings to pull the first image in the post as the thumbnail and for some reason, it will not show up after initially posting. I have to post the thread then edit for the thumbnail to show up. Could this be because of another modification? Initially, I thought it was because of the MOD System, like vbulletin.org has so, I disabled it but, it's still giving me the same issue.
Reply With Quote
  #203  
Old 01-18-2011, 10:49 AM
DaPike DaPike is offline
 
Join Date: Nov 2009
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm using 4.1.0PL2. I can only see the NO THUMB COVER!
All used links to the right covers are not shown. There is also only the NO COVER to see!

What to do to get this mod working??
Reply With Quote
  #204  
Old 01-20-2011, 07:09 PM
megamoose's Avatar
megamoose megamoose is offline
 
Join Date: Feb 2007
Location: Northern Ireland
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Going to repost this as it works the exact some for this version as the old:

Quote:
Okay next fix:

If you are using the First Image in Post option, you will notice you only get a thumbnail when you update the post, and not when you create a new one. To fix this:

Goto the Manage Plugins tab in your ACP and edit New Thread - Save Thumbnail, Datamanager

You will then want to replace the Plugin PHP Code with:
PHP Code:
if ($type == 'thread')
            {
                if(
$vbulletin->options['thread_thumbnails_thumbnail_source'] == '0')
                {
                    
$dataman->setr('thumbnailurl'htmlspecialchars_uni($post['thumbnailurl']));
                }
                if(
$vbulletin->options['thread_thumbnails_thumbnail_source'] == '2')
                {
                
preg_match('/\[img\](.*?)\[\/img\]/i',$post['message'],$matches);
                
                
$dataman->setr('thumbnailurl'$matches[1]);
                }              
            } 
Reply With Quote
  #205  
Old 01-24-2011, 05:09 PM
Chris Ober Chris Ober is offline
 
Join Date: May 2006
Posts: 12
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How can I enable this to work with First Attachment AND First Image in post?

Right now, if set to First Attachment, it doesn't display thumbnails for images hosted outside of the site (entered in IMG tags).

If it's set to First Image in Post, then the external image thumbnails are displayed but not the attachment ones.
Reply With Quote
  #206  
Old 01-25-2011, 08:01 PM
bybart bybart is offline
 
Join Date: Jul 2007
Location: turkey/istanbul
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Working for 4.0.1? If not there for 4.1.0;
Reply With Quote
  #207  
Old 01-25-2011, 10:50 PM
james shadle's Avatar
james shadle james shadle is offline
 
Join Date: Oct 2007
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Chris Ober View Post
How can I enable this to work with First Attachment AND First Image in post?

Right now, if set to First Attachment, it doesn't display thumbnails for images hosted outside of the site (entered in IMG tags).

If it's set to First Image in Post, then the external image thumbnails are displayed but not the attachment ones.

Great question Chris.
I could use that feature on my board as well.
James
Reply With Quote
  #208  
Old 02-03-2011, 01:03 PM
fxwoody's Avatar
fxwoody fxwoody is offline
 
Join Date: Jun 2010
Location: On Earth
Posts: 291
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok guys! i manage to make the thumbnail to work perfectly with the "User Entered URL"
function !!

The way i work on my forum, is, i have sections that i want to display the thumbnails for each thread, so, in the option menu, i use "User Entered URL" and "Thumbnails Required" set to yes.
Now, u can also put the option "Thumbnails Required" to NO and it will also get automatically the thumbnail image you set up in the "No Thumbnail Replacement Image".

The way i made it work in my V4.1.1 is like this:

In New posting Templates / newthread

Find:

HTML Code:
				&nbsp;<img id="display_posticon" src="{vb:raw selectedicon.src}" alt="{vb:raw selectedicon.alt}" />
			</div>
and paste after:

HTML Code:
<!---urlthumbnail--->            
                    <vb:if condition="$show['thumbnailurl']">
			<div class="blockrow">
				<label for="thumbnailurl" class="full">{vb:phrase thumbnail_url}:</label>
				<input type="text" name="thumbnailurl" id="thumbnailurl" class="primary full textbox" value="" maxlength="250" />
			</div>
		    </vb:if>
<!---urlthumbnail--->

in editpost

find:

HTML Code:
				<img id="posticon_preview" src="{vb:raw selectedicon.src}" alt="{vb:raw selectedicon.alt}" title="Selected post icon" />
			</div>
and paste after:

HTML Code:
         <!---autothumbnail--->
            		<vb:if condition="$show['thumbnailurl']">
		<div class="blockrow">
			<label for="thumbnailurl">{vb:phrase thumbnail_url}:</label>
			<input type="text" name="thumbnailurl" id="thumbnailurl" class="primary textbox" value="{vb:raw threadinfo.thumbnailurl}" maxlength="250" />
		</div>
		</vb:if>
         <!---/autothumbnail--->

In plugin manager for "Product : Thread Thumbnails"
in the : "New Thread - Save Thumbnail, Datamanager"

replace everything with this:

HTML Code:
if ($type == 'thread')
            {
                if($vbulletin->options['thread_thumbnails_thumbnail_source'] == '0')
                {
                    $dataman->setr('thumbnailurl', htmlspecialchars_uni($post['thumbnailurl']));
                }
                if($vbulletin->options['thread_thumbnails_thumbnail_source'] == '2')
                {
                 preg_match('/\[(img|IMG)\]\s*(https?:\/\/([^*\r\n]+|[a-z0-9\/\\\._\- !]+))\[\/(img|IMG)\]/', $post['message'], $matches);

                
                $dataman->setr('thumbnailurl', $matches[1]);
                }  
                if($vbulletin->options['thread_thumbnails_required'] == '1' && empty($post['thumbnailurl']))
                {
                    if($vbulletin->options['thread_thumbnails_thumbnail_source'] == '0')
                    {
                        $errors[] = $vbphrase['thumbnail_error_one'];
                    }
                    else if($vbulletin->options['thread_thumbnails_thumbnail_source'] == '2')
                    {
                        $errors[] = $vbphrase['thumbnail_error_two'];
                    }
                }            
            }
Hope it helps a few of you
Attached Images
File Type: png newthread.png (32.7 KB, 0 views)
File Type: png edit.png (39.9 KB, 0 views)
File Type: png no url.png (43.1 KB, 0 views)
File Type: png threadlist.png (130.9 KB, 0 views)
Reply With Quote
  #209  
Old 02-06-2011, 06:27 PM
dirk2103 dirk2103 is offline
 
Join Date: Dec 2008
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by megamoose View Post
Okay next fix:

If you are using the First Image in Post option, you will notice you only get a thumbnail when you update the post, and not when you create a new one. To fix this:

Goto the Manage Plugins tab in your ACP and edit New Thread - Save Thumbnail, Datamanager

You will then want to replace the Plugin PHP Code with:
PHP Code:
if ($type == 'thread')
            {
                if(
$vbulletin->options['thread_thumbnails_thumbnail_source'] == '0')
                {
                    
$dataman->setr('thumbnailurl'htmlspecialchars_uni($post['thumbnailurl']));
                }
                if(
$vbulletin->options['thread_thumbnails_thumbnail_source'] == '2')
                {
                
preg_match('/\[img\](.*?)\[\/img\]/i',$post['message'],$matches);
 
                
$dataman->setr('thumbnailurl'$matches[1]);
                }              
            } 
Thanks ,this fix Works Perfect for 4.1.1
Reply With Quote
  #210  
Old 02-16-2011, 09:48 PM
TCB's Avatar
TCB TCB is offline
 
Join Date: Jun 2004
Location: the Netherlands
Posts: 193
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks (y)

Would it be possible to have this custom icon INSTEAD of the threadicon, instead of having it left or right to it?
Reply With Quote
  #211  
Old 02-16-2011, 10:40 PM
solohdes solohdes is offline
 
Join Date: Feb 2011
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does not work on vB 4.1.2, the thumbnail URL bar does not appear.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:11 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05520 seconds
  • Memory Usage 2,415KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (5)bbcode_html
  • (2)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete