if (!$availablelangs = proxy_url($source)) {
- error ('can not read from course');
+ print_error('cannotdownloadlanguageupdatelist');
}
//and build an associative array
}
//returns an array of languages, or false if can not read from source
- //uses a socket if proxy is set as a config variable
function proxy_url($url) {
global $CFG;
- if ($CFG->proxyhost && $CFG->proxyport) {
+ $availablelangs = array();
- $proxy_fp = fsockopen($CFG->proxyhost, $CFG->proxyport);
- if (!$proxy_fp) {
- return false; //failed
- }
- fputs($proxy_fp, "GET $url HTTP/1.0\r\nHost: $CFG->proxyhost\r\n\r\n");
-
- $headers_done = false;
- while(!feof($proxy_fp)) {
- $string = fgets($proxy_fp, 1024);
- if(!$headers_done){
- // A new line indicates end of HTTP headers
- $headers_done = ("\r\n" == $string);
- } else {
- $availablelangs[] = split(',', $string);
- }
- }
- fclose($proxy_fp);
+ if( $content = download_file_content($url) ){
- } else { //proxy not in use
- if ($fp = fopen($url, 'r')){ /// attempt to get the list from Moodle.org.
- while(!feof ($fp)) {
- $availablelangs[] = split(',', fgets($fp,1024));
+ $alllines = split("\n", $content);
+ foreach($alllines as $line){
+ if(!empty($line)){
+ $availablelangs[] = split(',', $line);
}
- } else { /// fopen failed, return false.
- return false;
}
+
+ return $availablelangs;
+ }else{
+ return false;
}
- return $availablelangs;
}
?>
$string['cannotcreatetempdir'] = 'Cannot create temp dir.';
$string['cannotcustomizelocallang'] = 'You do not have permission to customize the strings translation. This permission is controlled by the capability "moodle/site:langeditlocal". Set this capability to allow you to edit local language packages in case you want to modify translations for your site.';
$string['cannotdownloadcomponents'] = 'Cannot download components.';
+$string['cannotdownloadlanguageupdatelist'] = 'Cannot download list of language updates from download.moodle.org';
$string['cannotdownloadzipfile'] = 'Cannot download ZIP file.';
$string['cannoteditmasterlang'] = 'You do not have permission to edit master language package. This permission is controlled by the capability "moodle/site:langeditmaster". Set this capability to allow you to edit master language packages in case you are the maintainer of a package.';
$string['cannotfindcomponent'] = 'Cannot find component.';