本文整理汇总了PHP中DocumentManager::get_document_id方法的典型用法代码示例。如果您正苦于以下问题:PHP DocumentManager::get_document_id方法的具体用法?PHP DocumentManager::get_document_id怎么用?PHP DocumentManager::get_document_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DocumentManager
的用法示例。
在下文中一共展示了DocumentManager::get_document_id方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processNewDir
/**
* Create new directories.
* If in safe_mode, nothing happens.
* @return boolean true if created, false otherwise.
*/
function processNewDir()
{
if ($this->config['safe_mode']) {
return false;
}
if (isset($_GET['newDir']) && isset($_GET['dir'])) {
$newDir = rawurldecode($_GET['newDir']);
$dir = rawurldecode($_GET['dir']);
$path = Files::makePath($this->getBaseDir(), $dir);
$fullpath = Files::makePath($path, Files::escape($newDir));
if (is_dir($fullpath)) {
return false;
} else {
//adding to the DB
// now the create_unexisting_directory will create the folder
//$result = Files::createFolder($fullpath);
global $_course;
if (isset($_course) && !empty($_course) && isset($_course['code'])) {
//@todo make this str to functions
$base_dir = substr($path, 0, strpos($path, '/document/') + 9);
//
$new_dir = substr($fullpath, strlen($base_dir), -1);
//
create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), 0, 0, $base_dir, $new_dir, $newDir);
$doc_id = DocumentManager::get_document_id($_course, $new_dir);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id(), null, null, null, null, api_get_session_id());
} else {
return Files::createFolder($fullpath);
}
return true;
}
}
}
示例2: getFileAction
/**
* @param string $courseCode
* @param string $fileName
* @return \Symfony\Component\HttpFoundation\BinaryFileResponse
*/
public function getFileAction($courseCode, $fileName)
{
$courseInfo = api_get_course_info($courseCode);
$sessionId = $this->getRequest()->get('id_session');
$docId = \DocumentManager::get_document_id($courseInfo, "/" . $fileName);
$filePath = null;
if ($docId) {
$isVisible = \DocumentManager::is_visible_by_id($docId, $courseInfo, $sessionId, api_get_user_id());
$documentData = \DocumentManager::get_document_data_by_id($docId, $courseCode);
$filePath = $documentData['absolute_path'];
event_download($filePath);
}
if (!api_is_allowed_to_edit() && !$isVisible) {
$this->abort(500);
}
return $this->sendFile($filePath);
}
示例3: array
$language_file = array('document');
//require_once '../inc/global.inc.php';
$_SESSION['whereami'] = 'document/createpaint';
$this_section = SECTION_COURSES;
require_once 'document.inc.php';
$nameTools = get_lang('PhotoRetouching');
api_protect_course_script();
api_block_anonymous_users();
if (api_get_setting('enabled_support_paint') == 'false') {
api_not_allowed(true);
}
$document_data = DocumentManager::get_document_data_by_id($_GET['id'], api_get_course_id(), true);
if (empty($document_data)) {
if (api_is_in_group()) {
$group_properties = GroupManager::get_group_properties(api_get_group_id());
$document_id = DocumentManager::get_document_id(api_get_course_info(), $group_properties['directory']);
$document_data = DocumentManager::get_document_data_by_id($document_id, api_get_course_id());
}
}
$document_id = $document_data['id'];
$dir = $document_data['path'];
//$dir = isset($_GET['dir']) ? Security::remove_XSS($_GET['dir']) : Security::remove_XSS($_POST['dir']);
$is_allowed_to_edit = api_is_allowed_to_edit(null, true);
//path for pixlr save
$_SESSION['paint_dir'] = Security::remove_XSS($dir);
if ($_SESSION['paint_dir'] == '/') {
$_SESSION['paint_dir'] = '';
}
$_SESSION['paint_file'] = get_lang('NewImage');
// Please, do not modify this dirname formatting
if (strstr($dir, '..')) {
示例4: mkdir
mkdir($filepath . 'css', api_get_permissions_for_new_directories());
$doc_id = FileManager::add_document($_course, $dir . 'css', 'folder', 0, 'css');
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'FolderCreated', api_get_user_id(), null, null, null, null, $current_session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id(), null, null, null, null, $current_session_id);
}
if (!is_file($filepath . 'css/frames.css')) {
$platform_theme = api_get_setting('stylesheets');
if (file_exists(api_get_path(SYS_CSS_PATH) . 'themes/' . $platform_theme . '/frames.css')) {
copy(api_get_path(SYS_CSS_PATH) . 'themes/' . $platform_theme . '/frames.css', $filepath . 'css/frames.css');
$doc_id = FileManager::add_document($_course, $dir . 'css/frames.css', 'file', filesize($filepath . 'css/frames.css'), 'frames.css');
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', api_get_user_id(), null, null, null, null, $current_session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id(), null, null, null, null, $current_session_id);
}
}
// "WHAT'S NEW" notification: update table item_property
$document_id = DocumentManager::get_document_id($_course, $file);
if ($document_id) {
FileManager::update_existing_document($_course, $document_id, $file_size, $read_only_flag);
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'DocumentUpdated', api_get_user_id(), null, null, null, null, $current_session_id);
// Update parent folders
FileManager::item_property_update_on_folder($_course, $dir, api_get_user_id());
header('Location: document.php?id=' . $document_data['parent_id']);
exit;
} else {
$msgError = get_lang('Impossible');
}
} else {
$msgError = get_lang('Impossible');
}
} else {
if ($document_id) {
示例5: showQuestion
//.........这里部分代码省略.........
if ($answerCorrect) {
$s .= Display::div($counterAnswer, ['id' => "drop_{$windowId}", 'class' => 'droppable col-md-2']);
$counterAnswer++;
}
}
$s .= '</div>';
// row
$s .= '</div>';
// col-md-12
$s .= '</div>';
// col-md-12 ui-widget ui-helper-clearfix
}
if (in_array($answerType, [MATCHING, MATCHING_DRAGGABLE])) {
$s .= '</div>';
//drag_question
}
$s .= '</div>';
//question_options row
// destruction of the Answer object
unset($objAnswerTmp);
// destruction of the Question object
unset($objQuestionTmp);
if ($origin != 'export') {
echo $s;
} else {
return $s;
}
} elseif ($answerType == HOT_SPOT || $answerType == HOT_SPOT_DELINEATION) {
global $exerciseId, $exe_id;
// Question is a HOT_SPOT
//checking document/images visibility
if (api_is_platform_admin() || api_is_course_admin()) {
$course = api_get_course_info();
$doc_id = DocumentManager::get_document_id($course, '/images/' . $pictureName);
if (is_numeric($doc_id)) {
$images_folder_visibility = api_get_item_visibility($course, 'document', $doc_id, api_get_session_id());
if (!$images_folder_visibility) {
//This message is shown only to the course/platform admin if the image is set to visibility = false
Display::display_warning_message(get_lang('ChangeTheVisibilityOfTheCurrentImage'));
}
}
}
$questionName = $objQuestionTmp->selectTitle();
$questionDescription = $objQuestionTmp->selectDescription();
if ($freeze) {
echo "\n <script>\n \$(document).on('ready', function () {\n new " . ($answerType == HOT_SPOT ? "HotspotQuestion" : "DelineationQuestion") . "({\n questionId: {$questionId},\n exerciseId: {$exerciseId},\n selector: '#hotspot-preview-{$questionId}',\n for: 'preview'\n });\n });\n </script>\n <div id=\"hotspot-preview-{$questionId}\"></div>\n ";
return;
}
// Get the answers, make a list
$objAnswerTmp = new Answer($questionId);
$nbrAnswers = $objAnswerTmp->selectNbrAnswers();
// get answers of hotpost
$answers_hotspot = array();
for ($answerId = 1; $answerId <= $nbrAnswers; $answerId++) {
$answers = $objAnswerTmp->selectAnswerByAutoId($objAnswerTmp->selectAutoId($answerId));
$answers_hotspot[$answers['id']] = $objAnswerTmp->selectAnswer($answerId);
}
$answerList = '';
if ($answerType != HOT_SPOT_DELINEATION) {
$answerList = '
<div class="well well-sm">
<h5 class="page-header">' . get_lang('HotspotZones') . '</h5>
<ol>
';
if (!empty($answers_hotspot)) {
ksort($answers_hotspot);
示例6: addFileToDocumentTool
/**
* @param string $filePath
* @param string $path
* @param $courseInfo
* @param string $whatIfFileExists overwrite|rename
* @param null $userId
* @param null $groupId
* @param null $toUserId
* @return bool|path
*/
public static function addFileToDocumentTool($filePath, $path, $courseInfo, $userId, $whatIfFileExists = 'overwrite', $groupId = null, $toUserId = null)
{
if (!file_exists($filePath)) {
return false;
}
$fileInfo = pathinfo($filePath);
$file = array('name' => $fileInfo['basename'], 'tmp_name' => $filePath, 'size' => filesize($filePath), 'from_file' => true);
$course_dir = $courseInfo['path'] . '/document';
$baseWorkDir = api_get_path(SYS_COURSE_PATH) . $course_dir;
$filePath = handle_uploaded_document($courseInfo, $file, $baseWorkDir, $path, $userId, $groupId, $toUserId, false, $whatIfFileExists, false);
if ($filePath) {
return DocumentManager::get_document_id($courseInfo, $filePath);
}
return false;
}
示例7: array
/* INIT SECTION */
$language_file = array('document');
require_once '../inc/global.inc.php';
$_SESSION['whereami'] = 'document/editdraw';
$this_section = SECTION_COURSES;
require_once api_get_path(SYS_CODE_PATH) . 'document/document.inc.php';
api_protect_course_script();
api_block_anonymous_users();
$document_data = DocumentManager::get_document_data_by_id($_GET['id'], api_get_course_id(), true);
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);
$my_cur_dir_path = Security::remove_XSS($_GET['curdirpath']);
}
$dir = str_replace('\\', '/', $dir);
//and urlencode each url $curdirpath (hack clean $curdirpath under Windows - Bug #3261)
/* Constants & Variables */
$current_session_id = api_get_session_id();
$group_id = api_get_group_id();
//path for svg-edit save
$_SESSION['draw_dir'] = Security::remove_XSS($dir);
if ($_SESSION['draw_dir'] == '/') {
$_SESSION['draw_dir'] = '';
}
$_SESSION['draw_file'] = basename(Security::remove_XSS($file_path));
$get_file = Security::remove_XSS($file_path);
$file = basename($get_file);
示例8: while
} else {
$basename_chat = 'messages-' . $date_now;
}
}
if ($reset && $isMaster) {
$i = 1;
while (file_exists($chat_path . $basename_chat . '-' . $i . '.log.html')) {
$i++;
}
@rename($chat_path . $basename_chat . '.log.html', $chat_path . $basename_chat . '-' . $i . '.log.html');
@fclose(fopen($chat_path . $basename_chat . '.log.html', 'w'));
$doc_id = add_document($_course, $basepath_chat . '/' . $basename_chat . '-' . $i . '.log.html', 'file', filesize($chat_path . $basename_chat . '-' . $i . '.log.html'), $basename_chat . '-' . $i . '.log.html');
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $userId, $group_id, null, null, null, $session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $userId, $group_id, null, null, null, $session_id);
item_property_update_on_folder($_course, $basepath_chat, $userId);
$doc_id = DocumentManager::get_document_id($_course, $basepath_chat . '/' . $basename_chat . '.log.html');
update_existing_document($_course, $doc_id, 0);
}
$remove = 0;
$content = array();
if (file_exists($chat_path . $basename_chat . '.log.html')) {
$content = file($chat_path . $basename_chat . '.log.html');
$nbr_lines = sizeof($content);
$remove = $nbr_lines - 100;
}
if ($remove < 0) {
$remove = 0;
}
array_splice($content, 0, $remove);
require 'header_frame.inc.php';
if (isset($_GET['origin']) && $_GET['origin'] == 'whoisonline') {
示例9: build_missing_files_form
/**
* This function builds a form that asks for the missing images in a html file
* maybe we should do this another way?
*
* @param array $missing_files
* @param string $upload_path
* @param string $file_name
* @return string the form
*/
function build_missing_files_form($missing_files, $upload_path, $file_name)
{
// Do we need a / or not?
$added_slash = $upload_path == '/' ? '' : '/';
$folder_id = DocumentManager::get_document_id(api_get_course_info(), $upload_path);
// Build the form
$form = "<p><strong>" . get_lang('MissingImagesDetected') . "</strong></p>" . "<form method=\"post\" action=\"" . api_get_self() . "\" enctype=\"multipart/form-data\">" . "<input type=\"hidden\" name=\"related_file\" value=\"" . $upload_path . $added_slash . $file_name . "\" />" . "<input type=\"hidden\" name=\"upload_path\" value=\"" . $upload_path . "\" />" . "<input type=\"hidden\" name=\"id\" value=\"" . $folder_id . "\" />" . "<table border=\"0\">";
foreach ($missing_files as &$this_img_file_path) {
$form .= "<tr>" . "<td>" . basename($this_img_file_path) . " : </td>" . "<td>" . "<input type=\"file\" name=\"img_file[]\"/>" . "<input type=\"hidden\" name=\"img_file_path[]\" value=\"" . $this_img_file_path . "\" />" . "</td>" . "</tr>";
}
$form .= "</table>" . "<button type='submit' name=\"cancel_submit_image\" value=\"" . get_lang('Cancel') . "\" class=\"cancel\">" . get_lang('Cancel') . "</button>" . "<button type='submit' name=\"submit_image\" value=\"" . get_lang('Ok') . "\" class=\"save\">" . get_lang('Ok') . "</button>" . "</form>";
return $form;
}
示例10: restore_documents
/**
* Restore documents
*
* @param int $session_id
* @param bool $respect_base_content
* @param string $destination_course_code
*/
public function restore_documents($session_id = 0, $respect_base_content = false, $destination_course_code = '')
{
$course_info = api_get_course_info($destination_course_code);
if ($this->course->has_resources(RESOURCE_DOCUMENT)) {
$table = Database::get_course_table(TABLE_DOCUMENT);
$resources = $this->course->resources;
$path = api_get_path(SYS_COURSE_PATH) . $this->course->destination_path . '/';
foreach ($resources[RESOURCE_DOCUMENT] as $id => $document) {
if (empty($document->item_properties[0]['id_session'])) {
$my_session_id = 0;
} else {
$my_session_id = $session_id;
}
if ($document->file_type == FOLDER) {
$visibility = $document->item_properties[0]['visibility'];
$new = substr($document->path, 8);
$folderList = explode('/', $new);
$tempFolder = '';
// Check if the parent path exists.
foreach ($folderList as $folder) {
$folderToCreate = $tempFolder . $folder;
$sysFolderPath = $path . 'document' . $folderToCreate;
$tempFolder .= $folder . '/';
if (empty($folderToCreate)) {
continue;
}
$title = basename($sysFolderPath);
// File doesn't exist in file system.
if (!is_dir($sysFolderPath)) {
// Creating directory
create_unexisting_directory($course_info, api_get_user_id(), $my_session_id, 0, 0, $path . 'document', $folderToCreate, $title, $visibility);
} else {
// File exist in file system.
$documentData = DocumentManager::get_document_id($course_info, $folderToCreate, $my_session_id);
if (empty($documentData)) {
/* This means the folder exists in the
filesystem but not in the DB, trying to fix it */
add_document($course_info, $folderToCreate, 'folder', 0, $title, null, null, false, null, $my_session_id);
}
}
}
} elseif ($document->file_type == DOCUMENT) {
//Checking if folder exists in the database otherwise we created it
$dir_to_create = dirname($document->path);
if (!empty($dir_to_create) && $dir_to_create != 'document' && $dir_to_create != '/') {
if (is_dir($path . dirname($document->path))) {
$sql = "SELECT id FROM {$table}\n WHERE\n c_id = " . $this->destination_course_id . " AND\n path = '/" . self::DBUTF8escapestring(substr(dirname($document->path), 9)) . "'";
$res = Database::query($sql);
if (Database::num_rows($res) == 0) {
//continue;
$visibility = $document->item_properties[0]['visibility'];
$new = '/' . substr(dirname($document->path), 9);
$title = str_replace('/', '', $new);
// This code fixes the possibility for a file without a directory entry to be
$document_id = add_document($course_info, $new, 'folder', 0, $title, null, null, false);
api_item_property_update($course_info, TOOL_DOCUMENT, $document_id, 'FolderCreated', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
}
}
}
if (file_exists($path . $document->path)) {
switch ($this->file_option) {
case FILE_OVERWRITE:
$origin_path = $this->course->backup_path . '/' . $document->path;
if (file_exists($origin_path)) {
copy($origin_path, $path . $document->path);
$sql = "SELECT id FROM {$table}\n WHERE\n c_id = " . $this->destination_course_id . " AND\n path = '/" . self::DBUTF8escapestring(substr($document->path, 9)) . "'";
$res = Database::query($sql);
$count = Database::num_rows($res);
if ($count == 0) {
$params = ['path' => "/" . self::DBUTF8(substr($document->path, 9)), 'c_id' => $this->destination_course_id, 'comment' => self::DBUTF8($document->comment), 'title' => self::DBUTF8($document->title), 'filetype' => self::DBUTF8($document->file_type), 'size' => self::DBUTF8($document->size), 'session_id' => $my_session_id];
$document_id = Database::insert($table, $params);
if ($document_id) {
$sql = "UPDATE {$table} SET id = iid WHERE iid = {$document_id}";
Database::query($sql);
}
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $document_id;
api_item_property_update($course_info, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
} else {
$obj = Database::fetch_object($res);
$document_id = $obj->id;
$params = ['path' => "/" . self::DBUTF8(substr($document->path, 9)), 'c_id' => $this->destination_course_id, 'comment' => self::DBUTF8($document->comment), 'title' => self::DBUTF8($document->title), 'filetype' => self::DBUTF8($document->file_type), 'size' => self::DBUTF8($document->size), 'session_id' => $my_session_id];
Database::update($table, $params, ['c_id = ? AND path = ?' => [$this->destination_course_id, "/" . self::DBUTF8escapestring(substr($document->path, 9))]]);
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $obj->id;
api_item_property_update($course_info, TOOL_DOCUMENT, $obj->id, 'default', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
}
// Replace old course code with the new destination code
$file_info = pathinfo($path . $document->path);
if (in_array($file_info['extension'], array('html', 'htm'))) {
$content = file_get_contents($path . $document->path);
if (UTF8_CONVERT) {
$content = utf8_encode($content);
}
$content = DocumentManager::replace_urls_inside_content_html_from_copy_course($content, $this->course->code, $this->course->destination_path, $this->course->backup_path, $this->course->info['path']);
//.........这里部分代码省略.........
示例11: file_put_contents
$documentPath = $saveDir . '/' . $drawFileName;
//add new document to disk
file_put_contents($documentPath, $contents);
if ($currentTool == 'document/createdraw') {
//add document to database
$doc_id = add_document($_course, $relativeUrlPath . '/' . $drawFileName, 'file', filesize($documentPath), $title);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'], $groupId, null, null, null, $current_session_id);
} elseif ($currentTool == 'document/editdraw') {
//check path
if (!isset($_SESSION['draw_file'])) {
api_not_allowed();
//from Chamilo
die;
}
if ($_SESSION['draw_file'] == $drawFileName) {
$document_id = DocumentManager::get_document_id($_course, $relativeUrlPath . '/' . $drawFileName);
update_existing_document($_course, $document_id, filesize($documentPath), null);
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'DocumentUpdated', $_user['user_id'], $groupId, null, null, null, $current_session_id);
} else {
//add a new document
$doc_id = add_document($_course, $relativeUrlPath . '/' . $drawFileName, 'file', filesize($documentPath), $title);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'], $groupId, null, null, null, $current_session_id);
}
}
//clean sessions and add messages and return to current document list
unset($_SESSION['draw_dir']);
unset($_SESSION['draw_file']);
unset($_SESSION['whereami']);
if ($suffix != 'png') {
if ($relativeUrlPath == '') {
$relativeUrlPath = '/';
示例12: upload_document
/**
* Uploads a document
*
* @param array the $_FILES variable
* @param string $path
* @param string title
* @param string comment
* @param int unzip or not the file
* @param int if_exists overwrite, rename or warn if exists (default)
* @param bool index document (search xapian module)
* @param bool print html messages
* @return unknown_type
*/
public static function upload_document($files, $path, $title = null, $comment = null, $unzip = 0, $if_exists = null, $index_document = false, $show_output = false)
{
$course_info = api_get_course_info();
$course_dir = $course_info['path'] . '/document';
$sys_course_path = api_get_path(SYS_COURSE_PATH);
$base_work_dir = $sys_course_path . $course_dir;
if (isset($files['file'])) {
$upload_ok = FileManager::process_uploaded_file($files['file'], $show_output);
if ($upload_ok) {
// File got on the server without problems, now process it
$new_path = FileManager::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);
if ($new_path) {
$docid = DocumentManager::get_document_id($course_info, $new_path);
if (!empty($docid)) {
$table_document = Database::get_course_table(TABLE_DOCUMENT);
$params = array();
if (!empty($title)) {
$params['title'] = FileManager::get_document_title($title);
} else {
if (isset($if_exists) && $if_exists == 'rename') {
$new_path = basename($new_path);
$params['title'] = FileManager::get_document_title($new_path);
} else {
$params['title'] = FileManager::get_document_title($files['file']['name']);
}
}
if (!empty($comment)) {
$params['comment'] = trim($comment);
}
Database::update($table_document, $params, array('id = ? AND c_id = ? ' => array($docid, $course_info['real_id'])));
}
// Showing message when sending zip files
if ($new_path === true && $unzip == 1 && $show_output) {
Display::display_confirmation_message(get_lang('UplUploadSucceeded') . '<br />', false);
}
if ($index_document) {
self::index_document($docid, $course_info['code'], null, $_POST['language'], $_REQUEST, $if_exists);
}
if (!empty($docid) && is_numeric($docid)) {
$document_data = self::get_document_data_by_id($docid, $course_info['code']);
return $document_data;
}
}
}
}
return false;
}
示例13: add_all_documents_in_folder_to_database
/**
* This recursive function can be used during the upgrade process form older versions of Chamilo
* It crawls the given directory, checks if the file is in the DB and adds it if it's not
*
* @param string $base_work_dir
* @param string $current_path, needed for recursivity
*/
public static function add_all_documents_in_folder_to_database($_course, $user_id, $base_work_dir, $current_path = '', $to_group_id = 0)
{
$current_session_id = api_get_session_id();
$path = $base_work_dir . $current_path;
// Open dir
$handle = opendir($path);
if (is_dir($path)) {
// Run trough
while ($file = readdir($handle)) {
if ($file == '.' || $file == '..') {
continue;
}
$completepath = "{$path}/{$file}";
// Directory?
if (is_dir($completepath)) {
$title = self::get_document_title($file);
$safe_file = api_replace_dangerous_char($file);
@rename($path . '/' . $file, $path . '/' . $safe_file);
// If we can't find the file, add it
if (!DocumentManager::get_document_id($_course, $current_path . '/' . $safe_file)) {
$document_id = self::add_document($_course, $current_path . '/' . $safe_file, 'folder', 0, $title);
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $user_id, $to_group_id, null, null, null, $current_session_id);
//echo $current_path.'/'.$safe_file.' added!<br />';
}
// Recursive
self::add_all_documents_in_folder_to_database($_course, $user_id, $base_work_dir, $current_path . '/' . $safe_file, $to_group_id);
} else {
//Rename
$safe_file = self::disable_dangerous_file(api_replace_dangerous_char($file, 'strict'));
@rename($base_work_dir . $current_path . '/' . $file, $base_work_dir . $current_path . '/' . $safe_file);
$document_id = DocumentManager::get_document_id($_course, $current_path . '/' . $safe_file);
if (!$document_id) {
$title = self::get_document_title($file);
$size = filesize($base_work_dir . $current_path . '/' . $safe_file);
$document_id = self::add_document($_course, $current_path . '/' . $safe_file, 'file', $size, $title);
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $user_id, $to_group_id, null, null, null, $current_session_id);
//echo $current_path.'/'.$safe_file.' added!<br />';
} else {
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'DocumentUpdated', $user_id, $to_group_id, null, null, null, $current_session_id);
}
}
}
}
}
示例14: build_edit_icons
/**
* Creates the row of edit icons for a file/folder
*
* @param string $curdirpath current path (cfr open folder)
* @param string $type (file/folder)
* @param string $path dbase path of file/folder
* @param int $visibility (1/0)
* @param int $id dbase id of the document
* @return string html img tags with hyperlinks
*/
function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0, $visibility)
{
if (isset($_SESSION['_gid'])) {
$req_gid = '&gidReq=' . $_SESSION['_gid'];
} else {
$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));
$curdirpath = dirname($document_data['path']);
$is_certificate_mode = DocumentManager::is_certificate_mode($path);
$curdirpath = urlencode($curdirpath);
$extension = pathinfo($path, PATHINFO_EXTENSION);
// Build URL-parameters for table-sorting
$sort_params = array();
if (isset($_GET['column'])) {
$sort_params[] = 'column=' . Security::remove_XSS($_GET['column']);
}
if (isset($_GET['page_nr'])) {
$sort_params[] = 'page_nr=' . Security::remove_XSS($_GET['page_nr']);
}
if (isset($_GET['per_page'])) {
$sort_params[] = 'per_page=' . Security::remove_XSS($_GET['per_page']);
}
if (isset($_GET['direction'])) {
$sort_params[] = 'direction=' . Security::remove_XSS($_GET['direction']);
}
$sort_params = implode('&', $sort_params);
$visibility_icon = $visibility == 0 ? 'invisible' : 'visible';
$visibility_command = $visibility == 0 ? 'set_visible' : 'set_invisible';
$modify_icons = '';
// 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) {
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() . '&id=' . $document_id . $req_gid . '">' . Display::return_icon('edit.png', get_lang('Modify'), '', ICON_SIZE_SMALL) . '</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'), '', ICON_SIZE_SMALL) . '</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'), '', ICON_SIZE_SMALL) . '</a>';
}
} else {
$modify_icons = Display::return_icon('edit_na.png', get_lang('Modify'), '', ICON_SIZE_SMALL);
}
$modify_icons .= ' ' . Display::return_icon('move_na.png', get_lang('Move'), array(), ICON_SIZE_SMALL);
if (api_is_allowed_to_edit() || api_is_platform_admin()) {
$modify_icons .= ' ' . Display::return_icon($visibility_icon . '.png', get_lang('VisibilityCannotBeChanged'), '', ICON_SIZE_SMALL);
}
$modify_icons .= ' ' . Display::return_icon('delete_na.png', get_lang('Delete'), array(), ICON_SIZE_SMALL);
} else {
//Edit button
if (in_array($path, DocumentManager::get_system_folders())) {
$modify_icons = Display::return_icon('edit_na.png', get_lang('Modify'), '', ICON_SIZE_SMALL);
} elseif ($is_certificate_mode) {
// gradebook category doesn't seem to be taken into account
$modify_icons = '<a href="edit_document.php?' . api_get_cidreq() . '&id=' . $document_id . $req_gid . '&curdirpath=/certificates">' . Display::return_icon('edit.png', get_lang('Modify'), '', ICON_SIZE_SMALL) . '</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() . '&id=' . $document_id . $req_gid . '">' . Display::return_icon('edit.png', get_lang('Modify'), '', ICON_SIZE_SMALL) . '</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'), '', ICON_SIZE_SMALL) . '</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'), '', ICON_SIZE_SMALL) . '</a>';
}
} else {
$modify_icons .= ' ' . Display::return_icon('edit_na.png', get_lang('Edit'), array(), ICON_SIZE_SMALL) . '</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() . '&id=' . $document_id . $req_gid . '">' . Display::return_icon('edit.png', get_lang('Modify'), '', ICON_SIZE_SMALL) . '</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'), '', ICON_SIZE_SMALL) . '</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'), '', ICON_SIZE_SMALL) . '</a>';
}
}
}
//Move button
if ($is_certificate_mode || in_array($path, DocumentManager::get_system_folders())) {
$modify_icons .= ' ' . Display::return_icon('move_na.png', get_lang('Move'), array(), ICON_SIZE_SMALL) . '</a>';
} else {
if (api_get_session_id()) {
if ($document_data['session_id'] == api_get_session_id()) {
$modify_icons .= ' <a href="' . api_get_self() . '?' . api_get_cidreq() . '&id=' . $parent_id . '&move=' . $document_id . $req_gid . '">' . Display::return_icon('move.png', get_lang('Move'), array(), ICON_SIZE_SMALL) . '</a>';
//.........这里部分代码省略.........
示例15: showQuestion
//.........这里部分代码省略.........
$lines_count++;
}
// end while()
}
// end if()
$matching_correct_answer++;
}
}
}
// end for()
if ($show_comment) {
$s .= '</table>';
} else {
if ($answerType == MATCHING || $answerType == UNIQUE_ANSWER_NO_OPTION || $answerType == MULTIPLE_ANSWER_TRUE_FALSE || $answerType == MULTIPLE_ANSWER_COMBINATION_TRUE_FALSE) {
$s .= '</table>';
}
}
$s .= '</div>';
// destruction of the Answer object
unset($objAnswerTmp);
// destruction of the Question object
unset($objQuestionTmp);
if ($origin != 'export') {
echo $s;
} else {
return $s;
}
} elseif ($answerType == HOT_SPOT || $answerType == HOT_SPOT_DELINEATION) {
// Question is a HOT_SPOT
//checking document/images visibility
if (api_is_platform_admin() || api_is_course_admin()) {
require_once api_get_path(LIBRARY_PATH) . 'document.lib.php';
$course = api_get_course_info();
$doc_id = DocumentManager::get_document_id($course, '/images/' . $pictureName);
if (is_numeric($doc_id)) {
$images_folder_visibility = api_get_item_visibility($course, 'document', $doc_id, api_get_session_id());
if (!$images_folder_visibility) {
//This message is shown only to the course/platform admin if the image is set to visibility = false
Display::display_warning_message(get_lang('ChangeTheVisibilityOfTheCurrentImage'));
}
}
}
$questionName = $objQuestionTmp->selectTitle();
$questionDescription = $objQuestionTmp->selectDescription();
if ($freeze) {
echo Display::img($objQuestionTmp->selectPicturePath());
return;
}
// Get the answers, make a list
$objAnswerTmp = new Answer($questionId);
$nbrAnswers = $objAnswerTmp->selectNbrAnswers();
// get answers of hotpost
$answers_hotspot = array();
for ($answerId = 1; $answerId <= $nbrAnswers; $answerId++) {
$answers = $objAnswerTmp->selectAnswerByAutoId($objAnswerTmp->selectAutoId($answerId));
$answers_hotspot[$answers['id']] = $objAnswerTmp->selectAnswer($answerId);
}
// display answers of hotpost order by id
$answer_list = '<div style="padding: 10px; margin-left: 0px; border: 1px solid #A4A4A4; height: 408px; width: 200px;"><b>' . get_lang('HotspotZones') . '</b><dl>';
if (!empty($answers_hotspot)) {
ksort($answers_hotspot);
foreach ($answers_hotspot as $key => $value) {
$answer_list .= '<dt>' . $key . '.- ' . $value . '</dt><br />';
}
}
$answer_list .= '</dl></div>';