📄 finder.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&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&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&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=&choose=$choose\">$strrepository</a> » "; } $itemdir = ''; foreach ($arr as $item) { if ($item == '') continue; $itemdir .= '/'.$item; $output .= "<a href=\"?directory=$itemdir&choose=$choose\">$item</a> » "; } $output .= $last; echo $output; }?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -