--- /dev/null
+<?php
+
+function xmldb_repository_draft_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;
+}
--- /dev/null
+<?php
+/**
+ * repository_draft class
+ * This is a subclass of repository class
+ *
+ * @version $Id$
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ */
+class repository_draft extends repository {
+
+ /**
+ * @param int $repositoryid
+ * @param int $context
+ * @param array $options
+ */
+ public function __construct($repositoryid, $context = SITEID, $options = array()) {
+ parent::__construct($repositoryid, $context, $options);
+ }
+
+ /**
+ * @param boolean $ajax
+ * @return mixed
+ */
+ public function print_login() {
+ return $this->get_listing();
+ }
+
+ /**
+ *
+ * @param string $path
+ * @param string $path not used by this plugin
+ * @return mixed
+ */
+ public function get_listing($path = '', $page = '') {
+ global $CFG, $USER, $itemid;
+ $ret = array();
+ $ret['dynload'] = true;
+ $ret['nosearch'] = true;
+ $ret['nologin'] = true;
+ $ret['draftfiles'] = true;
+ $list = array();
+
+ $fs = get_file_storage();
+ $context = get_context_instance(CONTEXT_USER, $USER->id);
+ $files = $fs->get_area_files($context->id, 'user_draft', $itemid);
+ foreach ($files as $file) {
+ if ($file->get_filename()!='.') {
+ $node = array(
+ 'title' => $file->get_filename(),
+ 'size' => 0,
+ 'date' => '',
+ 'source'=> $file->get_id(),
+ 'thumbnail' => $CFG->pixpath .'/f/text-32.png'
+ );
+ $list[] = $node;
+ }
+ }
+ $ret['list'] = $list;
+ return $ret;
+ }
+
+ /**
+ * Return draft files information
+ *
+ * @global object $USER
+ * @param string $fid file id
+ * @param string $title
+ * @param string $itemid
+ * @return string the location of the file
+ */
+ public function get_file($fid, $title = '', $itemid = '') {
+ global $USER;
+ $ret = array();
+ $browser = get_file_browser();
+ $user_context = get_context_instance(CONTEXT_USER, $USER->id);
+ $ret['itemid'] = $itemid;
+ $ret['title'] = $title;
+ $ret['contextid'] = $user_context->id;
+ return $ret;
+ }
+
+ /**
+ *
+ * @return string repository name
+ */
+ public function get_name(){
+ return get_string('repositoryname', 'repository_draft');;
+ }
+}
+?>
params['ctx_id']=fp_config.contextid;
params['client_id'] = client_id;
params['repo_id']=id;
+ params['itemid'] = repository_client.fp[client_id].itemid;
if (!!page) { // convert page to boolean value
params['page']=page;
}
link.appendChild(img);
frame.appendChild(link);
el.appendChild(frame);
+ if (fp.fs.draftfiles && !list[k].children) {
+ var delbtn = document.createElement('A');
+ delbtn.href = '###';
+ delbtn.innerHTML = "[X]";
+ delbtn.id = 'del-id-'+String(count);
+ el.appendChild(delbtn);
+ delbtn.itemid=fp.itemid;
+ delbtn.client_id=client_id;
+ delbtn.title=list[k].title;
+ delbtn.repo_id=fp.fs.repo_id;
+ delbtn.onclick = function() {
+ if (confirm('Sure?')) {
+ var params = [];
+ params['client_id'] = this.client_id;
+ params['itemid'] = this.itemid;
+ params['title'] = this.title;
+ var trans = YAHOO.util.Connect.asyncRequest('POST',
+ moodle_cfg.wwwroot+'/repository/ws.php?action=delete',
+ this,
+ repository_client.postdata(params)
+ );
+ }
+ }
+ delbtn.success = function(o) {
+ repository_client.req(o.responseText, this.repo_id);
+ }
+ }
el.appendChild(title);
panel.appendChild(el);
if(list[k].children) {