Adding message in a session variable. See BT#7870

1.9.x
Julio Montoya 12 years ago
parent 8e0b252dea
commit ec8069ee75
  1. 27
      main/document/document.inc.php
  2. 431
      main/document/document.php

@ -476,9 +476,7 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
$req_gid = '';
}
$document_id = $document_data['id'];
$type = $document_data['filetype'];
$is_read_only = $document_data['readonly'];
$path = $document_data['path'];
$parent_id = DocumentManager::get_document_id(api_get_course_info(), dirname($path));
@ -582,7 +580,8 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
} else {
$tip_visibility = get_lang('Hide');
}
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;id=' . $parent_id . '&amp;' . $visibility_command . '=' . $id . $req_gid . '&amp;' . $sort_params . '">' . Display::return_icon($visibility_icon . '.png', $tip_visibility, '', ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;id=' . $parent_id . '&amp;' . $visibility_command . '=' . $id . $req_gid . '&amp;' . $sort_params . '">' .
Display::return_icon($visibility_icon . '.png', $tip_visibility, '', ICON_SIZE_SMALL) . '</a>';
}
}
@ -591,19 +590,23 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
$modify_icons .= '&nbsp;' . Display::return_icon('delete_na.png', get_lang('ThisFolderCannotBeDeleted'), array(), ICON_SIZE_SMALL);
} else {
if (isset($_GET['curdirpath']) && $_GET['curdirpath'] == '/certificates' && DocumentManager::get_default_certificate_id(api_get_course_id()) == $id) {
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;deleteid=' . $document_id . $req_gid . '&amp;' . $sort_params . 'delete_certificate_id=' . $id . '" onclick="return confirmation(\'' . basename($path) . '\');">' . Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&action=delete_item&id='.$parent_id.'&deleteid='.$document_id.$req_gid.'&amp;' . $sort_params . 'delete_certificate_id=' . $id . '" onclick="return confirmation(\'' . basename($path) . '\');">' .
Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
} else {
if ($is_certificate_mode) {
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;deleteid=' . $document_id . $req_gid . '&amp;' . $sort_params . '" onclick="return confirmation(\'' . basename($path) . '\');">' . Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&action=delete_item&id='.$parent_id.'&deleteid=' . $document_id . $req_gid . '&amp;' . $sort_params . '" onclick="return confirmation(\'' . basename($path) . '\');">' .
Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
} else {
if (api_get_session_id()) {
if ($document_data['session_id'] == api_get_session_id()) {
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;deleteid=' . $document_id . $req_gid . '&amp;' . $sort_params . '" onclick="return confirmation(\'' . basename($path) . '\');">' . Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&action=delete_item&id='.$parent_id.'&deleteid='.$document_id . $req_gid . '&amp;' . $sort_params . '" onclick="return confirmation(\'' . basename($path) . '\');">'.
Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
} else {
$modify_icons .= '&nbsp;' . Display::return_icon('delete_na.png', get_lang('ThisFolderCannotBeDeleted'), array(), ICON_SIZE_SMALL);
}
} else {
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;deleteid=' . $document_id . $req_gid . '&amp;' . $sort_params . '" onclick="return confirmation(\'' . basename($path) . '\');">' . Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&action=delete_item&id='.$parent_id.'&deleteid='.$document_id . $req_gid . '&amp;' . $sort_params . '" onclick="return confirmation(\'' . basename($path) . '\');">' .
Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL) . '</a>';
}
}
}
@ -613,7 +616,8 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
if ($type == 'file' && ($extension == 'html' || $extension == 'htm')) {
if ($is_template == 0) {
if ((isset($_GET['curdirpath']) && $_GET['curdirpath'] != '/certificates') || !isset($_GET['curdirpath'])) {
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;add_as_template=' . $id . $req_gid . '&amp;' . $sort_params . '">' . Display::return_icon('wizard.png', get_lang('AddAsTemplate'), array(), ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;add_as_template=' . $id . $req_gid . '&amp;' . $sort_params . '">' .
Display::return_icon('wizard.png', get_lang('AddAsTemplate'), array(), ICON_SIZE_SMALL) . '</a>';
}
if (isset($_GET['curdirpath']) && $_GET['curdirpath'] == '/certificates') {//allow attach certificate to course
$visibility_icon_certificate = 'nocertificate';
@ -627,7 +631,8 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
$certificate = get_lang('NoDefaultCertificate');
}
if (isset($_GET['selectcat'])) {
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;selectcat=' . Security::remove_XSS($_GET['selectcat']) . '&amp;set_certificate=' . $id . $req_gid . '&amp;' . $sort_params . '"><img src="../img/' . $visibility_icon_certificate . '.png" border="0" title="' . $certificate . '" alt="" /></a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;selectcat=' . Security::remove_XSS($_GET['selectcat']) . '&amp;set_certificate=' . $id . $req_gid . '&amp;' . $sort_params . '">
<img src="../img/' . $visibility_icon_certificate . '.png" border="0" title="' . $certificate . '" alt="" /></a>';
if ($is_preview) {
$modify_icons .= '&nbsp;<a target="_blank" href="' . api_get_self() . '?' . api_get_cidreq() . '&amp;curdirpath=' . $curdirpath . '&amp;set_preview=' . $id . $req_gid . '&amp;' . $sort_params . '" >' .
Display::return_icon('preview_view.png', $preview, '', ICON_SIZE_SMALL) . '</a>';
@ -638,7 +643,8 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&curdirpath=' . $curdirpath . '&amp;remove_as_template=' . $id . $req_gid . '&amp;' . $sort_params . '">' .
Display::return_icon('wizard_na.png', get_lang('RemoveAsTemplate'), '', ICON_SIZE_SMALL) . '</a>';
}
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&action=export_to_pdf&id=' . $id . '">' . Display::return_icon('pdf.png', get_lang('Export2PDF'), array(), ICON_SIZE_SMALL) . '</a>';
$modify_icons .= '&nbsp;<a href="' . api_get_self() . '?' . api_get_cidreq() . '&action=export_to_pdf&id=' . $id . '">' .
Display::return_icon('pdf.png', get_lang('Export2PDF'), array(), ICON_SIZE_SMALL) . '</a>';
}
return $modify_icons;
}
@ -771,7 +777,6 @@ function display_user_link_document($user_id, $name) {
*/
function create_dir_form($current_dir_id) {
global $document_id;
$form = new FormValidator('create_dir_form', 'post', api_get_self().'?'.api_get_cidreq(), '', null, false);
$form->addElement('hidden', 'create_dir', 1);
$form->addElement('hidden', 'dir_id', intval($document_id));

@ -28,6 +28,7 @@
/**
* Code
*/
use \ChamiloSession as Session;
// Language files that need to be included
$language_file = array('document', 'slideshow', 'gradebook', 'create_course');
require_once '../inc/global.inc.php';
@ -35,6 +36,7 @@ $current_course_tool = TOOL_DOCUMENT;
$this_section = SECTION_COURSES;
$to_user_id = null;
$parent_id = null;
$message = null;
require_once 'document.inc.php';
$lib_path = api_get_path(LIBRARY_PATH);
@ -93,7 +95,8 @@ if (empty($courseInfo)) {
api_not_allowed(true);
}
$dbl_click_id = 0; // Used for avoiding double-click
// Used for avoiding double-click.
$dbl_click_id = 0;
$selectcat = isset($_GET['selectcat']) ? Security::remove_XSS($_GET['selectcat']) : null;
$moveTo = isset($_POST['move_to']) ? Security::remove_XSS($_POST['move_to']) : null;
@ -164,13 +167,77 @@ if (!empty($groupId)) {
$document_id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : null;
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null;
$message = '';
$currentUrl = api_get_self().'?'.api_get_cidreq().'&id='.$document_id;
if (Portfolio::controller()->accept()) {
Portfolio::controller()->run();
}
switch ($action) {
case 'delete_item':
if ($is_allowed_to_edit ||
$group_member_with_upload_rights ||
is_my_shared_folder(api_get_user_id(), $curdirpath, $session_id) ||
is_my_shared_folder(api_get_user_id(), $moveTo, $session_id)
) {
if (isset($_GET['deleteid'])) {
if (!$is_allowed_to_edit) {
if (api_is_coach()) {
if (!DocumentManager::is_visible_by_id(
$_GET['deleteid'],
$courseInfo,
$session_id,
api_get_user_id())
) {
api_not_allowed();
}
}
if (DocumentManager::check_readonly(
$courseInfo,
api_get_user_id(),
'',
$_GET['deleteid'],
true)
) {
api_not_allowed();
}
}
$documentInfo = DocumentManager::get_document_data_by_id(
$_GET['deleteid'],
$courseInfo['code'],
false,
$session_id
);
// Check whether the document is in the database.
if (!empty($documentInfo)) {
$deleteDocument = DocumentManager::delete_document(
$courseInfo,
null,
$base_work_dir,
api_get_session_id(),
$_GET['deleteid'],
$groupId
);
if ($deleteDocument) {
$certificateId = isset($_GET['delete_certificate_id']) ? $_GET['delete_certificate_id'] : null;
DocumentManager::remove_attach_certificate(api_get_course_id(), $certificateId);
$message = Display::return_message(get_lang('DocDeleted').': '.$documentInfo['path'], 'success');
} else {
$message = Display::return_message(get_lang('DocDeleteError'), 'warning');
}
} else {
$message = Display::return_message(get_lang('FileNotFound'), 'warning');
}
Session::write('message', $message);
header("Location: $currentUrl");
exit;
}
}
case 'download':
// Get the document data from the ID
$document_data = DocumentManager::get_document_data_by_id(
@ -230,7 +297,7 @@ switch ($action) {
);
}
//filter when I am into shared folder, I can donwload only my shared folder
//filter when I am into shared folder, I can download only my shared folder
if (is_any_user_shared_folder($document_data['path'], $session_id)) {
if (is_my_shared_folder(api_get_user_id(), $document_data['path'], $session_id)
|| api_is_allowed_to_edit()
@ -338,6 +405,7 @@ switch ($action) {
$message = Display::return_message(get_lang('CopyMade').' '.$file_link, 'confirmation', false);
}
}
Session::write('message', $message);
}
break;
}
@ -712,7 +780,9 @@ if (!empty($documentAndFolders)) {
$session_id
);
if ($session_id != 0 && !$document_data) {
// If there is a session defined and asking for the document *from the session* didn't work, try it from the course (out of a session context)
/* If there is a session defined and asking for the document
* from the session* didn't work, try it from the
course (out of a session context) */
$document_data = DocumentManager::get_document_data_by_id(
$file['id'],
api_get_course_id(),
@ -743,7 +813,7 @@ $(document).ready( function() {
});
</script>';
Display::display_header('', 'Doc');
// Lib for event log, stats & tracking & record of the access
event_access_tool(TOOL_DOCUMENT);
@ -753,15 +823,7 @@ if ($groupId != 0) { // Add group name after for group documents
$add_group_to_title = ' ('.$group_properties['name'].')';
}
/* Introduction section (editable by course admins) */
if (!empty($groupId)) {
Display::display_introduction_section(TOOL_DOCUMENT.$groupId);
} else {
Display::display_introduction_section(TOOL_DOCUMENT);
}
// ACTION MENU
$moveForm = null;
/* MOVE FILE OR DIRECTORY */
//Only teacher and all users into their group and each user into his/her shared folder
@ -770,19 +832,18 @@ if ($is_allowed_to_edit ||
is_my_shared_folder(api_get_user_id(), $curdirpath, $session_id) ||
is_my_shared_folder(api_get_user_id(), $moveTo, $session_id)
) {
if (isset($_GET['move']) && $_GET['move'] != '') {
$my_get_move = intval($_REQUEST['move']);
if (api_is_coach()) {
if (!DocumentManager::is_visible_by_id($my_get_move, $courseInfo, $session_id, api_get_user_id())) {
api_not_allowed();
api_not_allowed(true);
}
}
if (!$is_allowed_to_edit) {
if (DocumentManager::check_readonly($courseInfo, api_get_user_id(), $my_get_move)) {
api_not_allowed();
api_not_allowed(true);
}
}
// Get the document data from the ID
@ -812,17 +873,16 @@ if ($is_allowed_to_edit ||
$user_shared_folders[] = $fold;
}
}
echo '<legend>'.get_lang('Move').'</legend>';
echo build_move_to_selector(
$moveForm .= '<legend>'.get_lang('Move').'</legend>';
$moveForm .= build_move_to_selector(
$user_shared_folders,
$move_path,
$my_get_move,
$group_properties['directory']
);
} else {
echo '<legend>'.get_lang('Move').'</legend>';
echo build_move_to_selector($folders, $move_path, $my_get_move, $group_properties['directory']);
$moveForm .= '<legend>'.get_lang('Move').'</legend>';
$moveForm .= build_move_to_selector($folders, $move_path, $my_get_move, $group_properties['directory']);
}
}
}
@ -831,15 +891,16 @@ if ($is_allowed_to_edit ||
if (!$is_allowed_to_edit) {
if (DocumentManager::check_readonly($courseInfo, api_get_user_id(), $_POST['move_file'])) {
api_not_allowed();
api_not_allowed(true);
}
}
if (api_is_coach()) {
if (!DocumentManager::is_visible_by_id($_POST['move_file'], $courseInfo, $session_id, api_get_user_id())) {
api_not_allowed();
api_not_allowed(true);
}
}
// Get the document data from the ID
$document_to_move = DocumentManager::get_document_data_by_id(
$_POST['move_file'],
@ -875,7 +936,7 @@ if ($is_allowed_to_edit ||
null,
$session_id
);
Display::display_confirmation_message(get_lang('DirMv'));
$message = Display::return_message(get_lang('DirMv'), 'confirmation');
} elseif (is_file($real_path_target)) {
api_item_property_update(
$courseInfo,
@ -889,7 +950,7 @@ if ($is_allowed_to_edit ||
null,
$session_id
);
Display::display_confirmation_message(get_lang('DocMv'));
$message = Display::return_message(get_lang('DocMv'), 'confirmation');
}
// Set the current path
@ -898,17 +959,18 @@ if ($is_allowed_to_edit ||
} else {
if ($fileExist) {
if (is_dir($real_path_target)) {
Display::display_error_message(get_lang('DirExists'));
$message = Display::return_message(get_lang('DirExists'), 'error');
} elseif (is_file($real_path_target)) {
Display::display_error_message(get_lang('FileExists'));
$message = Display::return_message(get_lang('FileExists'), 'v');
}
} else {
Display::display_error_message(get_lang('Impossible'));
$message = Display::return_message(get_lang('Impossible'), 'error');
}
}
} else {
Display::display_error_message(get_lang('Impossible'));
$message = Display::return_message(get_lang('Impossible'), 'error');
}
Session::write('message', $message);
}
}
@ -918,64 +980,10 @@ if ($is_allowed_to_edit ||
$group_member_with_upload_rights ||
is_my_shared_folder(api_get_user_id(), $curdirpath, $session_id)
) {
if (isset($_GET['deleteid'])) {
if (!$is_allowed_to_edit) {
if (api_is_coach()) {
if (!DocumentManager::is_visible_by_id(
$_GET['deleteid'],
$courseInfo,
$session_id,
api_get_user_id())
) {
api_not_allowed();
}
}
if (DocumentManager::check_readonly(
$courseInfo,
api_get_user_id(),
'',
$_GET['deleteid'],
true)
) {
api_not_allowed();
}
}
$documentInfo = DocumentManager::get_document_data_by_id(
$_GET['deleteid'],
$courseInfo['code'],
false,
$session_id
);
// Check whether the document is in the database.
if (!empty($documentInfo)) {
$deleteDocument = DocumentManager::delete_document(
$courseInfo,
null,
$base_work_dir,
api_get_session_id(),
$_GET['deleteid'],
$groupId
);
if ($deleteDocument) {
$certificateId = isset($_GET['delete_certificate_id']) ? $_GET['delete_certificate_id'] : null;
DocumentManager::remove_attach_certificate(api_get_course_id(), $certificateId);
Display::display_confirmation_message(get_lang('DocDeleted').': '.$documentInfo['path']);
} else {
Display::display_warning_message(get_lang('DocDeleteError'));
}
} else {
Display::display_warning_message(get_lang('FileNotFound'));
}
}
if (isset($_POST['action']) && isset($_POST['ids'])) {
$files = $_POST['ids'];
$readonlyAlreadyChecked = false;
$messages = null;
foreach ($files as $documentId) {
$items = array('/audio', '/flash', '/images', '/shared_folder', '/video', '/chat_files', '/certificates');
$data = DocumentManager::get_document_data_by_id($documentId, $courseInfo['code']);
@ -983,10 +991,6 @@ if ($is_allowed_to_edit ||
// exclude system directories (do not allow deletion)
continue;
} else {
//$documentId = DocumentManager::get_document_id($courseInfo, $path, $session_id);
//$data = DocumentManager::get_document_data_by_id($documentId, $courseInfo['code'], false, $session_id);
switch ($_POST['action']) {
case 'set_invisible':
$visibilityCommand = 'invisible';
@ -1002,9 +1006,9 @@ if ($is_allowed_to_edit ||
null,
$session_id
)) {
Display::display_confirmation_message(get_lang('VisibilityChanged').': '.$data['path']);
$messages .= Display::return_message(get_lang('VisibilityChanged').': '.$data['path'], 'confirmation');
} else {
Display::display_error_message(get_lang('ViModProb'));
$messages .= Display::return_message(get_lang('ViModProb'), 'error');
}
break;
case 'set_visible':
@ -1021,9 +1025,9 @@ if ($is_allowed_to_edit ||
null,
$session_id
)) {
Display::display_confirmation_message(get_lang('VisibilityChanged').': '.$data['path']);
$messages .= Display::return_message(get_lang('VisibilityChanged').': '.$data['path'], 'confirmation');
} else {
Display::display_error_message(get_lang('ViModProb'));
$messages .= Display::return_message(get_lang('ViModProb'), 'error');
}
break;
case 'delete':
@ -1042,7 +1046,7 @@ if ($is_allowed_to_edit ||
$session_id
)
) {
Display::display_error_message(get_lang('CantDeleteReadonlyFiles'));
$messages .= Display::return_message(get_lang('CantDeleteReadonlyFiles'), 'error');
break 2;
}
}
@ -1059,15 +1063,20 @@ if ($is_allowed_to_edit ||
$groupId
);
if (!empty($deleteDocument)) {
Display::display_confirmation_message(get_lang('DocDeleted').': '.$data['path']);
$messages .= Display::return_message(get_lang('DocDeleted').': '.$data['path'], 'confirmation');
}
break;
}
}
}
} // endforeach
Session::write('message', $messages);
}
}
$dirForm = null;
/* CREATE DIRECTORY */
//Only teacher and all users into their group and any user into his/her shared folder
if ($is_allowed_to_edit ||
@ -1080,7 +1089,7 @@ if ($is_allowed_to_edit ||
$post_dir_name = $_POST['dirname'];
if ($post_dir_name == '../' || $post_dir_name == '.' || $post_dir_name == '..') {
Display::display_error_message(get_lang('CannotCreateDir'));
$message = Display::return_message(get_lang('CannotCreateDir'), 'error');
} else {
if (!empty($_POST['dir_id'])) {
// Get the document data from the ID
@ -1124,19 +1133,20 @@ if ($is_allowed_to_edit ||
);
if ($created_dir) {
Display::display_confirmation_message('<span title="'.$created_dir.'">'.get_lang('DirCr').'</span>', false);
$message = Display::return_message(get_lang('DirCr').' '.$created_dir, 'confirmation');
} else {
Display::display_error_message(get_lang('CannotCreateDir'));
$message = Display::return_message(get_lang('CannotCreateDir'), 'error');
}
} else {
Display::display_error_message(get_lang('CannotCreateDir'));
$message = Display::return_message(get_lang('CannotCreateDir'), 'error');
}
}
Session::write('message', $message);
}
// Show them the form for the directory name
if (isset($_GET['createdir'])) {
echo create_dir_form($document_id);
$dirForm = create_dir_form($document_id);
}
}
@ -1158,11 +1168,11 @@ if ($is_allowed_to_edit) {
if (!$is_allowed_to_edit) {
if (api_is_coach()) {
if (!DocumentManager::is_visible_by_id($update_id, $courseInfo, $session_id, api_get_user_id())) {
api_not_allowed();
api_not_allowed(true);
}
}
if (DocumentManager::check_readonly($courseInfo, api_get_user_id(), '', $update_id)) {
api_not_allowed();
api_not_allowed(true);
}
}
@ -1180,12 +1190,14 @@ if ($is_allowed_to_edit) {
$session_id)
) {
//don't use ViMod because firt is load ViMdod (Gradebook). VisibilityChanged (trad4all)
Display::display_confirmation_message(get_lang('VisibilityChanged'));
$message = Display::return_message(get_lang('VisibilityChanged'), 'confirmation');
} else {
Display::display_error_message(get_lang('ViModProb'));
$message = Display::return_message(get_lang('ViModProb'), 'error');
}
Session::write('message', $message);
}
}
$templateForm = null;
/* TEMPLATE ACTION */
//Only teacher and all users into their group
@ -1198,20 +1210,18 @@ if ($is_allowed_to_edit ||
$document_id_for_template = intval($_GET['add_as_template']);
// Create the form that asks for the directory name
$template_text = '<form name="set_document_as_new_template" enctype="multipart/form-data" action="'.api_get_self().'?add_as_template='.$document_id_for_template.'" method="post">';
$template_text .= '<input type="hidden" name="curdirpath" value="'.$curdirpath.'" />';
$template_text .= '<table><tr><td>';
$template_text .= get_lang('TemplateName').' : </td>';
$template_text .= '<td><input type="text" name="template_title" /></td></tr>';
//$template_text .= '<tr><td>'.get_lang('TemplateDescription').' : </td>';
//$template_text .= '<td><textarea name="template_description"></textarea></td></tr>';
$template_text .= '<tr><td>'.get_lang('TemplateImage').' : </td>';
$template_text .= '<td><input type="file" name="template_image" id="template_image" /></td></tr>';
$template_text .= '</table>';
$template_text .= '<button type="submit" class="add" name="create_template">'.get_lang('CreateTemplate').'</button>';
$template_text .= '</form>';
// Show the form
Display::display_normal_message($template_text, false);
$templateForm .= '<form name="set_document_as_new_template" enctype="multipart/form-data" action="'.api_get_self().'?add_as_template='.$document_id_for_template.'" method="post">';
$templateForm .= '<input type="hidden" name="curdirpath" value="'.$curdirpath.'" />';
$templateForm .= '<table><tr><td>';
$templateForm .= get_lang('TemplateName').' : </td>';
$templateForm .= '<td><input type="text" name="template_title" /></td></tr>';
//$templateForm .= '<tr><td>'.get_lang('TemplateDescription').' : </td>';
//$templateForm .= '<td><textarea name="template_description"></textarea></td></tr>';
$templateForm .= '<tr><td>'.get_lang('TemplateImage').' : </td>';
$templateForm .= '<td><input type="file" name="template_image" id="template_image" /></td></tr>';
$templateForm .= '</table>';
$templateForm .= '<button type="submit" class="add" name="create_template">'.get_lang('CreateTemplate').'</button>';
$templateForm .= '</form>';
} elseif (isset($_GET['add_as_template']) && isset($_POST['create_template'])) {
$document_id_for_template = intval(Database::escape_string($_GET['add_as_template']));
@ -1227,9 +1237,9 @@ if ($is_allowed_to_edit ||
api_get_permissions_for_new_directories()
);
}
// Upload the file
if (!empty($_FILES['template_image']['name'])) {
require_once api_get_path(LIBRARY_PATH).'fileUpload.lib.php';
$upload_ok = process_uploaded_file($_FILES['template_image']);
@ -1269,7 +1279,8 @@ if ($is_allowed_to_edit ||
$user_id,
$new_file_name
);
Display::display_confirmation_message(get_lang('DocumentSetAsTemplate'));
$message = Display::return_message(get_lang('DocumentSetAsTemplate'), 'confirmation');
Session::write('message', $message);
}
if (isset($_GET['remove_as_template'])) {
@ -1280,8 +1291,10 @@ if ($is_allowed_to_edit ||
$course_code,
$user_id
);
Display::display_confirmation_message(get_lang('DocumentUnsetAsTemplate'));
$message = Display::return_message(get_lang('DocumentUnsetAsTemplate'), 'confirmation');
Session::write('message', $message);
}
}
// END ACTION MENU
@ -1295,7 +1308,8 @@ if (isset($_GET['curdirpath']) &&
$course_id = Security::remove_XSS($_GET['cidReq']); // course id
$document_id = Security::remove_XSS($_GET['set_certificate']); // document id
DocumentManager::attach_gradebook_certificate($course_id, $document_id);
Display::display_normal_message(get_lang('IsDefaultCertificate'));
$message = Display::return_message(get_lang('IsDefaultCertificate'), 'normal');
Session::write('message', $message);
}
}
@ -1345,11 +1359,11 @@ if (!isset($folders) || $folders === false) {
$folders = array();
}
echo '<div id="appletplace"></div>';
echo '<div class="actions">';
//echo '<div id="appletplace"></div>';
$actions = '<div class="actions">';
if (!$is_certificate_mode) {
/* BUILD SEARCH FORM */
echo '<span style="display:inline-block;">';
$actions .= '<span style="display:inline-block;">';
$form = new FormValidator('search_document', 'get', api_get_self().'?'.api_get_cidreq());
$renderer = & $form->defaultRenderer();
$renderer->setElementTemplate('<span>{element}</span> ');
@ -1358,22 +1372,22 @@ if (!$is_certificate_mode) {
$form->addElement('hidden', 'id_session', api_get_session_id());
$form->addElement('hidden', 'gidReq', $groupId);
$form->addElement('style_submit_button', 'submit', get_lang('Search'), 'class="search"');
$form->display();
echo '</span>';
$actions .= $form->return_form();
$actions .= '</span>';
}
/* GO TO PARENT DIRECTORY */
if ($curdirpath != '/' && $curdirpath != $group_properties['directory'] && !$is_certificate_mode) {
echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&id='.$parent_id.'">';
echo Display::display_icon('folder_up.png', get_lang('Up'), '', ICON_SIZE_MEDIUM);
echo '</a>';
$actions .= '<a href="'.api_get_self().'?'.api_get_cidreq().'&id='.$parent_id.'">';
$actions .= Display::return_icon('folder_up.png', get_lang('Up'), '', ICON_SIZE_MEDIUM);
$actions .= '</a>';
}
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)); ?>">
<?php Display::display_icon('folder_up.png', get_lang('Up'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
$actions .= Display::url(
Display::return_icon('folder_up.png', get_lang('Up'), '', ICON_SIZE_MEDIUM),
api_get_self().'?'.api_get_cidreq().'&curdirpath='.$curdirpath
);
}
$column_show = array();
@ -1382,86 +1396,90 @@ if ($is_allowed_to_edit ||
$group_member_with_upload_rights ||
is_my_shared_folder(api_get_user_id(), $curdirpath, $session_id)
) {
// TODO:check enable more options for shared folders
/* CREATE NEW DOCUMENT OR NEW DIRECTORY / GO TO UPLOAD / DOWNLOAD ZIPPED FOLDER */
// Create new document
if (!$is_certificate_mode) {
?>
<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
$actions .= Display::url(
Display::return_icon('new_document.png', get_lang('CreateDoc'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/create_document.php?'.api_get_cidreq().'&id='.$document_id
);
// 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; ?>">
<?php Display::display_icon('new_draw.png', get_lang('Draw'), '', ICON_SIZE_MEDIUM); ?></a>&nbsp;
<?php
$actions .= Display::url(
Display::return_icon('new_draw.png', get_lang('Draw'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/create_draw.php?'.api_get_cidreq().'&id='.$document_id
);
} else {
Display::display_icon('new_draw_na.png', get_lang('BrowserDontSupportsSVG'), '', ICON_SIZE_MEDIUM);
$actions .= Display::return_icon('new_draw_na.png', get_lang('BrowserDontSupportsSVG'), '', ICON_SIZE_MEDIUM);
}
}
// 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; ?>">
<?php Display::display_icon('new_paint.png', get_lang('PhotoRetouching'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
$actions .= Display::url(
Display::return_icon('new_paint.png', get_lang('PhotoRetouching'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/create_paint.php?'.api_get_cidreq().'&id='.$document_id
);
}
// 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; ?>">
<?php Display::display_icon('webcam.png', get_lang('WebCamClip'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
$actions .= Display::url(
Display::return_icon('webcam.png', get_lang('WebCamClip'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/webcam_clip.php?'.api_get_cidreq().'&id='.$document_id
);
}
// 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; ?>">
<?php Display::display_icon('new_recording.png', get_lang('RecordMyVoice'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
$actions .= Display::url(
Display::return_icon('new_recording.png', get_lang('RecordMyVoice'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/record_audio.php?'.api_get_cidreq().'&id='.$document_id
);
}
// 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; ?>">
<?php Display::display_icon('new_recording.png', get_lang('RecordMyVoice'), '', ICON_SIZE_MEDIUM); ?></a>
<?php
$actions .= Display::url(
Display::return_icon('new_recording.png', get_lang('RecordMyVoice'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/record_audio_wami.php?'.api_get_cidreq().'&id='.$document_id
);
}
// Create new audio from text
if (api_get_setting('enabled_text2audio') == 'true') {
$dt2a = 'google';
$req_dt2a = '&amp;dt2a='.$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
$actions .= Display::url(
Display::return_icon('new_sound.png', get_lang('CreateAudio'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/create_audio.php?'.api_get_cidreq().'&id='.$document_id.$req_dt2a
);
}
}
// Create new certificate
if ($is_certificate_mode) {
?>
<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
$actions .= Display::url(
Display::return_icon('new_certificate.png', get_lang('CreateCertificate'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/create_document.php?'.api_get_cidreq().'&id='.$document_id.'&certificate=true&selectcat='.$selectcat
);
}
// File upload link
if ($is_certificate_mode) {
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>';
$actions .= Display::url(
Display::return_icon('upload_certificate.png', get_lang('UploadCertificate'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/upload.php?'.api_get_cidreq().'&id='.$current_folder_id
);
} else {
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>';
$actions .= Display::url(
Display::return_icon('upload_file.png', get_lang('UplUploadDocument'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/upload.php?'.api_get_cidreq().'&id='.$current_folder_id
);
}
/*echo '<a href="#" id="jcapture">';
@ -1469,10 +1487,10 @@ if ($is_allowed_to_edit ||
// Create directory
if (!$is_certificate_mode) {
?>
<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
$actions .= Display::url(
Display::return_icon('new_folder.png', get_lang('CreateDir'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/document.php?'.api_get_cidreq().'&id='.$document_id.'&createdir=1'
);
}
}
@ -1607,17 +1625,16 @@ if (!is_null($documentAndFolders)) {
|| api_is_platform_admin()
)
) {
//for student does not show icon into other shared folder, and does not show into main path (root)
if (is_my_shared_folder(api_get_user_id(), $curdirpath, $session_id)
&& $curdirpath != '/'
|| api_is_allowed_to_edit()
|| api_is_platform_admin()
) {
echo '<a href="'.api_get_self().'?'.api_get_cidreq().
'&amp;action=downloadfolder&amp;id='.$document_id.'">'.
Display::return_icon('save_pack.png', get_lang('Save').' (ZIP)', '', ICON_SIZE_MEDIUM).
'</a>';
$actions .= Display::url(
Display::return_icon('save_pack.png', get_lang('Save').' (ZIP)', '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/document.php?'.api_get_cidreq().'&action=downloadfolder&id='.$document_id
);
}
}
}
@ -1625,23 +1642,20 @@ if (!is_null($documentAndFolders)) {
// Slideshow by Patrick Cool, May 2004
require 'document_slideshow.inc.php';
if ($image_present && !isset($_GET['keyword'])) {
echo '<a href="slideshow.php?'.
api_get_cidreq().
'&amp;curdirpath='.$curdirpathurl.'">'.
Display::return_icon('slideshow.png', get_lang('ViewSlideshow'), '', ICON_SIZE_MEDIUM).'</a>';
$actions .= Display::url(
Display::return_icon('slideshow.png', get_lang('ViewSlideshow'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/slideshow.php?'.api_get_cidreq().'&curdirpath='.$curdirpathurl
);
}
if (api_is_allowed_to_edit(null, true)) {
echo '<a href="document_quota.php?'.api_get_cidreq().'">'.
Display::return_icon('percentage.png', get_lang('DocumentQuota'), '', ICON_SIZE_MEDIUM).
'</a>';
$actions .= Display::url(
Display::return_icon('percentage.png', get_lang('DocumentQuota'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'document/document_quota.php?'.api_get_cidreq()
);
}
echo '</div>'; //end actions
$actions .= '</div>';
if (isset($message)) {
echo $message;
}
if (!empty($moveTo)) {
$document_id = DocumentManager::get_document_id($courseInfo, $moveTo);
}
@ -1650,8 +1664,10 @@ if (isset($_GET['createdir']) && isset($_POST['dirname']) && $_POST['dirname'] !
$post_dir_name = $_POST['dirname'];
$document_id = DocumentManager::get_document_id($courseInfo, $_POST['dirname']);
}
$selector = null;
if (!$is_certificate_mode) {
echo build_directory_selector(
$selector = build_directory_selector(
$folders,
$document_id,
(isset($group_properties['directory']) ? $group_properties['directory'] : array()),
@ -1749,6 +1765,31 @@ if (count($documentAndFolders) > 1) {
$table->set_form_actions($form_action, 'ids');
}
}
Display::display_header('', 'Doc');
/* Introduction section (editable by course admins) */
if (!empty($groupId)) {
Display::display_introduction_section(TOOL_DOCUMENT.$groupId);
} else {
Display::display_introduction_section(TOOL_DOCUMENT);
}
$message = Session::read('message');
if (!empty($message)) {
echo $message;
}
Session::erase('message');
echo $actions;
echo $templateForm;
echo $moveForm;
echo $dirForm;
echo $selector;
$table->display();
if (count($documentAndFolders) > 1) {

Loading…
Cancel
Save