Esempio n. 1
0
 /**
  * @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']);
         }
     }
 }
Esempio n. 2
0
        $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;
}
Esempio n. 5
0
/**
 * 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;
             }
         }
     }
 }