Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases

Reply
 
Thread Tools
Existing Topics Check Details »»
Existing Topics Check
Version: 1.00, by Velocd Velocd is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 01-08-2004 Last Update: Never Installs: 55
 
No support by the author.



This hack will allow you and your members to check for existing topics, or similar ones, of the thread you plan to create when at newthread.php.

This should help to prevent double topics that often appear from newbish members who neglect to use the search feature.

It uses the exact functions as the "similar threads" feature, therefore has the same accuracy.

Tested to work on:
  • vBulletin 3 RC2
  • Internet Explorer 6 (with Javascript enabled)
  • Mozilla Firebird 0.7 / Mozilla 1.5 (with Javascript enabled)

------------------------------------------------

Tweak #1

If you would like the find icon to show upon typing in the input box, and then disappear if the input box is empty upon change, please do the following:


In the template newthread, find:
Code:
function showFind(object)
{
  if(object.value != '')
  {
    document.findicon.src = "$stylevar[imgdir_button]/findicon_on.gif";
    document.findicon.style.cursor = "pointer";
  }
  else
  {
    document.findicon.src = "$stylevar[imgdir_button]/findicon_off.gif";
    document.findicon.style.cursor = "default";
  }
}
Replace it with:
Code:
function showFind()
{
    document.findicon.src = "$stylevar[imgdir_button]/findicon_on.gif";
    document.findicon.style.cursor = "pointer";
}

function hideFind(object)
{
  if(object.value == '')
  {
    document.findicon.src = "$stylevar[imgdir_button]/findicon_off.gif";
    document.findicon.style.cursor = "default";
  }
}
In the same template, find:
Code:
<td><input type="text" class="bginput" name="subject" onChange="showFind(this)" value="$subject" size="40" maxlength="85" tabindex="1" /></td>
Replace it with:
Code:
<td><input type="text" class="bginput" name="subject" onchange="hideFind(object)" onkeypress="showFind()" value="$subject" size="40" maxlength="85" tabindex="1" /></td>
------------------------------------------------

Attached is a screenshot.

Inside the zip are English, German, and French installation instructions. Please be aware I used a software translator for the German and French docs.

Enjoy.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 01-14-2004, 08:41 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by buro9
I've used document.getElementById() rather than use IE based document.all access.
You should use fetch_object() (a vB JS function) this will give the best compatibility will all thr browsers vB supports properly.
Reply With Quote
  #23  
Old 01-14-2004, 09:45 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The fix in the first post works great if you type it in, but if you paste something in the thread title, it doesn't turn on the button. Any fix for this?
Reply With Quote
  #24  
Old 02-16-2004, 01:28 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm getting a 406 error (object undefined) with this now after making the changes to the code in the first post. Any fix for this?
Reply With Quote
  #25  
Old 02-22-2004, 07:04 AM
gmarik's Avatar
gmarik gmarik is offline
 
Join Date: May 2002
Location: Mocsow
Posts: 1,288
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nice working ...
Reply With Quote
  #26  
Old 02-22-2004, 03:54 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by buro9
I had a very similar thing running on my old VB2 forums, I have now installed this hack on my VB3 test site... and it's nice Very nice.

I have made a few adjustments though:

I've used document.getElementById() rather than use IE based document.all access. This will ensure compatibility with standards compliant browsers. You need to add id="" to the relevant pieces of HTML, subject and findicon I think are the only two.

I already added an onKeyUp alongside the onChange on the subject input box. This runs it everytime a key is lifted... though I left the onChange in there as it makes no difference and ensures that more limited browsers will still support it.

Aside from that... lovely hack
Can you share the changes you made?
Reply With Quote
  #27  
Old 02-22-2004, 06:55 PM
buro9 buro9 is offline
 
Join Date: Feb 2002
Location: London, UK
Posts: 585
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Can you share the changes you made?
Yes, I hope this won't offend the hack creator... but here are snippets of my newthread template:

Code:
function showFind(element) {
  if(element.value != '') {
    document.getElementById('findicon').src = "$stylevar[imgdir_button]/findicon_on.gif";
    document.getElementById('findicon').style.cursor = "pointer";
  } else {
    document.getElementById('findicon').src = "$stylevar[imgdir_button]/findicon_off.gif";
    document.getElementById('findicon').style.cursor = "default";
  }
}
Code:
		<!-- subject field -->
		<table cellpadding="0" cellspacing="0" border="0" class="fieldset">
		<tr>
			<td class="smallfont" colspan="3">$vbphrase[title]:</td>
		</tr>
		<tr>
			<td><input type="text" class="bginput" name="subject" id="subject" onChange="showFind(this);" onKeyUp="showFind(this);" value="$subject" size="40" maxlength="85" tabindex="1" /></td>
<td>&nbsp;&nbsp;</td>
<td><img id="findicon" name="findicon" src="$stylevar[imgdir_button]/findicon_off.gif" alt="Search for existing topics" onclick="openWindow()" /></td>
			<td>&nbsp;&nbsp;</td>
			<td><img id="display_posticon" src="$selectedicon[src]" alt="$selectedicon[alt]" /></td>		</tr>
		</table>
		<!-- / subject field -->
Obviously I'm trusting that you can take the applicable small bits and merge them as appropriate into whatever you have.
Reply With Quote
  #28  
Old 02-23-2004, 03:01 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How can you get this to show the button on when you start typing in the subject filed Box (like from tthe first post)?
Reply With Quote
  #29  
Old 02-23-2004, 04:26 AM
buro9 buro9 is offline
 
Join Date: Feb 2002
Location: London, UK
Posts: 585
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
How can you get this to show the button on when you start typing in the subject filed Box (like from tthe first post)?
Code:
onKeyUp="showFind(this);"
From the first key it is activated.

Though a trim() function should be added to prevent it being activated on pressing of the space bar.
Reply With Quote
  #30  
Old 02-23-2004, 05:19 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by buro9
Code:
onKeyUp="showFind(this);"
From the first key it is activated.

Though a trim() function should be added to prevent it being activated on pressing of the space bar.
How do we add the trim code to this?
Reply With Quote
  #31  
Old 02-23-2004, 10:01 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Found a bug with this hack. If you have quotes in a thread title, you will get a javascript error when you click the button to check the topic and also the window will have the table in it without any topics. The title I used was:

"Killing all my chickens"

Any fix for this?
Reply With Quote
Reply

Thread Tools

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 05:29 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.11583 seconds
  • Memory Usage 2,312KB
  • Queries Executed 25 (?)
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
  • (8)bbcode_code
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete