"MDL-16596, fixed nonjs filemanager"
authorDongsheng Cai <unoter@gmail.com>
Sun, 7 Mar 2010 16:40:25 +0000 (16:40 +0000)
committerDongsheng Cai <unoter@gmail.com>
Sun, 7 Mar 2010 16:40:25 +0000 (16:40 +0000)
lib/form/editor.php
lib/form/filemanager.php
mod/data/field/file/field.class.php
repository/filepicker.php

index bba2c0a..f66cd48 100644 (file)
@@ -194,7 +194,7 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
             $str .= '<div><input type="hidden" name="'.$elname.'[itemid]" value="'.$draftitemid.'" /></div>';
         /// embedded image files - TODO: hide on the fly when switching editors
             $str .= '<div id="'.$id.'_filemanager">';
-            $editorurl = "$CFG->wwwroot/repository/filepicker.php?action=browse&amp;env=editor&amp;itemid=$draftitemid&amp;subdirs=$subdirs&amp;maxbytes=$maxbytes&amp;ctx_id=".$ctx->id;
+            $editorurl = "$CFG->wwwroot/repository/filepicker.php?action=browse&amp;env=editor&amp;itemid=$draftitemid&amp;subdirs=$subdirs&amp;maxbytes=$maxbytes&amp;ctx_id=".$ctx->id.'&amp;course='.$PAGE->course->id;
             $str .= '<object type="text/html" data="'.$editorurl.'" height="160" width="600" style="border:1px solid #000">Error</object>'; // TODO: localise, fix styles, etc.
             $str .= '</div>';
         } else {
index d8eab4f..b67406b 100644 (file)
@@ -228,7 +228,7 @@ FMHTML;
 FMHTML;
         // non-javascript file manager, will be destroied automatically if javascript is enabled.
         // will be removed if javascript is enabled
-        $editorurl = "$CFG->wwwroot/repository/filepicker.php?env=filemanager&amp;action=embedded&amp;itemid=$draftitemid&amp;subdirs=/&amp;maxbytes=$options->maxbytes&amp;ctx_id=".$PAGE->context->id;
+        $editorurl = "$CFG->wwwroot/repository/filepicker.php?env=filemanager&amp;action=embedded&amp;itemid=$draftitemid&amp;subdirs=/&amp;maxbytes=$options->maxbytes&amp;ctx_id=".$PAGE->context->id.'&amp;course='.$PAGE->course->id;
         $html .= <<<NONJS
 <div id="nonjs-filemanager-$client_id">
 <object type="text/html" data="$editorurl" height="160" width="600" style="border:1px solid #000">Error</object>
index bca9ba5..ade44e6 100755 (executable)
@@ -134,6 +134,13 @@ FMHTML;
     </div>
 </div>
 FMHTML;
+        $editorurl = "$CFG->wwwroot/repository/filepicker.php?env=filemanager&amp;action=embedded&amp;itemid=$itemid&amp;subdirs=/&amp;maxbytes=$options->maxbytes&amp;ctx_id=".$PAGE->context->id.'&amp;course='.$PAGE->course->id;
+
+        $str .= <<<NONJS
+<div id="nonjs-filemanager-$client_id">
+<object type="text/html" data="$editorurl" height="160" width="600" style="border:1px solid #000">Error</object>
+</div>
+NONJS;
 
         $str .= '</fieldset>';
         $str .= '</div>';
index c29b663..1459309 100755 (executable)
@@ -45,6 +45,7 @@ $itemid      = optional_param('itemid', '',        PARAM_INT);
 // parameters for repository
 $callback    = optional_param('callback', '',      PARAM_CLEANHTML);
 $contextid   = optional_param('ctx_id',    SITEID, PARAM_INT);    // context ID
+$courseid    = optional_param('course',    SITEID, PARAM_INT);    // course ID
 $env         = optional_param('env', 'filepicker', PARAM_ALPHA);  // opened in file picker, file manager or html editor
 $filename    = optional_param('filename', '',      PARAM_FILE);
 $fileurl     = optional_param('fileurl', '',       PARAM_FILE);
@@ -66,6 +67,10 @@ $draftpath   = optional_param('draftpath', '/',    PARAM_PATH);
 $user_context    = get_context_instance(CONTEXT_USER, $USER->id);
 
 $PAGE->set_url('/repository/filepicker.php');
+if (!$course = $DB->get_record('course', array('id'=>$courseid))) {
+    print_error('invalidcourseid');
+}
+$PAGE->set_course($course);
 
 // init repository plugin
 //
@@ -86,7 +91,7 @@ if ($repository = $DB->get_record_sql($sql, array($repo_id))) {
     }
 }
 
-$url = new moodle_url($CFG->httpswwwroot."/repository/filepicker.php", array('ctx_id' => $contextid, 'itemid' => $itemid, 'env' => $env));
+$url = new moodle_url($CFG->httpswwwroot."/repository/filepicker.php", array('ctx_id' => $contextid, 'itemid' => $itemid, 'env' => $env, 'course'=>$courseid));
 $home_url = new moodle_url($url, array('action' => 'browse'));
 
 switch ($action) {
@@ -187,7 +192,7 @@ case 'sign':
             }
             if (!empty($list['page'])) {
                 // TODO: need a better solution
-                $pagingurl = new moodle_url("$CFG->httpswwwroot/repository/filepicker.php?action=list&itemid=$itemid&ctx_id=$contextid&repo_id=$repo_id");
+                $pagingurl = new moodle_url("$CFG->httpswwwroot/repository/filepicker.php?action=list&itemid=$itemid&ctx_id=$contextid&repo_id=$repo_id&course=$courseid");
                 echo $OUTPUT->paging_bar($list['total'], $list['page'] - 1, $list['perpage'], $pagingurl);
             }
             echo '<table>';