Merge pull request #3940

Editor : Add option to activate plugin uploadimage in ckeditor - Bt18997
pull/3944/head
Angel Fernando Quiroz Campos 4 years ago committed by GitHub
commit 020b723e49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 41
      main/inc/ajax/document.ajax.php
  2. 3
      main/install/configuration.dist.php
  3. 8
      src/Chamilo/CoreBundle/Component/Editor/CkEditor/Toolbar/Basic.php

@ -154,6 +154,47 @@ switch ($action) {
}
exit;
break;
case 'ck_uploadimage':
api_protect_course_script(true);
$isCkUploadImage = ($_COOKIE['ckCsrfToken'] == $_POST['ckCsrfToken']); // it comes from uploaimage drag and drop ckeditor
if ($isCkUploadImage) {
$data = [];
$fileUpload = $_FILES['upload'];
$currentDirectory = $_REQUEST['curdirpath'];
$isAllowedToEdit = api_is_allowed_to_edit(null, true);
if ($isAllowedToEdit) {
$globalFile['files'] = $fileUpload;
$result = DocumentManager::upload_document(
$globalFile,
$currentDirectory,
'',
'', // comment
0,
'',
false,
false,
'files'
);
if ($result) {
$courseInfo = api_get_course_info();
$courseDir = $courseInfo['path'].'/document';
$webCoursePath = api_get_path(WEB_COURSE_PATH);
$url = $webCoursePath.$courseDir.$currentDirectory.$fileUpload['name'];
$data = ['uploaded' => 1, 'fileName' => $fileUpload['name'], 'url' => $url];
}
} else {
$userId = api_get_user_id();
$syspath = UserManager::getUserPathById($userId, 'system').'my_files'.$currentDirectory;
$webpath = UserManager::getUserPathById($userId, 'web').'my_files'.$currentDirectory;
if (move_uploaded_file($fileUpload['tmp_name'], $syspath.$fileUpload['name'])) {
$url = $webpath.$fileUpload['name'];
$data = ['uploaded' => 1, 'fileName' => $fileUpload['name'], 'url' => $url];
}
}
echo json_encode($data);
exit;
}
break;
case 'document_preview':
$courseInfo = api_get_course_info_by_id($_REQUEST['course_id']);
if (!empty($courseInfo) && is_array($courseInfo)) {

@ -1974,6 +1974,9 @@ ALTER TABLE gradebook_comment ADD CONSTRAINT FK_C3B70763AD3ED51C FOREIGN KEY (gr
// and showing them in the SCORM upload form
//$_configuration['scorm_upload_from_cache'] = false;
// Enable image upload as file when doing a copy in the content or a drag and drop.
//$_configuration['enable_uploadimage_editor'] = false;
// KEEP THIS AT THE END
// -------- Custom DB changes
// Add user activation by confirmation email

@ -150,6 +150,11 @@ class Basic extends Toolbar
$plugins[] = 'blockimagepaste';
}
// it should be disabled first the option ck_editor_block_image_copy_paste to allow copy and drag in editor content
if (api_get_configuration_value('enable_uploadimage_editor')) {
$plugins[] = 'uploadimage';
}
$this->defaultPlugins = array_unique(array_merge($this->defaultPlugins, $plugins));
parent::__construct($toolbar, $config, $prefix);
@ -171,6 +176,9 @@ class Basic extends Toolbar
$config['customConfig'] = api_get_path(WEB_LIBRARY_JS_PATH).'ckeditor/config_js.php?'.api_get_cidreq();
$config['flash_flvPlayer'] = api_get_path(WEB_LIBRARY_JS_PATH).'ckeditor/plugins/flash/swf/player.swf';
if (api_get_configuration_value('enable_uploadimage_editor')) {
$config['imageUploadUrl'] = api_get_path(WEB_AJAX_PATH).'document.ajax.php?'.api_get_cidreq().'&a=ck_uploadimage&curdirpath=/';
}
/*filebrowserFlashBrowseUrl
filebrowserFlashUploadUrl
filebrowserImageBrowseLinkUrl

Loading…
Cancel
Save