. /** * Folder module renderer * * @package mod * @subpackage folder * @copyright 2009 Petr Skoda {@link http://skodak.org} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); class mod_folder_renderer extends plugin_renderer_base { /** * Prints file folder tree view * @param object $folder instance * @param object $cm instance * @param object $course * @return void */ public function folder_tree($folder, $cm, $course) { $this->render(new folder_tree($folder, $cm, $course)); } public function render_folder_tree(folder_tree $tree) { global $PAGE; echo '
'; echo $this->htmllize_tree($tree, $tree->dir); echo '
'; $this->page->requires->js_init_call('M.mod_folder.init_tree', array(true)); } /** * Internal function - creates htmls structure suitable for YUI tree. */ protected function htmllize_tree($tree, $dir) { global $CFG; if (empty($dir['subdirs']) and empty($dir['files'])) { return ''; } $result = ''; return $result; } } class folder_tree implements renderable { public $context; public $folder; public $cm; public $course; public $dir; public function __construct($folder, $cm, $course) { $this->folder = $folder; $this->cm = $cm; $this->course = $course; $this->context = get_context_instance(CONTEXT_MODULE, $cm->id); $fs = get_file_storage(); $this->dir = $fs->get_area_tree($this->context->id, 'mod_folder', 'content', 0); } }