Corrections in edit_paint and edit_svg in order to adopt the document id (partial) see # 3261

skala
Julio Montoya 14 years ago
parent 934db3da85
commit 3a64681231
  1. 33
      main/document/create_draw.php
  2. 28
      main/document/document.inc.php
  3. 64
      main/document/document.php
  4. 34
      main/document/edit_document.php
  5. 56
      main/document/edit_draw.php
  6. 37
      main/document/edit_paint.php
  7. 41
      main/inc/lib/document.lib.php

@ -6,7 +6,7 @@
*
* @package chamilo.document
*
* @author Juan Carlos Raña Trabado
* @author Juan Carlos Ra<EFBFBD>a Trabado
* @since 25/september/2010
*/
@ -69,24 +69,24 @@ if (!is_dir($filepath)) {
//groups //TODO: clean
if (isset ($_SESSION['_gid']) && $_SESSION['_gid'] != 0) {
$req_gid = '&amp;gidReq='.$_SESSION['_gid'];
$interbreadcrumb[] = array ("url" => "../group/group_space.php?gidReq=".$_SESSION['_gid'], "name" => get_lang('GroupSpace'));
$noPHP_SELF = true;
$to_group_id = $_SESSION['_gid'];
$group = GroupManager :: get_group_properties($to_group_id);
$path = explode('/', $dir);
if ('/'.$path[1] != $group['directory']) {
api_not_allowed(true);
}
$req_gid = '&amp;gidReq='.$_SESSION['_gid'];
$interbreadcrumb[] = array ("url" => "../group/group_space.php?gidReq=".$_SESSION['_gid'], "name" => get_lang('GroupSpace'));
$noPHP_SELF = true;
$to_group_id = $_SESSION['_gid'];
$group = GroupManager :: get_group_properties($to_group_id);
$path = explode('/', $dir);
if ('/'.$path[1] != $group['directory']) {
api_not_allowed(true);
}
$interbreadcrumb[] = array ("url" => "./document.php?curdirpath=".urlencode($_GET['dir']).$req_gid, "name" => get_lang('Documents'));
}
$interbreadcrumb[] = array ("url" => "./document.php?curdirpath=".urlencode($_GET['dir']).$req_gid, "name" => get_lang('Documents'));
if (!$is_allowed_in_course) {
api_not_allowed(true);
}
if (!($is_allowed_to_edit || $_SESSION['group_member_with_upload_rights'] || is_my_shared_folder($_user['user_id'], Security::remove_XSS($_GET['dir']),api_get_session_id()))) {
if (!($is_allowed_to_edit || $_SESSION['group_member_with_upload_rights'] || is_my_shared_folder(api_get_user_id(), Security::remove_XSS($_GET['dir']), api_get_session_id()))) {
api_not_allowed(true);
}
@ -148,11 +148,8 @@ if (api_browser_support('svg')){
//editor
echo '<iframe style=\'height: 550px; width: 100%;\' scrolling=\'no\' frameborder=\'0\' src=\''.api_get_path(WEB_LIBRARY_PATH).'svg-edit/svg-editor.php?lang='.$langsvgedit.'\'>';
echo '</iframe>';
}else{
} else {
Display::display_error_message(get_lang('BrowserDontSupportsSVG'));
}
Display :: display_footer();
?>
Display :: display_footer();

@ -345,7 +345,7 @@ function build_document_icon_tag($type, $path) {
//function build_edit_icons($document_data, $curdirpath, $type, $path, $visibility, $id, $is_template, $is_read_only = 0, $session_id = 0) {
function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0, $session_id = 0) {
if (isset($_SESSION['_gid'])) {
$req_gid = '&amp;gidReq='.$_SESSION['_gid'];
$req_gid = '&gidReq='.$_SESSION['_gid'];
} else {
$req_gid = '';
}
@ -383,12 +383,12 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
// If document is read only *or* we're in a session and the document
// is from a non-session context, hide the edition capabilities
if ($is_read_only /*or ($session_id!=api_get_session_id())*/) {
if ($is_read_only /*or ($session_id!=api_get_session_id())*/) {
if (api_is_course_admin() || api_is_platform_admin()) {
if($extension=='svg' && api_browser_support('svg') && api_get_setting('enabled_support_svg') == 'true') {
$modify_icons = '<a href="edit_draw.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
$modify_icons = '<a href="edit_draw.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} elseif($extension=='png' || $extension=='jpg' || $extension=='jpeg' || $extension=='bmp' || $extension=='gif' ||$extension=='pxd' && api_get_setting('enabled_support_pixlr') == 'true'){
$modify_icons = '<a href="edit_paint.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
$modify_icons = '<a href="edit_paint.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} else {
$modify_icons = '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
}
@ -403,27 +403,25 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
} else {
if ($is_certificate_mode) {
//$modify_icons = '<a href="edit_document.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'&selectcat='.$gradebook_category.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
$modify_icons = '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'&selectcat='.$gradebook_category.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} else {
if (api_get_session_id()) {
if ($document_data['session_id'] == api_get_session_id()) {
if ($extension=='svg' && api_browser_support('svg') && api_get_setting('enabled_support_svg') == 'true') {
$modify_icons = '<a href="edit_draw.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
$modify_icons = '<a href="edit_draw.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} elseif($extension=='png' || $extension=='jpg' || $extension=='jpeg' || $extension=='bmp' || $extension=='gif' ||$extension=='pxd' && api_get_setting('enabled_support_pixlr') == 'true'){
$modify_icons = '<a href="edit_paint.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
$modify_icons = '<a href="edit_paint.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} else {
$modify_icons = '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
}
}
} else {
$modify_icons .= '&nbsp;'.Display::return_icon('edit_na.png', get_lang('Edit'),array(), 22).'</a>';
$modify_icons .= '&nbsp;'.Display::return_icon('edit_na.png', get_lang('Edit'),array(), 22).'</a>';
}
} else {
if($extension=='svg' && api_browser_support('svg') && api_get_setting('enabled_support_svg') == 'true') {
$modify_icons = '<a href="edit_draw.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} elseif($extension=='png' || $extension=='jpg' || $extension=='jpeg' || $extension=='bmp' || $extension=='gif' ||$extension=='pxd' && api_get_setting('enabled_support_pixlr') == 'true'){
$modify_icons = '<a href="edit_paint.php?'.api_get_cidreq().'&curdirpath='.$curdirpath.'&amp;file='.urlencode($path).$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
if ($extension=='svg' && api_browser_support('svg') && api_get_setting('enabled_support_svg') == 'true') {
$modify_icons = '<a href="edit_draw.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} elseif($extension=='png' || $extension=='jpg' || $extension=='jpeg' || $extension=='bmp' || $extension=='gif' ||$extension=='pxd' && api_get_setting('enabled_support_pixlr') == 'true'){
$modify_icons = '<a href="edit_paint.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
} else {
$modify_icons = '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'">'.Display::return_icon('edit.png', get_lang('Modify'),'',22).'</a>';
}
@ -479,7 +477,6 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
}
}
//$extension = pathinfo($path, PATHINFO_EXTENSION);//already load above
if ($type == 'file' && ($extension == 'html' || $extension == 'htm')) {
if ($is_template == 0) {
if ((isset($_GET['curdirpath']) && $_GET['curdirpath'] != '/certificates') || !isset($_GET['curdirpath'])) {
@ -510,7 +507,6 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
}
$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(), 22).'</a>';
}
return $modify_icons;
}

@ -60,12 +60,12 @@ $(document).ready( function() {
} );
</script>';
// Session
/*
if (isset($_GET['id_session'])) {
$_SESSION['id_session'] = intval($_GET['id_session']);
}
}*/
// Create directory certificates
$course_id = api_get_course_id();
DocumentManager::create_directory_certificate_in_course($course_id);
DocumentManager::create_directory_certificate_in_course(api_get_course_id());
//Hack in order to use document.php?id=X
if (isset($_GET['id'])) {
@ -78,12 +78,36 @@ if (isset($_GET['id'])) {
$_GET['curdirpath'] = $document_data['path'];
}
// What's the current path?
// We will verify this a bit further down
if (isset($_GET['curdirpath']) && $_GET['curdirpath'] != '') {
$curdirpath = Security::remove_XSS($_GET['curdirpath']);
} elseif (isset($_POST['curdirpath']) && $_POST['curdirpath'] != '') {
$curdirpath = Security::remove_XSS($_POST['curdirpath']);
} else {
$curdirpath = '/';
}
$curdirpathurl = urlencode($curdirpath);
// Check the path
// If the path is not found (no document id), set the path to /
$document_id = DocumentManager::get_document_id($_course, $curdirpath);
if (!$document_id) {
$curdirpath = '/';
// Urlencoded version
$curdirpathurl = '%2F';
}
$current_folder_id = $document_id;
// Show preview
if (isset($_GET['curdirpath']) && $_GET['curdirpath'] == '/certificates' && isset($_GET['set_preview']) && $_GET['set_preview'] == strval(intval($_GET['set_preview']))) {
if (isset($_GET['set_preview'])) {
// Generate document HTML
$course_id = api_get_course_id();
$content_html = DocumentManager::replace_user_info_into_html($course_id);
// Generate document HTML
$content_html = DocumentManager::replace_user_info_into_html(api_get_course_id());
$new_content_html = $content_html;
@ -133,16 +157,7 @@ function confirmation (name) {
- some need defining before inclusion of libraries
*/
// What's the current path?
// We will verify this a bit further down
if (isset($_GET['curdirpath']) && $_GET['curdirpath'] != '') {
$curdirpath = Security::remove_XSS($_GET['curdirpath']);
} elseif (isset($_POST['curdirpath']) && $_POST['curdirpath'] != '') {
$curdirpath = Security::remove_XSS($_POST['curdirpath']);
} else {
$curdirpath = '/';
}
$curdirpathurl = urlencode($curdirpath);
// I'm in the certification module?
$is_certificate_mode = DocumentManager::is_certificate_mode($curdirpath);
@ -210,20 +225,13 @@ require_once $lib_path.'document.lib.php';
require_once $lib_path.'tablesort.lib.php';
require_once $lib_path.'fileUpload.lib.php';
// Check the path
// If the path is not found (no document id), set the path to /
$document_id = DocumentManager::get_document_id($_course, $curdirpath);
if (!$document_id) {
$curdirpath = '/';
// Urlencoded version
$curdirpathurl = '%2F';
}
// If they are looking at group documents they can't see the root
if ($to_group_id != 0 && $curdirpath == '/') {
$curdirpath = $group_properties['directory'];
$curdirpathurl = urlencode($group_properties['directory']);
}
$current_folder_id = $document_id;
// Check visibility of the current dir path. Don't show anything if not allowed
//@todo check this validation for coaches
@ -239,6 +247,7 @@ if (!$is_allowed_to_edit && api_is_coach()) {
$current_session_id = api_get_session_id();
/* Create shared folders */
if ($current_session_id==0) {
@ -535,10 +544,9 @@ if (isset($_GET['action']) && $_GET['action'] == 'copytomyfiles' && api_get_sett
}
require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
if (DocumentManager::delete_document($_course, $_GET['delete'], $base_work_dir)) {
if ( isset($_GET['delete_certificate_id']) && $_GET['delete_certificate_id'] == strval(intval($_GET['delete_certificate_id']))) {
$course_id = api_get_course_id();
if ( isset($_GET['delete_certificate_id']) && $_GET['delete_certificate_id'] == strval(intval($_GET['delete_certificate_id']))) {
$default_certificate_id = $_GET['delete_certificate_id'];
DocumentManager::remove_attach_certificate($course_id, $default_certificate_id);
DocumentManager::remove_attach_certificate(api_get_course_id(), $default_certificate_id);
}
Display::display_confirmation_message(get_lang('DocDeleted'));
} else {

@ -36,35 +36,27 @@ require_once '../inc/global.inc.php';
$htmlHeadXtra[] = '
<script type="text/javascript">
function InnerDialogLoaded()
{
function InnerDialogLoaded() {
/*
var B=new window.frames[0].FCKToolbarButton(\'Templates\',window.frames[0].FCKLang.Templates);
return B.ClickFrame();
*/
var isIE = (navigator.appVersion.indexOf(\'MSIE\') != -1) ? true : false ;
var EditorFrame = null ;
if ( !isIE )
{
if ( !isIE ) {
EditorFrame = window.frames[0] ;
}
else
{
} else {
// For this dynamic page window.frames[0] enumerates frames in a different order in IE.
// We need a sure method to locate the frame that contains the online editor.
for ( var i = 0, n = window.frames.length ; i < n ; i++ )
{
if ( window.frames[i].location.toString().indexOf(\'InstanceName=content\') != -1 )
{
for ( var i = 0, n = window.frames.length ; i < n ; i++ ) {
if ( window.frames[i].location.toString().indexOf(\'InstanceName=content\') != -1 ) {
EditorFrame = window.frames[i] ;
}
}
}
if ( !EditorFrame )
{
if ( !EditorFrame ) {
return null ;
}
@ -72,11 +64,9 @@ function InnerDialogLoaded()
return B.ClickFrame();
};
function FCKeditor_OnComplete( editorInstance )
{
function FCKeditor_OnComplete( editorInstance) {
document.getElementById(\'frmModel\').innerHTML = "<iframe style=\'height: 525px; width: 180px;\' scrolling=\'no\' frameborder=\'0\' src=\''.api_get_path(WEB_LIBRARY_PATH).'fckeditor/editor/fckdialogframe.html \'>";
}
</script>';
$_SESSION['whereami'] = 'document/create';
@ -122,7 +112,6 @@ $is_certificate_mode = DocumentManager::is_certificate_mode($dir);
//Call from
$call_from_tool = Security::remove_XSS($_GET['origin']);
$slide_id = Security::remove_XSS($_GET['origin_opt']);
$file_name = $doc;
$baseServDir = api_get_path(SYS_COURSE_PATH);
@ -567,7 +556,8 @@ function change_name($base_work_dir, $source_file, $rename_to, $dir, $doc) {
}
//return button back to
function show_return($document_id, $path, $call_from_tool='', $slide_id=0, $is_certificate_mode=false) {
function show_return($document_id, $path, $call_from_tool='', $slide_id=0, $is_certificate_mode=false) {
global $parent_id;
$pathurl = urlencode($path);
echo '<div class="actions">';
@ -576,13 +566,13 @@ function show_return($document_id, $path, $call_from_tool='', $slide_id=0, $is_c
} elseif($call_from_tool=='slideshow') {
echo '<a href="'.api_get_path(WEB_PATH).'main/document/slideshow.php?slide_id='.$slide_id.'&curdirpath='.Security::remove_XSS(urlencode($_GET['curdirpath'])).'">'.Display::return_icon('slideshow.png', get_lang('BackTo').' '.get_lang('ViewSlideshow'),'','32').'</a>';
} elseif($call_from_tool=='editdraw') {
echo '<a href="document.php?action=exit_slideshow&curdirpath='.$pathurl.'">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="document.php?action=exit_slideshow&id='.$parent_id.'">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="javascript:history.back(1)">'.Display::return_icon('draw.png', get_lang('BackTo').' '.get_lang('Draw'), array(), 32).'</a>';
} elseif($call_from_tool=='editpaint'){
echo '<a href="document.php?action=exit_slideshow&curdirpath='.$pathurl.'">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'), array(), '32').'</a>';
echo '<a href="document.php?action=exit_slideshow&id='.$parent_id.'">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'), array(), '32').'</a>';
echo '<a href="javascript:history.back(1)">'.Display::return_icon('paint.png', get_lang('BackTo').' '.get_lang('Paint'), array(), 32).'</a>';
} else {
echo '<a href="document.php?action=exit_slideshow&id='.$document_id.'">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="document.php?action=exit_slideshow&id='.$parent_id.'">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
}
echo '</div>';
}

@ -6,7 +6,7 @@
*
* @package chamilo.document
*
* @author Juan Carlos Raña Trabado
* @author Juan Carlos Ra<EFBFBD>a Trabado
* @since 25/september/2010
*/
@ -22,35 +22,34 @@ $this_section = SECTION_COURSES;
require_once api_get_path(SYS_CODE_PATH).'document/document.inc.php';
require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
//
api_protect_course_script();
api_block_anonymous_users();
if (!isset($_GET['curdirpath']) || !isset($_GET['file'])){
api_not_allowed(true);
$document_data = DocumentManager::get_document_data_by_id($_GET['id'], api_get_course_id());
if (empty($document_data)) {
api_not_allowed();
} else {
$document_id = $document_data['id'];
$file_path = $document_data['path'];
$dir = dirname($document_data['path']);
$parent_id = DocumentManager::get_document_id(api_get_course_info(), $dir);
}
/* Constants & Variables */
$current_session_id=api_get_session_id();
//path for svg-edit save
$_SESSION['draw_dir']=Security::remove_XSS($_GET['curdirpath']);
if($_SESSION['draw_dir']=='/'){
$_SESSION['draw_dir']='';
$_SESSION['draw_dir']=Security::remove_XSS($dir);
if ($_SESSION['draw_dir']=='/'){
$_SESSION['draw_dir'] = '';
}
$_SESSION['draw_file']=basename(Security::remove_XSS($_GET['file']));
//
$get_file = Security::remove_XSS($_GET['file']);
$_SESSION['draw_file']=basename(Security::remove_XSS($file_path));
$get_file = Security::remove_XSS($file_path);
$file = basename($get_file);
$temp_file = explode(".",$file);
$filename=$temp_file[0];
$nameTools = get_lang('EditDocument') . ': '.$filename;
$dir = Security::remove_XSS($_GET['curdirpath']);
$courseDir = $_course['path'].'/document';
$is_allowed_to_edit = api_is_allowed_to_edit(null, true);
/* Other initialization code */
@ -81,23 +80,19 @@ if (!is_dir($filepath)) {
}
//groups //TODO:clean
if (isset ($_SESSION['_gid']) && $_SESSION['_gid'] != 0) {
if (isset($_SESSION['_gid']) && $_SESSION['_gid'] != 0) {
$req_gid = '&amp;gidReq='.$_SESSION['_gid'];
$interbreadcrumb[] = array ('url' => '../group/group_space.php?gidReq='.$_SESSION['_gid'], 'name' => get_lang('GroupSpace'));
$group_document = true;
$noPHP_SELF = true;
}
$my_cur_dir_path = Security::remove_XSS($_GET['curdirpath']);
if (!$is_certificate_mode)
$interbreadcrumb[]=array("url"=>"./document.php?curdirpath=".urlencode($my_cur_dir_path).$req_gid, "name"=> get_lang('Documents'));
$interbreadcrumb[]=array("url"=>"./document.php?id=".$document_id.$req_gid, "name"=> get_lang('Documents'));
else
$interbreadcrumb[]= array ( 'url' => '../gradebook/'.$_SESSION['gradebook_dest'], 'name' => get_lang('Gradebook'));
$is_allowedToEdit = is_allowed_to_edit() || $_SESSION['group_member_with_upload_rights'] || is_my_shared_folder($_user['user_id'], $my_cur_dir_path, $current_session_id);
$is_allowedToEdit = is_allowed_to_edit() || $_SESSION['group_member_with_upload_rights'] || is_my_shared_folder(api_get_user_id(), $dir, $current_session_id);
if (!$is_allowedToEdit) {
api_not_allowed(true);
@ -107,25 +102,20 @@ event_access_tool(TOOL_DOCUMENT);
Display :: display_header($nameTools, 'Doc');
echo '<div class="actions">';
echo '<a href="document.php?curdirpath='.Security::remove_XSS($_GET['curdirpath']).'">'.Display::return_icon('back.png',get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="document.php?id='.$parent_id.'">'.Display::return_icon('back.png',get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="edit_document.php?'.api_get_cidreq().'&curdirpath='.Security::remove_XSS($_GET['curdirpath']).'&amp;file='.urlencode($dir.$file).$req_gid.'&amp;origin=editdraw">'.Display::return_icon('edit.png',get_lang('Rename').'/'.get_lang('Comments'),'','32').'</a>';
echo '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'&origin=editdraw">'.Display::return_icon('edit.png',get_lang('Rename').'/'.get_lang('Comments'),'','32').'</a>';
echo '</div>';
if (api_browser_support('svg')){
if (api_browser_support('svg')) {
//automatic loading the course language
$svgedit_code_translation_table = array('' => 'en', 'pt' => 'pt-Pt', 'sr' => 'sr_latn');
$langsvgedit = api_get_language_isocode();
$langsvgedit = isset($svgedit_code_translation_table[$langsvgedit]) ? $svgedit_code_translation_table[$langsvgedit] : $langsvgedit;
$langsvgedit = file_exists(api_get_path(LIBRARY_PATH).'svg-edit/locale/lang.'.$langsvgedit.'.js') ? $langsvgedit : 'en';
$langsvgedit = file_exists(api_get_path(LIBRARY_PATH).'svg-edit/locale/lang.'.$langsvgedit.'.js') ? $langsvgedit : 'en';
echo '<iframe style=\'height: 550px; width: 100%;\' scrolling=\'no\' frameborder=\'0\' src=\''.api_get_path(WEB_LIBRARY_PATH).'svg-edit/svg-editor.php?url=../../../../courses/'.$courseDir.$dir.$file.'&amp;lang='.$langsvgedit.'\'>';
echo '</iframe>';
}else{
} else {
Display::display_error_message(get_lang('BrowserDontSupportsSVG'));
}
Display::display_footer();
?>
Display::display_footer();

@ -26,29 +26,32 @@ require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
api_protect_course_script();
api_block_anonymous_users();
if (!isset($_GET['curdirpath']) || !isset($_GET['file'])){
api_not_allowed(true);
$document_data = DocumentManager::get_document_data_by_id($_GET['id'], api_get_course_id());
if (empty($document_data)) {
api_not_allowed();
} else {
$document_id = $document_data['id'];
$file_path = $document_data['path'];
$dir = dirname($document_data['path']);
$parent_id = DocumentManager::get_document_id(api_get_course_info(), $dir);
}
/* Constants & Variables */
$current_session_id=api_get_session_id();
//path for pixlr save
$_SESSION['paint_dir']=Security::remove_XSS($_GET['curdirpath']);
$_SESSION['paint_dir']=Security::remove_XSS($dir);
if($_SESSION['paint_dir']=='/'){
$_SESSION['paint_dir']='';
$_SESSION['paint_dir']='';
}
$_SESSION['paint_file']=basename(Security::remove_XSS($_GET['file']));
$_SESSION['paint_file']=basename(Security::remove_XSS($file_path));
$get_file = Security::remove_XSS($_GET['file']);
$get_file = Security::remove_XSS($file_path);
$file = basename($get_file);
$temp_file = explode(".",$file);
$filename=$temp_file[0];
$nameTools = get_lang('EditDocument') . ': '.$filename;
$dir = Security::remove_XSS($_GET['curdirpath']);
$document_id = DocumentManager::get_document_id(api_get_course_info(), $get_file);
$courseDir = $_course['path'].'/document';
@ -91,13 +94,12 @@ if (isset ($_SESSION['_gid']) && $_SESSION['_gid'] != 0) {
}
$my_cur_dir_path = Security::remove_XSS($_GET['curdirpath']);
if (!$is_certificate_mode)
$interbreadcrumb[]=array("url"=>"./document.php?curdirpath=".urlencode($my_cur_dir_path).$req_gid, "name"=> get_lang('Documents'));
$interbreadcrumb[]=array("url"=>"./document.php?id=".$document_id.$req_gid, "name"=> get_lang('Documents'));
else
$interbreadcrumb[]= array ( 'url' => '../gradebook/'.$_SESSION['gradebook_dest'], 'name' => get_lang('Gradebook'));
$interbreadcrumb[]= array ( 'url' => '../gradebook/'.$_SESSION['gradebook_dest'], 'name' => get_lang('Gradebook'));
$is_allowedToEdit = is_allowed_to_edit() || $_SESSION['group_member_with_upload_rights'] || is_my_shared_folder($_user['user_id'], $my_cur_dir_path, $current_session_id);
$is_allowedToEdit = is_allowed_to_edit() || $_SESSION['group_member_with_upload_rights'] || is_my_shared_folder(api_get_user_id(), $dir, $current_session_id);
if (!$is_allowedToEdit) {
api_not_allowed(true);
@ -106,10 +108,9 @@ if (!$is_allowedToEdit) {
event_access_tool(TOOL_DOCUMENT);
Display :: display_header($nameTools, 'Doc');
echo '<div class="actions">';
echo '<a href="document.php?curdirpath='.Security::remove_XSS($_GET['curdirpath']).'">'.Display::return_icon('back.png',get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'&amp;origin=editpaint">'.Display::return_icon('edit.png', get_lang('Rename').'/'.get_lang('Comment' ),'','32').'</a>';
echo '<div class="actions">';
echo '<a href="document.php?id='.$parent_id.'">'.Display::return_icon('back.png',get_lang('BackTo').' '.get_lang('DocumentsOverview'),'','32').'</a>';
echo '<a href="edit_document.php?'.api_get_cidreq().'&id='.$document_id.$req_gid.'&origin=editpaint">'.Display::return_icon('edit.png', get_lang('Rename').'/'.get_lang('Comment' ),'','32').'</a>';
echo '</div>';
///pixlr
@ -122,7 +123,7 @@ $langpixlr = isset($pixlr_code_translation_table[$langpixlr]) ? $pixlredit_code_
$loc=$langpixlr;// deprecated ?? TODO:check pixlr read user browser
$exit_path=api_get_path(WEB_CODE_PATH).'document/exit_pixlr.php';
$_SESSION['exit_pixlr']= Security::remove_XSS($_GET['curdirpath']);
$_SESSION['exit_pixlr']= Security::remove_XSS($dir);
$exit=$exit_path;
$referrer="Chamilo";

@ -999,6 +999,9 @@ class DocumentManager {
*/
public static function get_document_data_by_id($id, $course_code) {
$course_info = api_get_course_info($course_code);
if (empty($course_info)) {
return false;
}
$TABLE_DOCUMENT = Database :: get_course_table(TABLE_DOCUMENT, $course_info['dbName']);
$id = intval($id);
$sql = "SELECT * FROM $TABLE_DOCUMENT WHERE id = $id ";
@ -1300,32 +1303,32 @@ class DocumentManager {
* @return void()
*/
function create_directory_certificate_in_course ($course_id) {
global $_course;
global $_user;
$to_group_id=0;
$to_user_id=null;
$course_dir = $_course['path']."/document/";
$sys_course_path = api_get_path(SYS_COURSE_PATH);
$base_work_dir=$sys_course_path.$course_dir;
$base_work_dir_test=$base_work_dir.'certificates';
$dir_name='/certificates';
$post_dir_name=get_lang('CertificatesFiles');
$visibility_command='invisible';
if (!is_dir($base_work_dir_test)) {
$created_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$dir_name,$post_dir_name);
$update_id=DocumentManager::get_document_id_of_directory_certificate();
api_item_property_update($_course, TOOL_DOCUMENT, $update_id, $visibility_command, $_user['user_id']);
}
$course_info = api_get_course_info($course_id);
if (!empty($course_info)) {
$to_group_id=0;
$to_user_id=null;
$course_dir = $course_info['path']."/document/";
$sys_course_path = api_get_path(SYS_COURSE_PATH);
$base_work_dir=$sys_course_path.$course_dir;
$base_work_dir_test=$base_work_dir.'certificates';
$dir_name='/certificates';
$post_dir_name=get_lang('CertificatesFiles');
$visibility_command='invisible';
if (!is_dir($base_work_dir_test)) {
$created_dir = create_unexisting_directory($course_info, api_get_user_id() ,$to_group_id,$to_user_id,$base_work_dir,$dir_name,$post_dir_name);
$update_id=DocumentManager::get_document_id_of_directory_certificate();
api_item_property_update($course_info, TOOL_DOCUMENT, $update_id, $visibility_command, api_get_user_id());
}
}
}
/**
* Get the document id of the directory certificate
* @param string The course id
* @return int The document id of the directory certificate
*/
function get_document_id_of_directory_certificate () {
global $_course;
$tbl_document=Database::get_course_table(TABLE_DOCUMENT);
$tbl_document=Database::get_course_table(TABLE_DOCUMENT);
$sql='SELECT id FROM '.$tbl_document.' WHERE path="/certificates" ';
$rs=Database::query($sql);
$row=Database::fetch_array($rs);

Loading…
Cancel
Save