Exemplo n.º 1
0
     } else {
         // A.3 you are a course admin without any group or user filter
         // 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 (isset($isStudentView) and $isStudentView == "true") {
             $sql = "SELECT\n\t\t\t\t\tannouncement.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.insert_date\n\t\t\t\t\tFROM {$tbl_announcement} announcement, {$tbl_item_property} ip\n\t\t\t\t\tWHERE\tannouncement.c_id = {$course_id} AND\n\t\t\t\t\t\t\tip.c_id = {$course_id} AND\n\t\t\t\t\t\t\tannouncement.id = ip.ref\n\t\t\t\t\t\t\tAND ip.tool='announcement'\n\t\t\t\t\t\t\tAND ip.visibility='1'\n\t\t\t\t\t\t\t{$condition_session}\n\t\t\t\t\tGROUP BY ip.ref\n\t\t\t\t\tORDER BY display_order DESC";
         } else {
             // A.3.a you are a course admin without user or group filter and WITHOUT studentview (= the normal course admin view)
             // => see all the messages of all the users and groups with editing possibilities
             $sql = "SELECT announcement.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.insert_date\n\t\t\t\t\tFROM {$tbl_announcement} announcement, {$tbl_item_property} ip\n\t\t\t\t\tWHERE \tannouncement.c_id = {$course_id} AND\n\t\t\t\t\t\t\tip.c_id = {$course_id} AND\n\t\t\t\t\t\t\tannouncement.id = ip.ref AND\n                            ip.tool='announcement' AND\n                            (ip.visibility='0' or ip.visibility='1') AND\n                            to_group_id = 0\n\t\t\t\t\t\t\t{$condition_session}\n\t\t\t\t\tGROUP BY ip.ref\n\t\t\t\t\tORDER BY display_order DESC";
         }
     }
 } else {
     //STUDENT
     if (is_array($group_memberships) && count($group_memberships) > 0) {
         if (AnnouncementManager::user_can_edit_announcement()) {
             if (api_get_group_id() == 0) {
                 //No group
                 $cond_user_id = " AND (ip.lastedit_user_id = '" . api_get_user_id() . "' OR ( ip.to_user_id='" . $_user['user_id'] . "'" . " OR ip.to_group_id IN (0, " . implode(", ", $group_memberships) . "))) ";
             } else {
                 $cond_user_id = " AND (\n                        ip.lastedit_user_id = '" . api_get_user_id() . "' OR\n                        ip.to_group_id IN (" . api_get_group_id() . ")\n                    )";
             }
         } else {
             if (api_get_group_id() == 0) {
                 $cond_user_id = " AND (ip.to_user_id={$user_id} OR ip.to_group_id IN (0, " . implode(", ", $group_memberships) . ")) ";
             } else {
                 $cond_user_id = " AND (\n                            (ip.to_user_id = {$user_id} AND ip.to_group_id = " . api_get_group_id() . ") OR\n                            (ip.to_group_id IN (" . api_get_group_id() . ") AND ip.to_user_id = 0 )\n                    )";
             }
         }
         $visibility_condition = " ip.visibility='1'";
         if (GroupManager::is_tutor_of_group(api_get_user_id(), $group_id)) {