View Single Post
  #81  
Old 12-26-2003, 11:10 PM
Russ_T Russ_T is offline
 
Join Date: Jun 2003
Posts: 71
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok heres my little contribution. It's a quick and dirty fix but it's the only way I could think to do it using the current structure and not knowing any sql didn't help. I really need a book.

Ok in index.php replace

Quote:
// vbPortal mini calendar - by wajones
if ($showcalendar) {
$year = date('Y');
$doublemonth = vbdate('m',time());
$month = date('n');
$day = '1';
$today = vbdate('m-d',time());
$events=$DB_site->query("SELECT eventdate,subject,eventid,public FROM calendar_events WHERE eventdate LIKE '$year-$doublemonth-%' AND ((userid='$bbuserinfo[userid]' AND public='0') OR (public='1'))");
while ($event=$DB_site->fetch_array($events)) {
if ($showtodaysevents AND $event[eventdate]==vbdate('Y-m-d',time())) {
$eventsubject = htmlspecialchars($event['subject']);
if ($event['public']=='1') {
$todaysevents .= "<li><a href=\"$bburl/calendar.php?s=$session[sessionhash]&action=getinfo&eventid=$event[eventid]\"><smallfont color=\"{calpubliccolor}\">$eventsubject</smallfont></a></li>";
}
if ($event['public']=='0') {
$todaysevents .= "<li><a href=\"$bburl/calendar.php?s=$session[sessionhash]&action=getinfo&eventid=$event[eventid]\"><smallfont color=\"{calprivatecolor}\">$eventsubject</smallfont></a></li>";
}
eval("\$eventstoday = \"".gettemplate('index_calendar_todaysevents')."\" ;");
}
}
if (!$bbuserinfo['startofweek']) {
$bbuserinfo['startofweek'] = '1';
}

with


Quote:
if ($showcalendar) {
$year = date('Y');
$doublemonth = vbdate('m',time());
$month = date('n');
$day = '1';
$today = vbdate('m-d',time());
$events=$DB_site->query("SELECT eventdate,subject,eventid,public FROM calendar_events WHERE eventdate LIKE '$year-$doublemonth-%' AND ((userid='$bbuserinfo[userid]' AND public='0') OR (public='1')) ORDER BY eventdate");
while ($event=$DB_site->fetch_array($events)) {
$thetime = time();
for ($i = 0; $i < 14; $i++) {
if ($showtodaysevents AND $event[eventdate]==vbdate('Y-m-d',$thetime)) {
$eventsubject = htmlspecialchars($event['subject']);
if ($event['public']=='1') {
$todaysevents .= "<li><a href=\"$bburl/calendar.php?s=$session[sessionhash]&action=getinfo&eventid=$event[eventid]\"><smallfont color=\"{calpubliccolor}\">$eventsubject</smallfont></a></li>";
}
if ($event['public']=='0') {
$todaysevents .= "<li><a href=\"$bburl/calendar.php?s=$session[sessionhash]&action=getinfo&eventid=$event[eventid]\"><smallfont color=\"{calprivatecolor}\">$eventsubject</smallfont></a></li>";
}
eval("\$eventstoday = \"".gettemplate('index_calendar_todaysevents')."\" ;");
}
$thetime = $thetime + 86400;
}
}
if (!$bbuserinfo['startofweek']) {
$bbuserinfo['startofweek'] = '1';
}

$enddate = time() + 1209600;
$doublemonth = vbdate('m',$enddate);
$year = vbdate('Y',$enddate);

$events=$DB_site->query("SELECT eventdate,subject,eventid,public FROM calendar_events WHERE eventdate LIKE '$year-$doublemonth-%' AND ((userid='$bbuserinfo[userid]' AND public='0') OR (public='1')) ORDER BY eventdate");
while ($event=$DB_site->fetch_array($events)) {
$thetime = time();
for ($i = 0; $i < 14; $i++) {
if ($showtodaysevents AND $event[eventdate]==vbdate('Y-m-d',$thetime)) {
$eventsubject = htmlspecialchars($event['subject']);
if ($event['public']=='1') {
$todaysevents .= "<li><a href=\"$bburl/calendar.php?s=$session[sessionhash]&action=getinfo&eventid=$event[eventid]\"><smallfont color=\"{calpubliccolor}\">$eventsubject</smallfont></a></li>";
}
if ($event['public']=='0') {
$todaysevents .= "<li><a href=\"$bburl/calendar.php?s=$session[sessionhash]&action=getinfo&eventid=$event[eventid]\"><smallfont color=\"{calprivatecolor}\">$eventsubject</smallfont></a></li>";
}
eval("\$eventstoday = \"".gettemplate('index_calendar_todaysevents')."\" ;");
}
$thetime = $thetime + 86400;
}
}

if (!$bbuserinfo['startofweek']) {
$bbuserinfo['startofweek'] = '1';
}

$year = date('Y');
$doublemonth = vbdate('m',time());
$events=$DB_site->query("SELECT eventdate,subject,eventid,public FROM calendar_events WHERE eventdate LIKE '$year-$doublemonth-%' AND ((userid='$bbuserinfo[userid]' AND public='0') OR (public='1')) ORDER BY eventdate");
while ($event=$DB_site->fetch_array($events)) {}
Then just alter the index_calendar_todaysevents template to read something like

Next fortnight's events

instead of

Today's events


And that should work fine.

BUT this horrid work around adds two more queries to your home page and is generally horrid. Now can someone with some skill and time turn that code into something pretty please?

All credit to wajones for the original code for me to hack about though. Thank you.


(working demo at http://www.zclub.net )
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01111 seconds
  • Memory Usage 1,791KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete