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
  #2  
Old 01-23-2002, 01:05 AM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here's the archive. Enjoy.
Reply With Quote
  #3  
Old 01-23-2002, 01:08 AM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another attachment: a small screenshot of what the random term display looks like. It's right under the clickable smilies. Clicking on the term (in this case, the word "Avatar") brings up a JavaScript alert message containing the description of the term. It's probably my favorite part of the hack.
Reply With Quote
  #4  
Old 01-23-2002, 02:28 AM
SaintDog SaintDog is offline
 
Join Date: Nov 2001
Location: Tennessee
Posts: 1,975
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I could not get this to work, it returned an internal server error when I went to add a term to the glossary. Below is what I did in order:

- Run the query
- Created the templates
- Added the makenav and options to /admin/index.php
- Uploaded glossary.php to base forum dir, the other to admin/

I click on "Add" under glossary, type in the term and description, click submit, an internal server error pops up.

Any ideas as to what is wrong?

Would be a nice hack if I could get it to work :supwink:
Reply With Quote
  #5  
Old 01-23-2002, 02:59 AM
FWC's Avatar
FWC FWC is offline
 
Join Date: Oct 2001
Location: Ontario, CA
Posts: 821
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm getting a 404 error when I try to add a term. Everything else works. I added a term manually and it's there. It shows up on the glossary page. If I try to edit it, I also get a 404 error. I'm looking at the admin_glossary.php file trying to figure out what's wrong. No luck yet. I'd really like to get this working. We have an online dictionary for our board that's HTML and a pain to maintain.
Reply With Quote
  #6  
Old 01-23-2002, 03:25 AM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Odd. What does the email with the query error tell you?

Anyway, I think the problem may have had something to do with my use of the $PHP_SELF variable in the admin_glossary.php file. I've corrected this (I think), and am attaching the updated file. Please let me know if it works.
Reply With Quote
  #7  
Old 01-23-2002, 03:39 AM
Lucky Lucky is offline
 
Join Date: Dec 2001
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've been screwing with this since the time of release and I had to add the following in the glossary.php:

error_reporting(7);

after:

<?php

Good, so no errors now, or so I thought.

In both newreply.php and newthread.php you have to find:

getforumrules($foruminfo,$permissions);

Right after it, add this:

$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)));

Now when ever I add the above it get warning errors.

I can see the admin cp for adding a term, but when I click add term I get cgi errors

Any ideas how to squash these bugs?
Reply With Quote
  #8  
Old 01-23-2002, 03:42 AM
Lucky Lucky is offline
 
Join Date: Dec 2001
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have tried the new amin_glossary.php and I still get the errors.

Any more ideas?
Reply With Quote
  #9  
Old 01-23-2002, 03:55 AM
FWC's Avatar
FWC FWC is offline
 
Join Date: Oct 2001
Location: Ontario, CA
Posts: 821
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by TWTCommish
I've corrected this (I think), and am attaching the updated file. Please let me know if it works.
I still get a 404 Page Not Found error if I try to add or edit an entry.
Reply With Quote
  #10  
Old 01-23-2002, 04:40 AM
SaintDog SaintDog is offline
 
Join Date: Nov 2001
Location: Tennessee
Posts: 1,975
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nothing here either, still receiving errors when trying to add.
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 11:33 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.05037 seconds
  • Memory Usage 2,306KB
  • Queries Executed 23 (?)
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
  • (1)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
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)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