MDL-13792 - Commiting Patch by Skodak, fixing problem with japanese characters under some conditions. This has been reported to work, if nobody else
comes foward with bugs related to this, it will need to be changed everywhere else where there is no urlencoding done at this time.
This commit is contained in:
@@ -4,6 +4,40 @@ require_once($CFG->libdir.'/libcurlemu/libcurlemu.inc.php'); // might be moved t
|
||||
|
||||
define('BYTESERVING_BOUNDARY', 's1k2o3d4a5k6s7'); //unique string constant
|
||||
|
||||
function get_file_url($path, $options=null, $type='coursefile') {
|
||||
global $CFG;
|
||||
|
||||
$path = trim($path, '/'); // no leading and trailing slashes
|
||||
|
||||
// type of file
|
||||
switch ($type) {
|
||||
case 'coursefile':
|
||||
default:
|
||||
$url = "$CFG->wwwroot/file.php";
|
||||
}
|
||||
|
||||
if ($CFG->slasharguments) {
|
||||
$parts = explode('/', $path);
|
||||
$parts = array_map('urlencode', $parts);
|
||||
$path = implode('/', $parts);
|
||||
$ffurl = "$CFG->wwwroot/file.php/$path";
|
||||
$separator = '?';
|
||||
} else {
|
||||
$path = urlencode("/$path");
|
||||
$ffurl = "$CFG->wwwroot/file.php?file=$path";
|
||||
$separator = '&';
|
||||
}
|
||||
|
||||
if ($options) {
|
||||
foreach ($options as $name=>$value) {
|
||||
$ffurl = $ffurl.$separator.$name.'='.$value;
|
||||
$separator = '&';
|
||||
}
|
||||
}
|
||||
|
||||
return $ffurl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches content of file from Internet (using proxy if defined).
|
||||
*
|
||||
|
||||
@@ -1494,12 +1494,8 @@ class assignment_base {
|
||||
|
||||
$icon = mimeinfo('icon', $file);
|
||||
|
||||
if ($CFG->slasharguments) {
|
||||
$ffurl = "$CFG->wwwroot/file.php/$filearea/$file";
|
||||
} else {
|
||||
$ffurl = "$CFG->wwwroot/file.php?file=/$filearea/$file";
|
||||
}
|
||||
|
||||
$ffurl = get_file_url("$filearea/$file", array('forcedownload'=>1));
|
||||
|
||||
$output .= '<img align="middle" src="'.$CFG->pixpath.'/f/'.$icon.'" class="icon" alt="'.$icon.'" />'.
|
||||
'<a href="'.$ffurl.'" >'.$file.'</a><br />';
|
||||
}
|
||||
|
||||
@@ -265,10 +265,10 @@ class assignment_upload extends assignment_base {
|
||||
}
|
||||
|
||||
if ($files = get_directory_list($basedir, 'responses')) {
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
foreach ($files as $key => $file) {
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
$icon = mimeinfo('icon', $file);
|
||||
$ffurl = "$CFG->wwwroot/file.php?file=/$filearea/$file";
|
||||
$ffurl = get_file_url("$filearea/$file");
|
||||
$output .= '<a href="'.$ffurl.'" ><img class="icon" src="'.$CFG->pixpath.'/f/'.$icon.'" alt="'.$icon.'" />'.$file.'</a> ';
|
||||
}
|
||||
}
|
||||
@@ -326,9 +326,7 @@ class assignment_upload extends assignment_base {
|
||||
foreach ($files as $key => $file) {
|
||||
|
||||
$icon = mimeinfo('icon', $file);
|
||||
|
||||
$ffurl = "$CFG->wwwroot/file.php?file=/$filearea/$file";
|
||||
|
||||
$ffurl = get_file_url("$filearea/$file");
|
||||
|
||||
$output .= '<a href="'.$ffurl.'" ><img src="'.$CFG->pixpath.'/f/'.$icon.'" class="icon" alt="'.$icon.'" />'.$file.'</a>';
|
||||
|
||||
@@ -381,8 +379,7 @@ class assignment_upload extends assignment_base {
|
||||
foreach ($files as $key => $file) {
|
||||
|
||||
$icon = mimeinfo('icon', $file);
|
||||
|
||||
$ffurl = "$CFG->wwwroot/file.php?file=/$filearea/$file";
|
||||
$ffurl = get_file_url("$filearea/$file");
|
||||
|
||||
$output .= '<a href="'.$ffurl.'" ><img class="align" src="'.$CFG->pixpath.'/f/'.$icon.'" alt="'.$icon.'" />'.$file.'</a>';
|
||||
|
||||
|
||||
@@ -16,17 +16,12 @@ class assignment_uploadsingle extends assignment_base {
|
||||
|
||||
if ($basedir = $this->file_area($userid)) {
|
||||
if ($files = get_directory_list($basedir)) {
|
||||
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
foreach ($files as $key => $file) {
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
|
||||
$icon = mimeinfo('icon', $file);
|
||||
|
||||
if ($CFG->slasharguments) {
|
||||
$ffurl = "$CFG->wwwroot/file.php/$filearea/$file";
|
||||
} else {
|
||||
$ffurl = "$CFG->wwwroot/file.php?file=/$filearea/$file";
|
||||
}
|
||||
$ffurl = get_file_url("$filearea/$file");
|
||||
|
||||
//died right here
|
||||
//require_once($ffurl);
|
||||
$output = '<img align="middle" src="'.$CFG->pixpath.'/f/'.$icon.'" class="icon" alt="'.$icon.'" />'.
|
||||
|
||||
Reference in New Issue
Block a user