Merge branch '1.9.x' into 1.10.x

1.10.x
Julio Montoya 11 years ago
commit a47e364cd2
  1. 31
      main/inc/lib/document.lib.php
  2. 27
      main/inc/lib/sessionmanager.lib.php

@ -3223,7 +3223,7 @@ class DocumentManager
if (CourseManager::is_user_subscribed_in_course($user_id, $course_info['code'])) { if (CourseManager::is_user_subscribed_in_course($user_id, $course_info['code'])) {
$user_in_course = true; $user_in_course = true;
} }
//Check if course is open then we can consider that the student is regitered to the course // Check if course is open then we can consider that the student is registered to the course
if (isset($course_info) && in_array($course_info['visibility'], array(2, 3))) { if (isset($course_info) && in_array($course_info['visibility'], array(2, 3))) {
$user_in_course = true; $user_in_course = true;
} }
@ -3261,6 +3261,13 @@ class DocumentManager
$folderCondition = " AND docs.path LIKE '/%' "; $folderCondition = " AND docs.path LIKE '/%' ";
if (!api_is_allowed_to_edit()) {
$protectedFolders = self::getProtectedFolderFromStudent();
foreach ($protectedFolders as $folder) {
$folderCondition .= " AND docs.path NOT LIKE '$folder' ";
}
}
if ($folderId !== false) { if ($folderId !== false) {
$parentData = self::get_document_data_by_id($folderId, $course_info['code']); $parentData = self::get_document_data_by_id($folderId, $course_info['code']);
if (!empty($parentData)) { if (!empty($parentData)) {
@ -3443,7 +3450,6 @@ class DocumentManager
}); });
} }
} }
} }
</script>"; </script>";
} }
@ -3702,10 +3708,10 @@ class DocumentManager
$overwrite_url $overwrite_url
); );
} }
} }
} }
} }
return $return; return $return;
} }
@ -4178,9 +4184,9 @@ class DocumentManager
/** /**
* @return array * @return array
*/ */
static function get_system_folders() public static function get_system_folders()
{ {
$system_folders = array( return array(
'/certificates', '/certificates',
'/HotPotatoes_files', '/HotPotatoes_files',
'/chat_files', '/chat_files',
@ -4191,7 +4197,20 @@ class DocumentManager
'/shared_folder', '/shared_folder',
'/learning_path' '/learning_path'
); );
return $system_folders; }
/**
* @return array
*/
public static function getProtectedFolderFromStudent()
{
return array(
'/certificates',
'/HotPotatoes_files',
'/chat_files',
'/shared_folder',
'/learning_path'
);
} }
/** /**

@ -3833,7 +3833,7 @@ class SessionManager
if ($my_session_result === false) { if ($my_session_result === false) {
// Creating a session. // Creating a session.
$sql_session = "INSERT IGNORE INTO $tbl_session SET $sql = "INSERT IGNORE INTO $tbl_session SET
name = '$session_name', name = '$session_name',
id_coach = '$coach_id', id_coach = '$coach_id',
date_start = '$date_start', date_start = '$date_start',
@ -3841,7 +3841,7 @@ class SessionManager
visibility = '$visibilityAfterExpirationPerSession', visibility = '$visibilityAfterExpirationPerSession',
session_category_id = '$session_category_id' " . $extraParameters . $extraSessionParameters; session_category_id = '$session_category_id' " . $extraParameters . $extraSessionParameters;
Database::query($sql_session); Database::query($sql);
// We get the last insert id. // We get the last insert id.
$my_session_result = SessionManager::get_session_by_name($enreg['SessionName']); $my_session_result = SessionManager::get_session_by_name($enreg['SessionName']);
@ -3903,16 +3903,32 @@ class SessionManager
if (!empty($enreg['SessionName'])) { if (!empty($enreg['SessionName'])) {
$params['name'] = $enreg['SessionName']; $params['name'] = $enreg['SessionName'];
} }
Database::update($tbl_session, $params, array('id = ?' => $sessionId));
$session_id = $sessionId; $session_id = $sessionId;
} else { } else {
Database::update($tbl_session, $params, array("name = '?' " => $enreg['SessionName']));
$row = Database::query("SELECT id FROM $tbl_session WHERE name = '$session_name'"); $row = Database::query("SELECT id FROM $tbl_session WHERE name = '$session_name'");
list($session_id) = Database::fetch_array($row); list($session_id) = Database::fetch_array($row);
} }
if ($session_id) { if ($session_id) {
$sessionInfo = api_get_session_info($session_id);
if (!empty($daysCoachAccessBeforeBeginning) && !empty($daysCoachAccessAfterBeginning)) {
if (empty($sessionInfo['nb_days_access_before_beginning']) ||
(!empty($sessionInfo['nb_days_access_before_beginning']) &&
$sessionInfo['nb_days_access_before_beginning'] < $daysCoachAccessBeforeBeginning)
) {
$params['nb_days_access_before_beginning'] = intval($daysCoachAccessBeforeBeginning);
}
if (empty($sessionInfo['nb_days_access_after_end']) ||
(!empty($sessionInfo['nb_days_access_after_end']) &&
$sessionInfo['nb_days_access_after_end'] < $daysCoachAccessAfterBeginning)
) {
$params['nb_days_access_after_end'] = intval($daysCoachAccessAfterBeginning);
}
}
Database::update($tbl_session, $params, array('id = ?' => $session_id));
foreach ($enreg as $key => $value) { foreach ($enreg as $key => $value) {
if (substr($key, 0, 6) == 'extra_') { //an extra field if (substr($key, 0, 6) == 'extra_') { //an extra field
self::update_session_extra_field_value($session_id, substr($key, 6), $value); self::update_session_extra_field_value($session_id, substr($key, 6), $value);
@ -4196,6 +4212,7 @@ class SessionManager
// Adding Students, updating relationship "Session - Course - User". // Adding Students, updating relationship "Session - Course - User".
$course_users = array_filter($course_users); $course_users = array_filter($course_users);
if (!empty($course_users)) { if (!empty($course_users)) {
foreach ($course_users as $user) { foreach ($course_users as $user) {
$user_id = UserManager::get_user_id_from_username($user); $user_id = UserManager::get_user_id_from_username($user);

Loading…
Cancel
Save