⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resource.class.php

📁 很棒的在线教学系统
💻 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}&amp;subdir=$subdir/$file\">";            echo "<img src=\"$CFG->pixpath/f/$icon\" class=\"icon\" alt=\"$strfolder\" />&nbsp;$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\" />&nbsp;$file", 450, 600, '');        }        echo '</td>';        echo '<td>&nbsp;</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 + -