Revert MDL-33513
authorDan Poltawski <dan@moodle.com>
Thu, 14 Jun 2012 05:57:06 +0000 (13:57 +0800)
committerDan Poltawski <dan@moodle.com>
Thu, 14 Jun 2012 05:57:45 +0000 (13:57 +0800)
13 files changed:
lib/boxlib.php
lib/filelib.php
repository/boxnet/lib.php
repository/dropbox/lib.php
repository/filesystem/lib.php
repository/flickr/lib.php
repository/flickr_public/lib.php
repository/lib.php
repository/repository_ajax.php
repository/s3/lib.php
repository/upload/lib.php
repository/url/lib.php
repository/wikimedia/lib.php

index e1e8387..a647223 100644 (file)
@@ -188,29 +188,6 @@ class boxclient {
         return $ret;
     }
 
-    /**
-     * Get box.net file info
-     *
-     * @param string $fileid
-     * @return string|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
index d950155..62a21df 100644 (file)
@@ -770,7 +770,6 @@ function file_save_draft_area_files($draftitemid, $contextid, $component, $filea
         $newhashes = array();
         foreach ($draftfiles as $file) {
             $newhash = $fs->get_pathname_hash($contextid, $component, $filearea, $itemid, $file->get_filepath(), $file->get_filename());
-            file_restore_source_field_from_draft_file($file);
             $newhashes[$newhash] = $file;
         }
         $filecount = 0;
@@ -791,6 +790,7 @@ function file_save_draft_area_files($draftitemid, $contextid, $component, $filea
                 continue;
             }
 
+            file_restore_source_field_from_draft_file($newfile);
             // Replaced file content
             if ($oldfile->get_contenthash() != $newfile->get_contenthash()) {
                 $oldfile->replace_content_with($newfile);
index f6ac9fb..d4102d3 100644 (file)
@@ -293,23 +293,6 @@ class repository_boxnet extends repository {
         return $this->get_name() . ': ' . $reference;
     }
 
-    /**
-     * Return the source information
-     *
-     * @param stdClass $url
-     * @return string|null
-     */
-    public function get_file_source_info($url) {
-        $array = explode('/', $url);
-        $fileid = array_pop($array);
-        $fileinfo = $this->boxclient->get_file_info($fileid);
-        if (!empty($fileinfo)) {
-            return 'Box:' . (string)$fileinfo->file_name;
-        } else {
-            return $url;
-        }
-    }
-
     /**
      * Repository method to serve file
      *
index c9960e4..e454615 100644 (file)
@@ -414,16 +414,6 @@ class repository_dropbox extends repository {
         return $this->get_name() . ': ' . $ref->path;
     }
 
-    /**
-     * Return the source information
-     *
-     * @param stdClass $filepath
-     * @return string|null
-     */
-    public function get_file_source_info($filepath) {
-        return 'Dropbox:' . $filepath;
-    }
-
     /**
      * Repository method to serve file
      *
index e0d9c09..58eddbe 100644 (file)
@@ -152,16 +152,6 @@ class repository_filesystem extends repository {
         return array('path'=>$file, 'url'=>'');
     }
 
-    /**
-     * Return the source information
-     *
-     * @param stdClass $filepath
-     * @return string|null
-     */
-    public function get_file_source_info($filepath) {
-        return $filepath;
-    }
-
     public function logout() {
         return true;
     }
index 6886638..b54ad93 100644 (file)
@@ -222,13 +222,9 @@ class repository_flickr extends repository {
         return $this->search('', $page);
     }
 
-    /**
-     * Return photo url by given photo id
-     * @param string $photoid
-     * @return string
-     */
-    private function build_photo_url($photoid) {
-        $result = $this->flickr->photos_getSizes($photoid);
+    public function get_link($photo_id) {
+        global $CFG;
+        $result = $this->flickr->photos_getSizes($photo_id);
         $url = '';
         if(!empty($result[4])) {
             $url = $result[4]['source'];
@@ -240,18 +236,23 @@ class repository_flickr extends repository {
         return $url;
     }
 
-    public function get_link($photoid) {
-        return $this->build_photo_url($photoid);
-    }
-
     /**
      *
-     * @param string $photoid
+     * @param string $photo_id
      * @param string $file
      * @return string
      */
-    public function get_file($photoid, $file = '') {
-        $url = $this->build_photo_url($photoid);
+    public function get_file($photo_id, $file = '') {
+        global $CFG;
+        $result = $this->flickr->photos_getSizes($photo_id);
+        $url = '';
+        if(!empty($result[4])) {
+            $url = $result[4]['source'];
+        } elseif(!empty($result[3])) {
+            $url = $result[3]['source'];
+        } elseif(!empty($result[2])) {
+            $url = $result[2]['source'];
+        }
         $path = $this->prepare_file($file);
         $fp = fopen($path, 'w');
         $c = new curl;
@@ -314,14 +315,4 @@ class repository_flickr extends repository {
     public function supported_returntypes() {
         return (FILE_INTERNAL | FILE_EXTERNAL);
     }
-
-    /**
-     * Return the source information
-     *
-     * @param string $photoid
-     * @return string|null
-     */
-    public function get_file_source_info($photoid) {
-        return $this->build_photo_url($photoid);
-    }
 }
index 083e4c7..d422483 100644 (file)
@@ -396,13 +396,9 @@ class repository_flickr_public extends repository {
         return $str;
     }
 
-    /**
-     * Return photo url by given photo id
-     * @param string $photoid
-     * @return string
-     */
-    private function build_photo_url($photoid) {
-        $result = $this->flickr->photos_getSizes($photoid);
+    public function get_link($photo_id) {
+        global $CFG;
+        $result = $this->flickr->photos_getSizes($photo_id);
         $url = '';
         if(!empty($result[4])) {
             $url = $result[4]['source'];
@@ -414,27 +410,23 @@ class repository_flickr_public extends repository {
         return $url;
     }
 
-    public function get_link($photoid) {
-        return $this->build_photo_id($photoid);
-    }
-
     /**
      *
      * @global object $CFG
-     * @param string $photoid
+     * @param string $photo_id
      * @param string $file
      * @return string
      */
-    public function get_file($photoid, $file = '') {
+    public function get_file($photo_id, $file = '') {
         global $CFG;
-        $info = $this->flickr->photos_getInfo($photoid);
+        $info = $this->flickr->photos_getInfo($photo_id);
         if ($info['owner']['realname']) {
             $author = $info['owner']['realname'];
         } else {
             $author = $info['owner']['username'];
         }
         $copyright = get_string('author', 'repository') . ': ' . $author;
-        $result = $this->flickr->photos_getSizes($photoid);
+        $result = $this->flickr->photos_getSizes($photo_id);
         // download link
         $source = '';
         // flickr photo page
@@ -525,14 +517,4 @@ class repository_flickr_public extends repository {
     public function supported_returntypes() {
         return (FILE_INTERNAL | FILE_EXTERNAL);
     }
-
-    /**
-     * Return the source information
-     *
-     * @param string $photoid photo id
-     * @return string|null
-     */
-    public function get_file_source_info($photoid) {
-        return $this->build_photo_url($photoid);
-    }
 }
index ce968a1..8b8d586 100644 (file)
@@ -1159,16 +1159,6 @@ abstract class repository {
         return null;
     }
 
-    /**
-     * Return the source information
-     *
-     * @param stdClass $url
-     * @return string|null
-     */
-    public function get_file_source_info($url) {
-        return $url;
-    }
-
     /**
      * Move file from download folder to file pool using FILE API
      *
@@ -2226,25 +2216,6 @@ abstract class repository {
 
         return true;
     }
-
-    /**
-     * Build draft file's source field
-     *
-     * {@link file_restore_source_field_from_draft_file()}
-     * XXX: This is a hack for file manager (MDL-28666)
-     * For newly created  draft files we have to construct
-     * source filed in php serialized data format.
-     * File manager needs to know the original file information before copying
-     * to draft area, so we append these information in mdl_files.source field
-     *
-     * @param string $source
-     * @return string serialised source field
-     */
-    public static function build_source_field($source) {
-        $sourcefield = new stdClass;
-        $sourcefield->source = $source;
-        return serialize($sourcefield);
-    }
 }
 
 /**
index 45f0662..3c06412 100644 (file)
@@ -265,11 +265,6 @@ switch ($action) {
                     $event['existingfile']->filename = $saveas_filename;
                     $event['existingfile']->url      = moodle_url::make_draftfile_url($itemid, $saveas_path, $saveas_filename)->out();;
                 } else {
-
-                    // {@link repository::build_source_field()}
-                    $sourcefield = $repo->get_file_source_info($source);
-                    $record->source = $repo::build_source_field($sourcefield);
-
                     $storedfile = $fs->create_file_from_reference($record, $repo_id, $reference);
                     $event = array(
                         'url'=>moodle_url::make_draftfile_url($storedfile->get_itemid(), $storedfile->get_filepath(), $storedfile->get_filename())->out(),
@@ -307,9 +302,14 @@ switch ($action) {
                     throw new file_exception('maxbytes');
                 }
 
-                // {@link repository::build_source_field()}
-                $sourcefield = $repo->get_file_source_info($source);
-                $record->source = $repo::build_source_field($sourcefield);
+                // {@link file_restore_source_field_from_draft_file()}
+                $sourcefield = '';
+                if (!empty($downloadedfile['url'])) {
+                    $source = new stdClass;
+                    $source->source = $downloadedfile['url'];
+                    $sourcefield = serialize($source);
+                }
+                $record->source = $sourcefield;
 
                 $info = repository::move_to_filepool($downloadedfile['path'], $record);
                 if (empty($info)) {
index 5558620..2479050 100644 (file)
@@ -119,16 +119,6 @@ class repository_s3 extends repository {
         return array('path'=>$path);
     }
 
-    /**
-     * Return the source information
-     *
-     * @param stdClass $filepath
-     * @return string
-     */
-    public function get_file_source_info($filepath) {
-        return 'Amazon S3:' . $filepath;
-    }
-
     /**
      * S3 doesn't require login
      *
index cf023dd..a307ab6 100644 (file)
@@ -143,9 +143,6 @@ class repository_upload extends repository {
         self::antivir_scan_file($_FILES[$elname]['tmp_name'], $_FILES[$elname]['name'], true);
         @chmod($_FILES[$elname]['tmp_name'], $permissions);
 
-        // {@link repository::build_source_field()}
-        $record->source = self::build_source_field($_FILES[$elname]['name']);
-
         if (empty($saveas_filename)) {
             $record->filename = clean_param($_FILES[$elname]['name'], PARAM_FILE);
         } else {
@@ -189,6 +186,7 @@ class repository_upload extends repository {
         }
         $record->contextid = $context->id;
         $record->userid    = $USER->id;
+        $record->source    = '';
 
         if (repository::draftfile_exists($record->itemid, $record->filepath, $record->filename)) {
             $existingfilename = $record->filename;
index 20725c8..16f2eb0 100644 (file)
@@ -217,15 +217,5 @@ EOD;
     public function supported_returntypes() {
         return (FILE_INTERNAL | FILE_EXTERNAL);
     }
-
-    /**
-     * Return the source information
-     *
-     * @param stdClass $url
-     * @return string|null
-     */
-    public function get_file_source_info($url) {
-        return $url;
-    }
 }
 
index cc4bf2b..50d8556 100644 (file)
@@ -127,14 +127,4 @@ EOD;
     public function supported_returntypes() {
         return (FILE_INTERNAL | FILE_EXTERNAL);
     }
-
-    /**
-     * Return the source information
-     *
-     * @param stdClass $url
-     * @return string|null
-     */
-    public function get_file_source_info($url) {
-        return $url;
-    }
 }