i = i-1;
		}
	}
}
</script>';
$formSent = 0;
$errorMsg = $firstLetterCourse = $firstLetterSession = '';
$CourseList = $SessionList = array();
$courses = $sessions = array();
$noPHP_SELF = true;
if (isset($_POST['formSent']) && $_POST['formSent']) {
    $formSent = $_POST['formSent'];
    $firstLetterCourse = $_POST['firstLetterCourse'];
    $firstLetterSession = $_POST['firstLetterSession'];
    $CourseList = $_POST['SessionCoursesList'];
    SessionManager::add_courses_to_session($id_session, $CourseList);
    if (isset($_GET['add'])) {
        header('Location: add_users_to_session.php?id_session=' . $id_session . '&add=true');
        exit;
    } else {
        header('Location: resume_session.php?id_session=' . $id_session);
        exit;
    }
}
// display the dokeos header
Display::display_header($tool_name);
if ($add_type == 'multiple') {
    $link_add_type_unique = '<a href="' . api_get_self() . '?id_session=' . $id_session . '&add=' . Security::remove_XSS($_GET['add']) . '&add_type=unique">' . Display::return_icon('single.gif') . get_lang('SessionAddTypeUnique') . '</a>';
    $link_add_type_multiple = Display::return_icon('multiple.gif') . get_lang('SessionAddTypeMultiple') . ' ';
} else {
    $link_add_type_unique = Display::return_icon('single.gif') . get_lang('SessionAddTypeUnique') . '&nbsp;&nbsp;&nbsp;';
{
	for(var i = 0 ; i<origin.options.length ; i++) {
		if(origin.options[i].selected) {
			origin.options[i]=null;
			i = i-1;
		}
	}
}
</script>';
$errorMsg = '';
$CourseList = $SessionList = array();
$courses = $sessions = array();
if (isset($_POST['formSent']) && $_POST['formSent']) {
    $courseList = $_POST['SessionCoursesList'];
    $copyEvaluation = isset($_POST['copy_evaluation']);
    SessionManager::add_courses_to_session($sessionId, $courseList, true, $copyEvaluation);
    Display::addFlash(Display::return_message(get_lang('Updated')));
    if (isset($add)) {
        header('Location: add_users_to_session.php?id_session=' . $sessionId . '&add=true');
    } else {
        header('Location: resume_session.php?id_session=' . $sessionId);
    }
    exit;
}
// display the header
Display::display_header($tool_name);
if ($add_type == 'multiple') {
    $link_add_type_unique = '<a href="' . api_get_self() . '?id_session=' . $sessionId . '&add=' . $add . '&add_type=unique">' . Display::return_icon('single.gif') . get_lang('SessionAddTypeUnique') . '</a>';
    $link_add_type_multiple = Display::return_icon('multiple.gif') . get_lang('SessionAddTypeMultiple') . ' ';
} else {
    $link_add_type_unique = Display::return_icon('single.gif') . get_lang('SessionAddTypeUnique') . '&nbsp;&nbsp;&nbsp;';
Esempio n. 3
0
 /**
  * Updates the session synchronize with the csv file.
  * @param string $file
  */
 private function importSessionsStatic($file)
 {
     $content = file($file);
     $sessions = array();
     if (!api_strstr($content[0], ';')) {
         $error_message = get_lang('NotCSV');
     } else {
         $tag_names = array();
         foreach ($content as $key => $enreg) {
             $enreg = explode(';', trim($enreg));
             if ($key) {
                 foreach ($tag_names as $tag_key => $tag_name) {
                     $sessions[$key - 1][$tag_name] = $enreg[$tag_key];
                 }
             } else {
                 foreach ($enreg as $tag_name) {
                     $tag_names[] = api_preg_replace('/[^a-zA-Z0-9_\\-]/', '', $tag_name);
                 }
                 if (!in_array('SessionName', $tag_names) || !in_array('DateStart', $tag_names) || !in_array('DateEnd', $tag_names)) {
                     $error_message = get_lang('NoNeededData');
                     break;
                 }
             }
         }
     }
     if (!empty($sessions)) {
         // Looping the sessions.
         foreach ($sessions as $session) {
             if (!empty($session['SessionID'])) {
                 $sessionId = SessionManager::get_session_id_from_original_id($session['SessionID'], $this->extraFieldIdNameList['session']);
                 $coachUserName = isset($session['Coach']) ? $session['Coach'] : null;
                 $categoryId = isset($session['category_id']) ? $session['category_id'] : null;
                 // 2014-06-30
                 $dateStart = explode('/', $session['DateStart']);
                 $dateEnd = explode('/', $session['DateEnd']);
                 $visibility = $this->defaultSessionVisibility;
                 $coachId = null;
                 if (!empty($coachUserName)) {
                     $coachInfo = api_get_user_info_from_username($coachUserName);
                     $coachId = $coachInfo['user_id'];
                 }
                 if (empty($sessionId)) {
                     $result = SessionManager::create_session($session['SessionName'], $dateStart[0], $dateStart[1], $dateStart[2], $dateEnd[0], $dateEnd[1], $dateEnd[2], $this->daysCoachAccessBeforeBeginning, $this->daysCoachAccessAfterBeginning, null, $coachUserName, $categoryId, $visibility, 1);
                     if (is_numeric($result)) {
                         $sessionId = $result;
                         SessionManager::update_session_extra_field_value($sessionId, $this->extraFieldIdNameList['session'], $session['SessionID']);
                     }
                 } else {
                     $sessionInfo = api_get_session_info($sessionId);
                     $accessBefore = null;
                     $accessAfter = null;
                     if (empty($sessionInfo['nb_days_access_before_beginning']) || !empty($sessionInfo['nb_days_access_before_beginning']) && $sessionInfo['nb_days_access_before_beginning'] < $this->daysCoachAccessBeforeBeginning) {
                         $accessBefore = intval($this->daysCoachAccessBeforeBeginning);
                     }
                     $accessAfter = null;
                     if (empty($sessionInfo['nb_days_access_after_end']) || !empty($sessionInfo['nb_days_access_after_end']) && $sessionInfo['nb_days_access_after_end'] < $this->daysCoachAccessAfterBeginning) {
                         $accessAfter = intval($this->daysCoachAccessAfterBeginning);
                     }
                     $showDescription = isset($sessionInfo['show_description']) ? $sessionInfo['show_description'] : 1;
                     $result = SessionManager::edit_session($sessionId, $session['SessionName'], $dateStart[0], $dateStart[1], $dateStart[2], $dateEnd[0], $dateEnd[1], $dateEnd[2], $accessBefore, $accessAfter, null, $coachId, $categoryId, $visibility, true, true, null, $showDescription);
                     if (is_numeric($result)) {
                         $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
                         $params = array('description' => $session['SessionDescription']);
                         Database::update($tbl_session, $params, array('id = ?' => $sessionId));
                     }
                 }
                 // Courses
                 $courses = explode('|', $session['Courses']);
                 $courseList = array();
                 foreach ($courses as $course) {
                     $courseArray = bracketsToArray($course);
                     $courseCode = $courseArray[0];
                     if (CourseManager::course_exists($courseCode)) {
                         $courseList[] = $courseCode;
                     }
                 }
                 SessionManager::add_courses_to_session($sessionId, $courseList, true);
                 if (!empty($sessionId)) {
                     $courses = explode('|', $session['Courses']);
                     foreach ($courses as $course) {
                         $courseArray = bracketsToArray($course);
                         $courseCode = $courseArray[0];
                         if (CourseManager::course_exists($courseCode)) {
                             // Coaches
                             $courseCoaches = isset($courseArray[1]) ? $courseArray[1] : null;
                             $courseCoaches = explode(',', $courseCoaches);
                             if (!empty($courseCoaches)) {
                                 $coachList = array();
                                 foreach ($courseCoaches as $courseCoach) {
                                     $courseCoachId = UserManager::get_user_id_from_username($courseCoach);
                                     if ($courseCoachId !== false) {
                                         // Just insert new coaches
                                         $coachList[] = $courseCoachId;
                                     }
                                 }
                                 SessionManager::updateCoaches($sessionId, $courseCode, $coachList, true);
                             }
                             // Students
                             $courseUsers = isset($courseArray[2]) ? $courseArray[2] : null;
                             $courseUsers = explode(',', $courseUsers);
                             if (!empty($courseUsers)) {
                                 $userList = array();
                                 foreach ($courseUsers as $username) {
                                     $userInfo = api_get_user_info_from_username(trim($username));
                                     if (!empty($userInfo)) {
                                         $userList[] = $userInfo['user_id'];
                                     }
                                 }
                                 SessionManager::subscribe_users_to_session_course($userList, $sessionId, $courseCode, SESSION_VISIBLE_READ_ONLY, true);
                             } else {
                                 $this->logger->addInfo("No users to register.");
                             }
                         } else {
                             $this->logger->addInfo("Course does not exists {$courseCode}");
                         }
                     }
                 } else {
                     $this->logger->addInfo('SessionID not found in system.');
                 }
             } else {
                 $this->logger->addInfo('SessionID does not exists');
             }
         }
     } else {
         $this->logger->addInfo($error_message);
     }
 }
 /**
  * Change course subscription
  *
  * @param string Course id field name
  * @param string Course id value
  * @param string Session id field name
  * @param string Session id value
  * @param int State (1 to subscribe, 0 to unsubscribe)
  * @return mixed True on success, WSError otherwise
  */
 protected function changeCourseSubscription($course_id_field_name, $course_id_value, $session_id_field_name, $session_id_value, $state)
 {
     $session_id = $this->getSessionId($session_id_field_name, $session_id_value);
     if ($session_id instanceof WSError) {
         return $session_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::add_courses_to_session($session_id, array($course_id));
                 return true;
             } else {
                 $result = SessionManager::unsubscribe_course_from_session($session_id, $course_id);
                 if ($result) {
                     return true;
                 } else {
                     return new WSError(304, 'Error unsubscribing course from session');
                 }
             }
         }
     }
 }
 /**
  * Cambiar curso de progr. académ. (de nada a A) curso_matricula CID ORIG DEST
  * @todo Unused ?
  *
  */
 static function transaction_curso_matricula($data)
 {
     $course_code = self::get_real_course_code($data['item_id']);
     $courseInfo = api_get_course_info($course_code);
     $uidIdPrograma = $data['orig_id'];
     $uidIdProgramaDestination = $data['dest_id'];
     global $data_list;
     //$session_id = self::get_session_id_by_programa_id($uidIdPrograma, $data_list);
     $destination_session_id = self::get_session_id_by_programa_id($uidIdProgramaDestination, $data_list);
     if (!empty($course_code)) {
         if (empty($uidIdPrograma) && !empty($uidIdProgramaDestination) && !empty($destination_session_id)) {
             SessionManager::add_courses_to_session($destination_session_id, array($courseInfo['real_id']));
             return array('message' => "Session updated {$uidIdPrograma}", 'status_id' => self::TRANSACTION_STATUS_SUCCESSFUL);
         } else {
             return array('message' => "Session destination was not found - [dest_id] not found", 'status_id' => self::TRANSACTION_STATUS_FAILED);
         }
     } else {
         return array('message' => "Course does not exists {$course_code}", 'status_id' => self::TRANSACTION_STATUS_FAILED);
     }
 }
/**
 * Creates one session per course with $administratorId as the creator and
 * adds it to the session starting on $startDate and finishing on $endDate
 * @param   array   $courses Courses
 * @param   int     $administratorId Administrator id
 * @param   date    $startDate First day of the month
 * @param   date    $endDate Last day of the month
 * @return  void
 */
function createCourseSessions($courses, $administratorId, $startDate, $endDate)
{
    echo "\n";
    echo $courses ? "Creating sessions and adding courses for the period between " . $startDate . " and " . $endDate : "Every course is already in session for the period between " . $startDate . " and " . $endDate;
    echo "\n=====================================================================================\n\n";
    // Loop through courses creating one session per each and adding them
    foreach ($courses as $course) {
        //$period = date("m/Y", api_strtotime($startDate));
        $month = date("m", api_strtotime($startDate));
        $year = date("Y", api_strtotime($startDate));
        $quarter = getQuarter($month);
        $quarter = getQuarterRoman($quarter);
        $period = $year . '-' . $quarter;
        $sessionName = '[' . $period . '] ' . $course['title'];
        $sessionId = SessionManager::create_session($sessionName, $startDate, $endDate, null, null, null, null, $administratorId, 0, SESSION_INVISIBLE);
        SessionManager::add_courses_to_session($sessionId, array($course['id']));
        echo "Session '" . $sessionName . "' created.\nCourse '" . $course['title'] . "' added.\n\n";
    }
}
function WSSuscribeCoursesToSession($params)
{
    global $debug;
    if (!WSHelperVerifyKey($params)) {
        return returnError(WS_ERROR_SECRET_KEY);
    }
    if ($debug) {
        error_log('WSSuscribeCoursesToSession: ' . print_r($params, 1));
    }
    $coursessessions_params = $params['coursessessions'];
    $results = array();
    $orig_course_id_value = array();
    $orig_session_id_value = array();
    foreach ($coursessessions_params as $coursesession_param) {
        $original_session_id_value = $coursesession_param['original_session_id_value'];
        $original_session_id_name = $coursesession_param['original_session_id_name'];
        $original_course_id_name = $coursesession_param['original_course_id_name'];
        $original_course_id_values = $coursesession_param['original_course_id_values'];
        $orig_session_id_value[] = $original_session_id_value;
        $sessionId = SessionManager::getSessionIdFromOriginalId($original_session_id_value, $original_session_id_name);
        // Get course list from row_original_course_id_values
        foreach ($original_course_id_values as $row_original_course_list) {
            $courseInfo = CourseManager::getCourseInfoFromOriginalId($row_original_course_list['course_code'], $original_course_id_name);
            if (empty($courseInfo) || isset($courseInfo) && $courseInfo['visibility'] == 0) {
                $results[] = 0;
                continue;
                // Original_course_id_value doesn't exist.
            } else {
                $courseCode = $courseInfo['code'];
                SessionManager::add_courses_to_session($sessionId, array($courseInfo['real_id']), false);
                if ($debug) {
                    error_log("add_courses_to_session: course:{$courseCode} to session:{$sessionId}");
                }
                $results[] = 1;
                $orig_course_id_value[] = $original_session_id_value;
                $orig_session_id_value[] = $row_original_course_list['course_code'];
            }
        }
    }
    $count_results = count($results);
    $output = array();
    for ($i = 0; $i < $count_results; $i++) {
        $output[] = array('original_course_id_values' => $orig_course_id_value[$i], 'original_session_id_value' => $orig_session_id_value[$i], 'result' => $results[$i]);
    }
    return $output;
}
function remove_item(origin)
{
	for(var i = 0 ; i<origin.options.length ; i++) {
		if(origin.options[i].selected) {
			origin.options[i]=null;
			i = i-1;
		}
	}
}
</script>';
$errorMsg = '';
$CourseList = $SessionList = array();
$courses = $sessions = array();
if (isset($_POST['formSent']) && $_POST['formSent']) {
    $courseList = $_POST['SessionCoursesList'];
    SessionManager::add_courses_to_session($sessionId, $courseList, true);
    Display::addFlash(Display::return_message(get_lang('Updated')));
    if (isset($add)) {
        header('Location: add_users_to_session.php?id_session=' . $sessionId . '&add=true');
    } else {
        header('Location: resume_session.php?id_session=' . $sessionId);
    }
    exit;
}
// display the header
Display::display_header($tool_name);
if ($add_type == 'multiple') {
    $link_add_type_unique = '<a href="' . api_get_self() . '?id_session=' . $sessionId . '&add=' . $add . '&add_type=unique">' . Display::return_icon('single.gif') . get_lang('SessionAddTypeUnique') . '</a>';
    $link_add_type_multiple = Display::return_icon('multiple.gif') . get_lang('SessionAddTypeMultiple') . ' ';
} else {
    $link_add_type_unique = Display::return_icon('single.gif') . get_lang('SessionAddTypeUnique') . '&nbsp;&nbsp;&nbsp;';