Calendar block for phpBB Calendar 0.0.8
Forum rules
This forum is not for support requests.
Only post Modifications for Board3 Portal 1.0.x in this forum.
This forum is not for support requests.
Only post Modifications for Board3 Portal 1.0.x in this forum.
-
- Active Member
- Posts: 48
- Joined: 27. June 2008 13:29
Re: Calendar block for phpBB Calendar 0.0.8
Very good points Kevin! I agree with all of them, actually. I just didn't realize how complicated it would be.
I never thought of that before, but there are no other mods in Board3?
I never thought of that before, but there are no other mods in Board3?
-
- Site Admin
- Posts: 2989
- Joined: 7. January 2006 21:11
- phpBB.de User: Saint
- phpBB.com User: Saint_hh
- Location: Hamburg
Re: Calendar block for phpBB Calendar 0.0.8
No - no other mods. As far I remember, we only took over some snippets, from users who have provided it here aboard, e.g in the birthday block for the upcoming birthdays (kendoo).Onetimer wrote:I never thought of that before, but there are no other mods in Board3?
And (don't start to laugh ) the main scripting for the mini calendar is from Adrian Cockburn, as stated in the source code:
But this one has been already implemented in the moment we started this fork from phpBB3Portal. And we had a lot trouble with it (Styling / XHTML valid strict). At some point we thought about kicking it completely out.@copyright (c) Adrian Cockburn - phpbb@netclectic.com (mini calendar)
All support for other mods should be done separately in extra blocks.
But don't get me wrong: we are happy about every developed extra block, who supports other good mods.
And we already have a lot supporting blocks: gallery, download mod, teamspeak, other calendars, games, etc..
So everyone could "pimp" his portal to his needs.
Anyway: I'm expecting some more good calendar mods in future - another argument to keep it like it is. The mini cal needs no edits to the core sytem.
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~
Kein Support per PN / No support via PM!
Kein Support per PN / No support via PM!
-
- Active Member
- Posts: 6
- Joined: 18. March 2009 19:38
- phpBB.de User: DeanB
Re: Calendar block for phpBB Calendar 0.0.8
Hallo,
hast du das Problem gelöst ?
hast du das Problem gelöst ?
Holy wrote:Hi, ich hab folgendes Problem:
Im Calendar auf der Haupseite werden normale Termine erst angezeigt, wenn sie innerhalb der nächsten 2 oder 3 wochen liegen, all-day events aber wenn sie innerhalb des Jahres sind.
Bsp:
Termin morgen -> wird angezeigt
Termin nächsten Monat -> nicht angezeigt
all-day Termin in 3 Monaten -> wird angezeigt
Dadurch entsteht der effekt, dass im nächsten Monat nix los ist. kann ich das auch für all-day-events so einstellen, dass die nur angezeigt werden, wenn sie in der entsprechenden zeitspanne sind?
PS: Ich glaube, die änderung muss irgend wo in der function calendar_display_mini_month() erfolgen, an dieser stelle wohl, aber wie genau?
Code: Select all
$start_temp_date = gmmktime( 0,0,0,$date['month_no'], $day, $date['year']); $end_temp_date = $start_temp_date + 2678400; // find all day events that are still taking place $sort_timestamp_cutoff = $start_temp_date - 86400+1; // don't list events that are more than 1 year in the future $sql = 'SELECT * FROM ' . CALENDAR_EVENTS_TABLE . ' WHERE ( (event_access_level = 2) OR (event_access_level = 0 AND poster_id = '.$db->sql_escape($user->data['user_id']).' ) OR (event_access_level = 1 AND ('.$db->sql_escape($group_options).') ) ) AND ((( event_start_time >= '.$db->sql_escape($start_temp_date).' AND event_start_time <= '.$db->sql_escape($end_temp_date).' ) OR ( event_end_time > '.$db->sql_escape($start_temp_date).' AND event_end_time <= '.$db->sql_escape($end_temp_date).' ) OR ( event_start_time < '.$db->sql_escape($start_temp_date).' AND event_end_time > '.$db->sql_escape($end_temp_date)." )) OR (sort_timestamp > ".$db->sql_escape($sort_timestamp_cutoff)." AND event_all_day = 1) ) ORDER BY sort_timestamp ASC";
-
- Active Member
- Posts: 45
- Joined: 24. March 2009 15:35
- phpBB.de User: wintstar
- phpBB.com User: wintstar
- Location: Langgöns/Hessen
Re: Calendar block for phpBB Calendar 0.0.8
mein calender block funktioniert nicht hab alles nach install gemacht. install scheint was zu fehlen.
habe phpbb 3.o4 und das board Portal
kann mir jemand helfen?
danke
stephan
habe phpbb 3.o4 und das board Portal
kann mir jemand helfen?
danke
stephan
Last edited by wintstar on 30. March 2009 12:14, edited 1 time in total.
Gruß Stephan
Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).
Ein Blick ins zukünftige phpBB 3.1.1 - Forum, die lfd. Builds
phpBB 3.0.13 html 5 und responsive
Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).
Ein Blick ins zukünftige phpBB 3.1.1 - Forum, die lfd. Builds
phpBB 3.0.13 html 5 und responsive
-
- Active Member
- Posts: 48
- Joined: 27. June 2008 13:29
Re: Calendar block for phpBB Calendar 0.0.8
Entschuldige meine schlechtes Deutsch, aber dieses block sind "adandonware". Sie musst die ganze thread lesen.wintstar wrote:mein calender block funktioniert nicht hab alles nach install gemacht. install scheint was zu fehlen.
habe phpbb 3.o4 und das board Portal
kann mir jemand helfen?
danke
stephan
-
- Active Member
- Posts: 45
- Joined: 24. March 2009 15:35
- phpBB.de User: wintstar
- phpBB.com User: wintstar
- Location: Langgöns/Hessen
Re: Calendar block for phpBB Calendar 0.0.8
Onetimer wrote:wintstar wrote:mein calender block funktioniert nicht hab alles nach install gemacht. install scheint was zu fehlen.
habe phpbb 3.o4 und das board Portal
kann mir jemand helfen?
danke
stephan
Entschuldige meine schlechtes Deutsch, aber dieses block sind "adandonware". Sie musst die ganze thread lesen.
versteh ich nicht (an deinem deutsch liegt´s nicht) hab ich was hier übersehen?
Gruß Stephan
Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).
Ein Blick ins zukünftige phpBB 3.1.1 - Forum, die lfd. Builds
phpBB 3.0.13 html 5 und responsive
Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).
Ein Blick ins zukünftige phpBB 3.1.1 - Forum, die lfd. Builds
phpBB 3.0.13 html 5 und responsive
-
- Valued Contributor
- Posts: 74
- Joined: 8. November 2008 21:03
- phpBB.de User: DeaQ
- phpBB.com User: DeaQ
- Location: Kerpen / NRW
Re: Calendar block for phpBB Calendar 0.0.8
wintstar mache es mal so wie Denis es beschrieben hat ... ich habe es so ausgeführt und habe alles perfekt hinbekommen
viewtopic.php?f=21&t=459&start=105#p12161
viewtopic.php?f=21&t=459&start=105#p12161
greetz
DeaQ [di_kju]
DeaQ [di_kju]
-
- Active Member
- Posts: 48
- Joined: 27. June 2008 13:29
Re: Calendar block for phpBB Calendar 0.0.8
Anybody got this block to work with Board3 1.0.3?
My Calendar block is just an empty block now (except for the word Events). I guess this has something to do with the new block handling in 1.0.3?
Because Frold seem to have abandoned this mod/block, it would be great if someone php-savvy could update this block (and correct some of the mistakes/errors already in there, look at the screenshot a few posts above as well as some of the posts on page 6 for instance).
My Calendar block is just an empty block now (except for the word Events). I guess this has something to do with the new block handling in 1.0.3?
Because Frold seem to have abandoned this mod/block, it would be great if someone php-savvy could update this block (and correct some of the mistakes/errors already in there, look at the screenshot a few posts above as well as some of the posts on page 6 for instance).
-
- Active Member
- Posts: 45
- Joined: 24. March 2009 15:35
- phpBB.de User: wintstar
- phpBB.com User: wintstar
- Location: Langgöns/Hessen
Re: Calendar block for phpBB Calendar 0.0.8
hab jetzt alles berreinigt und nach euren tips installiert. funtioniert trotzdem nicht, kein event wird angzeigt. bin ratlos
gruß
stephan
gruß
stephan
Gruß Stephan
Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).
Ein Blick ins zukünftige phpBB 3.1.1 - Forum, die lfd. Builds
phpBB 3.0.13 html 5 und responsive
Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).
Ein Blick ins zukünftige phpBB 3.1.1 - Forum, die lfd. Builds
phpBB 3.0.13 html 5 und responsive
-
- Active Member
- Posts: 48
- Joined: 27. June 2008 13:29
Re: Calendar block for phpBB Calendar 0.0.8
I just realized I had replaced portal.php in the update process, and after re-adding the code to it the Calendar is now back to where it was before I updated to Board3 1.0.3. I still have the problem with no events showing up in the Calendar block, even if I set the to public events. So if anyone can give me a tip on how to get that working I would be very grateful. I know someone mentioned that he or she had the same problem a while back.
I though I'd go ahead and try the updates recommeneded in the first post. One question though;
Find
Replace With
?
I though I'd go ahead and try the updates recommeneded in the first post. One question though;
Just to be sure, does the above mean this;Graceland wrote: Open includes/functions_calendar.php
SEARCHREPLACE THE COMPLETE FUNCTION WITH (UP TO function get_weekday_names_mini ...)Code: Select all
function calendar_display_mini_month() {
Code: Select all
function calendar_display_mini_month() { global $auth, $db, $user, $config, $template, $date, $available_etype_colors, $available_etype_images, $available_etype_display_names, $month_sel_code, $day_sel_code, $year_sel_code, $mode_sel_code; global $phpEx, $phpbb_root_path; init_calendar_data(); init_view_selection_code("month"); // data of akt. month $time = getdate(time()); //create next and prev links set_date_prev_next( "month" ); $calling_page = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $mini_prev_link = append_sid($calling_page, "calM=".$date['prev_month']."&calY=".$date['prev_year']); $mini_next_link = append_sid($calling_page, "calM=".$date['next_month']."&calY=".$date['next_year']); //find the first day of the week $first_day_of_week = get_calendar_config_value("first_day_of_week", 0); get_weekday_names_mini( $first_day_of_week, $sunday, $monday, $tuesday, $wednesday, $thursday, $friday, $saturday ); //get the first day of the month $date['num'] = "01"; $date['fday'] = get_fday( $date['num'], $date['month_no'], $date['year'], $first_day_of_week ); $number_days = gmdate("t", gmmktime( 0,0,0,$date['month_no'], $date['day'], $date['year'])); //$mini_calendar_header_txt = $user->lang['MONTH_OF'] . sprintf($user->lang['LOCAL_DATE_FORMAT'], $user->lang['datetime'][$date['month']], $date['day'], $date['year'] ); $mini_calendar_header_txt = $user->lang['datetime'][$date['month']] . ' - ' . $date['year']; $subject_limit = get_calendar_config_value("display_truncated_name", 0); // Is the user able to view ANY events? $user_can_view_events = false; if ( $auth->acl_get('u_calendar_view_events') ) { $user_can_view_events = true; /* find the group options here so we do not have to look them up again for each day */ $group_options = get_sql_group_options($user->data['user_id']); } $counter = 0; for ($j = 1; $j < $number_days+1; $j++, $counter++) { // if it is the first week if ($j == 1) { // find how many place holders we need before day 1 if ($date['fday'] < 7) { $date['fday'] = $date['fday']+1; for ($i = 1; $i < $date['fday']; $i++, $counter++) { // create dummy days (place holders) if( $i == 1 ) { $mini_calendar_days['START_WEEK'] = true; } else { $mini_calendar_days['START_WEEK'] = false; } $mini_calendar_days['END_WEEK'] = false; $mini_calendar_days['HEADER_CLASS'] = 'bg3'; $mini_calendar_days['DAY_CLASS'] = 'bg2'; $mini_calendar_days['NUMBER'] = 0; $mini_calendar_days['DUMMY_DAY'] = true; $mini_calendar_days['ADD_LINK'] = ''; $mini_calendar_days['BIRTHDAYS'] = ''; $template->assign_block_vars('mini_calendar_days', $mini_calendar_days); } } } // start creating the data for the real days $mini_calendar_days['START_WEEK'] = false; $mini_calendar_days['END_WEEK'] = false; $mini_calendar_days['DUMMY_DAY'] = false; $mini_calendar_days['HEADER_CLASS'] = 'bg3'; $mini_calendar_days['DAY_CLASS'] = 'bg2'; $mini_calendar_days['NUMBER'] = 0; $mini_calendar_days['ADD_LINK'] = ''; $mini_calendar_days['BIRTHDAYS'] = ''; $mini_calendar_days['WRITE_BOLD'] = 100; if($counter % 7 == 0) { $mini_calendar_days['START_WEEK'] = true; } if($counter % 7 == 6 ) { $mini_calendar_days['END_WEEK'] = true; } $mini_calendar_days['NUMBER'] = $j; if( $auth->acl_get('u_calendar_create_events') ) { $mini_calendar_days['ADD_LINK'] = append_sid("{$phpbb_root_path}calendarpost.$phpEx", "mode=post&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']); } $mini_calendar_days['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']); $mini_calendar_days['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']); //highlight selected day if( $j == $date['day'] && $date["month_no"] == $time["mon"]) { $mini_calendar_days['DAY_CLASS'] = 'bg4'; } //highlight current day $test_start_hi_time = mktime( 0,0,0,$date['month_no'], $j, $date['year']) + date('Z'); $test_end_hi_time = $test_start_hi_time + 86399; $test_hi_time = time() + $user->timezone + $user->dst; if( ($test_start_hi_time <= $test_hi_time) && ($test_end_hi_time >= $test_hi_time)) { $mini_calendar_days['HEADER_CLASS'] = 'bg3'; $mini_calendar_days['DAY_CLASS'] = 'bg4'; } /* if ( $user_can_view_events && $auth->acl_get('u_viewprofile') ) { // find birthdays $mini_calendar_days['BIRTHDAYS'] = generate_birthday_list( $j, $date['month_no'], $date['year'] ); } */ $arrayOfDays[] = $mini_calendar_days; } if ( $user_can_view_events ) { if($time["mon"] == $date["month_no"]) $day = $date['day']; else $day = 1; // startDate = first Day of viewed month $start_temp_date = gmmktime( 0,0,0,$date['month_no'], $day, $date['year']); $end_temp_date = $start_temp_date + 2678400; // find all day events that are still taking place $sort_timestamp_cutoff = $start_temp_date - 86400+1; // don't list events that are more than 1 year in the future $sql = 'SELECT * FROM ' . CALENDAR_EVENTS_TABLE . ' WHERE ( (event_access_level = 2) OR (event_access_level = 0 AND poster_id = '.$db->sql_escape($user->data['user_id']).' ) OR (event_access_level = 1 AND ('.$db->sql_escape($group_options).') ) ) AND ((( event_start_time >= '.$db->sql_escape($start_temp_date).' AND event_start_time <= '.$db->sql_escape($end_temp_date).' ) OR ( event_end_time > '.$db->sql_escape($start_temp_date).' AND event_end_time <= '.$db->sql_escape($end_temp_date).' ) OR ( event_start_time < '.$db->sql_escape($start_temp_date).' AND event_end_time > '.$db->sql_escape($end_temp_date)." )) OR (sort_timestamp > ".$db->sql_escape($sort_timestamp_cutoff)." AND event_all_day = 1) ) ORDER BY sort_timestamp ASC"; // find next 5 events $result = $db->sql_query_limit($sql, 5, 0); // $result = $monthEventResult; while ($row = $db->sql_fetchrow($result)) { $dayOfEvent = getdate($row["sort_timestamp"]); $event_output['COLOR'] = $available_etype_colors[$row['etype_id']]; $event_output['IMAGE'] = $available_etype_images[$row['etype_id']]; $event_output['EVENT_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=event&calEid=".$row['event_id']); $event_output['NUMBER'] = $dayOfEvent["mday"].".".$dayOfEvent["mon"]."."; $event_output['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$dayOfEvent["mday"]."&calM=".$dayOfEvent["mon"]."&calY=".$dayOfEvent["year"]); $event_output['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$dayOfEvent["mday"]."&calM=".$dayOfEvent["mon"]."&calY=".$dayOfEvent["year"]); if($date["month_no"] == $dayOfEvent["mon"]) { $arrayOfDays[$dayOfEvent["mday"]-1]["WRITE_BOLD"] = "bold"; } // if the event was created by this user // display it in bold if( $user->data['user_id'] == $row['poster_id'] ) { $event_output['DISPLAY_BOLD'] = true; } else { $event_output['DISPLAY_BOLD'] = false; } $event_output['ETYPE_DISPLAY_NAME'] = $available_etype_display_names[$row['etype_id']]; $event_output['EVENT_SUBJECT'] = censor_text($row['event_subject']); if( $subject_limit > 0 ) { if(utf8_strlen($event_output['EVENT_SUBJECT']) > $subject_limit) { $event_output['EVENT_SUBJECT'] = truncate_string($event_output['EVENT_SUBJECT'], $subject_limit) . '...'; } } $template->assign_block_vars('events', $event_output); } $db->sql_freeresult($result); } for($a=0;$a<count($arrayOfDays);$a++) { if(!empty($arrayOfDays[$a]["NUMBER"])) { $template->assign_block_vars('mini_calendar_days', $arrayOfDays[$a]); } } $counter--; $dummy_end_day_count = 6 - ($counter % 7); for ($i = 1; $i <= $dummy_end_day_count; $i++) { // create dummy days (place holders) $mini_calendar_days['START_WEEK'] = false; if( $i == $dummy_end_day_count ) { $mini_calendar_days['END_WEEK'] = true; } else { $mini_calendar_days['END_WEEK'] = false; } $mini_calendar_days['HEADER_CLASS'] = ''; $mini_calendar_days['DAY_CLASS'] = ''; $mini_calendar_days['NUMBER'] = 0; $mini_calendar_days['DUMMY_DAY'] = true; $mini_calendar_days['ADD_LINK'] = ''; $mini_calendar_days['BIRTHDAYS'] = ''; $template->assign_block_vars('mini_calendar_days', $mini_calendar_days); } // A typical usage for sending your variables to your template. $template->assign_vars(array( 'CALENDAR_HEADER_MINI' => $mini_calendar_header_txt, 'DAY_IMG' => $user->img('button_calendar_day', 'DAY'), 'WEEK_IMG' => $user->img('button_calendar_week', 'WEEK'), 'CALENDAR_PREV_MINI' => '<a href=\''.$mini_prev_link.'\'><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/mini_cal_icon_left_arrow.png' . '" title="' . $user->lang['View_previous_month'] . '" height="16" width="16" alt="<<" /></a>', 'CALENDAR_NEXT_MINI' => '<a href=\''.$mini_next_link.'\'><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/mini_cal_icon_right_arrow.png' . '" title="' . $user->lang['View_next_month'] . '" height="16" width="16" alt=">>" /></a>', 'CALENDAR_VIEW_OPTIONS' => $mode_sel_code.' '.$month_sel_code.' '.$day_sel_code.' '.$year_sel_code, 'SUNDAY_MINI' => $sunday, 'MONDAY_MINI' => $monday, 'TUESDAY_MINI' => $tuesday, 'WEDNESDAY_MINI' => $wednesday, 'THURSDAY_MINI' => $thursday, 'FRIDAY_MINI' => $friday, 'SATURDAY_MINI' => $saturday, 'S_POST_ACTION_MINI' => append_sid("{$phpbb_root_path}calendar.$phpEx" ), )); }
Find
Code: Select all
function get_weekday_names_mini( $first_day_of_week, &$sunday, &$monday, &$tuesday, &$wednesday, &$thursday, &$friday, &$saturday )
{
global $user;
switch( $first_day_of_week )
{
case 0:
$sunday = $user->lang['mini_datetime']['Su'];
$monday = $user->lang['mini_datetime']['Mo'];
$tuesday = $user->lang['mini_datetime']['Tu'];
$wednesday = $user->lang['mini_datetime']['We'];
$thursday = $user->lang['mini_datetime']['Th'];
$friday = $user->lang['mini_datetime']['Fr'];
$saturday = $user->lang['mini_datetime']['Sa'];
break;
case 1:
$saturday = $user->lang['mini_datetime']['Su'];
$sunday = $user->lang['mini_datetime']['Mo'];
$monday = $user->lang['mini_datetime']['Tu'];
$tuesday = $user->lang['mini_datetime']['We'];
$wednesday = $user->lang['mini_datetime']['Th'];
$thursday = $user->lang['mini_datetime']['Fr'];
$friday = $user->lang['mini_datetime']['Sa'];
break;
case 2:
$friday = $user->lang['mini_datetime']['Su'];
$saturday = $user->lang['mini_datetime']['Mo'];
$sunday = $user->lang['mini_datetime']['Tu'];
$monday = $user->lang['mini_datetime']['We'];
$tuesday = $user->lang['mini_datetime']['Th'];
$wednesday = $user->lang['mini_datetime']['Fr'];
$thursday = $user->lang['mini_datetime']['Sa'];
break;
case 3:
$thursday = $user->lang['mini_datetime']['Su'];
$friday = $user->lang['mini_datetime']['Mo'];
$saturday = $user->lang['mini_datetime']['Tu'];
$sunday = $user->lang['mini_datetime']['We'];
$monday = $user->lang['mini_datetime']['Th'];
$tuesday = $user->lang['mini_datetime']['Fr'];
$wednesday = $user->lang['mini_datetime']['Sa'];
break;
case 4:
$wednesday = $user->lang['mini_datetime']['Su'];
$thursday = $user->lang['mini_datetime']['Mo'];
$friday = $user->lang['mini_datetime']['Tu'];
$saturday = $user->lang['mini_datetime']['We'];
$sunday = $user->lang['mini_datetime']['Th'];
$monday = $user->lang['mini_datetime']['Fr'];
$tuesday = $user->lang['mini_datetime']['Sa'];
break;
case 5:
$tuesday = $user->lang['mini_datetime']['Su'];
$wednesday = $user->lang['mini_datetime']['Mo'];
$thursday = $user->lang['mini_datetime']['Tu'];
$friday = $user->lang['mini_datetime']['We'];
$saturday = $user->lang['mini_datetime']['Th'];
$sunday = $user->lang['mini_datetime']['Fr'];
$monday = $user->lang['mini_datetime']['Sa'];
break;
case 6:
$monday = $user->lang['mini_datetime']['Su'];
$tuesday = $user->lang['mini_datetime']['Mo'];
$wednesday = $user->lang['mini_datetime']['Tu'];
$thursday = $user->lang['mini_datetime']['We'];
$friday = $user->lang['mini_datetime']['Th'];
$saturday = $user->lang['mini_datetime']['Fr'];
$sunday = $user->lang['mini_datetime']['Sa'];
break;
}
}
/**
* End additional Portal XL 4.0 functions
*/
function calendar_display_month()
{
Code: Select all
function calendar_display_mini_month()
{
global $auth, $db, $user, $config, $template, $date, $available_etype_colors, $available_etype_images, $available_etype_display_names, $month_sel_code, $day_sel_code, $year_sel_code, $mode_sel_code;
global $phpEx, $phpbb_root_path;
init_calendar_data();
init_view_selection_code("month");
// data of akt. month
$time = getdate(time());
//create next and prev links
set_date_prev_next( "month" );
$calling_page = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
$mini_prev_link = append_sid($calling_page, "calM=".$date['prev_month']."&calY=".$date['prev_year']);
$mini_next_link = append_sid($calling_page, "calM=".$date['next_month']."&calY=".$date['next_year']);
//find the first day of the week
$first_day_of_week = get_calendar_config_value("first_day_of_week", 0);
get_weekday_names_mini( $first_day_of_week, $sunday, $monday, $tuesday, $wednesday, $thursday, $friday, $saturday );
//get the first day of the month
$date['num'] = "01";
$date['fday'] = get_fday( $date['num'], $date['month_no'], $date['year'], $first_day_of_week );
$number_days = gmdate("t", gmmktime( 0,0,0,$date['month_no'], $date['day'], $date['year']));
//$mini_calendar_header_txt = $user->lang['MONTH_OF'] . sprintf($user->lang['LOCAL_DATE_FORMAT'], $user->lang['datetime'][$date['month']], $date['day'], $date['year'] );
$mini_calendar_header_txt = $user->lang['datetime'][$date['month']] . ' - ' . $date['year'];
$subject_limit = get_calendar_config_value("display_truncated_name", 0);
// Is the user able to view ANY events?
$user_can_view_events = false;
if ( $auth->acl_get('u_calendar_view_events') )
{
$user_can_view_events = true;
/* find the group options here so we do not have to look them up again for each day */
$group_options = get_sql_group_options($user->data['user_id']);
}
$counter = 0;
for ($j = 1; $j < $number_days+1; $j++, $counter++)
{
// if it is the first week
if ($j == 1)
{
// find how many place holders we need before day 1
if ($date['fday'] < 7)
{
$date['fday'] = $date['fday']+1;
for ($i = 1; $i < $date['fday']; $i++, $counter++)
{
// create dummy days (place holders)
if( $i == 1 )
{
$mini_calendar_days['START_WEEK'] = true;
}
else
{
$mini_calendar_days['START_WEEK'] = false;
}
$mini_calendar_days['END_WEEK'] = false;
$mini_calendar_days['HEADER_CLASS'] = 'bg3';
$mini_calendar_days['DAY_CLASS'] = 'bg2';
$mini_calendar_days['NUMBER'] = 0;
$mini_calendar_days['DUMMY_DAY'] = true;
$mini_calendar_days['ADD_LINK'] = '';
$mini_calendar_days['BIRTHDAYS'] = '';
$template->assign_block_vars('mini_calendar_days', $mini_calendar_days);
}
}
}
// start creating the data for the real days
$mini_calendar_days['START_WEEK'] = false;
$mini_calendar_days['END_WEEK'] = false;
$mini_calendar_days['DUMMY_DAY'] = false;
$mini_calendar_days['HEADER_CLASS'] = 'bg3';
$mini_calendar_days['DAY_CLASS'] = 'bg2';
$mini_calendar_days['NUMBER'] = 0;
$mini_calendar_days['ADD_LINK'] = '';
$mini_calendar_days['BIRTHDAYS'] = '';
$mini_calendar_days['WRITE_BOLD'] = 100;
if($counter % 7 == 0)
{
$mini_calendar_days['START_WEEK'] = true;
}
if($counter % 7 == 6 )
{
$mini_calendar_days['END_WEEK'] = true;
}
$mini_calendar_days['NUMBER'] = $j;
if( $auth->acl_get('u_calendar_create_events') )
{
$mini_calendar_days['ADD_LINK'] = append_sid("{$phpbb_root_path}calendarpost.$phpEx", "mode=post&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
}
$mini_calendar_days['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
$mini_calendar_days['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
//highlight selected day
if( $j == $date['day'] && $date["month_no"] == $time["mon"])
{
$mini_calendar_days['DAY_CLASS'] = 'bg4';
}
//highlight current day
$test_start_hi_time = mktime( 0,0,0,$date['month_no'], $j, $date['year']) + date('Z');
$test_end_hi_time = $test_start_hi_time + 86399;
$test_hi_time = time() + $user->timezone + $user->dst;
if( ($test_start_hi_time <= $test_hi_time) &&
($test_end_hi_time >= $test_hi_time))
{
$mini_calendar_days['HEADER_CLASS'] = 'bg3';
$mini_calendar_days['DAY_CLASS'] = 'bg4';
}
/*
if ( $user_can_view_events && $auth->acl_get('u_viewprofile') )
{
// find birthdays
$mini_calendar_days['BIRTHDAYS'] = generate_birthday_list( $j, $date['month_no'], $date['year'] );
}
*/
$arrayOfDays[] = $mini_calendar_days;
}
if ( $user_can_view_events )
{
if($time["mon"] == $date["month_no"]) $day = $date['day']; else $day = 1;
// startDate = first Day of viewed month
$start_temp_date = gmmktime( 0,0,0,$date['month_no'], $day, $date['year']);
$end_temp_date = $start_temp_date + 2678400;
// find all day events that are still taking place
$sort_timestamp_cutoff = $start_temp_date - 86400+1;
// don't list events that are more than 1 year in the future
$sql = 'SELECT * FROM ' . CALENDAR_EVENTS_TABLE . '
WHERE ( (event_access_level = 2) OR
(event_access_level = 0 AND poster_id = '.$db->sql_escape($user->data['user_id']).' ) OR
(event_access_level = 1 AND ('.$db->sql_escape($group_options).') ) ) AND
((( event_start_time >= '.$db->sql_escape($start_temp_date).' AND event_start_time <= '.$db->sql_escape($end_temp_date).' ) OR
( event_end_time > '.$db->sql_escape($start_temp_date).' AND event_end_time <= '.$db->sql_escape($end_temp_date).' ) OR
( event_start_time < '.$db->sql_escape($start_temp_date).' AND event_end_time > '.$db->sql_escape($end_temp_date)." )) OR (sort_timestamp > ".$db->sql_escape($sort_timestamp_cutoff)." AND event_all_day = 1) ) ORDER BY sort_timestamp ASC";
// find next 5 events
$result = $db->sql_query_limit($sql, 5, 0);
// $result = $monthEventResult;
while ($row = $db->sql_fetchrow($result))
{
$dayOfEvent = getdate($row["sort_timestamp"]);
$event_output['COLOR'] = $available_etype_colors[$row['etype_id']];
$event_output['IMAGE'] = $available_etype_images[$row['etype_id']];
$event_output['EVENT_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=event&calEid=".$row['event_id']);
$event_output['NUMBER'] = $dayOfEvent["mday"].".".$dayOfEvent["mon"].".";
$event_output['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$dayOfEvent["mday"]."&calM=".$dayOfEvent["mon"]."&calY=".$dayOfEvent["year"]);
$event_output['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$dayOfEvent["mday"]."&calM=".$dayOfEvent["mon"]."&calY=".$dayOfEvent["year"]);
if($date["month_no"] == $dayOfEvent["mon"]) {
$arrayOfDays[$dayOfEvent["mday"]-1]["WRITE_BOLD"] = "bold";
}
// if the event was created by this user
// display it in bold
if( $user->data['user_id'] == $row['poster_id'] )
{
$event_output['DISPLAY_BOLD'] = true;
}
else
{
$event_output['DISPLAY_BOLD'] = false;
}
$event_output['ETYPE_DISPLAY_NAME'] = $available_etype_display_names[$row['etype_id']];
$event_output['EVENT_SUBJECT'] = censor_text($row['event_subject']);
if( $subject_limit > 0 )
{
if(utf8_strlen($event_output['EVENT_SUBJECT']) > $subject_limit)
{
$event_output['EVENT_SUBJECT'] = truncate_string($event_output['EVENT_SUBJECT'], $subject_limit) . '...';
}
}
$template->assign_block_vars('events', $event_output);
}
$db->sql_freeresult($result);
}
for($a=0;$a<count($arrayOfDays);$a++) {
if(!empty($arrayOfDays[$a]["NUMBER"])) {
$template->assign_block_vars('mini_calendar_days', $arrayOfDays[$a]);
}
}
$counter--;
$dummy_end_day_count = 6 - ($counter % 7);
for ($i = 1; $i <= $dummy_end_day_count; $i++)
{
// create dummy days (place holders)
$mini_calendar_days['START_WEEK'] = false;
if( $i == $dummy_end_day_count )
{
$mini_calendar_days['END_WEEK'] = true;
}
else
{
$mini_calendar_days['END_WEEK'] = false;
}
$mini_calendar_days['HEADER_CLASS'] = '';
$mini_calendar_days['DAY_CLASS'] = '';
$mini_calendar_days['NUMBER'] = 0;
$mini_calendar_days['DUMMY_DAY'] = true;
$mini_calendar_days['ADD_LINK'] = '';
$mini_calendar_days['BIRTHDAYS'] = '';
$template->assign_block_vars('mini_calendar_days', $mini_calendar_days);
}
// A typical usage for sending your variables to your template.
$template->assign_vars(array(
'CALENDAR_HEADER_MINI' => $mini_calendar_header_txt,
'DAY_IMG' => $user->img('button_calendar_day', 'DAY'),
'WEEK_IMG' => $user->img('button_calendar_week', 'WEEK'),
'CALENDAR_PREV_MINI' => '<a href=\''.$mini_prev_link.'\'><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/mini_cal_icon_left_arrow.png' . '" title="' . $user->lang['View_previous_month'] . '" height="16" width="16" alt="<<" /></a>',
'CALENDAR_NEXT_MINI' => '<a href=\''.$mini_next_link.'\'><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/mini_cal_icon_right_arrow.png' . '" title="' . $user->lang['View_next_month'] . '" height="16" width="16" alt=">>" /></a>',
'CALENDAR_VIEW_OPTIONS' => $mode_sel_code.' '.$month_sel_code.' '.$day_sel_code.' '.$year_sel_code,
'SUNDAY_MINI' => $sunday,
'MONDAY_MINI' => $monday,
'TUESDAY_MINI' => $tuesday,
'WEDNESDAY_MINI' => $wednesday,
'THURSDAY_MINI' => $thursday,
'FRIDAY_MINI' => $friday,
'SATURDAY_MINI' => $saturday,
'S_POST_ACTION_MINI' => append_sid("{$phpbb_root_path}calendar.$phpEx" ),
));
}
-
- Active Member
- Posts: 34
- Joined: 14. March 2009 16:14
Re: Calendar block for phpBB Calendar 0.0.8
Ich habe ein riesen Problem!
In etwa 20 Stunden MUSS meine Seite wieder online sein, jetzt ist sie komplett wess!
Ich habe einfach alle Aenderungen durchgefuehrt, geht nicht! Die ganze Seite ist weiss!
Wer kann helfen>
In etwa 20 Stunden MUSS meine Seite wieder online sein, jetzt ist sie komplett wess!
Ich habe einfach alle Aenderungen durchgefuehrt, geht nicht! Die ganze Seite ist weiss!
Wer kann helfen>
-
- Former Team Member
- Posts: 1862
- Joined: 3. July 2008 23:59
- Location: Schwarzwald / FDS
Re: Calendar block for phpBB Calendar 0.0.8
Schon die betreffenden Artikel in der KB versucht?
kein Support per PN / Messenger
no Support via PM / Messenger
no Support via PM / Messenger
-
- Valued Contributor
- Posts: 86
- Joined: 15. March 2009 11:38
- phpBB.de User: ralf-isi
- Location: Schweiz - Nähe Zürich
Re: Calendar block for phpBB Calendar 0.0.8
@Razer
einfach die gesicherten files wieder auf den server stellen. dann läuft es wieder und den um-/einbau nochmals machen.
einfach die gesicherten files wieder auf den server stellen. dann läuft es wieder und den um-/einbau nochmals machen.
-
- Active Member
- Posts: 34
- Joined: 14. March 2009 16:14
Re: Calendar block for phpBB Calendar 0.0.8
Danke, hatte halt so ein STress, denn heute musste die Seite wieder online sein! Sorry. Aber eine ganz andere Frgae:ralf-isi wrote:@Razer
einfach die gesicherten files wieder auf den server stellen. dann läuft es wieder und den um-/einbau nochmals machen.
subsilver2 style?
-
- Active Member
- Posts: 34
- Joined: 14. March 2009 16:14
Re: Calendar block for phpBB Calendar 0.0.8
So, habe das mit subsliver selber hinbekommen, hier der Code, beachtet aber, dass ich ihn an meinen Style, der auf subsilver basiert, angepasst habe. Dass anpassen an andere Styles sollte nicht so schwer sein:
Jetzt stellt sich die Frage, wie bekomme ich das europaeische System in den Kalendar, sprich Woche vom Montag aus. Wenn ich SO und MO in der Datei tausche, sind die Tage falsch. Was soll ich unternehmen?
Danke!
Code: Select all
{$LR_BLOCK_H_L}<img src="{T_THEME_PATH}/images/portal/portal_minical.png" width="16px" height="16px" alt="" /> {L_MINI_CAL_CALENDAR}{$LR_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
<tr class="row1">
<td>
<table width="100%" cellspacing="1">
<tr>
<td align="left" colspan="2"><!-- IF CALENDAR_PREV_MINI -->{CALENDAR_PREV_MINI}</a><!-- ENDIF --></td>
<td colspan="3" align="center"><span class="genmed"><b>Sp?les {CALENDAR_HEADER_MINI}<b></span></td>
<td align="right" colspan="2"><!-- IF CALENDAR_NEXT_MINI -->{CALENDAR_NEXT_MINI}</a><!-- ENDIF --></td>
</tr>
</table>
<table class="table_minical" cellspacing="0" cellpadding="0">
<!--<tr>
<th style="text-align:left;" colspan="7">{L_MINI_CAL_CALENDAR}</td>
</tr>-->
<tr class="row1">
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Sv</b></span></td>
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Pi</b></span></td>
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Ot</b></span></td>
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Tr</b></span></td>
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Ce</b></b></span></td>
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Pi</b></span></td>
<td style="width: 5%; text-align: center"><span class="gensmall" style="color:#800000"><b>Se</b></span></td>
</tr>
<!-- BEGIN mini_calendar_days -->
<!-- IF mini_calendar_days.START_WEEK -->
<tr>
<!-- ENDIF -->
<!-- IF mini_calendar_days.DUMMY_DAY -->
<td valign="top" class="bg3_calMon"> </td>
<!-- ELSE -->
<td valign="top" class="{mini_calendar_days.DAY_CLASS}">
<table cellpadding="0" cellspacing="1" border="0" width="100%">
<tr>
<td class="{mini_calendar_days.HEADER_CLASS}" style="font-weight:{mini_calendar_days.WRITE_BOLD}; text-align:center;">
<!-- IF mini_calendar_days.ADD_LINK -->
<a href="{mini_calendar_days.ADD_LINK}">{mini_calendar_days.NUMBER}</a>
<!-- ELSE -->
{mini_calendar_days.NUMBER}
<!-- ENDIF -->
<br />
</td>
</tr>
</table></td>
<!-- ENDIF -->
<!-- IF mini_calendar_days.END_WEEK -->
</tr>
<!-- ENDIF -->
<!-- END mini_calendar_days -->
</table>
<br clear="all" />
<table class="table_minical" cellspacing="0" cellpadding="0" width="100%">
<tr class="row1">
<td style="width: 100%; text-align: center" class="bg4"><b><font color="#ffffff">N?kam?s sp?les</font></b></td>
</tr>
</table>
<table class="table_minical" cellspacing="0" cellpadding="0">
<tr>
<td class="row1">
<!-- BEGIN events -->
<!-- IF events.S_FIRST_ROW -->
<!-- ELSE --><hr><!-- ENDIF -->
<a href="{events.DAY_VIEW_URL}"><!-- IF events.COLOR --><span style="color:#{events.COLOR}"><!-- ENDIF -->
[{events.NUMBER}]<!-- IF events.COLOR --></span><!-- ENDIF --></a>
<a href="{events.EVENT_URL}" title="{events.EVENT_SUBJECT}">
<!-- IF events.COLOR --><span style="color:#{events.COLOR}"><!-- ENDIF -->
<!-- IF events.DISPLAY_BOLD --><strong><!-- ENDIF -->
<!-- IF events.IMAGE --><img src="{events.IMAGE}" title="{events.ETYPE_DISPLAY_NAME}" height="20" width="20" /><!-- ENDIF -->
<!-- IF events.ETYPE_DISPLAY_NAME -->{events.ETYPE_DISPLAY_NAME}:<!-- ENDIF -->
{events.EVENT_SUBJECT}
<!-- IF events.DISPLAY_BOLD --></strong><!-- ENDIF -->
<!-- IF events.SHOW_TIME --><br /><!-- IF events.ALL_DAY -->{L_ALL_DAY}<!-- ELSE -->
{L_FROM_TIME}: {events.START_TIME} <br />{L_TO_TIME}: {events.END_TIME}<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF events.COLOR --></span><!-- ENDIF --></a><br />
<!-- END events -->
</table>
</td>
</tr>
</table>
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
Danke!