MDL-15352, remove remotemoodle plugin from head
authorDongsheng Cai <unoter@gmail.com>
Fri, 11 Jun 2010 08:37:33 +0000 (08:37 +0000)
committerDongsheng Cai <unoter@gmail.com>
Fri, 11 Jun 2010 08:37:33 +0000 (08:37 +0000)
repository/remotemoodle/db/access.php [deleted file]
repository/remotemoodle/db/mnet.php [deleted file]
repository/remotemoodle/db/upgrade.php [deleted file]
repository/remotemoodle/icon.png [deleted file]
repository/remotemoodle/lang/en/repository_remotemoodle.php [deleted file]
repository/remotemoodle/repository.class.php [deleted file]
repository/remotemoodle/version.php [deleted file]

diff --git a/repository/remotemoodle/db/access.php b/repository/remotemoodle/db/access.php
deleted file mode 100644 (file)
index 8a9bb22..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-$capabilities = array(
-
-    'repository/remotemoodle:view' => array(
-        'captype' => 'read',
-        'contextlevel' => CONTEXT_SYSTEM,
-        'archetypes' => array(
-            'user' => CAP_ALLOW,
-            'student' => CAP_ALLOW,
-            'teacher' => CAP_ALLOW,
-            'editingteacher' => CAP_ALLOW,
-            'manager' => CAP_ALLOW
-        )
-    )
-);
diff --git a/repository/remotemoodle/db/mnet.php b/repository/remotemoodle/db/mnet.php
deleted file mode 100644 (file)
index dbcb5ef..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-
-/**
- * This file contains the mnet services for the remotemoodle repository plugin
- *
- * @since 2.0
- * @package moodlecore
- * @subpackage repository
- * @copyright 2010 Penny Leach
- * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-$publishes = array(
-    'remoterep' => array(
-        'apiversion' => 1,
-        'classname'  => 'repository_remotemoodle',
-        'filename'   => 'repository.class.php',
-        'methods'    => array(
-            'getFileList',
-            'retrieveFile',
-        ),
-    ),
-);
-$subscribes = array(
-    'remoterep' => array(
-        'getFileList'  => 'repository/remotemoodle/repository.class.php/getFileList',
-        'retrieveFile' => 'repository/remotemoodle/repository.class.php/retrieveFile',
-
-    ),
-);
diff --git a/repository/remotemoodle/db/upgrade.php b/repository/remotemoodle/db/upgrade.php
deleted file mode 100644 (file)
index 7dc6808..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-function xmldb_repository_remotemoodle_upgrade($oldversion) {
-
-    global $CFG, $DB;
-
-    $dbman = $DB->get_manager();
-    $result = true;
-
-/// And upgrade begins here. For each one, you'll need one
-/// block of code similar to the next one. Please, delete
-/// this comment lines once this file start handling proper
-/// upgrade code.
-
-/// if ($result && $oldversion < YYYYMMDD00) { //New version in version.php
-///     $result = result of database_manager methods
-/// }
-
-    return $result;
-}
diff --git a/repository/remotemoodle/icon.png b/repository/remotemoodle/icon.png
deleted file mode 100644 (file)
index 5131cf3..0000000
Binary files a/repository/remotemoodle/icon.png and /dev/null differ
diff --git a/repository/remotemoodle/lang/en/repository_remotemoodle.php b/repository/remotemoodle/lang/en/repository_remotemoodle.php
deleted file mode 100644 (file)
index 4731f37..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * Strings for component 'repository_remotemoodle', language 'en', branch 'MOODLE_20_STABLE'
- *
- * @package   repository_remotemoodle
- * @copyright 1999 onwards Martin Dougiamas  {@link http://moodle.com}
- * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-$string['configplugin'] = 'Configuration for remote Moodle file repository';
-$string['connectionfailure'] = 'Failed to retrieve file listing - The host moodle has either a version older than 2.0, either its Moodle Remote Repository service hasn\'t been activated';
-$string['emptyfilelist'] = 'There are no files to show';
-$string['failtoretrievelist'] = 'List could not be retrieved or is empty';
-$string['hostnotfound'] = 'Cannot find the remote Moodle into the database - contact your system administrator';
-$string['nopeer'] = 'Please setup some <a href="http://docs.moodle.org/en/admin/mnet/peers#Peer_to_Peer_Network">Moodle peers</a> for your Moodle site.';
-$string['notitle'] = 'notitle';
-$string['peer'] = 'Peer';
-$string['remember'] = 'Remember me';
-$string['remotemoodle:view'] = 'View remote moodle repository';
-$string['remoterep_description'] = 'Allow the service to be discovered';
-$string['remoterep_name'] = 'Remote Moodle site';
-$string['repositorydesc'] = 'Files on a remote Moodle server';
-$string['repositoryname'] = 'Remote Moodle site';
-$string['usercannotaccess'] = 'You ({$a}) cannot access to this file';
-$string['usernotfound'] = 'The user {$a} is not registered into the remote Moodle';
diff --git a/repository/remotemoodle/repository.class.php b/repository/remotemoodle/repository.class.php
deleted file mode 100644 (file)
index 02dcfdf..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-<?php
-
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * repository_remotemoodle class
- * This plugin allowed to connect a retrieve a file from another Moodle site
- * This is a subclass of repository class
- *
- * @since 2.0
- * @package moodlecore
- * @subpackage repository
- * @copyright 2009 Jerome Mouneyrac
- * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-require_once($CFG->dirroot.'/repository/lib.php');
-
-
-class repository_remotemoodle extends repository {
-
-    /**
-     * Constructor of remotemoodle plugin, used to setup mnet environment
-     * @global object $SESSION
-     * @global object $CFG
-     * @param int $repositoryid
-     * @param object $context
-     * @param array $options
-     */
-    public function __construct($repositoryid, $context = SYSCONTEXTID, $options = array()) {
-        global $SESSION, $CFG;
-        parent::__construct($repositoryid, $context, $options);
-        $this->mnet = get_mnet_environment();
-    }
-
-    /**
-     * Retrieve a file for a user of the Moodle client calling this function
-     * The file is encoded in base64
-     * @global object $DB
-     * @global object $USER
-     * @param string $username
-     * @param string $source
-     * @return array
-     */
-    public function retrieveFile($username, $source) {
-        global $DB, $USER;
-
-        $remoteclient = get_mnet_remote_client();
-
-        ///check the the user is known
-        ///he has to be previously connected to the server site in order to be in the database
-        //TODO: MDL-21318 this looks problematic, because global $USER would need to be set back after this,
-        //      also is the user allowed to roam?
-        $USER = $DB->get_record('user',array('username' => $username, 'mnethostid' => $remoteclient->id));
-        if (empty($USER)) {
-            throw new mnet_server_exception(9012, 'usernotfound', 'repository_remotemoodle',  $username);
-        }
-
-        $file = unserialize(base64_decode($source));
-        $contextid = $file[0];
-        $filearea = $file[1];
-        $itemid = $file[2];
-        $filepath = $file[3];
-        $filename = $file[4];
-
-        ///check that the user has read permission on this file
-        $browser = get_file_browser();
-        $fileinfo = $browser->get_file_info(get_context_instance_by_id($contextid), $filearea, $itemid, $filepath, $filename);
-        if (empty($fileinfo)) {
-            throw new mnet_server_exception(9013, 'usercannotaccess', 'repository_remotemoodle',  $file);
-        }
-
-        ///retrieve the file with file API functions and return it encoded in base64
-        $fs = get_file_storage();
-        $sf = $fs->get_file($contextid, $filearea, $itemid, $filepath, $filename);
-        $contents = base64_encode($sf->get_content());
-        return array($contents, $sf->get_filename());
-    }
-
-    /**
-     * Retrieve file list for a user of the Moodle client calling this function
-     * @global object $DB
-     * @global object $USER
-     * @global object $CFG
-     * @param string $username
-     * @param string $search
-     * @return array
-     */
-    public function getFileList($username, $search) {
-        global $DB, $USER, $CFG;
-
-        $remoteclient = get_mnet_remote_client();
-        ///check the the user is known
-        ///he has to be previously connected to the server site in order to be in the database
-        //TODO: MDL-21318 this looks problematic, because global $USER would need to be set back after this,
-        //      also is the user allowed to roam?
-        $USER = $DB->get_record('user',array('username' => $username, 'mnethostid' => $remoteclient->id));
-        if (empty($USER)) {
-            throw new mnet_server_exception(9012, 'usernotfound', 'repository_remotemoodle',  $username);
-        }
-
-        try {
-            return repository::get_user_file_tree($search);
-        }
-        catch (Exception $e) {
-            throw new mnet_server_exception(9014, 'failtoretrievelist', 'repository_remotemoodle');
-        }
-    }
-
-    /**
-     * Display the file listing - no login required
-     * @return array
-     */
-    public function print_login() {
-        return $this->get_listing();
-    }
-
-    /**
-     * Display the file listing for the search term
-     * @param string $search_text
-     * @return array
-     */
-    public function search($search_text) {
-        return $this->get_listing('', '', $search_text);
-    }
-
-    /**
-     * Retrieve the file listing - file picker function
-     * @global object $CFG
-     * @global object $DB
-     * @global object $USER
-     * @param string $encodedpath
-     * @param int $page
-     * @param string $search
-     * @return array
-     */
-    public function get_listing($encodedpath = '', $page = '', $search = '') {
-        global $CFG, $DB, $USER;
-
-        ///check that the host has a version >2.0
-        ///for that we check that the host has the getFileList() method implemented
-        ///We also check that this method has been activated (if it is not
-        ///the method will not be returned by the system method system/listMethods)
-        require_once($CFG->dirroot . '/mnet/xmlrpc/client.php');
-
-        ///check that the peer has been setup
-        if (!array_key_exists('peer',$this->options)) {
-            echo json_encode(array('e'=>get_string('error').' 9010: '.get_string('hostnotfound','repository_remotemoodle')));
-            exit;
-        }
-
-        $host = $DB->get_record('mnet_host',array('id' => $this->options['peer'])); //need to retrieve the host url
-
-        ///check that the peer host exists into the database
-        if (empty($host)) {
-           echo json_encode(array('e'=>get_string('error').' 9011: '.get_string('hostnotfound','repository_remotemoodle')));
-           exit;
-        }
-
-        $mnet_peer = new mnet_peer();
-        $mnet_peer->set_wwwroot($host->wwwroot);
-        $client = new mnet_xmlrpc_client();
-        $client->set_method('system/listMethods');
-        $client->send($mnet_peer);
-        $services = $client->response;
-        if (array_search('repository/remotemoodle/repository.class.php/getFileList', $services) === false) {
-            echo json_encode(array('e'=>get_string('connectionfailure','repository_remotemoodle')));
-            exit;
-        }
-
-        ///connect to the remote moodle and retrieve the list of files
-        $client->set_method('repository/remotemoodle/repository.class.php/getFileList');
-        $client->add_param($USER->username);
-        $client->add_param($search);
-
-        ///call the method and manage host error
-        if (!$client->send($mnet_peer)) {
-            $message =" ";
-            foreach ($client->error as $errormessage) {
-                $message .= "ERROR: $errormessage . ";
-            }
-            echo json_encode(array('e'=>$message)); //display all error messages
-            exit;
-        }
-
-        $services = $client->response;
-        ///display error message if we could retrieve the list or if nothing were returned
-        if (empty($services)) {
-            echo json_encode(array('e'=>get_string('failtoretrievelist','repository_remotemoodle')));
-            exit;
-        }
-
-        return $services;
-    }
-
-
-
-    /**
-     * Download a file
-     * @global object $CFG
-     * @param string $url the url of file
-     * @param string $file save location
-     * @return string the location of the file
-     * @see curl package
-     */
-    public function get_file($url, $file = '') {
-        global $CFG, $DB, $USER;
-
-        ///set mnet environment and set the mnet host
-        require_once($CFG->dirroot . '/mnet/xmlrpc/client.php');
-        $host = $DB->get_record('mnet_host',array('id' => $this->options['peer'])); //retrieve the host url
-        $mnet_peer = new mnet_peer();
-        $mnet_peer->set_wwwroot($host->wwwroot);
-
-        ///create the client and set the method to call
-        $client = new mnet_xmlrpc_client();
-        $client->set_method('repository/remotemoodle/repository.class.php/retrieveFile');
-        $client->add_param($USER->username);
-        $client->add_param($url);
-
-        ///call the method and manage host error
-        if (!$client->send($mnet_peer)) {
-            $message =" ";
-            foreach ($client->error as $errormessage) {
-                $message .= "ERROR: $errormessage . ";
-            }
-            echo json_encode(array('e'=>$message));
-            exit;
-        }
-
-        $services = $client->response; //service contains the file content in the first case of the array,
-                                       //and the filename in the second
-
-        //the content has been encoded in base64, need to decode it
-        $content = base64_decode($services[0]);
-        $file = $services[1]; //filename
-
-        ///create a temporary folder with a file
-        $path = $this->prepare_file($file);
-        ///fill the file with the content
-        $fp = fopen($path, 'w');
-        fwrite($fp,$content);
-        fclose($fp);
-
-        return array('path'=>$path);
-
-    }
-
-    /**
-     * Add Instance settings input to Moodle form
-     * @global object $CFG
-     * @global object $DB
-     * @param object $mform
-     */
-    public function instance_config_form($mform) {
-        global $CFG, $DB;
-
-        //retrieve only Moodle peers
-        $hosts = $DB->get_records_sql('  SELECT
-                                    h.id,
-                                    h.wwwroot,
-                                    h.ip_address,
-                                    h.name,
-                                    h.public_key,
-                                    h.public_key_expires,
-                                    h.transport,
-                                    h.portno,
-                                    h.last_connect_time,
-                                    h.last_log_id,
-                                    h.applicationid,
-                                    a.name as app_name,
-                                    a.display_name as app_display_name,
-                                    a.xmlrpc_server_url
-                                FROM {mnet_host} h
-                                    JOIN {mnet_application} a ON h.applicationid=a.id
-                                WHERE
-                                    h.id <> ? AND
-                                    h.deleted = 0 AND
-                                    a.name = ? AND
-                                    h.name <> ?',
-                        array($CFG->mnet_localhost_id, 'moodle', 'All Hosts'));
-        $peers = array();
-        foreach($hosts as $host) {
-            $peers[$host->id] = $host->name;
-        }
-
-
-        $mform->addElement('select', 'peer', get_string('peer', 'repository_remotemoodle'),$peers);
-        $mform->addRule('peer', get_string('required'), 'required', null, 'client');
-
-        if (empty($peers)) {
-            $mform->addElement('static', null, '',  get_string('nopeer','repository_remotemoodle'));
-        }
-    }
-
-    /**
-     * Names of the instance settings
-     * @return array
-     */
-    public static function get_instance_option_names() {
-        ///the administrator just need to set a peer
-        return array('peer');
-    }
-    public function supported_returntypes() {
-        return FILE_INTERNAL;
-    }
-}
-
diff --git a/repository/remotemoodle/version.php b/repository/remotemoodle/version.php
deleted file mode 100644 (file)
index 8254b62..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-$plugin->version = 2010021801;