Log in

View Full Version : widget code to web page


steven s
10-24-2011, 12:55 AM
I have a widget

ob_start();

$output_bits = '';

$today_m = date('m');
$today_y = date('Y');

$spacer = $today_m;

$get_schedule = vB::$db->query_read("
SELECT *
FROM " . TABLE_PREFIX . "thread
WHERE prefixid IN('Chapter_Event', 'other')
ORDER BY UNIX_TIMESTAMP(STR_TO_DATE(LEFT(title, 10), '%m/%d/%Y')) ASC
");

while ($schedule = vB::$db->fetch_array($get_schedule))
{
if (strtotime(substr($schedule['title'], 0, 10)) < (TIMENOW - 86400))
{
continue;
}

$str = substr($schedule['title'], 0, 2); // get month of event to add space between months

if ($str == $spacer)
{
$output_bits .= '<a target="_blank" href="showthread.php?t=' . $schedule['threadid'] . '">' . $schedule['title'] . '</a><br />';
}
else
{
$output_bits .= '<hr><a target="_blank" href="showthread.php?t=' . $schedule['threadid'] . '">' . $schedule['title'] . '</a><br />';
}
$spacer = $str;
}

vB::$db->free_result($get_schedule);


$output = $output_bits;

ob_end_clean();

which creates a calendar of events on http://www.nccbmwcca.org based on the date in the subject.
I need to be able to output this script to a simple standalone webpage.

Anyone whip it up for me? Please?

kh99
10-24-2011, 08:13 PM
What do you mean by standalone, exactly? Can it be a "vb powered" page? If so you can probably use this: https://vborg.vbsupport.ru/showthread.php?t=228112 . I don't think you need the ob_start/ob_end_clean calls. You may need a template with the header and footer if you want to include those things on the page.

steven s
10-24-2011, 09:58 PM
What do you mean by standalone, exactly? Can it be a "vb powered" page? If so you can probably use this: https://vborg.vbsupport.ru/showthread.php?t=228112 . I don't think you need the ob_start/ob_end_clean calls. You may need a template with the header and footer if you want to include those things on the page.

I don't want it to be a vB powered page.
I simply need it to run as a webpage outside of vBulletin.
I want to use the query to insert into an email.
So the query needs to run and create a webpage.

steven s
10-25-2011, 11:28 PM
I have this so far.
<?

$host = '';
$databasename ='';
$user = '';
$pass = '';

$output_bits = '';
$today_m = date('m');
$today_y = date('Y');
$spacer = $today_m;




$linkID = mysql_connect($host, $user, $pass) or die('Could not connect to host.');
mysql_select_db($databasename, $linkID) or die('Could not find database.');


$get_schedule = mysql_query("
SELECT *
FROM vb_thread
WHERE prefixid IN('Chapter_Event', 'other')
ORDER BY UNIX_TIMESTAMP(STR_TO_DATE(LEFT(title, 10), '%m/%d/%Y')) ASC
");

while($row = mysql_fetch_array($get_schedule))
{

echo '<a target="_blank" href="showthread.php?t=' . $row['threadid'] . '">' . $row['title'] . '</a><br />';
}

Currently it outputs the thread titles with the thread prefix Chapter_Event or other.
Sample -> http://forum.nccbmwcca.org/testscript.php

What I want is to only output titles beginning with today and beyond.

I'm guessing it has something to do with the original code in my widget
(strtotime(substr($schedule['title'], 0, 10)) < (TIMENOW - 86400))

Then I need a <hr> when the month changes.
The widget code is in post 1.

--------------- Added 1319672786 at 1319672786 ---------------

Not purposely bumping my own thread.

I stumbled on how to add <hr> between months to work.
Now to figure how to display only those thread titles beginning with today's date (MM/DD/YYYY) and beyond..<?

$host = '';
$databasename ='';
$user = '';
$pass = '';

$output_bits = '';
$today_m = date('m');
$today_y = date('Y');
$spacer = $today_m;




$linkID = mysql_connect($host, $user, $pass) or die('Could not connect to host.');
mysql_select_db($databasename, $linkID) or die('Could not find database.');


$get_schedule = mysql_query("
SELECT *
FROM vb_thread
WHERE prefixid IN('Chapter_Event', 'other')
ORDER BY UNIX_TIMESTAMP(STR_TO_DATE(LEFT(title, 10), '%m/%d/%Y')) ASC
");

while($row = mysql_fetch_array($get_schedule))


{
if (strtotime(substr($row['title'], 0, 10)) < (TIMENOW - 86400))
{
continue;
}

$str = substr($row['title'], 0, 2); // get month of event to add space between months

if ($str == $spacer)
{
echo '<a target="_blank" href="showthread.php?t=' . $row['threadid'] . '">' . $row['title'] . '</a><br />';
}
else
{
echo '<hr><a target="_blank" href="showthread.php?t=' . $row['threadid'] . '">' . $row['title'] . '</a><br />';
}
$spacer = $str;
}


--------------- Added 1319674807 at 1319674807 ---------------

I think I got it. :)

TIMENOW must be a vBulletin variable.
I substituted TIMENOW for TIME() and it appears to be working.