UBB.Dev
Posted By: JoshPet Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 05/21/2003 2:56 AM
Mod Name / Version: Generic Threads Page

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.




Attached File
81311-generic.php.zip  (220 downloads)
Posted By: AKD96 Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 05/21/2003 3:06 AM
That's pretty nifty Josh! Will it work with the sidbarpal?
Yup. It will - as it uses the threads headers and footers.
Posted By: AKD96 Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 05/21/2003 3:10 AM
Hmm maybe I should post the one that uses a template system

Nice work Mr. Banana. I think there are about 5 version lying around this forum for this one in various stages of development.
OK -

Here is a templated version.

Instructions: Edit the path and page title at the top of the php file. Rename the file and the template to the name of your choice.

In the php file - where it requires the .tmpl file - be sure to edit the name if you've renamed it.

Put your HTML into the tmpl file.

The php file can be anywhere on your website - the template should be in the /ubbthreads/templates/default directory.

Attached File
81320-GenericPageTemplated.zip  (164 downloads)
LOL I knew if I said I would post the template version you would do it
Posted By: AKD96 Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 05/21/2003 4:13 AM
You must know the Jedi Mind Trick!!!
LOL
Wasn't trying to outdo anybody - it just was real quick and simple. Might as well have it available for people who want that as well.
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.
Posted By: AKD96 Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 05/21/2003 4:26 AM
Hmmm.... I really should post that hack for fully integrating CafePress into Threads.....

(waits for Josh to post it first)
LOL You can do that.
[]AKD96 said:
Hmmm.... I really should post that hack for fully integrating CafePress into Threads.....

(waits for Josh to post it first) [/]

You are not strong enough in the force young padwa to use the scriptor mind trick on a code master like JoshPet...
LOL Okay now stop making fun.

You know if you hint at something Josh is going to do it.
Nice Josh.

Kinda wish I'd had something like this a few months back when I started making my EQ roster addon for threads.

I made it through though, and I must say, I'll use this template as I start to convert the rest of my site to a "Threads style" format.

No sense in reinventing the wheel.
Is the download in the first post the latest code?
The first post is the untemplated version - the next post where I attached the file - is a templated version.

But I link to the templated version in my first post as well.

For some simple pages - I'm fine without the template - but for more advanced stuff - it's definately nice, and more consistant with threads.
great work on both
Posted By: Ian_W Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 05/22/2003 12:40 PM
Just a thought

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.

Great work, and thanks for sharing the mods.
Hello everyone,

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


Thanks in advance,
Robert
Posted By: JoshPet Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 07/06/2003 10:56 AM
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.

Thanks again!
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?
Actually, it's very easy. If the file is named foobar.php, edit languages/english/online.php and add

Code
$ubbt_lang['foobar'] = "Viewing the Foo Bar page";
Thanks Dave, can you give me an idea of where to put it? I don't really see a pattern. TIA.
You can add it anywhere. I've been adding that stuff at the end of the file, just before the closing bracket:

Code
$ubbt_lang['foobar'] = "Viewing the Foo Bar page";<br />?>


Make a backup of the file before you change it, and be careful not to add any whitespace after the ?>.
Thanks
Hola! I've got a couple questions about this now!

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!

-peter
Before the send_header function in those pages - try adding this:


$config['isclosed'] = 0;


I *think* that'll override it.
thanks josh, I'll try that!
hmm

i got a little error ??

see it here, something vith the table colors ??

http://www.4701.dk/ubbthreads/pigelisten.php

any ideas what i did wrong ??

Code
 <?<br />// Generic UBB.Threads page by Joshua Pettit<br />// aka JoshPet of www.joshuapettit.com <br />// UBB.Threads Elements ©Infopop.com and Rick Baker<br /><br />// Variables - Edit these As Needed<br /><br />// What is the title of the page:<br />	$pagetitle = "Pigelisten";<br />	<br />// What is the PATH (not URL) to your threads install?<br />// You'll find this in your threads config file<br />// Do not include trailing slash<br />	$threadspath = "/usr/local/www/sites/4701.dk/httpdocs/ubbthreads";<br /><br /><br /><br />// DO NOT EDIT THIS SECTION<br />// Require the library<br />   require ("$threadspath/main.inc.php");<br /><br />   $userob = new user;<br />   $user = $userob -> authenticate();<br /><br /><br />   $html = new html;<br />   $html -> send_header($pagetitle,$Cat,0,$user);<br /><br />// ---------------------<br />// Grab the tablewrapper<br />   list($tbopen,$tbclose) = $html -> table_wrapper();<br /><br />// Now let's draw the table<br />	echo "$tbopen";<br />	<br />// Now let's create a header with the page title in it<br />	echo "<tr><td class=\"tdheader\">$pagetitle</td></tr>";<br />	<br />// Now let's open the next table cell for the body of your page:<br />	echo "<tr><td class=\"lighttable\">";<br />	<br /><br /><br /><br />// The rest of the page<br />// YOU CAN EDIT THIS SECTION<br /><br />// Put the HTML of your page below this<br /><br /><br /><br /><br />echo <<<PAGEHTML<br /><br /><br /><tr><br />    <td><b>Gudinde Navn</b></td><br />    <td><b>Gudindens hjemmeside</b></td><br />	</tr><br /> <br /><br /><br /><br />PAGEHTML;<br />$database = mysql_connect("localhost", "xxx", "xxxx");<br />if (!$database) die ('Kunne ikke forbinde til databasen');<br /> mysql_select_db("ubb",$database);<br />mysql_select_db("ubb",$database) or die('Kunne ikke vælge database');<br /> $foresp = mysql_query("SELECT U_Number,U_Title,U_Username,U_Email,U_Homepage,U_Approved, U_Groups FROM w3t_Users <br /> 	WHERE   U_Groups = '-6-'<br /> ORDER BY U_Username");<br />if (!$foresp) die (mysql_error()); <br />print mysql_num_rows($foresp)." fundet<BR><BR>";<br />while ($data = mysql_fetch_array($foresp)) {<br />        <br />		echo "<tr><td>$data[2]</td>";<br />		echo "<TD><A href= http://".$data[4].">".$data[4]."</A></TD>";<br />        echo "</tr>";<br />		<br />   }<br />// DO NOT EDIT BELOW THIS LINE<br /><br />// Close out the table<br />	echo "</td></tr>$tbclose";		<br /><br />// Send the footer<br />  $html -> send_footer();<br />?> 
You need to assign the class either "lighttable" or "darktable" to each <td> cell.
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);

// ----------------
// Assign the stuff
list($Title,$HTML,$Markup,$fheader,$fstyle) = $dbh -> fetch_array($sth);
$dbh -> finish_sth($sth);

// -------------------------------------------------
// 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]
thought I would add that this creates an issue in 6.4..

throws an error

Notice: Undefined variable: config in /your/path/to/ubbthreads/ubbt.inc.php on line 931
I didn't have a problem on my 6.4b1 board using this. I have sinced switched to the templated one though.
Hmmm... shouldn't be any problem. We're using it here and at other sites for various purposes.

It's really just a send_header and a send_footer.
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...
Posted By: Medar Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 02/11/2004 5:25 PM
Quick question, this may already be part of the Generic Page.

Does the Menubar up top appear when using the Generic Page? (ie Welcome Medar...Main Index, Entrance, Search, etc).
Yes.
Posted By: Medar Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 02/11/2004 6:07 PM
Thanks Josh
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..
Posted By: Medar Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 02/11/2004 10:26 PM
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?

I hope that made a little sense...
Posted By: JoshPet Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 02/28/2004 10:23 PM
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.
Posted By: Medar Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 03/19/2004 4:47 PM
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'";
$sth = $dbh -> do_query($query);
$thisuser = $dbh -> fetch_array($sth);
$dbh -> finish_sth($query);[/]

Any idea what would cause that? Thanks in advance!
debug it by putting some odd characters here

[]
$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..
Posted By: Calpy Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 04/26/2004 4:05 AM
* 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? =/
You shouldn't have to create a .tmpl page, just name the generic.php file anything.php you want and set the $threadspath correctly.
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.
Posted By: Calpy Re: Beta-[6.0-6.1-6.2-6.3] Generic Threads Page - 07/10/2004 10:50 PM
* 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.
© UBB.Developers