dir browse working with dir parameter
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/7a668654 Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/7a668654 Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/7a668654 Branch: refs/heads/master Commit: 7a6686545aa33616f26dc7c128284d6cf6f524a4 Parents: 37f7e61 Author: scnakandala <[email protected]> Authored: Tue Mar 8 13:30:49 2016 -0500 Committer: scnakandala <[email protected]> Committed: Tue Mar 8 13:30:49 2016 -0500 ---------------------------------------------------------------------- app/controllers/FilemanagerController.php | 6 +++++- app/routes.php | 11 +++-------- 2 files changed, 8 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7a668654/app/controllers/FilemanagerController.php ---------------------------------------------------------------------- diff --git a/app/controllers/FilemanagerController.php b/app/controllers/FilemanagerController.php index 226a92e..45e8bd4 100644 --- a/app/controllers/FilemanagerController.php +++ b/app/controllers/FilemanagerController.php @@ -11,8 +11,12 @@ class FilemanagerController extends BaseController public function browse(){ //FIXME check for no ../ paths - if(Input::has("path") && (0 === strpos(Input::get("path"), Session::get('username')))){ + if(Input::has("path") && (0 == strpos(Input::get("path"), Session::get('username')) + || 0 == strpos(Input::get("path"), "/" . Session::get('username')))){ $path = Input::get("path"); + if(0 === strpos($path, '/')){ + $path = substr($path, 1); + } }else{ $path = Session::get("username"); } http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7a668654/app/routes.php ---------------------------------------------------------------------- diff --git a/app/routes.php b/app/routes.php index bdaba7b..2e74b92 100644 --- a/app/routes.php +++ b/app/routes.php @@ -98,20 +98,15 @@ Route::get("experiment/browse", "ExperimentController@browseView"); Route::post("experiment/browse", "ExperimentController@browseView"); -Route::get("download/{username}/{exp_data_dir}/{exp_folder}/{exp_file}", function( $username, $exp_data_dir, $exp_folder, $exp_file){ +Route::get("download/{username}/{proj_folder}/{exp_folder}/{exp_file}", function( $username, $proj_folder, $exp_folder, $exp_file){ //FIXME check for no ../ paths if( $username == Session::get("username")){ - $downloadLink = Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . $username . '/' . $exp_data_dir . "/" . $exp_folder . '/' . $exp_file; + $downloadLink = Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . $username + . '/' . $proj_folder . "/" . $exp_folder . '/' . $exp_file; return Response::download( $downloadLink); } }); -Route::get("download/{exp_data_dir}/{proj_folder}/{exp_file}", function($exp_data_dir, $proj_folder, $exp_file){ - $downloadLink = Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . Session::get('username') - . '/' . $exp_data_dir . '/' . '/' . $proj_folder . '/' . $exp_file; - return Response::download( $downloadLink); -}); - Route::get("files/browse", "FilemanagerController@browse"); Route::get("files/get","FilemanagerController@get");
