/** * Get the list of modules activated for the groups in the given course * @param string $courseId course code * @return array or false */ function get_activated_group_tool_label_list($courseId) { return module_get_course_tool_list($courseId, true, true, 'group'); }
protected function mergeCourseModuleUsers($uidToRemove, $uidToKeep, $courseId) { $courseModuleList = module_get_course_tool_list($courseId); foreach ($courseModuleList as $courseModule) { $moduleMergeUserPath = get_module_path($courseModule['label']) . '/connector/mergeuser.cnr.php'; if (file_exists($moduleMergeUserPath)) { require_once $moduleMergeUserPath; $moduleMergeClass = $courseModule['label'] . '_MergeUser'; if (class_exists($moduleMergeClass)) { $moduleMerge = new $moduleMergeClass(); if (method_exists($moduleMerge, 'mergeCourseUsers')) { try { if (!$moduleMerge->mergeCourseUsers($uidToRemove, $uidToKeep, $courseId)) { $this->hasError = true; } } catch (Exception $e) { Console::error($e->getMessage()); $this->hasError = true; } } } } } }
} else { $out .= '<a href="' . claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=exVisible&tool_id=' . $linkId . '&section=' . claro_htmlspecialchars($currentSection))) . '" >' . '<img src="' . get_icon_url('invisible') . '" alt="' . get_lang('Invisible') . '" />' . '</a>'; } $out .= '</td>' . "\n"; $out .= '<td align="center">' . '<a href="' . claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqEdit&externalToolId=' . $linkId . '&section=' . claro_htmlspecialchars($currentSection))) . '">' . '<img src="' . get_icon_url('edit') . '" alt="' . get_lang('Modify') . '" />' . '</a></td>' . "\n"; $out .= '<td align="center">' . '<a href="' . claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=exDelete&externalToolId=' . $linkId . '&section=' . claro_htmlspecialchars($currentSection))) . '"' . ' onclick="return confirmation(\'' . clean_str_for_javascript($link['name']) . '\');">' . '<img src="' . get_icon_url('delete') . '" alt="' . get_lang('Delete') . '" />' . '</a></td>' . "\n"; $out .= '</tr>' . "\n"; } } else { $out .= '<tr><td colspan="4">' . get_lang('Empty') . '</td></tr>' . "\n"; } $out .= '</tbody>' . "\n" . '</table>' . "\n\n" . '</blockquote>' . "\n"; } elseif ($currentSection == 'toolList') { $out .= '<p>' . get_lang('Add or remove tools from your course') . '</p>' . "\n"; $activeCourseToolList = module_get_course_tool_list(claro_get_current_course_id(), true, true); $inactiveCourseToolList = module_get_course_tool_list(claro_get_current_course_id(), true, false); $platformCourseToolList = claro_get_main_course_tool_list(true); $completeInactiveToolList = array(); foreach ($inactiveCourseToolList as $inactiveCourseTool) { $completeInactiveToolList[] = array('id' => $inactiveCourseTool['id'], 'tool_id' => $inactiveCourseTool['tool_id'], 'label' => $inactiveCourseTool['label'], 'icon' => get_module_url($inactiveCourseTool['label']) . '/' . $inactiveCourseTool['icon'], 'access_manager' => $inactiveCourseTool['access_manager']); } foreach ($platformCourseToolList as $toolId => $platformCourseTool) { $found = false; foreach ($activeCourseToolList as $activeCourse) { if ($activeCourse['label'] == $platformCourseTool['label']) { $found = true; break; } } $alreadyThere = false; foreach ($inactiveCourseToolList as $inactiveCourseTool) {