]> git.mjollnir.org Git - moodle.git/commitdiff
"MDL-13766, support iframe repository"
authordongsheng <dongsheng>
Mon, 3 Nov 2008 04:44:53 +0000 (04:44 +0000)
committerdongsheng <dongsheng>
Mon, 3 Nov 2008 04:44:53 +0000 (04:44 +0000)
repository/javascript.php
repository/lib.php

index 33ee3ed6576ad653020e3ec3df4087174ad2ba15..95ce2190eeaa98c71d80156341a56b102539529f 100644 (file)
@@ -634,6 +634,10 @@ _client.dynload = function (node, fnLoadComplete) {
     var trans = YAHOO.util.Connect.asyncRequest('POST',
             '$CFG->httpswwwroot/repository/ws.php?action=list', callback, _client.postdata(params));
 }
+_client.viewiframe = function() {
+    var panel = new YAHOO.util.Element('panel-$suffix');
+    panel.get('element').innerHTML = "<iframe frameborder=\"0\" width=\"98%\" height=\"400px\" src=\""+_client.ds.iframe+"\" />";
+}
 _client.viewlist = function() {
     _client.viewmode = 0;
     var panel = new YAHOO.util.Element('panel-$suffix');
@@ -916,6 +920,8 @@ success: function(o) {
      _client.ds = ret;
      if(!_client.ds) {
          return;
+     }else if(_client.ds.iframe) {
+         _client.viewiframe();
      }else if(_client.ds && _client.ds.login) {
          _client.print_login();
      } else if(_client.ds.list) {
index 071838f072c006ca174dc8268bc85d59ae1f6758..3d5abb91af4f0738ab5b9714e200df2597271781 100644 (file)
@@ -705,8 +705,10 @@ abstract class repository {
             $id = $DB->insert_record('repository_instances', $record);
             $options = array();
             $configs = call_user_func($classname . '::get_instance_option_names');
-            foreach ($configs as $config) {
-                $options[$config] = $params[$config];
+            if (!empty($configs)) {
+                foreach ($configs as $config) {
+                    $options[$config] = $params[$config];
+                }
             }
 
             if (!empty($id)) {
@@ -1254,6 +1256,24 @@ function repository_move_to_filepool($path, $name, $itemid, $filearea = 'user_dr
     }
 }
 
+function repository_download_btn($repo_id, $ctx_id, $sesskey, $title, $src, $returnurl = '') {
+    global $CFG;
+    if (empty($returnurl)) {
+        $returnurl = get_referer();
+    }
+    $str  = '<form action="'.$CFG->httpswwwroot.'/repository/ws.php">';
+    $str .= '  <input type="hidden" name="sesskey" value="'.$sesskey.'" />';
+    $str .= '  <input type="hidden" name="ctx_id" value="'.$ctx_id.'" />';
+    $str .= '  <input type="hidden" name="repo_id" value="'.$repo_id.'" />';
+    $str .= '  <input type="hidden" name="file" value="'.$src.'" />';
+    $str .= '  <input type="hidden" name="action" value="download" />';
+    $str .= '  <input type="hidden" name="returnurl" value="'.$returnurl.'" />';
+    $str .= '  <input type="text" name="title" value="'.$title.'" />';
+    $str .= '  <input type="submit" value="Select it!" />';
+    $str .= '</form>';
+    return $str;
+}
+
 /**
  * Save file to local filesystem pool
  * @param string $elname name of element