📄 resource.class.php
字号:
<?php// $Id: Resource.class.php 11784 2007-03-29 14:45:54Z yannoo $/*============================================================================== Dokeos - elearning and course management software Copyright (c) 2004 Dokeos S.A. Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) Bart Mollet (bart.mollet@hogent.be) For a full list of contributors, see "credits.txt". The full license can be read in "license.txt". This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the GNU General Public License for more details. Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium Mail: info@dokeos.com==============================================================================*//** * All possible resource-types */define('RESOURCE_DOCUMENT', 'document');define('RESOURCE_EVENT', 'calendar_event');define('RESOURCE_LINK', 'link');define('RESOURCE_COURSEDESCRIPTION', 'course_description');define('RESOURCE_LEARNPATH', 'learnpath');define('RESOURCE_ANNOUNCEMENT', 'announcement');define('RESOURCE_FORUM', 'forum');define('RESOURCE_FORUMTOPIC', 'thread');define('RESOURCE_FORUMPOST', 'post');define('RESOURCE_QUIZ', 'quiz');define('RESOURCE_QUIZQUESTION', 'Exercise_Question');define('RESOURCE_TOOL_INTRO', 'Tool introduction');define('RESOURCE_LINKCATEGORY', 'Link_Category');define('RESOURCE_FORUMCATEGORY', 'Forum_Category');define('RESOURCE_SCORM', 'Scorm');define('RESOURCE_SURVEY','survey');define('RESOURCE_SURVEYQUESTION','survey_question');define('RESOURCE_SURVEYINVITATION','survey_invitation');/** * Representation of a resource in a Dokeos-course. * This is a base class of which real resource-classes (for Links, * Documents,...) should be derived. * @author Bart Mollet <bart.mollet@hogent.be>s * @package dokeos.backup * @todo Use the gloabaly defined constants voor tools and remove the RESOURCE_* * constants */class Resource{ /** * The id from this resource in the source course */ var $source_id; /** * The id from this resource in the destination course */ var $destination_id; /** * The type of this resource */ var $type; /** * Linked resources */ var $linked_resources; /** * The properties of this resource */ var $item_properties; /** * Create a new Resource * @param int $id The id of this resource in the source course. * @param constant $type The type of this resource. */ function Resource($id, $type) { $this->source_id = $id; $this->type = $type; $this->destination_id = -1; $this->linked_resources = array (); $this->item_properties = array (); } /** * Add linked resource */ function add_linked_resource($type, $id) { $this->linked_resources[$type][] = $id; } /** * Get linked resources */ function get_linked_resources() { return $this->linked_resources; } /** * Checks if this resource links to a given resource */ function links_to(& $resource) { if (is_array($this->linked_resources[$resource->get_type()])) { return in_array($resource->get_id(), $this->linked_resources[$resource->get_type()]); } return false; } /** * Returns the id of this resource. * @return int The id of this resource in the source course. */ function get_id() { return $this->source_id; } /** * Resturns the type of this resource * @return constant The type. */ function get_type() { return $this->type; } /** * Get the constant which defines the tool of this resource. This is * used in the item_properties table. * @todo once the RESOURCE_* constants are replaced by the globally * defined TOOL_* constants, this function will be replaced by get_type() */ function get_tool() { switch($this->get_type()) { case RESOURCE_DOCUMENT: return TOOL_DOCUMENT; case RESOURCE_LINK: return TOOL_LINK; case RESOURCE_EVENT: return TOOL_CALENDAR_EVENT; case RESOURCE_COURSEDESCRIPTION: return TOOL_COURSE_DESCRIPTION; case RESOURCE_LEARNPATH: return TOOL_LEARNPATH; case RESOURCE_ANNOUNCEMENT: return TOOL_ANNOUNCEMENT; case RESOURCE_FORUM: return TOOL_FORUM; case RESOURCE_FORUMTOPIC: return TOOL_THREAD; case RESOURCE_FORUMPOST: return TOOL_POST; case RESOURCE_QUIZ: return TOOL_QUIZ; //case RESOURCE_QUIZQUESTION: //no corresponding global constant // return TOOL_QUIZ_QUESTION; //case RESOURCE_TOOL_INTRO: // return TOOL_INTRO; //case RESOURCE_LINKCATEGORY: // return TOOL_LINK_CATEGORY; //case RESOURCE_TOOL_FORUMCATEGORY: // return TOOL_FORUM_CATEGORY; //case RESOURCE_SCORM: // return TOOL_SCORM_DOCUMENT; case RESOURCE_SURVEY: return TOOL_SURVEY; //case RESOURCE_SURVEYQUESTION: // return TOOL_SURVEY_QUESTION; //case RESOURCE_SURVEYINVITATION: // return TOOL_SURVEY_INVITATION; default: return null; } } /** * Set the destination id * @param int $id The id of this resource in the destination course. */ function set_new_id($id) { $this->destination_id = $id; } /** * Check if this resource is allready restored in the destination course. * @return bool true if allready restored (i.e. destination_id is set). */ function is_restored() { return $this->destination_id > -1; } /** * Show this resource */ function show() { //echo 'RESOURCE: '.$this->get_id().' '.$type[$this->get_type()].' '; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -