diff --git a/main/inc/lib/AnnouncementManager.php b/main/inc/lib/AnnouncementManager.php index 6434d5ffe1..99ef443e78 100755 --- a/main/inc/lib/AnnouncementManager.php +++ b/main/inc/lib/AnnouncementManager.php @@ -9,8 +9,12 @@ */ class AnnouncementManager { + /** + * Constructor + */ public function __construct() { + } /** @@ -71,8 +75,8 @@ class AnnouncementManager /** * Gets all announcements from a course - * @param string course db - * @param int session id + * @param array $course_info + * @param int $session_id * @return array html with the content and count of announcements or false otherwise */ public static function get_all_annoucement_by_course($course_info, $session_id = 0) @@ -85,11 +89,12 @@ class AnnouncementManager $sql = "SELECT DISTINCT announcement.id, announcement.title, announcement.content FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties - WHERE announcement.id = toolitemproperties.ref AND - toolitemproperties.tool='announcement' AND - announcement.session_id = '$session_id' AND - announcement.c_id = $course_id AND - toolitemproperties.c_id = $course_id + WHERE + announcement.id = toolitemproperties.ref AND + toolitemproperties.tool='announcement' AND + announcement.session_id = '$session_id' AND + announcement.c_id = $course_id AND + toolitemproperties.c_id = $course_id ORDER BY display_order DESC"; $rs = Database::query($sql); $num_rows = Database::num_rows($rs); @@ -98,8 +103,10 @@ class AnnouncementManager while ($row = Database::fetch_array($rs)) { $list[] = $row; } + return $list; } + return false; } @@ -113,11 +120,28 @@ class AnnouncementManager public static function change_visibility_announcement($_course, $id) { $session_id = api_get_session_id(); - $item_visibility = api_get_item_visibility($_course, TOOL_ANNOUNCEMENT, $id, $session_id); + $item_visibility = api_get_item_visibility( + $_course, + TOOL_ANNOUNCEMENT, + $id, + $session_id + ); if ($item_visibility == '1') { - api_item_property_update($_course, TOOL_ANNOUNCEMENT, $id, 'invisible', api_get_user_id()); + api_item_property_update( + $_course, + TOOL_ANNOUNCEMENT, + $id, + 'invisible', + api_get_user_id() + ); } else { - api_item_property_update($_course, TOOL_ANNOUNCEMENT, $id, 'visible', api_get_user_id()); + api_item_property_update( + $_course, + TOOL_ANNOUNCEMENT, + $id, + 'visible', + api_get_user_id() + ); } return true; @@ -142,7 +166,13 @@ class AnnouncementManager $announcements = self::get_all_annoucement_by_course($_course, api_get_session_id()); if (!empty($announcements)) { foreach ($announcements as $annon) { - api_item_property_update($_course, TOOL_ANNOUNCEMENT, $annon['id'], 'delete', api_get_user_id()); + api_item_property_update( + $_course, + TOOL_ANNOUNCEMENT, + $annon['id'], + 'delete', + api_get_user_id() + ); } } } @@ -295,14 +325,17 @@ class AnnouncementManager { $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT); $course_id = api_get_course_int_id(); - $sql_max = "SELECT MAX(display_order) FROM $tbl_announcement WHERE c_id = $course_id "; - $res_max = Database::query($sql_max); + $sql = "SELECT MAX(display_order) + FROM $tbl_announcement + WHERE c_id = $course_id "; + $res_max = Database::query($sql); $order = 0; if (Database::num_rows($res_max)) { $row_max = Database::fetch_array($res_max); - $order = intval($row_max[0])+1; + $order = intval($row_max[0])+1; } + return $order; } @@ -331,14 +364,8 @@ class AnnouncementManager $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT); - // filter data - $emailTitle = Database::escape_string($emailTitle); - $newContent = Database::escape_string($newContent); - if (empty($end_date)) { $end_date = api_get_utc_datetime(); - } else { - $end_date = Database::escape_string($end_date); } $order = self::get_last_announcement_order(); @@ -447,16 +474,12 @@ class AnnouncementManager // Database definitions $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT); - - $emailTitle = Database::escape_string($emailTitle); - $newContent = Database::escape_string($newContent); $order = self::get_last_announcement_order(); $now = api_get_utc_datetime(); $course_id = api_get_course_int_id(); // store in the table announcement - $params = [ 'c_id' => $course_id, 'content' => $newContent, @@ -549,16 +572,18 @@ class AnnouncementManager $tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY); $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT); - $emailTitle = Database::escape_string($emailTitle); - $newContent = Database::escape_string($newContent); $id = intval($id); - // store the modifications in the table announcement - $sql = "UPDATE $tbl_announcement SET - content = '$newContent', - title = '$emailTitle' - WHERE c_id = $course_id AND id='$id'"; - Database::query($sql); + $params = [ + 'title' => $emailTitle, + 'content' => $newContent + ]; + + Database::update( + $tbl_announcement, + $params, + ['c_id = ? AND id = ?' => [$course_id, $id]] + ); // save attachment file $row_attach = self::get_attachment($id); @@ -684,7 +709,8 @@ class AnnouncementManager $insert_id = intval($insert_id); $course_id = api_get_course_int_id(); // store the modifications in the table tbl_annoucement - $sql = "UPDATE $tbl_announcement SET email_sent='1' WHERE c_id = $course_id AND id = $insert_id"; + $sql = "UPDATE $tbl_announcement SET email_sent='1' + WHERE c_id = $course_id AND id = $insert_id"; Database::query($sql); } @@ -733,10 +759,13 @@ class AnnouncementManager } $result['content'] = $content; $result['count'] = $i; + return $result; } + return false; } + return false; } @@ -1008,9 +1037,17 @@ class AnnouncementManager { $session_id = api_get_session_id(); if ($session_id != 0) { - $new_group_list = CourseManager::get_group_list_of_course(api_get_course_id(), $session_id, 1); + $new_group_list = CourseManager::get_group_list_of_course( + api_get_course_id(), + $session_id, + 1 + ); } else { - $new_group_list = CourseManager::get_group_list_of_course(api_get_course_id(), 0, 1); + $new_group_list = CourseManager::get_group_list_of_course( + api_get_course_id(), + 0, + 1 + ); } return $new_group_list; } @@ -1225,7 +1262,8 @@ class AnnouncementManager $course_id = api_get_course_int_id(); if (is_array($file) && $file['error'] == 0) { - $courseDir = $_course['path'] . '/upload/announcements'; // TODO: This path is obsolete. The new document repository scheme should be kept in mind here. + // TODO: This path is obsolete. The new document repository scheme should be kept in mind here. + $courseDir = $_course['path'] . '/upload/announcements'; $sys_course_path = api_get_path(SYS_COURSE_PATH); $updir = $sys_course_path . $courseDir; @@ -1279,7 +1317,8 @@ class AnnouncementManager $course_id = api_get_course_int_id(); if (is_array($file) && $file['error'] == 0) { - $courseDir = $_course['path'] . '/upload/announcements'; // TODO: This path is obsolete. The new document repository scheme should be kept in mind here. + // TODO: This path is obsolete. The new document repository scheme should be kept in mind here. + $courseDir = $_course['path'] . '/upload/announcements'; $sys_course_path = api_get_path(SYS_COURSE_PATH); $updir = $sys_course_path . $courseDir; @@ -1294,7 +1333,7 @@ class AnnouncementManager } else { $new_file_name = uniqid(''); $new_path = $updir . '/' . $new_file_name; - $result = @move_uploaded_file($file['tmp_name'], $new_path); + @move_uploaded_file($file['tmp_name'], $new_path); $safe_file_comment = Database::escape_string($file_comment); $safe_file_name = Database::escape_string($file_name); $safe_new_file_name = Database::escape_string($new_file_name); @@ -1323,7 +1362,9 @@ class AnnouncementManager $tbl_announcement_attachment = Database::get_course_table(TABLE_ANNOUNCEMENT_ATTACHMENT); $id = intval($id); $course_id = api_get_course_int_id(); - $sql = "DELETE FROM $tbl_announcement_attachment WHERE c_id = $course_id AND id = $id"; + $sql = "DELETE FROM $tbl_announcement_attachment + WHERE c_id = $course_id AND id = $id"; + Database::query($sql); } @@ -1574,7 +1615,7 @@ class AnnouncementManager $ths .= Display::tag('th', get_lang('By') ); $ths .= Display::tag('th', get_lang('LastUpdateDate') ); if (api_is_allowed_to_edit(false,true) OR (api_is_course_coach() && - api_is_element_in_the_session(TOOL_ANNOUNCEMENT,$myrow['id'])) + api_is_element_in_the_session(TOOL_ANNOUNCEMENT, $myrow['id'])) OR (api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())) { $ths .= Display::tag('th', get_lang('Modify')); } @@ -1811,7 +1852,7 @@ class AnnouncementManager $condition_session GROUP BY ip.ref ORDER BY display_order DESC - LIMIT 0,$maximum"; + LIMIT 0, $maximum"; } } } diff --git a/main/inc/lib/agenda.lib.php b/main/inc/lib/agenda.lib.php index d8e53deb84..dec03bcb94 100644 --- a/main/inc/lib/agenda.lib.php +++ b/main/inc/lib/agenda.lib.php @@ -2459,8 +2459,8 @@ class Agenda */ public function displayActions($view, $filter = 0) { - $courseInfo = api_get_course_info(); - + $courseInfo = api_get_course_info(); + $toolbar = ''; $toolbar .= "". Display::return_icon('calendar.png', get_lang('Calendar'), '', ICON_SIZE_MEDIUM).""; @@ -2469,11 +2469,12 @@ class Agenda if (!empty($courseInfo)) { $courseCondition = api_get_cidreq(); } - + $toolbar .= "". Display::return_icon('week.png', get_lang('AgendaList'), '', ICON_SIZE_MEDIUM).""; - - + + $form = ''; + if (api_is_allowed_to_edit(false, true) || (api_get_course_setting('allow_user_edit_agenda') && !api_is_anonymous()) && api_is_allowed_to_session_edit(false, true) || GroupManager::user_has_access(api_get_user_id(), api_get_group_id(), GroupManager::GROUP_TOOL_CALENDAR) && @@ -2483,9 +2484,9 @@ class Agenda Display::return_icon('new_event.png', get_lang('AgendaAdd'), '', ICON_SIZE_MEDIUM).""; $toolbar .= "". Display::return_icon('import_calendar.png', get_lang('ICalFileImport'), '', ICON_SIZE_MEDIUM).""; - + if ($this->type == 'course') { - $form = null; + if (!isset($_GET['action'])) { $form = new FormValidator( @@ -2503,10 +2504,10 @@ class Agenda $selectedValues = $this->parseAgendaFilter($filter); $this->showToForm($form, $selectedValues, $attributes); $form = $form->returnForm(); - } + } } } - + if (api_is_platform_admin() || api_is_teacher() || api_is_student_boss() || @@ -2544,7 +2545,7 @@ class Agenda } } } - + $actions = '