Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: 1.00, by TWTCommish TWTCommish is offline
Developer Last Online: Dec 2022 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 01-22-2002 Last Update: Never Installs: 34
 
No support by the author.

I must pay homage to user/moderator wluke for this idea. I must also thank him for allowing me to run with it, and release it publicly. Thanks Wayne!

What's it do?
Simple: creates a glossary of terms. They're sorted alphabetically much in the same way the Memberlist is. I find this is extremely useful for most forums, which surely have a lot of their own lingo. For my site, it's a few acronyms and goofy phrases. My members get a kick out of referring newbies to the glossary to learn about the phrases. It's really helped the whole place seem less like a clique...because others can catch up easily with a reference like this.

Here's a live demo


What's it take?
This hack involves a MySQL command, the uploading of two files, the modification of one, and the creation of five templates. It also requires the modification of a second file, and of two templates, if you want to display a random glossary term on the New Reply/New Thread pages. It'll require a bit more still if you want to add the Glossary to your forum jump menu.

First off, run the following query in MySQL. This is the table that will store the glossary data.

Code:
CREATE TABLE `glossary` (
  `glossaryid` int(11) NOT NULL auto_increment,
  `text` text NOT NULL,
  `description` text NOT NULL,
  PRIMARY KEY  (`glossaryid`)
) TYPE=MyISAM;
Attched to the post right after this one is an archive: files.zip. This archive contains two files: glossary.php and admin_glossary.php. The first goes in your main forums directory. The second should be uploaded into your /admin/ directory.

Next, you'll need to create five templates. I've attached a text file containing all five to this post. Should be pretty straightforward. Mess with the formatting as you see fit, of course.

After that, you'll probably want to open (back it up!!!) your /admin/index.php file. Find the code below (around line 340):

Code:
makenavselect("Templates");
// ***
Right after that, add this:

Code:
makenavoption("Add", "admin_glossary.php?action=add", "|");
makenavoption("Edit", "admin_glossary.php?action=edit", "|");
makenavoption("Delete", "admin_glossary.php?action=delete");
makenavselect("Glossary", "<hr><br>");
There, it should work now! Now, on to the extras (well worth installing, in my opinion):

Display a random glossary term on new thread/new reply pages
Open newreply.php and find the following code (around line 468...it should be right near the end of the file):
Code:
getforumrules($foruminfo,$permissions);
Right after it, add this:

Code:
  $rand_term = $DB_site->query_first("SELECT text AS term_text, description AS term_description FROM glossary ORDER BY RAND()");
  extract($rand_term);
  $term_description = str_replace("'", "\\'", htmlspecialchars(strip_tags($term_description)));
Yeah, that last line is a little messy -- I like saving space, though.

Save and upload. Next, open newthread.php and find the same bit of code (duplicated below) around line 368 or so:

Code:
getforumrules($foruminfo,$permissions);
After that, add the same bit of code above.

Next: the templates. Find the below in both templates...

Code:
$vbcode_smilies</td>
...and in both templates, replace it with this:

Code:
	$vbcode_smilies<br><center><smallfont><b>Random Term: <a href="#" onclick="alert('$term_description'); return false;">$term_text</a></b></smallfont><br>

	<smallfont><a href="$bburl/glossary.php" target="_blank">More Glossary Terms!</a></smallfont><br></td>
There, you're done!


Add vBGlossary to the forum jump menu
Open forumdisplay.php in your main forums directory. Find this, near the top of the file (line 13 or so):

Code:
	case 'cp': $goto = 'usercp'; break;
Right after it, add this:

Code:
	case 'gl': $goto = 'glossary'; break;
Next (and last) step: open the forumjump template and add this bit of code somewhere amongst the other options...where you put it depends on where you want it in the menu.

Code:
		<option value="gl" $frmjmpsel[glossary]>The Glossary</option>
That's it! All done. Enjoy.

I hope you all enjoy this hack. It didn't take nearly as much time/effort as I thought it would...I really love it, though.

Show Your Support

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

Comments
  #52  
Old 01-25-2002, 03:42 PM
KevinG KevinG is offline
 
Join Date: Dec 2001
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by TWTCommish

Gracias. Thanks so much -- I'm so glad that people seem to actually like it. leased: If you guys have any suggestions, please let me know...I'd love to improve this hack further.
Post more terms to add to the glossary

It is a great hack. Thanks TWT!
Reply With Quote
  #53  
Old 01-25-2002, 04:54 PM
Rose's Avatar
Rose Rose is offline
 
Join Date: Nov 2001
Location: K-Town, Germany
Posts: 619
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Um, I might possibly be a dope, but I installed the hack (with the latest updated admin_glossary.php) fully, but not the extras (yet). However, I don't see the glossary, or know where to populate it. :s

Can someone help me out?

I'm not getting any errors or anything, I'm just, uh, momentarily blind.
Reply With Quote
  #54  
Old 01-25-2002, 05:00 PM
FWC's Avatar
FWC FWC is offline
 
Join Date: Oct 2001
Location: Ontario, CA
Posts: 821
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The glossary.php file is in your root forums directory. You need to access that file with your browser. You need to add the change to admin/index.php so you can access admin_glossary.php. Then you can populate it from there.
Reply With Quote
  #55  
Old 01-25-2002, 06:05 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks FWC -- he's right, Rose. Once you've made the code change in the /admin/index.php file, you'll be able to add/edit/delete glossary terms from your CP...it's all the way on the bottom of the menu, beneath the links to manage your templates.

I HIGHLY recommend adding the random term add-on...I had the Glossary up, and even stuck it in the forumjump template...but no one took much interest. It was too "hidden." Now that it's referenced on the page everytime someone posts a reply or new thread, though, people have paid attention to it, and seem to be enjoying it.

KevinG: I'll see what I can do. If I get enough together, I'll probably update the archive file with a simple script to let people add a bunch of miscellaneous ones automatically.
Reply With Quote
  #56  
Old 01-25-2002, 10:10 PM
djr's Avatar
djr djr is offline
 
Join Date: Nov 2001
Location: Amsterdam
Posts: 220
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by TWTCommish

If you guys have any suggestions, please let me know...I'd love to improve this hack further.
I have one for you, and I hope it's not giving you nightmares already I'd love to have category support, whereas I could put words into a certain category. Like:
IMO > category chat language
moderator > category vbulletin terms
vbcode > category vbulletin terms
Hotsync > category Palm (specific for my site)

The glossary itself would then be displayed like this:
term ---------------------- explanation --------------- category

imo ----------------------- in my opinion -------------- chat language
moderator -------------- board supervisor --------- vbulletin term
Hotsync ----------------- synchronization ----------- PalmOS

You could extend this feature to let users filter on glossary terms only in a specific category.

Hope you like the idea, if not: implement it anyway

By the way: did I say I already I like the concept and the implementation of this hack VERY VERY much! A big thank you of a happy user of vbGlossary! :up:

- djr
Reply With Quote
  #57  
Old 01-25-2002, 10:16 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I like that suggestion. Good one. Thanks! I'll take a look and see if I could do it easily. Unless it's a major pain, I don't see what would stop me, though...'cept that it might be overkill.

Any other suggestions from anyone here? I'm trying to come up with other ways to make it visible to people using the forums...more places in which it's appropriate and useful.
Reply With Quote
  #58  
Old 01-25-2002, 10:36 PM
djr's Avatar
djr djr is offline
 
Join Date: Nov 2001
Location: Amsterdam
Posts: 220
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The ultimate in visibility would be ofcourse to parse each post for terms in the glossary list and display the matched terms with a small [?]-link to the matched glossary term, like this:

How do I upload my own avatar [?]

or

djr is moderator [?] of this forum, please pay respect to him LOL [?]

- djr
Reply With Quote
  #59  
Old 01-25-2002, 10:56 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, that would be pretty dang cool...but I'd want to avoid a query for each post if I could help it. That'd be a bit of a burden. I suppose I could store the data in a template...but even then we'd be talking about a loop, basically, for every single post. I'll mess around with it and see how it goes...if it slows it down big time, though, obviously I won't bother much. Another good idea nonetheless, though.
Reply With Quote
  #60  
Old 01-25-2002, 11:02 PM
djr's Avatar
djr djr is offline
 
Join Date: Nov 2001
Location: Amsterdam
Posts: 220
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That was one of my biggest concerns too (although I didn't post that). Well, maybe you could look into it and post the findings here. It was just a first thought actually. I think it's indeed a too big strain on the server, but you'll never know :-)

I keep thinking of other ways to make it more visible. I like it very much and it's a great support tool!

- djr
Reply With Quote
  #61  
Old 01-26-2002, 02:23 AM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by TWTCommish
Any other suggestions from anyone here? I'm trying to come up with other ways to make it visible to people using the forums...more places in which it's appropriate and useful. [/B]
Most like likely, we will be making the glossary specific to our site (like djr with palm). Why not make them searchable? Say someone looks for palm. the first word that comes up will be a glossary term. That will attract attention and people will want to see what the glossary is all about. :greedy:
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:22 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.05695 seconds
  • Memory Usage 2,328KB
  • 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
  • (11)bbcode_code
  • (3)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
  • (1)pagenav_pagelinkrel
  • (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