/** * @param string $file */ private function importUnsubSessionsExtIdStatic($file) { $data = Import::csv_reader($file); if (!empty($data)) { $this->logger->addInfo(count($data) . " records found."); foreach ($data as $row) { $chamiloUserName = $row['UserName']; $chamiloCourseCode = $row['CourseCode']; $externalSessionId = $row['ExtSessionID']; $dateStop = $row['DateStop']; $chamiloSessionId = null; if (!empty($externalSessionId)) { $chamiloSessionId = SessionManager::get_session_id_from_original_id($externalSessionId, $this->extraFieldIdNameList['session']); } $sessionInfo = api_get_session_info($chamiloSessionId); if (empty($sessionInfo)) { $this->logger->addError('Session does not exists: ' . $chamiloSessionId); continue; } $courseInfo = api_get_course_info($chamiloCourseCode); if (empty($courseInfo)) { $this->logger->addError('Course does not exists: ' . $courseInfo); continue; } $userId = Usermanager::get_user_id_from_username($chamiloUserName); if (empty($userId)) { $this->logger->addError('User does not exists: ' . $chamiloUserName); continue; } SessionManager::removeUsersFromCourseSession(array($userId), $chamiloSessionId, $courseInfo); $this->logger->addError("User '{$chamiloUserName}' was remove from Session: #{$chamiloSessionId} - Course: " . $courseInfo['code']); } } }
$urlInformation = '<p>' . get_lang('NoUrlForThisUser') . '</p>'; } } $message = null; if (isset($_GET['action'])) { switch ($_GET['action']) { case 'unsubscribe': if (CourseManager::get_user_in_course_status($_GET['user_id'], $_GET['course_code']) == STUDENT) { CourseManager::unsubscribe_user($_GET['user_id'], $_GET['course_code'], $_GET['id_session']); $message = Display::return_message(get_lang('UserUnsubscribed')); } else { $message = Display::return_message(get_lang('CannotUnsubscribeUserFromCourse'), 'error'); } break; case 'unsubscribeSessionCourse': SessionManager::removeUsersFromCourseSession(array($_GET['user_id']), $_GET['id_session'], api_get_course_info($_GET['course_code'])); $message = Display::return_message(get_lang('UserUnsubscribed')); break; case 'export': Export::arrayToCsv($csvContent, 'user_information_' . $user); exit; break; } } Display::display_header($tool_name); echo '<div class="actions"> <a href="' . api_get_path(WEB_CODE_PATH) . 'mySpace/myStudents.php?student=' . intval($_GET['user_id']) . '" title="' . get_lang('Reporting') . '">' . Display::return_icon('statistics.png', get_lang('Reporting'), '', ICON_SIZE_MEDIUM) . ' </a> ' . $login_as_icon . ' ' . $editUser . ' ' . $exportLink . '
/** * Subscribe teacher to a session course * * @param array $params - WSFunction parameters (include VerifyKey) * @return bool|null|soap_fault A simple boolean (true if teacher successful unsubscribed, false otherwise) */ function WSUnsubscribeTeacherFromSessionCourse($params) { global $debug; if ($debug) { error_log('WSSubscribeTeacherToSessionCourse'); } if ($debug) { error_log('Params ' . print_r($params, 1)); } if (!WSHelperVerifyKey($params)) { return return_error(WS_ERROR_SECRET_KEY); } $userId = $params['userId']; // Chamilo user Id $sessionId = $params['sessionId']; // Current Session course ID $courseId = $params['courseId']; // Course Real Id return SessionManager::removeUsersFromCourseSession($userId, $sessionId, $courseId); }
/** * Subscribe teacher to a session course * * @param array $params - WSFunction parameters (include VerifyKey) * @return bool|null|soap_fault A simple boolean (true if teacher successful unsubscribed, false otherwise) */ function WSUnsubscribeTeacherFromSessionCourse($params) { global $debug; if ($debug) { error_log('WSSubscribeTeacherToSessionCourse'); } if (!WSHelperVerifyKey($params)) { return returnError(WS_ERROR_SECRET_KEY); } if ($debug) { error_log('Params ' . print_r($params, 1)); } $params = parseCourseSessionUserParams($params); $userId = $params['user_id']; $courseId = $params['course_id']; $sessionId = $params['session_id']; SessionManager::removeUsersFromCourseSession([$userId], $sessionId, $courseId); $coaches = SessionManager::getCoachesByCourseSession($sessionId, $courseId); $result = 0; if (!empty($coaches)) { if ($debug) { error_log('Coaches: ' . print_r($coaches, 1)); } if (!in_array($userId, $coaches)) { $result = 1; } } else { $result = 1; } if ($debug) { error_log('Final Result: ' . $result); } return $result; }
/** * Subscribe teacher to a session course * * @param array $params - WSFunction parameters (include VerifyKey) * @return bool|null|soap_fault A simple boolean (true if teacher successful unsubscribed, false otherwise) */ function WSUnsubscribeTeacherFromSessionCourse($params) { global $debug; if ($debug) { error_log('WSSubscribeTeacherToSessionCourse'); } if ($debug) { error_log('Params ' . print_r($params, 1)); } if (!WSHelperVerifyKey($params)) { return return_error(WS_ERROR_SECRET_KEY); } $params = parseCourseSessionUserParams($params); $userId = $params['user_id']; $courseId = $params['course_id']; $sessionId = $params['session_id']; return intval(SessionManager::removeUsersFromCourseSession($userId, $sessionId, $courseId)); }
/** * Change Teacher subscription (helper method) * * @param string User id field name * @param string User id value * @param string Session id field name * @param string Session id value * @param string Course id field name * @param string Course id value * @param int State (1 to subscribe, 0 to unsubscribe) * @return mixed True on success, WSError otherwise */ protected function changeTeacherSubscription($user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $course_id_field_name, $course_id_value, $state) { $session_id = $this->getSessionId($session_id_field_name, $session_id_value); if ($session_id instanceof WSError) { return $session_id; } else { $user_id = $this->getUserId($user_id_field_name, $user_id_value); if ($user_id instanceof WSError) { return $user_id; } else { $course_id = $this->getCourseId($course_id_field_name, $course_id_value); if ($course_id instanceof WSError) { return $course_id; } else { if ($state == 1) { SessionManager::set_coach_to_course_session($user_id, $session_id, $course_id); } else { $user_id = array(0 => $user_id); $result = SessionManager::removeUsersFromCourseSession($user_id, $session_id, $course_id); if (!$result) { return new WSError(303, 'There was an error unsubscribing this Teacher from the session'); } } return true; } } } }