Evaluate api_get_course_setting more strictly

1 === (int) api_get_course_setting('allow_user_edit_announcement')
pull/3844/head
Julio Montoya 5 years ago
parent b32b16f8ac
commit 4226884cb6
  1. 2
      public/main/announcements/announcements.php
  2. 2
      public/main/inc/ajax/announcement.ajax.php
  3. 7
      public/main/inc/lib/AnnouncementManager.php
  4. 4
      public/main/webservices/cm_webservice_announcements.php

@ -34,7 +34,7 @@ $repo = Container::getAnnouncementRepository();
$allowToEdit = ( $allowToEdit = (
api_is_allowed_to_edit(false, true) || api_is_allowed_to_edit(false, true) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) || (1 === (int) api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) ||
($sessionId && api_is_coach() && api_get_configuration_value('allow_coach_to_edit_announcements')) ($sessionId && api_is_coach() && api_get_configuration_value('allow_coach_to_edit_announcements'))
); );
$allowStudentInGroupToSend = false; $allowStudentInGroupToSend = false;

@ -29,7 +29,7 @@ switch ($action) {
case 'preview': case 'preview':
$allowToEdit = ( $allowToEdit = (
api_is_allowed_to_edit(false, true) || api_is_allowed_to_edit(false, true) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) (1 === (int) api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())
); );
$drhHasAccessToSessionContent = api_drh_can_access_all_session_content(); $drhHasAccessToSessionContent = api_drh_can_access_all_session_content();

@ -373,7 +373,7 @@ class AnnouncementManager
$groupId = (int) $groupId; $groupId = (int) $groupId;
if (api_is_allowed_to_edit(false, true) || if (api_is_allowed_to_edit(false, true) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) (1 === (int) api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())
) { ) {
$dql = "SELECT a, ip $dql = "SELECT a, ip
FROM ChamiloCourseBundle:CAnnouncement a FROM ChamiloCourseBundle:CAnnouncement a
@ -470,7 +470,7 @@ class AnnouncementManager
api_get_group_id() api_get_group_id()
); );
if (empty($announcement)) { if (null === $announcement) {
return ''; return '';
} }
@ -482,9 +482,10 @@ class AnnouncementManager
$repo = Container::getAnnouncementRepository(); $repo = Container::getAnnouncementRepository();
$isVisible = $repo->isGranted(ResourceNodeVoter::VIEW, $announcement); $isVisible = $repo->isGranted(ResourceNodeVoter::VIEW, $announcement);
$url = api_get_self()."?".api_get_cidreq(); $url = api_get_self()."?".api_get_cidreq();
if (api_is_allowed_to_edit(false, true) || if (api_is_allowed_to_edit(false, true) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) (1 === (int) api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())
) { ) {
$modify_icons = "<a href=\"".$url."&action=modify&id=".$id."\">". $modify_icons = "<a href=\"".$url."&action=modify&id=".$id."\">".
Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL)."</a>"; Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL)."</a>";

@ -136,7 +136,7 @@ class WSCMAnnouncements extends WSCM
// the user is not member of any group // the user is not member of any group
// this is an identified user => show the general announcements AND his personal announcements // this is an identified user => show the general announcements AND his personal announcements
if ($user_id) { if ($user_id) {
if ((api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())) { if ((1 === (int) api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())) {
$cond_user_id = " AND ( $cond_user_id = " AND (
ip.lastedit_user_id = '".api_get_user_id()."' OR ip.lastedit_user_id = '".api_get_user_id()."' OR
( ip.to_user_id='".$user_id."' OR ip.to_group_id='0' OR ip.to_group_id IS NULL) ( ip.to_user_id='".$user_id."' OR ip.to_group_id='0' OR ip.to_group_id IS NULL)
@ -159,7 +159,7 @@ class WSCMAnnouncements extends WSCM
ORDER BY display_order DESC ORDER BY display_order DESC
LIMIT 0,$maximum"; LIMIT 0,$maximum";
} else { } else {
if (api_get_course_setting('allow_user_edit_announcement')) { if (1 === (int) api_get_course_setting('allow_user_edit_announcement')) {
$cond_user_id = " AND ( $cond_user_id = " AND (
ip.lastedit_user_id = '".api_get_user_id()."' OR ip.to_group_id='0' OR ip.to_group_id IS NULL ip.lastedit_user_id = '".api_get_user_id()."' OR ip.to_group_id='0' OR ip.to_group_id IS NULL
) "; ) ";

Loading…
Cancel
Save