Merge branch '1.9.x' into 1.10.x

1.10.x
Julio Montoya 10 years ago
commit dfd39a3c22
  1. 89
      main/cron/import_csv.php
  2. 25
      main/gradebook/lib/be/studentpublicationlink.class.php
  3. 58
      main/inc/lib/sessionmanager.lib.php

@ -109,7 +109,10 @@ class ImportCsv
$isStatic = strpos($method, 'Static');
if (method_exists($this, $method)) {
if ($method == 'importUnsubscribeStatic' || empty($isStatic)) {
if (($method == 'importUnsubscribeStatic' ||
$method == 'importSubscribeStatic') ||
empty($isStatic)
) {
$fileToProcess[$parts[1]][] = array(
'method' => $method,
'file' => $path.$fileInfo['basename']
@ -144,8 +147,10 @@ class ImportCsv
'teachers',
'courses',
'sessions',
'subscribe-static',
'unsubscribe-static'
);
foreach ($sections as $section) {
$this->logger->addInfo("-- Import $section --");
@ -169,6 +174,7 @@ class ImportCsv
'sessions-static',
'calendar-static',
);
foreach ($sections as $section) {
$this->logger->addInfo("-- Import static files $section --");
@ -1032,7 +1038,8 @@ class ImportCsv
null,
$coachUserName,
$categoryId,
$visibility
$visibility,
1
);
if (is_numeric($result)) {
@ -1064,6 +1071,8 @@ class ImportCsv
$accessAfter = intval($this->daysCoachAccessAfterBeginning);
}
$showDescription = isset($sessionInfo['show_description']) ? $sessionInfo['show_description'] : 1;
$result = SessionManager::edit_session(
$sessionId,
$session['SessionName'],
@ -1078,7 +1087,11 @@ class ImportCsv
null,
$coachId,
$categoryId,
$visibility
$visibility,
true, //$start_limit =
true, //$end_limit =
null, //$description
$showDescription // $showDescription = null,
);
if (is_numeric($result)) {
@ -1202,7 +1215,10 @@ class ImportCsv
$avoid,
false, // deleteUsersNotInList
false, // updateCourseCoaches
true // sessionWithCoursesModifier
true, // sessionWithCoursesModifier
true, //$addOriginalCourseTeachersAsCourseSessionCoaches
true, //$removeAllTeachersFromCourse
1 // $showDescription
);
if (!empty($result['error_message'])) {
@ -1215,6 +1231,67 @@ class ImportCsv
}
}
/**
* @param string $file
*/
private function importSubscribeStatic($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'];
$chamiloSessionId = $row['SessionID'];
$type = $row['Type'];
$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;
}
$status = null;
switch ($type) {
case 'student':
SessionManager::subscribe_users_to_session_course(
array($userId),
$chamiloSessionId,
$courseInfo['code'],
null,
false
);
break;
case 'teacher':
SessionManager::set_coach_to_course_session(
$userId,
$chamiloSessionId,
$courseInfo['code']
);
break;
}
$this->logger->addError(
"User '$chamiloUserName' with status $type was added to session: #$chamiloSessionId - Course: " . $courseInfo['code']
);
}
}
}
/**
* @param string $file
*/
@ -1250,7 +1327,9 @@ class ImportCsv
}
CourseManager::unsubscribe_user($userId, $courseInfo['code'], $chamiloSessionId);
$this->logger->addError("User '$chamiloUserName' was removed from session: #$chamiloSessionId, Course: ".$courseInfo['code']);
$this->logger->addError(
"User '$chamiloUserName' was removed from session: #$chamiloSessionId, Course: ".$courseInfo['code']
);
}
}
}

@ -158,27 +158,32 @@ class StudentPublicationLink extends AbstractLink
public function calc_score($stud_id = null)
{
$stud_id = intval($stud_id);
$tbl_stats = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
$sql = 'SELECT * FROM '.$tbl_stats."
$table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
$sql = 'SELECT * FROM '.$table."
WHERE
c_id = {$this->course_id} AND
id = '".intval($this->get_ref_id())."' AND
session_id = ".api_get_session_id()."";
session_id = ".api_get_session_id()."
"
;
$query = Database::query($sql);
$assignment = Database::fetch_array($query);
if (count($assignment)==0) {
$v_assigment_id ='0';
if (count($assignment) == 0) {
$parentId = '0';
} else {
$v_assigment_id = $assignment['id'];
$parentId = $assignment['id'];
}
$sql = 'SELECT * FROM '.$tbl_stats.'
$sql = 'SELECT * FROM '.$table.'
WHERE
c_id = '.$this->course_id.' AND
active = 1 AND
parent_id ="'.$v_assigment_id.'" AND
session_id='.api_get_session_id().'';
parent_id = "'.$parentId.'" AND
session_id = '.api_get_session_id() .' AND
qualificator_id <> 0
';
if (!empty($stud_id)) {
$sql .= " AND user_id = $stud_id ";
}

@ -83,7 +83,8 @@ class SessionManager
$start_limit = true,
$end_limit = true,
$fix_name = false,
$duration = null
$duration = null,
$showDescription = null
) {
global $_configuration;
@ -203,6 +204,14 @@ class SessionManager
Database::query($sql);
}
if (!is_null($showDescription)) {
$showDescription = intval($showDescription);
$sql = "UPDATE $tbl_session
SET show_description = '$showDescription'
WHERE id = $session_id";
Database::query($sql);
}
if (!empty($session_id)) {
/*
Sends a message to the user_id = 1
@ -1313,20 +1322,20 @@ class SessionManager
/**
* Edit a session
* @author Carlos Vargas from existing code
* @param integer id
* @param string name
* @param integer year_start
* @param integer month_start
* @param integer day_start
* @param integer year_end
* @param integer month_end
* @param integer day_end
* @param integer nb_days_acess_before
* @param integer nb_days_acess_after
* @param integer nolimit
* @param integer id_coach
* @param integer id_session_category
* @param int $id_visibility
* @param integer id
* @param string name
* @param integer year_start
* @param integer month_start
* @param integer day_start
* @param integer year_end
* @param integer month_end
* @param integer day_end
* @param integer nb_days_acess_before
* @param integer nb_days_acess_after
* @param integer nolimit
* @param integer id_coach
* @param integer id_session_category
* @param int $id_visibility
* @param bool
* @param bool
* @param string $description
@ -3637,6 +3646,7 @@ class SessionManager
* @param bool $deleteUsersNotInList
* @param bool $updateCourseCoaches
* @param bool $sessionWithCoursesModifier
* @param int $showDescription
* @return array
*/
static function importCSV(
@ -3654,7 +3664,8 @@ class SessionManager
$updateCourseCoaches = false,
$sessionWithCoursesModifier = false,
$addOriginalCourseTeachersAsCourseSessionCoaches = true,
$removeAllTeachersFromCourse = true
$removeAllTeachersFromCourse = true,
$showDescription = null
) {
$content = file($file);
@ -3682,6 +3693,10 @@ class SessionManager
$extraParameters .= ' , nb_days_access_after_end = '.intval($daysCoachAccessAfterBeginning);
}
if (!is_null($showDescription)) {
$extraParameters .= ' , show_description = '.intval($showDescription);
}
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_session_user = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$tbl_session_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
@ -3749,10 +3764,10 @@ class SessionManager
continue;
}
$date_start = $enreg['DateStart'];
$date_end = $enreg['DateEnd'];
$session_category_id = isset($enreg['SessionCategory']) ? $enreg['SessionCategory'] : null;
$sessionDescription = isset($enreg['SessionDescription']) ? $enreg['SessionDescription'] : null;
$date_start = $enreg['DateStart'];
$date_end = $enreg['DateEnd'];
$session_category_id = isset($enreg['SessionCategory']) ? $enreg['SessionCategory'] : null;
$sessionDescription = isset($enreg['SessionDescription']) ? $enreg['SessionDescription'] : null;
$extraSessionParameters = null;
if (!empty($sessionDescription)) {
@ -3916,6 +3931,9 @@ class SessionManager
}
$sessionInfo = api_get_session_info($session_id);
$params['show_description'] = isset($sessionInfo['show_description']) ? $sessionInfo['show_description'] : intval($showDescription);
if (!empty($daysCoachAccessBeforeBeginning) && !empty($daysCoachAccessAfterBeginning)) {
if (empty($sessionInfo['nb_days_access_before_beginning']) ||
(!empty($sessionInfo['nb_days_access_before_beginning']) &&

Loading…
Cancel
Save