Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-22-2004, 05:06 PM
DJ RRebel DJ RRebel is offline
 
Join Date: Jul 2002
Location: CANADA
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Individual Forum Introductions

This is taken from my topics from vB.com, that I'm guessing I should have asked here (because nobody is answering them there ... lmao)

http://www.vbulletin.com/forum/showthread.php?t=52491

http://www.vbulletin.com/forum/showthread.php?t=92943


I'm sure there is a hack for what I want to do for vB2 ... but considering I want to start getting more involved with creating usable and helpful hacks now that vB3 Gold is approaching, I thought I might as well ask this as the table names have changed slightly between vB2 and vB3 AND I also want to see if I'm headed in the right direction or not AND try to learn something from this.


What I want to do is rather simple ... I want to add a forum introduction (a different one for each seperate forum). Mainly so I can display a set of rules for each particular forum if there are different rules for different forums. Similar to the forum[description] field, but with the posibility of being longer.

This is pretty much the ONLY thing I miss from my days using UBB, as vB is better in virtually every other way !!!

Something to keep in mind: I've never really tinkered with my database via "phpMyAdmin 2.4.0" (or anything else for that matter) ... but I'm starting to become familliar with the concepts of MySQL.


Anyhow, this i how I think it should be done (mostly just copied from my posts at vB.com)...



I guess I'll have to finally figure out how to add a 'introduction' field within the 'forum' table using "phpMyAdmin 2.4.0" ... lol

Would I be correct in assuming to use the following:

Code:
ALTER TABLE forum ADD forum_intro TEXT;
or should I use MEDIUMTEXT like the content are of posts (pagetext?) ?



I'm guessing my forum should also be turned off if I do this ???

Is there anything else I should know about (namely precautions) before altering a table?



Then would it just be a simple matter of adding the following into the FORUMDISPLAY template:


Code:
<if condition="$forum[forum_intro]">$forum[forum_intro]</if>


Seems to me there's a step I'm missing for setting $forum[forum_intro] to the value of my (new) 'forum_intro' column in the row for the current forum (represented by $forum). Or is all columns of the 'forum' table automatically set to the equivalent $forum[xxx] for all the current forums rows ???



Anyhow ... I hope that's all there is to it ... ... if not ... please write to me in big red letters; "You have absolutely no idea what you're doing and better not touch your database with a ten foot pole unless you want to lose all your data !!!" ... lol





More important than confirming if what i have above is correct or not, there are just a couple of things I'd also like to be sure of, as hopefully I'll be doing alot more hacks once vB3.Gold is released:


- Is there anything I need to know or do before manipulating my database ???

- I'm guessing my forum should also be turned off if I do stuff like this ???

- I'm also guessing doing a back-up would also be suggested ... lol ???

- Is there anything else I should know about (namely precautions) before altering a table ???

- Is there so actual on/off setting for the database itself (not the forum) ???


I think I pretty much understand the essentials ... and it's pretty straight forward ... but all it takes is missing one step and it could spell disaster ... just figured I'd pass it by you guys before doing anything ...



Thanks TONS to all who reply and help me getting started on my journey into 'hacking' (or tweeking as I like to call it ... lol)


Regards,
DJ RRebel
http://www.homeofmusic.com
Reply With Quote
  #2  
Old 01-22-2004, 05:41 PM
Kentaurus's Avatar
Kentaurus Kentaurus is offline
 
Join Date: Dec 2001
Posts: 332
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DJ RRebel
This is taken from my topics from vB.com, that I'm guessing I should have asked here (because nobody is answering them there ... lmao)

http://www.vbulletin.com/forum/showthread.php?t=52491

http://www.vbulletin.com/forum/showthread.php?t=92943


I'm sure there is a hack for what I want to do for vB2 ... but considering I want to start getting more involved with creating usable and helpful hacks now that vB3 Gold is approaching, I thought I might as well ask this as the table names have changed slightly between vB2 and vB3 AND I also want to see if I'm headed in the right direction or not AND try to learn something from this.


What I want to do is rather simple ... I want to add a forum introduction (a different one for each seperate forum). Mainly so I can display a set of rules for each particular forum if there are different rules for different forums. Similar to the forum[description] field, but with the posibility of being longer.

This is pretty much the ONLY thing I miss from my days using UBB, as vB is better in virtually every other way !!!

Something to keep in mind: I've never really tinkered with my database via "phpMyAdmin 2.4.0" (or anything else for that matter) ... but I'm starting to become familliar with the concepts of MySQL.


Anyhow, this i how I think it should be done (mostly just copied from my posts at vB.com)...



I guess I'll have to finally figure out how to add a 'introduction' field within the 'forum' table using "phpMyAdmin 2.4.0" ... lol

Would I be correct in assuming to use the following:

Code:
ALTER TABLE forum ADD forum_intro TEXT;
or should I use MEDIUMTEXT like the content are of posts (pagetext?) ?



I'm guessing my forum should also be turned off if I do this ???

Is there anything else I should know about (namely precautions) before altering a table?



Then would it just be a simple matter of adding the following into the FORUMDISPLAY template:


Code:
<if condition="$forum[forum_intro]">$forum[forum_intro]</if>


Seems to me there's a step I'm missing for setting $forum[forum_intro] to the value of my (new) 'forum_intro' column in the row for the current forum (represented by $forum). Or is all columns of the 'forum' table automatically set to the equivalent $forum[xxx] for all the current forums rows ???



Anyhow ... I hope that's all there is to it ... ... if not ... please write to me in big red letters; "You have absolutely no idea what you're doing and better not touch your database with a ten foot pole unless you want to lose all your data !!!" ... lol





More important than confirming if what i have above is correct or not, there are just a couple of things I'd also like to be sure of, as hopefully I'll be doing alot more hacks once vB3.Gold is released:


- Is there anything I need to know or do before manipulating my database ???

- I'm guessing my forum should also be turned off if I do stuff like this ???

- I'm also guessing doing a back-up would also be suggested ... lol ???

- Is there anything else I should know about (namely precautions) before altering a table ???

- Is there so actual on/off setting for the database itself (not the forum) ???


I think I pretty much understand the essentials ... and it's pretty straight forward ... but all it takes is missing one step and it could spell disaster ... just figured I'd pass it by you guys before doing anything ...



Thanks TONS to all who reply and help me getting started on my journey into 'hacking' (or tweeking as I like to call it ... lol)


Regards,
DJ RRebel
http://www.homeofmusic.com
When you do a select query you can either:

SELECT x,y,z FROM TABLE OR
SELECT * FROM TABLE

If you do a "SELECT *" then you get all the columns in that table, and they can be used right away.

In your example since vbulletin doesn't do a SELECT * for that it won't work, you need to add ",intro_text" to the selected columns, in the includes/functions_forumlist.php you will find something like:

$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount';

change it to

$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount, intro_text';

then you have that column available



Touching a database isn't scary, just make a backup "just in case" and be careful with what you are doing. Common sense applies. If you are adding a column you might not harm existing data, if you delete a column then you might break something.

Also, for what you are trying to do no hack is necessary, it can be done all via conditional templates. A hack only would be more efficient especially if you have multiple forums.
Reply With Quote
  #3  
Old 01-22-2004, 09:34 PM
DJ RRebel DJ RRebel is offline
 
Join Date: Jul 2002
Location: CANADA
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

cool ... thanks ... that all made sence ...

As for my board ... it has over 20 forums ... so doing it by conditionals really wouldn't be efficient.

So ... just to be clear, aside from making back-up, there really isn't anything else I need to do ???

I would guess turning off the forum is only obvious thing to me ??? Is there anything else ??? Do i even have to turn it off ??? lol


Anyhow Kentaurus ... thanks for your reply ... it helped significantly !!!
Reply With Quote
  #4  
Old 01-28-2004, 10:43 AM
DJ RRebel DJ RRebel is offline
 
Join Date: Jul 2002
Location: CANADA
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK ... finally figured this out. Wanted to share it with you all to show my support for all the great work you're all doing here !!!

Keep in mind that I'm using vB3 RC#3.

I also want to thank Kentaurus for his help above, without which I would never have gotten started in the right direction!

I'm not sure if this really qualifies as a 'Hack', so I'm simply going to place the instructions on how I did this ... feel free to move it to the appropriate location if it isn't here ... lol ... or if you need me to start a new post, just let me know where and I'll do it next time I'm here !!!





Intructions on how to add unique 'Introduction' for each seperate forum:



1 - Close your forum (in vB Options):
______________________________

From the standard admin control panel (admincp), close your forum.


SET Forum Active: NO



2 - Back-up your database:
_______________________

I'm new to this, so you DEFINATELY want to back up your database PRIOR to making ANY modifications I mention.

BACK-UP YOUR DATABASE



3- Add 'x_forumintro' field to your database's table called 'forum':
__________________________________________________ ___


If you're not sure about this, then I wouldn't recommend you doing this hack/modification.

The SQL command (query) to use is:


ALTER TABLE `forum` ADD `x_forumintro` TEXT NOT NULL ;





4 - Make changes to /includes/functions_forumlist.php
_____________________________________________


First, save your old version of this page as 'functions_forumlist.php.old' (JUST IN CASE)

ADD the new field name to the list of variables (I'm using 'x_forumintro')


ORIGINAL:
========


$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount';


REPLACE WITH:
=============


$forumfields = 'forum.forumid, lastpost, lastposter, lastthread, lastthreadid, lasticonid, threadcount, replycount, x_forumintro';




5 - Make changes to /admincp/forum.php:
_________________________________


First, save your old version of this page as 'forum.php.old' (JUST IN CASE)

Note that only the two middle lines are added. I added the rest so you know where to put it.


ORIGINAL:
========

print_textarea_row($vbphrase['description'], 'forum[description]', $forum['description']);
print_input_row($vbphrase['forum_link'], 'forum[link]', $forum['link']);



REPLACE WITH:
=============

print_textarea_row($vbphrase['description'], 'forum[description]', $forum['description']);
print_textarea_row('Forum Introduction', 'forum[x_forumintro]', $forum['x_forumintro']);
print_input_row($vbphrase['forum_link'], 'forum[link]', $forum['link']);






6 - In 'Forum Display' template:
______________________________

Insert to location you want intro to be placed (tip: use a table for formating):

ADD:
====

$foruminfo[x_forumintro]
Reply With Quote
  #5  
Old 01-28-2004, 10:46 AM
DJ RRebel DJ RRebel is offline
 
Join Date: Jul 2002
Location: CANADA
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

oh yeah ... feel free to check out my forum to check it out in action !!!

site: http://www.homeofmusic.com (then simply click on any of the 'Forum' links)
Reply With Quote
  #6  
Old 01-28-2004, 01:18 PM
MindTrix's Avatar
MindTrix MindTrix is offline
 
Join Date: Apr 2002
Location: United Kingdom
Posts: 1,833
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice work mate but no-one will look here for it

Go to the vB3 section on the board and click on Full Releases, sub catagory one. Then find the section which your hack applys too, and create a new thread in there.

Note you will need to put all of your instructions inside a text file and attach it too the post.

This way it will show up as a hack that you have released, and this way alot more people will see it. Goodluck.
Reply With Quote
  #7  
Old 03-28-2004, 04:11 PM
EricR EricR is offline
 
Join Date: Feb 2004
Posts: 51
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually I found it here only after a global search for "forum introductions". I too missed the forum intro section from UBB and the conditionals approach (or even child styles approach) was going to be a pain with many forums. This approach just makes sense. So THANK YOU DJ RRebel for figuring this out Even though I did find this here, the first place I looked was in the Forum Display mods section so I would also ask that you release this as a hack. Anyway, many thanks DJ!
Reply With Quote
  #8  
Old 04-15-2004, 01:43 PM
White Knight White Knight is offline
 
Join Date: Nov 2001
Posts: 85
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

After 2 weeks of trying to find something like this.. I found this post! Thank you!!!!!!!!!!!!!!!!!!!!!
Reply With Quote
  #9  
Old 04-15-2004, 02:39 PM
White Knight White Knight is offline
 
Join Date: Nov 2001
Posts: 85
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

GREAT WORK! Works perfectly and I cant thank you enough for spending the time letting us know how simple of a install this is. Thanks again!
Reply With Quote
  #10  
Old 04-16-2004, 06:34 PM
BigJohnson BigJohnson is offline
 
Join Date: Nov 2001
Posts: 535
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This hack is great but how do i go about using conditions for it only to show when there is a intro enter?

I need this because i have tables that such.
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 06:31 AM.


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.07181 seconds
  • Memory Usage 2,282KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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