From c425472d813681c0d9fea05a276b56ae80fc6d40 Mon Sep 17 00:00:00 2001 From: dongsheng Date: Wed, 16 Jul 2008 05:15:14 +0000 Subject: [PATCH] MDL-15349, the implementation of get_file function in repository class. --- repository/curl.class.php | 10 +++++++--- repository/lib.php | 27 +++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/repository/curl.class.php b/repository/curl.class.php index b44ebdc50e..626c718794 100644 --- a/repository/curl.class.php +++ b/repository/curl.class.php @@ -1,4 +1,4 @@ -mulit_request($requests, $options); } /* @@ -293,7 +293,11 @@ class curl { } while($running > 0); for($i = 0; $i < $count; $i++) { - $results[] = curl_multi_getcontent($handles[$i]); + if(!empty($optins['CURLOPT_RETURNTRANSFER'])) { + $results[] = true; + } else { + $results[] = curl_multi_getcontent($handles[$i]); + } curl_multi_remove_handle($main, $handles[$i]); } curl_multi_close($main); diff --git a/repository/lib.php b/repository/lib.php index 8a04352e7b..de8ad0d6db 100644 --- a/repository/lib.php +++ b/repository/lib.php @@ -47,7 +47,7 @@ * $repo->print_search(); * * @version 1.0 dev - * @package repository_api + * @package repository * @license http://www.gnu.org/copyleft/gpl.html GNU Public License */ require_once('../config.php'); @@ -99,9 +99,28 @@ abstract class repository { public function __toString() { return 'Repository class: '.__CLASS__; } - // Given a URL, get a file from there. - public function get_file($url) { - return null; + /** + * Given a URL, get a file from there. + * @param string $url the url of file + * @param string $file save location + */ + public function get_file($url, $file) { + global $CFG; + if(file_exists($CFG->dirroot.'/repository/curl.class.php')) { + if(!file_exists($file)){ + return null; + } else { + $file = fopen($file, 'w'); + } + require_once($CFG->dirroot.'/repository/curl.class.php'); + $c = new curl; + $c->download(array( + array('url'=>$url, 'file'=>$file); + )); + return true; + } else { + return null; + } } /** -- 2.39.5