From e7138e1753bf4d0dd626fd85dfe533599a34cd9d Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 13 Apr 2011 16:24:03 +0200 Subject: [PATCH] Adding UTC support for personal agenda + changing agenda list layout --- main/calendar/agenda.inc.php | 523 ++++++++++++++++----------------- main/calendar/agenda.php | 6 +- main/calendar/myagenda.inc.php | 138 ++++----- main/calendar/myagenda.php | 2 +- 4 files changed, 327 insertions(+), 342 deletions(-) diff --git a/main/calendar/agenda.inc.php b/main/calendar/agenda.inc.php index 7858992754..2b4b9a7dd4 100755 --- a/main/calendar/agenda.inc.php +++ b/main/calendar/agenda.inc.php @@ -70,7 +70,7 @@ function get_calendar_items($month, $year) { $month_first_day = mktime(0,0,0,$month,1,$year); $month_last_day = mktime(0,0,0,$month+1,1,$year)-1; - if($month==12) { + if ($month==12) { $month_last_day = mktime(0,0,0,1,1,$year+1)-1; } @@ -128,7 +128,7 @@ function get_calendar_items($month, $year) { if (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous())) { // A.1. you are a course admin with a USER filter // => see only the messages of this specific user + the messages of the group (s)he is member of. - if (!empty($_SESSION['user'])) { + if (!empty($_SESSION['user'])) { $group_memberships=GroupManager::get_group_ids($_course['dbName'],$_SESSION['user']); if (is_array($group_memberships) && count($group_memberships)>0) { $sql="SELECT @@ -140,13 +140,13 @@ function get_calendar_items($month, $year) { AND ip.visibility='1' $session_condition ORDER BY start_date ".$_SESSION['sort']; - } else { - $sql="SELECT + } else { + $sql="SELECT agenda.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.ref FROM ".$TABLEAGENDA." agenda, ".$TABLE_ITEM_PROPERTY." ip WHERE agenda.id = ip.ref ".$show_all_current." AND ip.tool='".TOOL_CALENDAR_EVENT."' - AND ( ip.to_user_id=$user_id OR ip.to_group_id='0') + AND ( ip.to_user_id=$user_id ) AND ip.visibility='1' $session_condition ORDER BY start_date ".$_SESSION['sort']; @@ -155,19 +155,18 @@ function get_calendar_items($month, $year) { // A.2. you are a course admin with a GROUP filter // => see only the messages of this specific group elseif (!empty($_SESSION['group'])) { - $sql="SELECT agenda.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.ref FROM ".$TABLEAGENDA." agenda, ".$TABLE_ITEM_PROPERTY." ip WHERE agenda.id = ip.ref ".$show_all_current." AND ip.tool='".TOOL_CALENDAR_EVENT."' - AND ( ip.to_group_id=$group_id OR ip.to_group_id='0') + AND ( ip.to_group_id=$group_id) AND ip.visibility='1' $session_condition GROUP BY ip.ref ORDER BY start_date ".$_SESSION['sort']; } // A.3 you are a course admin without any group or user filter - else { + else { // A.3.a you are a course admin without user or group filter but WITH studentview // => see all the messages of all the users and groups without editing possibilities if ($_GET['isStudentView']=='true') { @@ -244,7 +243,7 @@ function get_calendar_items($month, $year) { } //Check my personal agenda events - if (api_get_setting('allow_personal_agenda') == 'true') { + if (api_get_setting('allow_personal_agenda') == 'true' && empty($_SESSION['user']) && empty($_SESSION['group'])) { $tbl_personal_agenda = Database :: get_user_personal_table(TABLE_PERSONAL_AGENDA); // 1. creating the SQL statement for getting the personal agenda items in MONTH view $sql = "SELECT id, title, text as content , date as start_date, enddate as end_date, parent_event_id FROM ".$tbl_personal_agenda." @@ -258,25 +257,23 @@ function get_calendar_items($month, $year) { } /* Check global agenda events */ - $table_agenda_system = Database :: get_main_table(TABLE_MAIN_SYSTEM_CALENDAR); - - global $_configuration; - $current_access_url_id = 1; - if ($_configuration['multiple_access_urls']) { - $current_access_url_id = api_get_current_access_url_id(); - } - - $sql = "SELECT DISTINCT * FROM ".$table_agenda_system." - WHERE - MONTH(start_date)='".$month."' - AND YEAR(start_date)='".$year."' - AND access_url_id = '$current_access_url_id' - ORDER BY start_date "; - $result=Database::query($sql); - while ($row = Database::fetch_array($result, 'ASSOC')) { - $datum_item=intval(substr($row['start_date'],8,2)); - $row['calendar_type'] = 'global'; - $data[$datum_item][$datum_item][] = $row; + if (empty($_SESSION['user']) && empty($_SESSION['group'])) { + $table_agenda_system = Database :: get_main_table(TABLE_MAIN_SYSTEM_CALENDAR); + + $current_access_url_id = api_get_current_access_url_id(); + + $sql = "SELECT DISTINCT * FROM ".$table_agenda_system." + WHERE + MONTH(start_date)='".$month."' + AND YEAR(start_date)='".$year."' + AND access_url_id = '$current_access_url_id' + ORDER BY start_date "; + $result=Database::query($sql); + while ($row = Database::fetch_array($result, 'ASSOC')) { + $datum_item=intval(substr($row['start_date'],8,2)); + $row['calendar_type'] = 'global'; + $data[$datum_item][$datum_item][] = $row; + } } return $data; @@ -392,18 +389,19 @@ function display_monthcalendar($month, $year) { //Get the first day of the month $dayone = getdate(mktime(0,0,0,$month,1,$year)); + //Start the week on monday $startdayofweek = $dayone['wday']<>0 ? ($dayone['wday']-1) : 6; $backwardsURL = api_get_self()."?".api_get_cidreq()."&view=".Security::remove_XSS($_GET['view'])."&origin=$origin&month=".($month==1 ? 12 : $month-1)."&year=".($month==1 ? $year-1 : $year); $forewardsURL = api_get_self()."?".api_get_cidreq()."&view=".Security::remove_XSS($_GET['view'])."&origin=$origin&month=".($month==12 ? 1 : $month+1)."&year=".($month==12 ? $year+1 : $year); - $maand_array_maandnummer=$month-1; + $new_month = $month-1; echo ''; echo ''; echo ''; - echo ''; + echo ''; echo ''; echo ''; @@ -1760,10 +1758,10 @@ function showhide_agenda_item($id) { function display_agenda_items($select_month, $select_year) { $TABLEAGENDA = Database::get_course_table(TABLE_AGENDA); $TABLE_ITEM_PROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY); - //not used in the function - //global $DaysShort, $DaysLong, $MonthsLong; - //global $is_courseAdmin; - //global $dateFormatLong, $timeNoSecFormat,$charset, $_course; + + $select_month = intval($select_month); + $select_year = intval($select_year); + global $charset, $_course; // getting the group memberships @@ -1771,19 +1769,16 @@ function display_agenda_items($select_month, $select_year) { // getting the name of the groups $group_names = get_course_groups(); - /* CONSTRUCT THE SQL STATEMENT */ $start = 0; $stop = 0; - $select_month = intval($select_month); - $select_year = intval($select_year); + // this is to make a difference between showing everything (all months) or only the current month) // $show_all_current is a part of the sql statement //if ($_SESSION['show']!=='showall') { if (!empty($select_month) && !empty($select_year)) { $show_all_current =" AND MONTH(start_date)=$select_month AND year(start_date)=$select_year"; $show_all_current_personal =" AND MONTH(date)=$select_month AND year(date)=$select_year"; - $start = mktime(0,0,0,$select_month,1,$select_year); $stop = 0; if (empty($select_year)) { $select_year = date('Y');} @@ -1798,12 +1793,13 @@ function display_agenda_items($select_month, $select_year) { $show_all_current_personal = ''; $start = time(); $stop = mktime(0,0,0,1,1,2038);//by default, set year to maximum for mktime() - } + } // by default we use the id of the current user. The course administrator can see the agenda of other users by using the user / group filter $user_id=api_get_user_id(); - if ($_SESSION['user']!==null) { - $user_id=intval($_SESSION['user']); + + if ($_SESSION['user']!==null) { + $user_id=intval($_SESSION['user']); } if ($_SESSION['group']!==null) { $group_id=intval($_SESSION['group']); @@ -1825,8 +1821,9 @@ function display_agenda_items($select_month, $select_year) { if (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous())) { // A.1. you are a course admin with a USER filter // => see only the messages of this specific user + the messages of the group (s)he is member of. + if (!empty($_SESSION['user'])) { - $group_memberships=GroupManager::get_group_ids($_course['dbName'],$_SESSION['user']); + $group_memberships = GroupManager::get_group_ids($_course['dbName'], $_SESSION['user']); $show_user =true; $new_group_memberships=array(); @@ -1838,7 +1835,7 @@ function display_agenda_items($select_month, $select_year) { $new_group_memberships[]=$id; } } - $group_memberships = $new_group_memberships; + $group_memberships = $new_group_memberships; if (is_array($group_memberships) && count($group_memberships)>0) { $sql="SELECT @@ -1851,12 +1848,12 @@ function display_agenda_items($select_month, $select_year) { $session_condition ORDER BY start_date ".$_SESSION['sort']; } else { - $sql="SELECT - agenda.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.ref + //AND ( ip.to_user_id=$user_id OR ip.to_group_id='0') + $sql="SELECT agenda.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.ref FROM ".$TABLEAGENDA." agenda, ".$TABLE_ITEM_PROPERTY." ip WHERE agenda.id = ip.ref ".$show_all_current." AND ip.tool='".TOOL_CALENDAR_EVENT."' - AND ( ip.to_user_id=$user_id OR ip.to_group_id='0') + AND ( ip.to_user_id=$user_id) AND ip.visibility='1' $session_condition ORDER BY start_date ".$_SESSION['sort']; @@ -1880,7 +1877,7 @@ function display_agenda_items($select_month, $select_year) { FROM ".$TABLEAGENDA." agenda, ".$TABLE_ITEM_PROPERTY." ip WHERE agenda.id = ip.ref ".$show_all_current." AND ip.tool='".TOOL_CALENDAR_EVENT."' - AND ( ip.to_group_id=$group_id OR ip.to_group_id='0') + AND ( ip.to_group_id=$group_id) AND ip.lastedit_type<>'CalendareventDeleted' $session_condition GROUP BY ip.ref @@ -2003,11 +2000,7 @@ function display_agenda_items($select_month, $select_year) { $result = Database::query($sql); $number_items = Database::num_rows($result); - /* DISPLAY: NO ITEMS */ - if ($number_items==0) { - echo "
'.Display::return_icon('action_prev.png',get_lang('Previous'), array(), 32).'

'.$MonthsLong[$maand_array_maandnummer].' '.$year.'


'.$MonthsLong[$new_month].' '.$year.'

'.Display::return_icon('action_next.png',get_lang('Next'), array(), 32).'
".get_lang('NoAgendaItems')."
"; - } /* DISPLAY: THE ITEMS */ @@ -2025,7 +2018,7 @@ function display_agenda_items($select_month, $select_year) { } //Check my personal calendar items - if (api_get_setting('allow_personal_agenda') == 'true') { + if (api_get_setting('allow_personal_agenda') == 'true' && empty($_SESSION['user']) && empty($_SESSION['group'])) { $tbl_personal_agenda = Database :: get_user_personal_table(TABLE_PERSONAL_AGENDA); // 1. creating the SQL statement for getting the personal agenda items in MONTH view $sql = "SELECT id, title, text as content , date as start_date, enddate as end_date, parent_event_id FROM ".$tbl_personal_agenda." @@ -2036,227 +2029,217 @@ function display_agenda_items($select_month, $select_year) { $my_events[] = $row; } } - - //Check global agenda events */ - $table_agenda_system = Database :: get_main_table(TABLE_MAIN_SYSTEM_CALENDAR); - global $_configuration; - $current_access_url_id = 1; - if ($_configuration['multiple_access_urls']) { - $current_access_url_id = api_get_current_access_url_id(); - } - - $sql = "SELECT DISTINCT id, title, content , start_date, end_date FROM ".$table_agenda_system." - WHERE 1=1 ".$show_all_current." AND access_url_id = $current_access_url_id - ORDER BY start_date "; - $result=Database::query($sql); - while ($row = Database::fetch_array($result, 'ASSOC')) { - $row['calendar_type'] = 'global'; - $my_events[] = $row; + + if (empty($_SESSION['user']) && empty($_SESSION['group'])) { + + //Check global agenda events */ + $table_agenda_system = Database :: get_main_table(TABLE_MAIN_SYSTEM_CALENDAR); + $current_access_url_id = api_get_current_access_url_id(); + + $sql = "SELECT DISTINCT id, title, content , start_date, end_date FROM ".$table_agenda_system." + WHERE 1=1 ".$show_all_current." AND access_url_id = $current_access_url_id + ORDER BY start_date "; + $result=Database::query($sql); + while ($row = Database::fetch_array($result, 'ASSOC')) { + $row['calendar_type'] = 'global'; + $my_events[] = $row; + } } - - - foreach ($my_events as $myrow) { - $is_repeated = !empty($myrow['parent_event_id']); - echo ''; - /* display: the month bar */ - // Make the month bar appear only once. - $myrow["start_date"] = api_get_local_time($myrow["start_date"]); + + //DISPLAY: NO ITEMS + if (empty($my_events)) { + echo Display::display_warning_message(get_lang('NoAgendaItems')); + } else { + echo '
'; + $th = Display::tag('th', get_lang('Title')); + $th .= Display::tag('th', get_lang('Content')); + $th .= Display::tag('th', get_lang('SentTo')); + $th .= Display::tag('th', get_lang('StartTimeWindow')); + $th .= Display::tag('th', get_lang('EndTimeWindow')); - if ($month_bar != api_format_date($myrow["start_date"], "%m%Y")) { - $month_bar = api_format_date($myrow["start_date"], "%m%Y"); - //Showing month header - echo ''; - } - - /* display: the icon, title, destinees of the item */ - echo ''; - - // highlight: if a date in the small calendar is clicked we highlight the relevant items - $db_date = (int)api_format_date($myrow["start_date"], "%d").intval(api_format_date($myrow["start_date"], "%m")).api_format_date($myrow["start_date"], "%Y"); - if ($_GET["day"].$_GET["month"].$_GET["year"] <>$db_date) { - if ($myrow['visibility']=='0') { - $style="data_hidden"; - $stylenotbold="datanotbold_hidden"; - $text_style="text_hidden"; - } else { - $style="data"; - $stylenotbold="datanotbold"; - $text_style="text"; - } - } else { - $style="datanow"; - $stylenotbold="datanotboldnow"; - $text_style="textnow"; - } - - echo "';*/ } - echo ''; - echo $myrow['title']; - echo ''; - } elseif ($myrow['calendar_type'] == 'personal') { - Display::display_icon('user_event.png', get_lang('Personal'),'',22); - echo ''; - echo $myrow['title']; - echo ''; - } else { - Display::display_icon('platform_event.png', get_lang('Platform'),'',22);//TODO:check whether this still works - echo ''; - echo $myrow['title']; - echo ''; - } - echo ''; - - if ($myrow['calendar_type'] == 'course') { - // the message has been sent to - echo "'; - } elseif ($myrow['calendar_type'] == 'personal') { - echo ''; - } elseif ($myrow['calendar_type'] == 'global') { - echo ''; - } - - if (!$is_repeated && (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous())) && $myrow['calendar_type'] == 'course' ) { - if( ! (api_is_course_coach() && !api_is_element_in_the_session(TOOL_AGENDA, $myrow['id'] ) ) ) { - // a coach can only delete an element belonging to his session - echo ''; - } - } else { - echo ''; - } - - /* display: the title */ - echo ''; - echo ''; - echo ''; + + // highlight: if a date in the small calendar is clicked we highlight the relevant items + $db_date = (int)api_format_date($myrow["start_date"], "%d").intval(api_format_date($myrow["start_date"], "%m")).api_format_date($myrow["start_date"], "%Y"); + if ($_GET["day"].$_GET["month"].$_GET["year"] <>$db_date) { + if ($myrow['visibility']=='0') { + $style="data_hidden"; + $stylenotbold="datanotbold_hidden"; + $text_style="text_hidden"; + } else { + $style="data"; + $stylenotbold="datanotbold"; + $text_style="text"; + } + } else { + $style="datanow"; + $stylenotbold="datanotboldnow"; + $text_style="textnow"; + } + + echo "'; + + $content = $myrow['content']; + $content = make_clickable($content); + $content = text_filter($content); + + echo ''; + + if ($myrow['calendar_type'] == 'course') { + // the message has been sent to + echo "'; + } elseif ($myrow['calendar_type'] == 'personal') { + echo ''; + } elseif ($myrow['calendar_type'] == 'global') { + echo ''; } - } - echo ''; - - // attachment list - $attachment_list=get_attachment($myrow['id']); - - /*Display: edit delete button (course admin only) */ - if (!$is_repeated && (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous())) && $myrow['calendar_type'] == 'course') { - if( ! (api_is_course_coach() && !api_is_element_in_the_session(TOOL_AGENDA, $myrow['id'] ) ) ) { - // a coach can only delete an element belonging to his session - $mylink = api_get_self().'?'.api_get_cidreq().'&origin='.Security::remove_XSS($_GET['origin']).'&id='.$myrow['id'].'&'; - echo ''; - } else { - echo ''; - } - echo ''; - - /* display: the content */ - $content = $myrow['content']; - $content = make_clickable($content); - $content = text_filter($content); - - echo ''; - echo ''; - - /* display: the added resources */ - if (check_added_resources("Agenda", $myrow["id"])) { - echo ''; - echo ''; + + echo ''; + + // attachment list + $attachment_list=get_attachment($myrow['id']); + + /*Display: edit delete button (course admin only) */ + if (!$is_repeated && (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous())) && $myrow['calendar_type'] == 'course') { + if (!(api_is_course_coach() && !api_is_element_in_the_session(TOOL_AGENDA, $myrow['id'] ) ) ) { + // a coach can only delete an element belonging to his session + $mylink = api_get_self().'?'.api_get_cidreq().'&origin='.Security::remove_XSS($_GET['origin']).'&id='.$myrow['id'].'&'; + echo ''; } - display_added_resources("Agenda", $myrow["id"], $addedresource_style); - echo ""; - } - $event_list.=$myrow['id'].','; - $counter++; - /* display: jump-to-top icon */ - echo ''; - echo '"; - echo "
'; - echo '

'.api_format_date($myrow["start_date"], "%B %Y").'

'; - echo '
"; - // adding an internal anchor - echo ""; - // the icons. If the message is sent to one or more specific users/groups - // we add the groups icon - // 2do: if it is sent to groups we display the group icon, if it is sent to a user we show the user icon - if ($myrow['calendar_type'] == 'course') { - Display::display_icon('event.png', get_lang('Course'),'',22); - if ($myrow['to_group_id']!=='0') { - echo Display::return_icon('group.png', get_lang('ItemForUserSelection'),'',22); + + //if (!$is_repeated && (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous())) && $myrow['calendar_type'] == 'course' ) { + if ((api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous()))) { + if( ! (api_is_course_coach() && !api_is_element_in_the_session(TOOL_AGENDA, $myrow['id'] ) ) ) { + // a coach can only delete an element belonging to his session + $th .= Display::tag('th', get_lang('Modify')); + } + } + + echo Display::tag('tr', $th); + + foreach ($my_events as $myrow) { + $is_repeated = !empty($myrow['parent_event_id']); + // Make the month bar appear only once. + $myrow["start_date"] = api_get_local_time($myrow["start_date"]); + if ($month_bar != api_format_date($myrow["start_date"], "%m%Y")) { + $month_bar = api_format_date($myrow["start_date"], "%m%Y"); + /*//Showing month header + echo '
'; + echo '

'.api_format_date($myrow["start_date"], "%B %Y").'

'; + echo '
".get_lang('SentTo').": "; - $sent_to=sent_to(TOOL_CALENDAR_EVENT, $myrow["ref"]); - $sent_to_form=sent_to_form($sent_to); - echo $sent_to_form; - echo ''.get_lang('Personal').''.get_lang('GlobalEvent').''.get_lang('Modify'); - echo '
'.get_lang('StartTimeWindow').': '; - echo api_format_date($myrow['start_date']); - echo ''; - - if ($myrow['calendar_type'] == 'course') { - if ($myrow['end_date']<>'0000-00-00 00:00:00') { - echo get_lang('EndTimeWindow').": "; - echo api_convert_and_format_date($myrow['end_date']); + + /* display: the icon, title, destinees of the item */ + echo '
"; + // adding an internal anchor + //echo ""; + // the icons. If the message is sent to one or more specific users/groups + // we add the groups icon + // 2do: if it is sent to groups we display the group icon, if it is sent to a user we show the user icon + if ($myrow['calendar_type'] == 'course') { + //Display::display_icon('event.png', get_lang('Course'),'',22); + if ($myrow['to_group_id']!=='0') { + //echo Display::return_icon('group.png', get_lang('ItemForUserSelection'),'',22); + } + echo $myrow['title']; + } elseif ($myrow['calendar_type'] == 'personal') { + //Display::display_icon('user_event.png', get_lang('Personal'),'',22); + echo $myrow['title']; + } else { + //Display::display_icon('platform_event.png', get_lang('Platform'),'',22);//TODO:check whether this still works + echo $myrow['title']; + } + echo ''; + echo $content; + // show attachment list + if (!empty($attachment_list)) { + $realname=$attachment_list['path']; + $user_filename=$attachment_list['filename']; + $full_file_name = 'download.php?file='.$realname; + echo Display::return_icon('attachment.gif',get_lang('Attachment')); + echo ' '.$user_filename.''; + echo ''.$attachment_list['comment'].''; + if (api_is_allowed_to_edit()) { + echo '  '.Display::return_icon('delete.png',get_lang('Delete'),'',22).'
'; + } + } + echo '
"; + $sent_to=sent_to(TOOL_CALENDAR_EVENT, $myrow["ref"]); + $sent_to_form = sent_to_form($sent_to); + if ($myrow['to_group_id']!=='0') { + echo ' '.Display::return_icon('group.png', get_lang('ItemForUserSelection'),'',22); + } + + echo $sent_to_form; + echo ''.get_lang('Personal').''.get_lang('GlobalEvent').''; - - // edit - echo ''; - echo Display::return_icon('edit.png', get_lang('ModifyCalendarItem'),'',22).""; - - echo ''; - echo Display::return_icon('new_announce.png', get_lang('AddAnnouncement'), array (),22)." "; - - if ($myrow['visibility']==1) { - $image_visibility="visible"; - $text_visibility=get_lang("Hide"); - $next_action = 0; - } else { - $image_visibility="invisible"; - $text_visibility=get_lang("Show"); - $next_action = 1; - } - echo ''.Display::return_icon($image_visibility.'.png', $text_visibility,'',22).' '; - - echo " "; - echo Display::return_icon('delete.png', get_lang('Delete'),'',22)." "; - - } - - if (!$is_repeated && (api_is_allowed_to_edit(false,true) OR (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous()))) { - if( ! (api_is_course_coach() && !api_is_element_in_the_session(TOOL_AGENDA, $myrow['id'] ) ) ) { - // a coach can only delete an element belonging to his session - $td_colspan= ''; - } else { - $td_colspan= ''; - } - } else { - $td_colspan= ''; - } - $mylink = 'ical_export.php?'.api_get_cidreq().'&type=course&id='.$myrow['id']; - //echo ''.Display::return_icon($export_icon_high, get_lang('ExportiCalConfidential')).' '; - //echo ''.Display::return_icon($export_icon_low, get_lang('ExportiCalPrivate')).' '; - //echo ''.Display::return_icon($export_icon, get_lang('ExportiCalPublic')).' '; - echo ''.Display::return_icon('printer.png', get_lang('Print'),'',22).' '; - echo ''; - echo '
'; - echo $content; - // show attachment list - if (!empty($attachment_list)) { - $realname=$attachment_list['path']; - $user_filename=$attachment_list['filename']; - $full_file_name = 'download.php?file='.$realname; - echo Display::return_icon('attachment.gif',get_lang('Attachment')); - echo ' '.$user_filename.' '; - echo ''.$attachment_list['comment'].''; - if (api_is_allowed_to_edit()) { - echo '  '.Display::return_icon('delete.png',get_lang('Delete'),'',22).'
'; - } - } - echo '
'; - echo "".get_lang("AddedResources")."
"; - if ($myrow['visibility']==0) { - $addedresource_style="invisible"; + + /* display: the title */ + + echo '
'; + echo api_format_date($myrow['start_date']); + echo ''; + if ($myrow['calendar_type'] == 'course') { + if ($myrow['end_date']<>'0000-00-00 00:00:00') { + echo api_convert_and_format_date($myrow['end_date']); + } + } + echo ''; + // edit + echo ''; + echo Display::return_icon('edit.png', get_lang('ModifyCalendarItem'),'',22).""; + + echo ''; + echo Display::return_icon('new_announce.png', get_lang('AddAnnouncement'), array (),22)." "; + + if ($myrow['visibility']==1) { + $image_visibility="visible"; + $text_visibility=get_lang("Hide"); + $next_action = 0; + } else { + $image_visibility="invisible"; + $text_visibility=get_lang("Show"); + $next_action = 1; + } + echo ''.Display::return_icon($image_visibility.'.png', $text_visibility,'',22).' '; + echo " "; + echo Display::return_icon('delete.png', get_lang('Delete'),'',22)." "; + } + + $mylink = 'ical_export.php?'.api_get_cidreq().'&type=course&id='.$myrow['id']; + //echo ''.Display::return_icon($export_icon_high, get_lang('ExportiCalConfidential')).' '; + //echo ''.Display::return_icon($export_icon_low, get_lang('ExportiCalPrivate')).' '; + //echo ''.Display::return_icon($export_icon, get_lang('ExportiCalPublic')).' '; + echo ''.Display::return_icon('printer.png', get_lang('Print'),'',22).' '; + echo '
'; - if ($is_repeated) { - echo get_lang('RepeatedEvent'),' ',get_lang('RepeatedEventViewOriginalEvent'),''; - } - echo "".Display::return_icon('top.gif', get_lang('Top'))."


"; - } // end while ($myrow=Database::fetch_array($result)) - + + + + + + /* display: the added resources */ + if (check_added_resources("Agenda", $myrow["id"])) { + echo ''; + echo ''; + echo "".get_lang("AddedResources")."
"; + if ($myrow['visibility']==0) { + $addedresource_style="invisible"; + } + display_added_resources("Agenda", $myrow["id"], $addedresource_style); + echo ""; + } + $event_list.=$myrow['id'].','; + $counter++; + + echo ''; + if ($is_repeated) { + echo get_lang('RepeatedEvent'),' ',get_lang('RepeatedEventViewOriginalEvent'),''; + } + echo ''; + echo ""; + + } // end while ($myrow=Database::fetch_array($result)) + echo "

"; + } + if(!empty($event_list)) { $event_list=api_substr($event_list,0,-1); } else { @@ -4310,8 +4293,8 @@ function agenda_add_item($course_info, $title, $content, $db_start_date, $db_end // store in last_tooledit (first the groups, then the users $done = false; - if ((!is_null($to))or (!empty($_SESSION['toolgroup']))) // !is_null($to): when no user is selected we send it to everyone - { + if ((!is_null($to))or (!empty($_SESSION['toolgroup']))) { + // !is_null($to): when no user is selected we send it to everyone $send_to=separate_users_groups($to); // storing the selected groups if (is_array($send_to['groups'])) { diff --git a/main/calendar/agenda.php b/main/calendar/agenda.php index f9e28c6872..8ba70eedf0 100755 --- a/main/calendar/agenda.php +++ b/main/calendar/agenda.php @@ -101,6 +101,7 @@ if (!empty($_GET['sort']) and ($allow_individual_calendar_status=="show")) { // 4. filter user or group if (!empty($_GET['user']) or !empty($_GET['group'])) { $_SESSION['user']=(int)$_GET['user']; + $_SESSION['group']=(int)$_GET['group']; } if ((!empty($_GET['user']) and $_GET['user']=="none") or (!empty($_GET['group']) and $_GET['group']=="none")) { @@ -114,11 +115,12 @@ if (!$is_courseAdmin){ api_session_register('toolgroup'); } } - //It comes from the group tools. If it's define it overwrites $_SESSION['group'] +//It comes from the group tools. If it's define it overwrites $_SESSION['group'] +/* if (!empty($_GET['isStudentView']) and $_GET['isStudentView']=="false") { api_session_unregister("user"); api_session_unregister("group"); -} +}*/ $htmlHeadXtra[] = to_javascript(); diff --git a/main/calendar/myagenda.inc.php b/main/calendar/myagenda.inc.php index 76933e79af..e4328e2a7f 100755 --- a/main/calendar/myagenda.inc.php +++ b/main/calendar/myagenda.inc.php @@ -315,6 +315,7 @@ function show_new_personal_item_form($id = "") { // we construct the default time and date data (used if we are not editing a personal agenda item) $today = getdate(); + $day = $today['mday']; $month = $today['mon']; $year = $today['year']; @@ -331,7 +332,7 @@ function show_new_personal_item_form($id = "") { } if ($id != "") { - $sql = "SELECT date, title, text FROM ".$tbl_personal_agenda." WHERE user='".intval(api_get_user_id())."' AND id='".$id."'"; + $sql = "SELECT date, title, text FROM ".$tbl_personal_agenda." WHERE user='".api_get_user_id()."' AND id='".$id."'"; $result = Database::query($sql); $aantal = Database::num_rows($result); if ($aantal != 0) { @@ -426,24 +427,17 @@ function show_new_personal_item_form($id = "") { echo ''; echo get_lang("Time").': '; echo '