diff --git a/apps/gallery/ajax/galleryOp.php b/apps/gallery/ajax/galleryOp.php index 5ac6d29510..f07814056a 100644 --- a/apps/gallery/ajax/galleryOp.php +++ b/apps/gallery/ajax/galleryOp.php @@ -41,7 +41,8 @@ function handleRemove($name) { function handleGetThumbnails($albumname) { OC_Response::enableCaching(3600 * 24); // 24 hour - $thumbnail = OC::$CONFIG_DATADIRECTORY.'/../gallery/'.$albumname.'.png'; + error_log(htmlentities($albumname)); + $thumbnail = OC::$CONFIG_DATADIRECTORY.'/../gallery/'.urldecode($albumname).'.png'; header('Content-Type: '.OC_Image::getMimeTypeForFile($thumbnail)); OC_Response::sendFile($thumbnail); } diff --git a/apps/gallery/ajax/getAlbums.php b/apps/gallery/ajax/getAlbums.php index 9e9c6ef496..be87af2abd 100644 --- a/apps/gallery/ajax/getAlbums.php +++ b/apps/gallery/ajax/getAlbums.php @@ -33,7 +33,7 @@ while ($r = $result->fetchRow()) { $album_name = $r['album_name']; $tmp_res = OC_Gallery_Photo::find($r['album_id']); - $a[] = array('name' => $album_name, 'numOfItems' => min($tmp_res->numRows(), 10), 'bgPath' => OC::$WEBROOT.'/data/'.OC_User::getUser().'/gallery/'.$album_name.'.png'); + $a[] = array('name' => utf8_encode($album_name), 'numOfItems' => min($tmp_res->numRows(), 10), 'bgPath' => OC::$WEBROOT.'/data/'.OC_User::getUser().'/gallery/'.$album_name.'.png'); } OC_JSON::success(array('albums'=>$a)); diff --git a/apps/gallery/js/albums.js b/apps/gallery/js/albums.js index 987412f28e..adecd24cc7 100644 --- a/apps/gallery/js/albums.js +++ b/apps/gallery/js/albums.js @@ -54,9 +54,9 @@ Albums={ event.preventDefault(); galleryRemove(event.data.name); }); - $("a.view", local).attr('href','?view='+escape(a.name)); - $('h1',local).text(a.name); - $(".gallery_album_cover", local).attr('title',a.name); + $("a.view", local).attr('href','?view='+decodeURIComponent(escape(a.name))); + $('h1',local).text(decodeURIComponent(escape(a.name))); + $(".gallery_album_cover", local).attr('title',decodeURIComponent(escape(a.name))); $(".gallery_album_cover", local).css('background-repeat', 'no-repeat'); $(".gallery_album_cover", local).css('background-position', '0'); $(".gallery_album_cover", local).css('background-image','url("ajax/galleryOp.php?operation=get_covers&albumname='+escape(a.name)+'")');