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

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

Category: New Posting Features - Version: 3.8.x Rating:
Released: 05-27-2009 Last Update: 04-08-2010 Installs: 258
DB Changes Uses Plugins Auto-Templates
Re-useable Code Translations  
No support by the author.

Thread Thumbnails
--------------------------------------
Created By: Null Parameter

This mod is officially tested with 3.8.1, but has been reported to work with many other versions.

Please leave any comments, suggestions or bugs.

Description

This mod allows a user, when creating or editing a thread, to specify a Thumbnail image to be used for display next to the thread in the Thread Listing.

With this mod you can define a set of forums that have thumbnails enabled, then in those forums whenever a user creates or edits their thread they can change their thumbnail, based on the method that you choose to allow.

This image is then shown in the Forum Display, in place of the Thread Icon.
The image also appears in Search & Tag Search, and I can add it to the regular Search if somebody requests it. And possibly have options for displaying in each area.

Forum Display:
Forum.jpg

Search:
Search.jpg

ACP Options:
ACP Options.jpg

Installation

Install the Product XML File. That's it!

All Template Edits Are Now Automatic.

If you are Upgrading from the older version, see directions in the README file on how to undo the template edits.

Demo

Possible Future Features (With Request)
  • Additional column instead of replacing Thread Icon
  • Displaying Thumbnail within thread
  • Edit thumbnail through Thread Edit
  • Thumbnail Preview in Edit Window
Fixes
  • Version 2.2
    • Fix Attachment + Default Thumbnail Option Combo
  • Version 2.1
    • Fix DB Error when using First Attachment option
    • Fix issue with New threads not saving thumbnail
  • Version 2
    • Added Features:
      • Automatic Template Edits
      • Thumbnails in Search
      • Thumbnails from First Image/First Attachment
      • Thumbnails on Sticky Threads
    • Fixes:
      • Miscellaneous Fixes

Download Now

File Type: zip product-thread_thumbnails_v22.zip (401.1 KB, 1523 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
chikkoo, vijayninel

Comments
  #152  
Old 11-07-2009, 05:48 PM
megamoose's Avatar
megamoose megamoose is offline
 
Join Date: Feb 2007
Location: Northern Ireland
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah I did put a warning on it saying if you have a large database you may have to make an adjustment to the script to to make it stagger the results.

I didn't need to stagger it for my forum, so I just built it as one. If I get a minute I'll see if I can edit it to work for large forums.

Also, to answer your question, no you shouldn't need to change anything. It just runs off your normal settings.
Reply With Quote
  #153  
Old 11-07-2009, 05:53 PM
Ghostt Ghostt is offline
 
Join Date: Oct 2009
Posts: 359
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok hope you have lil time, i am excited to see it work

Quote:
Originally Posted by megamoose View Post
Yeah I did put a warning on it saying if you have a large database you may have to make an adjustment to the script to to make it stagger the results.

I didn't need to stagger it for my forum, so I just built it as one. If I get a minute I'll see if I can edit it to work for large forums.

Also, to answer your question, no you shouldn't need to change anything. It just runs off your normal settings.
Reply With Quote
  #154  
Old 11-07-2009, 06:14 PM
megamoose's Avatar
megamoose megamoose is offline
 
Join Date: Feb 2007
Location: Northern Ireland
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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>
Reply With Quote
  #155  
Old 11-07-2009, 06:39 PM
megamoose's Avatar
megamoose megamoose is offline
 
Join Date: Feb 2007
Location: Northern Ireland
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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:
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
  #156  
Old 11-07-2009, 07:17 PM
Ghostt Ghostt is offline
 
Join Date: Oct 2009
Posts: 359
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

cant belive that you fixed it that fast so happy lol big thx!!

to perfect that mod there is only one thing missing:

if you onmouseover on the Topictitle in the forumdisplay.php the thumbnail rise without to expand the "table"

maybe this helps : http://randsco.com/_miscPgs/cssZoomPZ3.html
http://www.cssplay.co.uk/menu/image_magnifier2.html
Reply With Quote
  #157  
Old 11-08-2009, 05:53 PM
realdx realdx is offline
 
Join Date: Mar 2009
Posts: 128
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed and working! thank you!! One [REQ], kindly add "avatar of thread starter" in the next release!! BEST!

EDIT: another suggestion, if possible, store generated thumbs from user given url on forum server, once the original file is deleted, also the thumb will disappear in the thread list..(guess realtime calculated each time, slowing also down a bit the thread listing).. thanks!!
Reply With Quote
  #158  
Old 11-09-2009, 01:40 AM
chesterano chesterano is offline
 
Join Date: Oct 2008
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

if possible to able to use both the "First Attachment" and "First Image In Post" together as a option? but to display only one thumbs.

If is Attachment in post not display First Image
if is Image in post not display Attachment
Reply With Quote
  #159  
Old 11-09-2009, 08:00 AM
tlwwolfseye's Avatar
tlwwolfseye tlwwolfseye is offline
 
Join Date: Dec 2008
Location: Germany
Posts: 320
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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>

Even with that Script I still get the same Database Error as soon as I enable this Mod. I am using vB 3.8.4 PL1.
Any idea how to use this Mod without screwing up the Forum with a DB Error ?
Thanks.
Reply With Quote
  #160  
Old 11-09-2009, 01:38 PM
Ghostt Ghostt is offline
 
Join Date: Oct 2009
Posts: 359
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by realdx View Post
Installed and working! thank you!! One [REQ], kindly add "avatar of thread starter" in the next release!! BEST!


EDIT: another suggestion, if possible, store generated thumbs from user given url on forum server, once the original file is deleted, also the thumb will disappear in the thread list..(guess realtime calculated each time, slowing also down a bit the thread listing).. thanks!!
im versus it, 95% not need that unnecessary ballast. the performance and server load is more important to not abuse it.
Reply With Quote
  #161  
Old 11-09-2009, 01:44 PM
realdx realdx is offline
 
Join Date: Mar 2009
Posts: 128
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ghostt View Post
im versus it, 95% not need that unnecessary ballast. the performance and server load is more important to not abuse it.
since the performance is more important is better having to load a 2kb thumbnail than load the original and then resize it in realtime everytime the thread list is viewed.. not to mention that if user grab the image for his thread from somewhere, and then that somewhere delete the image, you have the thread without any thumb.
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 02:16 PM.


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.05277 seconds
  • Memory Usage 2,358KB
  • 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
  • (3)bbcode_code
  • (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
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (2)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
  • (1)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