📄 resource.class.php
字号:
<?php // $Id: resource.class.php,v 1.38.2.3 2008/05/02 08:17:27 scyrma Exp $class resource_directory extends resource_base {function resource_directory($cmid=0) { parent::resource_base($cmid);}function add_instance($resource) { $this->_postprocess($resource); return parent::add_instance($resource);}function update_instance($resource) { $this->_postprocess($resource); return parent::update_instance($resource);}function _postprocess(&$resource) { if($resource->reference=='0') $resource->reference = ''; $resource->popup = ''; $resource->alltext = '';}function display() { global $CFG;/// Set up generic stuff first, including checking for access parent::display();/// Set up some shorthand variables $cm = $this->cm; $course = $this->course; $resource = $this->resource; require_once($CFG->libdir.'/filelib.php'); $subdir = optional_param('subdir','', PARAM_PATH); $resource->reference = clean_param($resource->reference, PARAM_PATH); $formatoptions = new object(); $formatoptions->noclean = true; $formatoptions->para = false; // MDL-12061, <p> in html editor breaks xhtml strict add_to_log($course->id, "resource", "view", "view.php?id={$cm->id}", $resource->id, $cm->id); if ($resource->reference) { $relativepath = "{$course->id}/{$resource->reference}"; } else { $relativepath = "{$course->id}"; } if ($subdir) { $relativepath = "$relativepath$subdir"; if (stripos($relativepath, 'backupdata') !== FALSE or stripos($relativepath, $CFG->moddata) !== FALSE) { error("Access not allowed!"); } $subs = explode('/', $subdir); array_shift($subs); $countsubs = count($subs); $count = 0; $backsub = ''; foreach ($subs as $sub) { $count++; if ($count < $countsubs) { $backsub .= "/$sub"; $this->navlinks[] = array('name' => $sub, 'link' => "view.php?id={$cm->id}", 'type' => 'title'); } else { $this->navlinks[] = array('name' => $sub, 'link' => '', 'type' => 'title'); } } } $pagetitle = strip_tags($course->shortname.': '.format_string($resource->name)); $update = update_module_button($cm->id, $course->id, $this->strresource); if (has_capability('moodle/course:managefiles', get_context_instance(CONTEXT_COURSE, $course->id))) { $options = array('id'=>$course->id, 'wdir'=>'/'.$resource->reference.$subdir); $editfiles = print_single_button("$CFG->wwwroot/files/index.php", $options, get_string("editfiles"), 'get', '', true); $update = $editfiles.$update; } $navigation = build_navigation($this->navlinks, $cm); print_header($pagetitle, $course->fullname, $navigation, "", "", true, $update, navmenu($course, $cm)); if (trim(strip_tags($resource->summary))) { print_simple_box(format_text($resource->summary, FORMAT_MOODLE, $formatoptions, $course->id), "center"); print_spacer(10,10); } $files = get_directory_list("$CFG->dataroot/$relativepath", array($CFG->moddata, 'backupdata'), false, true, true); if (!$files) { print_heading(get_string("nofilesyet")); print_footer($course); exit; } print_simple_box_start("center", "", "", '0' ); $strftime = get_string('strftimedatetime'); $strname = get_string("name"); $strsize = get_string("size"); $strmodified = get_string("modified"); $strfolder = get_string("folder"); $strfile = get_string("file"); echo '<table cellpadding="4" cellspacing="1" class="files" summary="">'; echo "<tr><th class=\"header name\" scope=\"col\">$strname</th>". "<th align=\"right\" colspan=\"2\" class=\"header size\" scope=\"col\">$strsize</th>". "<th align=\"right\" class=\"header date\" scope=\"col\">$strmodified</th>". "</tr>"; foreach ($files as $file) { if (is_dir("$CFG->dataroot/$relativepath/$file")) { // Must be a directory $icon = "folder.gif"; $relativeurl = "/view.php?blah"; $filesize = display_size(get_directory_size("$CFG->dataroot/$relativepath/$file")); } else { $icon = mimeinfo("icon", $file); $relativeurl = get_file_url("$relativepath/$file"); $filesize = display_size(filesize("$CFG->dataroot/$relativepath/$file")); } if ($icon == 'folder.gif') { echo '<tr class="folder">'; echo '<td class="name">'; echo "<a href=\"view.php?id={$cm->id}&subdir=$subdir/$file\">"; echo "<img src=\"$CFG->pixpath/f/$icon\" class=\"icon\" alt=\"$strfolder\" /> $file</a>"; } else { echo '<tr class="file">'; echo '<td class="name">'; link_to_popup_window($relativeurl, "resourcedirectory{$resource->id}", "<img src=\"$CFG->pixpath/f/$icon\" class=\"icon\" alt=\"$strfile\" /> $file", 450, 600, ''); } echo '</td>'; echo '<td> </td>'; echo '<td align="right" class="size">'; echo $filesize; echo '</td>'; echo '<td align="right" class="date">'; echo userdate(filemtime("$CFG->dataroot/$relativepath/$file"), $strftime); echo '</td>'; echo '</tr>'; } echo '</table>'; print_simple_box_end(); print_footer($course);}function setup($form) { global $CFG; parent::setup($form); $rawdirs = get_directory_list("$CFG->dataroot/{$this->course->id}", array($CFG->moddata, 'backupdata'), true, true, false); $dirs = array(); foreach ($rawdirs as $rawdir) { $dirs[$rawdir] = $rawdir; } include("$CFG->dirroot/mod/resource/type/directory/directory.html"); parent::setup_end();}function setup_elements(&$mform) { global $CFG; $rawdirs = get_directory_list($CFG->dataroot.'/'.$this->course->id, array($CFG->moddata, 'backupdata'), true, true, false); $dirs = array(); $dirs[0]=get_string('maindirectory', 'resource'); foreach ($rawdirs as $rawdir) { $dirs[$rawdir] = $rawdir; } $mform->addElement('select', 'reference', get_string('resourcetypedirectory', 'resource'), $dirs); $mform->setDefault('windowpopup', 0);}}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -