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.
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.
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
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 http://www.w3schools.com/css/default.asp.
- 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
- 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 by megamoose
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 "
<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 "
<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!