api_get_path(WEB_CODE_PATH).'work/work.php?'.api_get_cidreq(), 'name' => get_lang('StudentPublications') ); if (api_is_allowed_to_edit()) { $interbreadcrumb[] = array( 'url' => api_get_path(WEB_CODE_PATH).'work/work_list_all.php?'.api_get_cidreq().'&id='.$work_id, 'name' => $parent_data['title'] ); } else { $interbreadcrumb[] = array( 'url' => api_get_path(WEB_CODE_PATH).'work/work_list.php?'.api_get_cidreq().'&id='.$work_id, 'name' => $parent_data['title'] ); } // form title $form_title = get_lang('Edit'); $interbreadcrumb[] = array('url' => '#', 'name' => $form_title); $form = new FormValidator( 'form', 'POST', api_get_self()."?".api_get_cidreq()."&id=".$work_id, '', array('enctype' => "multipart/form-data") ); $form->addElement('header', $form_title); $show_progress_bar = false; /* if ($submitGroupWorkUrl) { // For user coming from group space to publish his work $realUrl = str_replace($_configuration['root_sys'], api_get_path(WEB_PATH), str_replace("\\", '/', realpath($submitGroupWorkUrl))); $form->addElement('hidden', 'newWorkUrl', $submitGroupWorkUrl); $text_document = $form->addElement('text', 'document', get_lang('Document')); $defaults['document'] = '' . $realUrl . ''; $text_document->freeze(); } elseif ($item_id && ($is_allowed_to_edit or $is_author)) { $workUrl = $currentCourseRepositoryWeb . $workUrl; }*/ $form->addElement('hidden', 'id', $work_id); $form->addElement('hidden', 'item_id', $item_id); $form->addText('title', get_lang('Title'), true, array('id' => 'file_upload')); if ($is_allowed_to_edit && !empty($item_id)) { $sql = "SELECT contains_file, url FROM $work_table WHERE c_id = $course_id AND id ='$item_id' "; $result = Database::query($sql); if ($result !== false && Database::num_rows($result) > 0) { $row = Database::fetch_array($result); if ($row['contains_file'] || !empty($row['url'])) { $form->addLabel( get_lang('Download'), ''. Display::return_icon('save.png', get_lang('Save'),array(), ICON_SIZE_MEDIUM).' ' ); } } } $form->addHtmlEditor( 'description', get_lang('Description'), false, false, getWorkDescriptionToolbar() ); $defaults['title'] = $work_item['title']; $defaults["description"] = $work_item['description']; $defaults['qualification'] = $work_item['qualification']; if ($is_allowed_to_edit && !empty($item_id)) { // Get qualification from parent_id that will allow the validation qualification over $sql = "SELECT qualification FROM $work_table WHERE c_id = $course_id AND id ='$work_id' "; $result = Database::query($sql); $row = Database::fetch_array($result); $qualification_over = $row['qualification']; if (!empty($qualification_over) && intval($qualification_over) > 0) { $form->addText('qualification', array(get_lang('Qualification'), " / ".$qualification_over), false, 'size="10"'); $form->addElement('hidden', 'qualification_over', $qualification_over); } $form->addCheckBox( 'send_email', null, get_lang('SendMailToStudent') ); // Check if user to qualify has some DRHs $drhList = UserManager::getDrhListFromUser($work_item['user_id']); if (!empty($drhList)) { $form->addCheckBox( 'send_to_drh_users', null, get_lang('SendMailToHR') ); } } $form->addElement('hidden', 'active', 1); $form->addElement('hidden', 'accepted', 1); $form->addElement('hidden', 'item_to_edit', $item_id); $form->addElement('hidden', 'sec_token', $token); $text = get_lang('UpdateWork'); $class = 'save'; // fix the Ok button when we see the tool in the learn path $form->addButtonUpdate($text); $form->setDefaults($defaults); $error_message = null; $_course = api_get_course_info(); $currentCourseRepositorySys = api_get_path(SYS_COURSE_PATH).$_course['path'] . '/'; $succeed = false; if ($form->validate()) { if ($student_can_edit_in_session && $check) { /* * SPECIAL CASE ! For a work edited */ //Get the author ID for that document from the item_property table $item_to_edit_id = intval($_POST['item_to_edit']); $is_author = user_is_author($item_to_edit_id); if ($is_author) { $work_data = get_work_data_by_id($item_to_edit_id); if (!empty($_POST['title'])) { $title = isset($_POST['title']) ? $_POST['title'] : $work_data['title']; } $description = isset($_POST['description']) ? $_POST['description'] : $work_data['description']; $add_to_update = null; if ($is_allowed_to_edit && ($_POST['qualification'] !='' )) { $add_to_update = ', qualificator_id ='."'".api_get_user_id()."', "; $add_to_update .= ' qualification = '."'".Database::escape_string($_POST['qualification'])."',"; $add_to_update .= ' date_of_qualification = '."'".api_get_utc_datetime()."'"; if (isset($_POST['send_email'])) { $url = api_get_path(WEB_CODE_PATH).'work/view.php?'.api_get_cidreq().'&id='.$item_to_edit_id; $subject = sprintf(get_lang('ThereIsANewWorkFeedback'), $work_item['title']); $message = sprintf(get_lang('ThereIsANewWorkFeedbackInWorkXHere'), $url); MessageManager::send_message_simple( $work_item['user_id'], $subject, $message, api_get_user_id(), isset($_POST['send_to_drh_users']) ); } } if ($_POST['qualification'] > $_POST['qualification_over']) { $error_message .= Display::return_message( get_lang('QualificationMustNotBeMoreThanQualificationOver'), 'error' ); } else { $sql = "UPDATE " . $work_table . " SET title = '".Database::escape_string($title)."', description = '".Database::escape_string($description)."' ".$add_to_update." WHERE c_id = $course_id AND id = $item_to_edit_id"; Database::query($sql); } api_item_property_update( $_course, 'work', $item_to_edit_id, 'DocumentUpdated', $user_id ); $succeed = true; $error_message .= Display::return_message(get_lang('ItemUpdated')); } Security::clear_token(); } else { // Bad token or can't add works $error_message = Display::return_message(get_lang('IsNotPosibleSaveTheDocument'), 'error'); } if (!empty($error_message)) { Session::write('error_message', $error_message); } $script = 'work_list.php'; if ($is_allowed_to_edit) { $script = 'work_list_all.php'; } header('Location: '.api_get_path(WEB_CODE_PATH).'work/'.$script.'?'.api_get_cidreq().'&id='.$work_id); exit; } $htmlHeadXtra[] = to_javascript_work(); $tpl = new Template(); $content = null; if (!empty($work_id)) { if ($is_allowed_to_edit) { if (api_resource_is_locked_by_gradebook($work_id, LINK_STUDENTPUBLICATION)) { echo Display::display_warning_message(get_lang('ResourceLockedByGradebook')); } else { $comments = getWorkComments($work_item); $template = $tpl->get_template('work/comments.tpl'); $tpl->assign('comments', $comments); $commentForm = getWorkCommentForm($work_item, 'edit'); if (api_is_allowed_to_session_edit()) { $tpl->assign('form', $commentForm); } $content .= $form->returnForm(); $content .= $tpl->fetch($template); } } elseif ($is_author) { if (empty($work_item['qualificator_id']) || $work_item['qualificator_id'] == 0) { $content .= $form->returnForm(); } else { $content .= Display::return_message(get_lang('ActionNotAllowed'), 'error'); } } elseif ($student_can_edit_in_session && $has_ended == false) { $content .= $form->return_form(); } else { $content .= Display::return_message(get_lang('ActionNotAllowed'), 'error'); } } else { $content .= Display::return_message(get_lang('ActionNotAllowed'), 'error'); } $tpl->assign('content', $content); $tpl->display_one_col_template();