Group id now should work like session id see #5648

skala
Julio Montoya 13 years ago
parent 0a3a866338
commit 94298bd9d4
  1. 2
      main/course_home/course_home.php
  2. 10
      main/document/create_document.php
  3. 40
      main/document/document.php
  4. 1
      main/document/upload.php
  5. 1
      main/group/group.php
  6. 6
      main/inc/ajax/document.ajax.php
  7. 2
      main/inc/global.inc.php
  8. 3
      main/inc/lib/document.lib.php
  9. 30
      main/inc/local.inc.php

@ -267,3 +267,5 @@ $tpl->assign('actions', $actions);
$tpl->assign('message', $show_message);
$tpl->assign('content', $content);
$tpl->display_one_col_template();
Session::erase('_gid');

@ -305,10 +305,10 @@ if (isset ($group_properties)) {
}
// Create a new form
$form = new FormValidator('create_document','post',api_get_self().'?dir='.Security::remove_XSS(urlencode($dir)).'&selectcat='.Security::remove_XSS($_GET['selectcat']), null, array('class' =>'form-vertical' ));
$form = new FormValidator('create_document','post',api_get_self().'?'.api_get_cidreq().'&dir='.Security::remove_XSS(urlencode($dir)).'&selectcat='.Security::remove_XSS($_GET['selectcat']), null, array('class' =>'form-vertical' ));
// form title
$form->addElement('header', '', $nameTools);
$form->addElement('header', $nameTools);
if ($is_certificate_mode) {//added condition for certicate in gradebook
$form->addElement('hidden','certificate','true',array('id'=>'certificate'));
@ -492,7 +492,7 @@ if ($form->validate()) {
$content = Security::remove_XSS($values['content'], COURSEMANAGERLOWSECURITY);
if (strpos($content, '/css/frames.css') === false) {
$content = str_replace('</head>', '<style> body{margin:10px;}</style> <link rel="stylesheet" href="./css/frames.css" type="text/css" /></head>', $content);
$content = str_replace('</head>', '<style> body{margin:10px;}</style><link rel="stylesheet" href="./css/frames.css" type="text/css" /></head>', $content);
}
if ($fp = @fopen($filepath.$filename.'.'.$extension, 'w')) {
$content = str_replace(api_get_path(WEB_COURSE_PATH), $_configuration['url_append'].'/courses/', $content);
@ -555,8 +555,8 @@ if ($form->validate()) {
}
$certificate_condition = '&certificate=true';
}
header('Location: document.php?id='.$folder_id.$selectcat.$certificate_condition);
exit ();
header('Location: document.php?'.api_get_cidreq().'&id='.$folder_id.$selectcat.$certificate_condition);
exit();
} else {
Display :: display_header($nameTools, 'Doc');
Display :: display_error_message(get_lang('Impossible'));

@ -106,7 +106,6 @@ if (api_get_session_id() != 0) {
$group_member_with_upload_rights = $group_member_with_upload_rights && api_is_allowed_to_session_edit(false, true);
}
//Setting group variables
if (api_get_group_id()) {
// Get group info
@ -118,20 +117,17 @@ if (api_get_group_id()) {
if ($group_properties['doc_state'] == 2) {
// Documents are private
if ($is_allowed_to_edit || GroupManager :: is_user_in_group(api_get_user_id(), api_get_group_id())) {
// Only courseadmin or group members (members + tutors) allowed
$req_gid = '&amp;gidReq=' . api_get_group_id();
// Only courseadmin or group members (members + tutors) allowed
$interbreadcrumb[] = array('url' => '../group/group.php', 'name' => get_lang('Groups'));
$interbreadcrumb[] = array('url' => '../group/group_space.php?gidReq=' . api_get_group_id(), 'name' => get_lang('GroupSpace') . ' ' . $group_properties['name']);
//they are allowed to upload
$group_member_with_upload_rights = true;
} else {
$to_group_id = 0;
$req_gid = '';
$to_group_id = 0;
}
} elseif ($group_properties['doc_state'] == 1) {
// Documents are public
$to_group_id = api_get_group_id();
$req_gid = '&amp;gidReq=' . api_get_group_id();
$to_group_id = api_get_group_id();
$interbreadcrumb[] = array('url' => '../group/group.php', 'name' => get_lang('Groups'));
$interbreadcrumb[] = array('url' => '../group/group_space.php?gidReq=' . api_get_group_id(), 'name' => get_lang('GroupSpace') . ' ' . $group_properties['name']);
//allowed to upload?
@ -140,14 +136,12 @@ if (api_get_group_id()) {
$group_member_with_upload_rights = true;
}
} else { // Documents not active for this group
$to_group_id = 0;
$req_gid = '';
$to_group_id = 0;
}
$_SESSION['group_member_with_upload_rights'] = $group_member_with_upload_rights;
} else {
$_SESSION['group_member_with_upload_rights'] = false;
$to_group_id = 0;
$req_gid = '';
$to_group_id = 0;
}
//Actions
@ -928,7 +922,7 @@ if ($curdirpath != '/' && $curdirpath != $group_properties['directory'] && !$is_
if ($is_certificate_mode && $curdirpath != '/certificates') {
?>
<a href="<?php echo api_get_self(); ?>?<?php echo api_get_cidreq(); ?>&amp;curdirpath=<?php echo urlencode((dirname($curdirpath) == '\\') ? '/' : dirname($curdirpath)) . $req_gid; ?>">
<a href="<?php echo api_get_self(); ?>?<?php echo api_get_cidreq(); ?>&amp;curdirpath=<?php echo urlencode((dirname($curdirpath) == '\\') ? '/' : dirname($curdirpath)); ?>">
<?php Display::display_icon('folder_up.png', get_lang('Up'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}
@ -944,14 +938,14 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
// Create new document
if (!$is_certificate_mode) {
?>
<a href="create_document.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>">
<a href="create_document.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>">
<?php Display::display_icon('new_document.png', get_lang('CreateDoc'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
// Create new draw
if (api_get_setting('enabled_support_svg') == 'true') {
if (api_browser_support('svg')) {
?>
<a href="create_draw.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>">
<a href="create_draw.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>">
<?php Display::display_icon('new_draw.png', get_lang('Draw'), '', ICON_SIZE_MEDIUM); ?></a>&nbsp;
<?php
} else {
@ -962,7 +956,7 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
// Create new paint
if (api_get_setting('enabled_support_pixlr') == 'true') {
?>
<a href="create_paint.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>">
<a href="create_paint.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>">
<?php Display::display_icon('new_paint.png', get_lang('PhotoRetouching'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}
@ -971,7 +965,7 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
// Record an image clip from my webcam
if (api_get_setting('enable_webcam_clip') == 'true') {
?>
<a href="webcam_clip.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id.$req_gid; ?>">
<a href="webcam_clip.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>">
<?php Display::display_icon('webcam.png', get_lang('WebCamClip'),'',ICON_SIZE_MEDIUM); ?></a>
<?php
}
@ -979,7 +973,7 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
// Record audio (nanogong)
if (api_get_setting('enable_nanogong') == 'true') {
?>
<a href="record_audio.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>">
<a href="record_audio.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>">
<?php Display::display_icon('new_recording.png', get_lang('RecordMyVoice'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}
@ -987,7 +981,7 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
// Record audio (wami record)
if (api_get_setting('enable_wami_record') == 'true') {
?>
<a href="record_audio_wami.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>">
<a href="record_audio_wami.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>">
<?php Display::display_icon('new_recording.png', get_lang('RecordMyVoice'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}
@ -997,7 +991,7 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
$dt2a = 'google';
$req_dt2a = '&amp;dt2a=' . $dt2a;
?>
<a href="create_audio.php?<?php echo api_get_cidreq(); ?>&amp;id=<?php echo $document_id . $req_gid . $req_dt2a; ?>">
<a href="create_audio.php?<?php echo api_get_cidreq(); ?>&amp;id=<?php echo $document_id. $req_dt2a; ?>">
<?php Display::display_icon('new_sound.png', get_lang('CreateAudio'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}
@ -1006,22 +1000,22 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
// Create new certificate
if ($is_certificate_mode) {
?>
<a href="create_document.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>&certificate=true&selectcat=<?php echo $selectcat; ?>">
<a href="create_document.php?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>&certificate=true&selectcat=<?php echo $selectcat; ?>">
<?php Display::display_icon('new_certificate.png', get_lang('CreateCertificate'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}
// File upload link
if ($is_certificate_mode) {
echo '<a href="upload.php?' . api_get_cidreq() . '&id=' . $current_folder_id . $req_gid . '">';
echo '<a href="upload.php?' . api_get_cidreq() . '&id=' . $current_folder_id.'">';
echo Display::display_icon('upload_certificate.png', get_lang('UploadCertificate'), '', ICON_SIZE_MEDIUM) . '</a>';
} else {
echo '<a href="upload.php?' . api_get_cidreq() . '&id=' . $current_folder_id . $req_gid . '">';
echo '<a href="upload.php?' . api_get_cidreq() . '&id=' . $current_folder_id.'">';
echo Display::display_icon('upload_file.png', get_lang('UplUploadDocument'), '', ICON_SIZE_MEDIUM) . '</a>';
}
// Create directory
if (!$is_certificate_mode) {
?>
<a href="<?php echo api_get_self(); ?>?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id . $req_gid; ?>&createdir=1">
<a href="<?php echo api_get_self(); ?>?<?php echo api_get_cidreq(); ?>&id=<?php echo $document_id; ?>&createdir=1">
<?php Display::display_icon('new_folder.png', get_lang('CreateDir'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
}

@ -301,5 +301,4 @@ if ($nav_info ['name'] == 'Internet Explorer') {
$headers = array(get_lang('Send') , get_lang('Send').' ('.get_lang('Simple').')');
echo Display::tabs($headers, array($multiple_form, $simple_form),'tabs');
}
Display::display_footer();

@ -371,3 +371,4 @@ foreach ($group_cats as $index => $category) {
if (!isset ($_GET['origin']) || $_GET['origin'] != 'learnpath') {
Display::display_footer();
}
Session::erase('_gid');

@ -10,11 +10,9 @@ require_once api_get_path(LIBRARY_PATH).'document.lib.php';
$action = $_REQUEST['a'];
switch($action) {
case 'upload_file':
api_protect_course_script(true);
api_protect_course_script(true);
//User access same as upload.php
$is_allowed_to_edit = api_is_allowed_to_edit(null, true);
$is_allowed_to_edit = api_is_allowed_to_edit(null, true);
// This needs cleaning!
if (api_get_group_id()) {
if ($is_allowed_to_edit || GroupManager::is_user_in_group(api_get_user_id(), api_get_group_id())) { // Only courseadmin or group members allowed

@ -617,4 +617,4 @@ $default_quota = api_get_setting('default_document_quotum');
if (empty($default_quota)) {
$default_quota = 100000000;
}
define('DEFAULT_DOCUMENT_QUOTA', $default_quota);
define('DEFAULT_DOCUMENT_QUOTA', $default_quota);

@ -2227,8 +2227,7 @@ class DocumentManager {
$base_work_dir = $sys_course_path.$course_dir;
if (isset($files['file'])) {
$upload_ok = process_uploaded_file($files['file'], $show_output);
$upload_ok = process_uploaded_file($files['file'], $show_output);
if ($upload_ok) {
// File got on the server without problems, now process it
$new_path = handle_uploaded_document($course_info, $files['file'], $base_work_dir, $path, api_get_user_id(), api_get_group_id(), null, $unzip, $if_exists, $show_output);

@ -634,7 +634,7 @@ if (isset($uidReset) && $uidReset) { // session data refresh requested
if (isset($cidReset) && $cidReset) {
// Course session data refresh requested or empty data
if ($cidReq) {
if ($cidReq) {
$_course = api_get_course_info($cidReq);
if (!empty($_course)) {
@ -665,7 +665,7 @@ if (isset($cidReset) && $cidReset) {
}
if (!empty($_GET['gidReq'])) {
$_SESSION['_gid'] = intval($_GET['gidReq']);
$_SESSION['_gid'] = intval($_GET['gidReq']);
} else {
Session::erase('_gid');
}
@ -730,6 +730,8 @@ if (isset($cidReset) && $cidReset) {
$_cid = $_SESSION['_cid' ];
$_course = $_SESSION['_course'];
// these lines are usefull for tracking. Indeed we can have lost the id_session and not the cid.
// Moreover, if we want to track a course with another session it can be usefull
@ -741,8 +743,18 @@ if (isset($cidReset) && $cidReset) {
$_SESSION['id_session'] = intval($_GET['id_session']);
}
if (!empty($_REQUEST['gidReq'])) {
$_SESSION['_gid'] = intval($_REQUEST['gidReq']);
$_SESSION['_gid'] = intval($_REQUEST['gidReq']);
$group_table = Database::get_course_table(TABLE_GROUP);
$sql = "SELECT * FROM $group_table WHERE c_id = ".$_course['real_id']." AND id = '$gidReq'";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) { // This group has recorded status related to this course
$gpData = Database::fetch_array($result);
$_gid = $gpData ['id'];
Session::write('_gid', $_gid);
}
}
if (!isset($_SESSION['login_as'])) {
@ -807,10 +819,12 @@ if (isset($cidReset) && $cidReset) {
}
// if the requested group is different from the group in session
$gid = isset($_SESSION['_gid']) ? $_SESSION['_gid'] : '';
/*
$gid = isset($_SESSION['_gid']) ? $_SESSION['_gid'] : 0;
if (isset($gidReq) && $gidReq != $gid) {
$gidReset = true;
}
}*/
/* COURSE / USER REL. INIT */
@ -1043,7 +1057,9 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
}
/* GROUP INIT */
if ((isset($gidReset) && $gidReset) || (isset($cidReset) && $cidReset)) { // session data refresh requested
/*
if ((isset($gidReset) && $gidReset) || (isset($cidReset) && $cidReset)) {
// session data refresh requested
if ($gidReq && $_cid && !empty($_course['real_id'])) { // have keys to search data
$group_table = Database::get_course_table(TABLE_GROUP);
$sql = "SELECT * FROM $group_table WHERE c_id = ".$_course['real_id']." AND id = '$gidReq'";
@ -1063,7 +1079,7 @@ if ((isset($gidReset) && $gidReset) || (isset($cidReset) && $cidReset)) { // ses
} else { //if no previous value, assign caracteristic undefined value
$_gid = -1;
}
*/
//set variable according to student_view_enabled choices
if (api_get_setting('student_view_enabled') == "true") {

Loading…
Cancel
Save