Description: This is a very basic - generic page which uses threads headers and footers, stylesheet - table wrappers etc.... and allows you to paste your own HTML in the file.
Working Under: UBB.Threads 6.0-6.1-6.2-6.3
Mod Status: Beta
Any pre-requisites: none
Author(s): JoshPet
Date: 05/20/03
Credits: I think Wrath posted the first "basic page" here long ago.
Files Altered: none
New Files: generic.php (you can rename this to anything you like - and duplicate it for as many pages as you wish.)
Database Altered: none
Info/Instructions: This is really basic - doesn't use templates. But useful if you wish to quickly make a page of your own, look like UBB.Threads.
Instructions: Edit the page title and path to your UBB Threads install at the top of the generic.php file. Place anywhere on your website. Duplicate and rename the page as needed. Paste your HTML where indicated - near the center of the file.
If you would prefer a templated version - it's attached here.
Disclaimer: Please backup every file that you intend to modify. If the modification modifies the database, it's a good idea to backup your database before doing so.
Note: If you modify your UBB.Threads code, you may be giving up your right for "official" support from Infopop.If you need official support, you'll need to restore unmodified files.
Nah Back when Josh first wrote this I put it into a template cause I was big on integration and keeping all my eggs in a row. I knew if I meantioned something Josh would post the template one. Threads moved into using templated systems and so should our hacks.
Why not add in $user = $userob -> authenticate("U_Groups"); or even the full range for those who use groups, or or other items, so that threads features and benefits flowed through.
I was able to use the generic page. Works really great!
Im running into a little issue though and I do have no idea what may cause that one.
When running the page with my php in it and being already at the forum and going to the link ( This Link ), then everything is ok.
However when not already browsing at the forum and opening the link at a fresh browser window, then I do get the following error message (page displays below the errro fine though - suppose he somehow tries to send the header twice):
Code
Warning: Cannot add header information - headers already sent by (output started at /home/www/web17/html/dclan/swguser/memberlist/memberlist.php:3) in /home/www/web17/html/dclan/ubbthreads/ubbt.inc.php on line 1749
In addition I do only get the error message when being looged in (cookies). When accessing the link in a fresh browser without being logged in, the error message does not display.
Uh. Does anyone have an idea where that might come from? Im left a little clueless. We are running on version 6.3
usually header already sent errors are extra spaces after the PHP closing tag ?> at the end of the file. make sure there's nothing after that closing tag.
Thanks a lot Josh. With your guidiance I was able to spot was has been wrong. I have added style information at the most top of the page. Putting them into the "add your content here" section did the trick.
I would think that this wouldn't be very easy to do but I will throw it out there anyway. Is there a way to show that a users is looking at this page from the "Who's Online" page?
I've used this for a couple of the main pages on my site, and when I close the forums for maintenance or something, those pages then get closed as well...
Is there a way to add a config option to keep these pages working while the board is closed? Any help would be muchly appreciated!
I made an attempt at making a generic page that uses the specific forum's header/footer/style that I wanted. Instead of the default header, this grabs the header/footer/stylesheet for a sepecific forum before calling send_header. This is used if the page was associated with a specific forum, that had it's own look and header for example.
Note: This works on 6.2, not tested on 6.3. This will use the header/footer/stylesheet options for a specific forum. If a user is not using the default style, the page will have the user's selected style. Directions.
I'm assuming the generic.php for the template version is being used. It has to appear between the authenticate() and send_header() basically.
[/code]
Find:
$user = $userob -> authenticate();
Add the following under this, changing 'MyBoard' to the forum's keyword the page should look like:
// ------ START Generic Page with forum look ------
$Board = "MyBoard"; //** Set to the keyword for the forum's style/header to use
// ------------------ // Get the board info $Board_q = addslashes($Board); $query = " SELECT Bo_Title,Bo_HTML,Bo_Markup,Bo_SpecialHeader,Bo_StyleSheet FROM {$config['tbprefix']}Boards WHERE Bo_Keyword = '$Board_q' $groupquery "; $sth = $dbh -> do_query($query);
// ------------------------------------------------- // Here we need to figure out what stylesheet to use $mystyle = ""; isset($user['U_StyleSheet']) && $mystyle = $user['U_StyleSheet']; if (!$mystyle) { $mystyle = "usedefault"; } if ($mystyle == "usedefault") { $mystyle = $fstyle; if ($mystyle == "usedefault") { $mystyle = $theme['stylesheet']; } } $fstyle = $mystyle; // fstyle will now be set when used by send_header // ------ END Generic Page with forum look ------ [/code]
actually didn't matter if admin or non.. what fixed my problem was using a temp variable for the $config array ala $threadsconfig=$config and then before the footer changing it back because the php script I was including inside actually changed the $config array to its own...
also heres a hint. If your including a program in this page ala require you may wanna change the $config= to anything else see mine a few pages back because if there is a $config in that program it will not work as intended..
Will do - I had a number of old Generic Pages, but I think they are versions long before this one (they do not have the Menu information on em...but the recent version does).
I had modified them to work with the current setup, but taking this Generic Page version and changing the one or two variables worked fine for me. No issues at all.
I'm having trouble getting this to work for me. It always says I'm not logged in. I think it is cookie-related, but I'm not a huge threads expert or anything.
We have threads running on bbs.blahblahblah.com and the generic page on blahblahblah.com -- both share the same file system, so I can use require(), but threads and the main site essentially run on two separate servers. Do I need to move threads over to the main site, or is there some change I can make to get this to work?
Well the cookie would be domain specific - so the cookie would only work on bbs.blahblahblah.com (note that bbs.blahblahblah.com and www.blahblahblah.com are different domains from a cookie standpoint). You'll probably have to put this inside of your threads directory for it to work if you are using a subdomain like that. Or do some deeper modification to get the cookies to work domain wide.
Here is an odd one. I am integrating another script that shares the same MySQL DB as Threads...and am using the above Generic Threads page as a "wrapper".
I am getting the following error:
Fatal error: Call to a member function on a non-object in /home/medar/public_html/ubbt.inc.php on line 1779
Which is this section, with line 1779 bolded: [] // ----------------------------------------------------------------- // We are automatically adding StyleSheet, Status, Privates and // FrontPage and Number to each SQL call because this information is needed by // every script that makes a call to authenticate if ($Query != "*") { if ($Query) { $Query .=","; } $Query .= "U_Username,U_Password,U_SessionId, U_StyleSheet, U_Status, U_Privates, U_FrontPage, U_Number, U_Banned"; } $Uid = addslashes(${$config['cookieprefix']."w3t_myid"});
[] $query = "SELECT $Query FROM {$config['tbprefix']}Users WHERE U_Number = '$Uid' <insert odd charceter>"; [/]
then look at the select that is trying to pass.. if it doesn't look like a good formatted select then it may cause this error. Also $Query == $query on some servers so I would advise to use something else for the $Query something like $Myquery instead of the $Query
Any quick way to find what forumns/groups the user has access to. I only want certain users that have access to a specific group to be able to see this page I'm making.
Since upgrading from 6.4.1 to 6.4.2, we seem to have some issues with the user variables somehow.
We do the following. At top of the generic page:
$userob = new user; $user = $userob -> authenticate("U_Groups");
At the page itself for a search function:
$variable = $user['U_Username'];
Somehow the search does not work anymore and so far I can't seem to locate what may cause the issue here.
Thank you a lot for any possible hint.
Best greetings, Robert
Edit: No solution, but the cause of the problem is "register globals off". Turning it to on for testing made it making work again (same as the link database). After turning it to on though it stopped working off course again :-)
Hmmm only issues I ever found was that sometimes the scripts I used to call from it had the same config command so I had to change threads config to config_threads and at the end change it back..
* I want to integrate my whole site into my threads setup, but the task of creating a .php and .tmpl for each of the hundreds of pages in my site is daunting. I tried to make a generic page with a frameset in it to call my sites pages into the frame, but framesets and frames don't seem to work inside the generic.tmpl page. Any thoughts? =/
The only reason you really need the .tmpl version is if these will be in your threads directory and you want to be able to edit them from your Threads control panel. Though since you're talking about your whole site, you don't need the templated version. Just copy and past all the code from each .html file into the indicated area in the generic.php file and rename it to whatever you want. And as Allen said, set $threadspath correctly.
* WHen you say "set the threadspath correctly", what is correctly? For example, the current threadspath is /home/value/public_html/ubbthreads right now. If I just put the desired code into the webpage.php page, and wanted to skip using a template, what would I change that threadspath to? =/
You would use your current threads path for all generic pages + the forum. It's a universal setting basically, and for all intents and purposes wouldn't need changing unless you moved to a new host.
Donate to UBBDev today to help aid in Operational, Server and Script Maintenance, and Development costs.
Please also see our parent organization VNC Web Services if you're in the need of a new UBB.threads Install or Upgrade, Site/Server Migrations, or Security and Coding Services.