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

📄 finder.php

📁 很棒的在线教学系统
💻 PHP
字号:
<?php    require_once('../../../../config.php');    require_once('../../lib.php');    require_once('resource.class.php');    require_once('../../../../backup/lib.php');    require_once('../../../../lib/filelib.php');    require_once('../../../../lib/xmlize.php');        require_once('repository_config.php');/// Directory to browse, inside repository. Starts on ''.        $directory = optional_param ('directory', '', PARAM_PATH);    $choose  = optional_param('choose', 'id_reference_value', PARAM_FILE);    $name  = optional_param('name', 'id_name', PARAM_FILE);    /// Get the language strings needed    $strdeployall = get_string('deployall','resource');    $strpreview = get_string('preview','resource');    $strchoose = get_string('choose','resource');    $strdeploy = get_string('deploy','resource');    $strnotdeployed = get_string('notdeployed','resource');    $stremptyfolder = get_string('emptyfolder','resource');    /// Print header. Blank, nothing fancy.     print_header();        $items = array();/// Open $directory    if (!($repository_dir = opendir("$CFG->repository/$directory"))) die("Can't open directory \"$CFG->repository/$directory\"");    /// Loops though dir building a list of all relevent entries. Ignores files./// Asks for deploy if admin user AND no serialized file found.    while (false !== ($filename = readdir($repository_dir))) {        if ($filename != '.' && $filename != '..' && is_dir("$CFG->repository/$directory/$filename")) {            unset($item);            $item->type = '';            $item->name = 0;            $item->path = "$directory/$filename";                    /// No manifest => normal, browsable directory.            if (!file_exists("$CFG->repository/$item->path/imsmanifest.xml")) {                $item->type = 'directory';                $item->name = $filename;            }        /// Manifest, so IMS CP.            else {                if (file_exists("$CFG->repository/$item->path/moodle_inx.ser")) {                    $item->type = 'deployed';                    $index = ims_load_serialized_file("$CFG->repository/$item->path/moodle_inx.ser");                    $item->name = $index['title'];                }                else {                    $item->type = 'not deployed';                    $item->name = $filename;                }            }            $items[] = $item;           }       }    closedir($repository_dir);/// Prints the toolbar.     echo '<div id="ims_toolbar" style="padding:10px;">';    ims_print_crumbtrail($directory, $choose);    /// If admin, add extra buttons - redeploy & help.    if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))) {        echo " | (<a href=\"repository_deploy.php?file=$directory&amp;all=force\">$strdeployall</a>) ";        helpbutton("deploy", get_string("deployall", "resource"), "resource", true);    }    echo '</div>';/// Prints the file list from list generated above.    echo '<div id="ims_filelist">';    ?>    <script type="text/javascript">        //<![CDATA[        function set_opener_value(field, txt, force) {            if (opener.document.getElementById(field)) {                if (force || !opener.document.getElementById(field).value) {                    opener.document.getElementById(field).value = txt;                }            }        }        //]]>    </script>    <?php    echo '<ul style="list-style:none;padding:10px;margin:0px;">';    if ($items != array()) {        foreach ($items as $item) {            if ($item->type == 'deployed') {                echo "<li><img src=\"images/ims.gif\" alt=\"IMS CP Package\" /> $item->name" .                     "(<a onclick=\"set_opener_value('$choose', '#$item->path', true); set_opener_value('$name', '$item->name', false); window.close()\" href=\"#\">$strchoose</a>) " .                     "(<a href=\"preview.php?directory=$item->path&amp;choose=$choose\">$strpreview</a>)</li>\n";            }            else if ($item->type == 'not deployed') {            /// Only displays non-deployed IMS CP's if admin user.                if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))) {                    echo "<li><img src=\"images/ims.gif\" alt=\"IMS CP Package\" /> <em>$item->path - $strnotdeployed</em> (<a href=\"repository_deploy.php?file=$item->path\">$strdeploy</a>)</li>\n";                }            }            else if ($item->type == 'directory') {                echo "<li><img src=\"images/dir.gif\" alt=\"IMS CP Package\" /> <a href=\"?directory=$item->path&amp;choose=$choose\">$item->name</a></li>\n";            }        }    }    else {        echo "<li><em>$stremptyfolder</em></li>";    }    echo "</ul>";    /// Print footer and exit.    echo "</div></div></div></body></html>";    exit;    /// Generates the crumbtrial from $directory. Just splits up on '/'.    function ims_print_crumbtrail($directory, $choose='') {        $strrepository = get_string('repository','resource');                $arr = explode('/', $directory);        $last = array_pop($arr);        if (trim($directory, '/') == '') {            echo $strrepository;            return;        }        else {            $output = "<a href=\"?directory=&amp;choose=$choose\">$strrepository</a> &#187; ";        }        $itemdir = '';        foreach ($arr as $item) {            if ($item == '') continue;            $itemdir .= '/'.$item;            $output .= "<a href=\"?directory=$itemdir&amp;choose=$choose\">$item</a> &#187; ";        }        $output .= $last;        echo $output;    }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -