![]() |
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` ( 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"); Code:
makenavoption("Add", "admin_glossary.php?action=add", "|"); 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); Code:
$rand_term = $DB_site->query_first("SELECT text AS term_text, description AS term_description FROM glossary ORDER BY RAND()"); 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); Next: the templates. Find the below in both templates... Code:
$vbcode_smilies</td> Code:
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; Code:
case 'gl': $goto = 'glossary'; break; Code:
<option value="gl" $frmjmpsel[glossary]>The Glossary</option> 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. :) |
Here's the archive. Enjoy. :)
|
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.
|
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: |
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. :)
|
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. :) |
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? |
I have tried the new amin_glossary.php and I still get the errors.
Any more ideas? |
Quote:
|
Nothing here either, still receiving errors when trying to add.
|
Did any of you notice that the newreply.php and newthread.php get an error when you try to add what is said to be added to both?
Just wondering? BTW: I too am unable to add in admin cp. |
Quote:
|
I am also getting 404 with both admin. Never went past that.
|
in doformheader you put glossary. It should be admin_glossary.
|
thanks.
You should replace every instance of doformheader with admin_glossary, since this is what you are posting, not glossary. Now up to the second part. |
Quote:
|
but you should fix your instructions in newthread and newreply templates. You should not replace the smilies code, but add next to it or you disappear smilies.... Great!
now up to last part |
Quote:
I have replaced every instance of doformheader with admin_glossary instead of glossary and I am still getting the following: CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: Any ideas? BTW: Which admin_glossary were you using? The one from the 1st post or the update? |
Installed on 2.21. Works great. Now we have to poulate it. Who is going to be nice and give us some texts startup boost? :supwink:
|
I used the second one. After problems, I downloaded it and never replaced it.
|
Thanks Lionel,
I used the 2nd one and all is good now. Great hack! This will really come in handy! On another note I would hope that this will be incorporated in 2.2.2 |
you are welcome Lucky.
Now I placed this on top of glossary.php error_reporting(7); require("./global.php"); if ($bbuserinfo[userid]==0) show_nopermission(); and since I want to place a link out for glossary, it is protected. Only members can see it. I love that vbulletin. I am beginning to understand it more and more. For example, I placed that code above (with the proper path) in many other php and they are all protected. :) |
Quote:
|
Great hack, gonna install this one later. Thanks.
|
Whew, I'm back! Sorry guys, I'm on EST, so I just woke up. :) I've re-uploaded admin_glossary.php to post #6 of this thread and fixed the doformheader() values. My bad! :) Wasn't paying attention. I've also fixed the problems with the first post...re-uploaded files.zip and fixed the instructions. My apologies for the problems, guys.
I am flattered, though, that so many people are interested in this. Quote:
Quote:
Quote:
Quote:
|
Quote:
|
I added it to my index.php and it shows for the registered users ;)
|
Quote:
|
thanks.
but where is the five templates?I can't see it. ;) |
D'oh. Sorry. Ok, now the templates.txt file is attached to the original post, and the updated files.zip to the second. Sorry about that. I'm a bonehead today. :)
|
works well.
thank you! :pleased: |
Thank you for a great hack, I was just wondering if it would be possible for one addition to be added to the hack though?
You know when you go to edit/delete the terms, they are all grouped together? How about making it to where they are sorted under headers? (see below if you are not sure what I mean): --------------------------------------------------------------------- A --------------------------------------------------------------------- Animal AOL ect.. --------------------------------------------------------------------- B --------------------------------------------------------------------- Bald Bird ect.. and so on..... This would make it look a little nicer, imo. (note: this would be for admin_glossary.php). Do you think you could do this or add it to the hack? I think it would be a nice addition to the hack. Again, thanks for a great hack! |
Yeah, give me a little bit of time. Doing some other work now. I can do that, though. Won't be long, I don't think. :)
|
Here we go. Attached is the new admin_glossary.php file. It create the aforementioned headers for each letter/number/whatever, and even features a handy drop-down menu to quickly jump to various areas, as I'm sure some glossaries will get quite large!
I'll also be updating files.zip with this new file. Enjoy. :) |
Here's a screenshot to show you what the new format looks like.
|
excellent. Admin has a good glance.
|
For some reason, i'm getting this in newreply.php:
Warning: extract() expects first argument to be an array in /home/sites/site1/web/newreply.php on line 479 |
My bad: I forgot to mention...if you want a random term to show up, you've got to add a term to the DB. Otherwise it can't find anything. :)
|
Yeah.. I figured that out.. :o
|
Thanks for the speedy fix, imo, it looks nicer now and saves me some time. You even managed to save me some time by adding that drop down box to it with only the letters being used at the time.
Once again, thanks, great hack! |
All times are GMT. The time now is 04:46 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 | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|