Permalink
Browse files

MDL-13792 - Commiting Patch by Skodak, fixing problem with japanese c…

…haracters 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. (1.9 - original
patch)
  • Loading branch information...
scyrma
scyrma committed Apr 8, 2008
1 parent 3d22982 commit 061a4b01bef21de30b7ffa9a273829261aacbaa1
View
@@ -2,6 +2,40 @@
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). Uses cURL extension if present.
* Due to security concerns only downloads from http(s) sources are supported.
View
@@ -1684,12 +1684,7 @@ function print_user_files($userid=0, $return=false) {
foreach ($files as $key => $file) {
$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 src="'.$CFG->pixpath.'/f/'.$icon.'" class="icon" alt="'.$icon.'" />'.
'<a href="'.$ffurl.'" >'.$file.'</a><br />';
@@ -300,10 +300,10 @@ function print_student_answer($userid, $return=false){
}
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>&nbsp;';
}
}
@@ -361,9 +361,7 @@ function print_user_files($userid=0, $return=false) {
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>';
@@ -419,7 +417,7 @@ function print_responsefiles($userid, $return=false) {
$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.'" alt="'.$icon.'" />'.$file.'</a>';
@@ -16,17 +16,12 @@ function print_student_answer($userid, $return=false){
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);
$ffurl = get_file_url("$filearea/$file");
if ($CFG->slasharguments) {
$ffurl = "$CFG->wwwroot/file.php/$filearea/$file";
} else {
$ffurl = "$CFG->wwwroot/file.php?file=/$filearea/$file";
}
//died right here
//require_once($ffurl);
$output = '<img src="'.$CFG->pixpath.'/f/'.$icon.'" class="icon" alt="'.$icon.'" />'.

0 comments on commit 061a4b0

Please sign in to comment.