try {
$browser = get_file_browser();
if (!empty($encodedpath)) {
- $decodedpath = unserialize($encodedpath);
+ $decodedpath = unserialize(base64_decode($encodedpath));
$itemid = $decodedpath['itemid'];
$filename = $decodedpath['filename'];
$filearea = $decodedpath['filearea'];
if ($fileinfo = $browser->get_file_info($context, $filearea, $itemid, '/', $filename)) {
$level = $fileinfo->get_parent();
while ($level) {
- $params = $level->get_params_rawencoded();
- $params = implode('&', $params);
- $params = serialize($level->get_params());
+ $params = base64_encode(serialize($level->get_params()));
$path[] = array('name'=>$level->get_visible_name(), 'path'=>$params);
$level = $level->get_parent();
}
$children = $fileinfo->get_children();
foreach ($children as $child) {
if ($child->is_directory()) {
- $params = serialize($child->get_params());
+ $params = base64_encode(serialize($child->get_params()));
$node = array(
'title' => $child->get_visible_name(),
'size' => 0,