From 39c60294a6a027ae56f4b9eda159bb589b60c0c0 Mon Sep 17 00:00:00 2001 From: Dongsheng Cai Date: Mon, 11 Jun 2012 17:41:32 +1000 Subject: [PATCH] MDL-33513 box.net repository should have filename in source field --- lib/boxlib.php | 24 ++++++++++++++++++++++++ repository/boxnet/lib.php | 9 ++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/boxlib.php b/lib/boxlib.php index a6472232099..22250382f52 100644 --- a/lib/boxlib.php +++ b/lib/boxlib.php @@ -188,6 +188,30 @@ class boxclient { return $ret; } + /** + * Get box.net file info + * + * @param string $fileid + * @param array $params + * @return array|null + */ + function get_file_info($fileid) { + $this->_clearErrors(); + $params = array(); + $params['action'] = 'get_file_info'; + $params['file_id'] = $fileid; + $params['auth_token'] = $this->auth_token; + $params['api_key'] = $this->api_key; + $http = new curl(array('debug'=>$this->debug, 'cache'=>true, 'module_cache'=>'repository')); + $xml = $http->get($this->_box_api_url, $params); + $o = simplexml_load_string(trim($xml)); + if($o->status == 's_get_file_info') { + return $o->info; + } else { + return null; + } + } + /** * @param array $sax * @param array $tree Passed by reference diff --git a/repository/boxnet/lib.php b/repository/boxnet/lib.php index b1c087c0718..0dbb95e72fc 100644 --- a/repository/boxnet/lib.php +++ b/repository/boxnet/lib.php @@ -300,7 +300,14 @@ class repository_boxnet extends repository { * @return string|null */ public function get_file_source_info($url) { - return $url; + $array = explode('/', $url); + $fileid = array_pop($array); + $fileinfo = $this->boxclient->get_file_info($fileid); + if (!empty($fileinfo)) { + return 'boxnet:' . (string)$fileinfo->file_name; + } else { + return $url; + } } /**