1 |
efrain |
1 |
<?php
|
|
|
2 |
// This file is part of Moodle - http://moodle.org/
|
|
|
3 |
//
|
|
|
4 |
// Moodle is free software: you can redistribute it and/or modify
|
|
|
5 |
// it under the terms of the GNU General Public License as published by
|
|
|
6 |
// the Free Software Foundation, either version 3 of the License, or
|
|
|
7 |
// (at your option) any later version.
|
|
|
8 |
//
|
|
|
9 |
// Moodle is distributed in the hope that it will be useful,
|
|
|
10 |
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
11 |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
12 |
// GNU General Public License for more details.
|
|
|
13 |
//
|
|
|
14 |
// You should have received a copy of the GNU General Public License
|
|
|
15 |
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
|
|
16 |
|
|
|
17 |
/**
|
|
|
18 |
* @package backup-convert
|
|
|
19 |
* @subpackage cc-library
|
|
|
20 |
* @copyright 2011 Darko Miletic <dmiletic@moodlerooms.com>
|
|
|
21 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
|
22 |
*/
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
/**
|
|
|
27 |
Defined as specified in CC 1.1
|
|
|
28 |
*/
|
|
|
29 |
class intended_user_role {
|
|
|
30 |
const LEARNER = 'Learner';
|
|
|
31 |
const INSTRUCTOR = 'Instructor';
|
|
|
32 |
const MENTOR = 'Mentor';
|
|
|
33 |
}
|
|
|
34 |
|
|
|
35 |
class technical_role {
|
|
|
36 |
const AUTHOR = 'author';
|
|
|
37 |
const PUBLISHER = 'publisher';
|
|
|
38 |
const UNKNOWN = 'unknown';
|
|
|
39 |
const INITIATOR = 'initiator';
|
|
|
40 |
const TERMINATOR = 'terminator';
|
|
|
41 |
const VALIDATOR = 'validator';
|
|
|
42 |
const EDITOR = 'editor';
|
|
|
43 |
const GRAPHICAL_DESIGNER = 'graphical designer';
|
|
|
44 |
const TECHNICAL_IMPLEMENTER = 'technical implementer';
|
|
|
45 |
const CONTENT_PROVIDER = 'content provider';
|
|
|
46 |
const TECHNICAL_VALIDATOR = 'technical validator';
|
|
|
47 |
const EDUCATION_VALIDATOR = 'educational validator';
|
|
|
48 |
const SCRIPT_WRITER = 'script writer';
|
|
|
49 |
const INSTRUCTIONAL_DESIGNER= 'instructional designer';
|
|
|
50 |
const SUBJET_MATTER_EXPERT = 'subject matter expert';
|
|
|
51 |
}
|
|
|
52 |
|
|
|
53 |
|
|
|
54 |
class rights_copyright {
|
|
|
55 |
const YES = 'yes';
|
|
|
56 |
const NO = 'no';
|
|
|
57 |
}
|
|
|
58 |
|
|
|
59 |
|
|
|
60 |
class rights_cost {
|
|
|
61 |
const YES = 'yes';
|
|
|
62 |
const NO = 'no';
|
|
|
63 |
}
|
|
|
64 |
|
|
|
65 |
|
|
|
66 |
// Language identifier (as defined in ISO 639-1, ISO 639-2, and ISO 3166-1)
|
|
|
67 |
class language_lom {
|
|
|
68 |
const US_ENGLISH = 'en-US';
|
|
|
69 |
const GB_ENGLISH = 'en-GB';
|
|
|
70 |
const AR_SPANISH = 'es-AR';
|
|
|
71 |
const GR_GREEK = 'el-GR';
|
|
|
72 |
|
|
|
73 |
}
|
|
|
74 |
|
|
|
75 |
|
|
|
76 |
|
|
|
77 |
/**
|
|
|
78 |
* Metadata Manifest
|
|
|
79 |
*
|
|
|
80 |
*/
|
|
|
81 |
class cc_metadata_manifest implements cc_i_metadata_manifest {
|
|
|
82 |
|
|
|
83 |
|
|
|
84 |
public $arraygeneral = array();
|
|
|
85 |
public $arraytech = array();
|
|
|
86 |
public $arrayrights = array();
|
|
|
87 |
public $arraylifecycle = array();
|
|
|
88 |
|
|
|
89 |
|
|
|
90 |
public function add_metadata_general($obj){
|
|
|
91 |
if (empty($obj)){
|
|
|
92 |
throw new Exception('Medatada Object given is invalid or null!');
|
|
|
93 |
}
|
|
|
94 |
!is_null($obj->title)? $this->arraygeneral['title']=$obj->title:null;
|
|
|
95 |
!is_null($obj->language)? $this->arraygeneral['language']=$obj->language:null;
|
|
|
96 |
!is_null($obj->description)? $this->arraygeneral['description']=$obj->description:null;
|
|
|
97 |
!is_null($obj->keyword)? $this->arraygeneral['keyword']=$obj->keyword:null;
|
|
|
98 |
!is_null($obj->coverage)? $this->arraygeneral['coverage']=$obj->coverage:null;
|
|
|
99 |
!is_null($obj->catalog)? $this->arraygeneral['catalog']=$obj->catalog:null;
|
|
|
100 |
!is_null($obj->entry)? $this->arraygeneral['entry']=$obj->entry:null;
|
|
|
101 |
}
|
|
|
102 |
|
|
|
103 |
public function add_metadata_technical($obj){
|
|
|
104 |
if (empty($obj)){
|
|
|
105 |
throw new Exception('Medatada Object given is invalid or null!');
|
|
|
106 |
}
|
|
|
107 |
!is_null($obj->format)? $this->arraytech['format']=$obj->format:null;
|
|
|
108 |
}
|
|
|
109 |
|
|
|
110 |
|
|
|
111 |
public function add_metadata_rights($obj){
|
|
|
112 |
if (empty($obj)){
|
|
|
113 |
throw new Exception('Medatada Object given is invalid or null!');
|
|
|
114 |
}
|
|
|
115 |
!is_null($obj->copyright)? $this->arrayrights['copyrightAndOtherRestrictions']=$obj->copyright:null;
|
|
|
116 |
!is_null($obj->description)? $this->arrayrights['description']=$obj->description:null;
|
|
|
117 |
!is_null($obj->cost)? $this->arrayrights['cost']=$obj->cost:null;
|
|
|
118 |
|
|
|
119 |
}
|
|
|
120 |
|
|
|
121 |
|
|
|
122 |
public function add_metadata_lifecycle($obj){
|
|
|
123 |
if (empty($obj)){
|
|
|
124 |
throw new Exception('Medatada Object given is invalid or null!');
|
|
|
125 |
}
|
|
|
126 |
!is_null($obj->role)? $this->arraylifecycle['role']=$obj->role:null;
|
|
|
127 |
!is_null($obj->entity)? $this->arraylifecycle['entity']=$obj->entity:null;
|
|
|
128 |
!is_null($obj->date)? $this->arraylifecycle['date']=$obj->date:null;
|
|
|
129 |
|
|
|
130 |
}
|
|
|
131 |
|
|
|
132 |
}
|
|
|
133 |
|
|
|
134 |
|
|
|
135 |
/**
|
|
|
136 |
* Metadata Lifecycle Type
|
|
|
137 |
*
|
|
|
138 |
*/
|
|
|
139 |
class cc_metadata_lifecycle{
|
|
|
140 |
|
|
|
141 |
public $role = array();
|
|
|
142 |
public $entity = array();
|
|
|
143 |
public $date = array();
|
|
|
144 |
|
|
|
145 |
public function set_role($role){
|
|
|
146 |
$this->role[] = array($role);
|
|
|
147 |
}
|
|
|
148 |
public function set_entity($entity){
|
|
|
149 |
$this->entity[] = array($entity);
|
|
|
150 |
}
|
|
|
151 |
public function set_date($date){
|
|
|
152 |
$this->date[] = array($date);
|
|
|
153 |
}
|
|
|
154 |
|
|
|
155 |
|
|
|
156 |
}
|
|
|
157 |
|
|
|
158 |
/**
|
|
|
159 |
* Metadata Rights Type
|
|
|
160 |
*
|
|
|
161 |
*/
|
|
|
162 |
class cc_metadata_rights {
|
|
|
163 |
|
|
|
164 |
public $copyright = array();
|
|
|
165 |
public $description = array();
|
|
|
166 |
public $cost = array();
|
|
|
167 |
|
|
|
168 |
public function set_copyright($copy){
|
|
|
169 |
$this->copyright[] = array($copy);
|
|
|
170 |
}
|
|
|
171 |
public function set_description($des,$language){
|
|
|
172 |
$this->description[] = array($language,$des);
|
|
|
173 |
}
|
|
|
174 |
public function set_cost($cost){
|
|
|
175 |
$this->cost[] = array($cost);
|
|
|
176 |
}
|
|
|
177 |
|
|
|
178 |
}
|
|
|
179 |
|
|
|
180 |
|
|
|
181 |
/**
|
|
|
182 |
* Metadata Technical Type
|
|
|
183 |
*
|
|
|
184 |
*/
|
|
|
185 |
class cc_metadata_technical {
|
|
|
186 |
|
|
|
187 |
public $format = array();
|
|
|
188 |
|
|
|
189 |
|
|
|
190 |
public function set_format($format){
|
|
|
191 |
$this->format[] = array($format);
|
|
|
192 |
}
|
|
|
193 |
|
|
|
194 |
}
|
|
|
195 |
|
|
|
196 |
|
|
|
197 |
/**
|
|
|
198 |
* Metadata General Type
|
|
|
199 |
*
|
|
|
200 |
*/
|
|
|
201 |
class cc_metadata_general {
|
|
|
202 |
|
|
|
203 |
public $title = array();
|
|
|
204 |
public $language = array();
|
|
|
205 |
public $description = array();
|
|
|
206 |
public $keyword = array();
|
|
|
207 |
public $coverage = array();
|
|
|
208 |
public $catalog = array();
|
|
|
209 |
public $entry = array();
|
|
|
210 |
|
|
|
211 |
|
|
|
212 |
|
|
|
213 |
public function set_coverage($coverage,$language){
|
|
|
214 |
$this->coverage[] = array($language,$coverage);
|
|
|
215 |
}
|
|
|
216 |
public function set_description($description,$language){
|
|
|
217 |
$this->description[] = array($language,$description);
|
|
|
218 |
}
|
|
|
219 |
public function set_keyword($keyword,$language){
|
|
|
220 |
$this->keyword[] = array($language,$keyword);
|
|
|
221 |
}
|
|
|
222 |
public function set_language($language){
|
|
|
223 |
$this->language[] = array($language);
|
|
|
224 |
}
|
|
|
225 |
public function set_title($title,$language){
|
|
|
226 |
$this->title[] = array($language,$title);
|
|
|
227 |
}
|
|
|
228 |
public function set_catalog($cat){
|
|
|
229 |
$this->catalog[] = array($cat);
|
|
|
230 |
}
|
|
|
231 |
public function set_entry($entry){
|
|
|
232 |
$this->entry[] = array($entry);
|
|
|
233 |
}
|
|
|
234 |
|
|
|
235 |
|
|
|
236 |
}
|