4 include_once
'./Services/DidacticTemplate/exceptions/class.ilDidacticTemplateImportException.php';
33 $this->logger = $DIC->logger()->otpl();
43 $this->xmlfile = $a_file;
67 public function import($a_dtpl_id = 0)
69 libxml_use_internal_errors(
true);
72 case self::IMPORT_FILE:
99 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateSetting.php';
102 foreach ($root->didacticTemplate as
$tpl) {
103 switch ((
string) $tpl->attributes()->type) {
109 $setting->setTitle(trim((
string) $tpl->title));
110 $setting->setDescription(trim((
string) $tpl->description));
113 foreach ((array) $tpl->info->p as $paragraph) {
117 $info .= trim((
string) $paragraph);
119 $setting->setInfo(
$info);
121 if (isset($tpl->effectiveFrom) && (
string) $tpl->effectiveFrom[
"nic_id"] ==
$ilSetting->get(
'inst_id')) {
123 foreach ($tpl->effectiveFrom->node as $element) {
124 $node[] = (int) $element;
127 $setting->setEffectiveFrom($node);
130 if (isset($tpl->exclusive)) {
131 $setting->setExclusive(
true);
134 foreach ($tpl->assignments->assignment as $element) {
135 $setting->addAssignment(trim((
string) $element));
140 include_once(
"./Services/Multilingualism/classes/class.ilMultilingualism.php");
143 if (isset($root->didacticTemplate->translations)) {
144 $trans->fromXML($root->didacticTemplate->translations);
159 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateActionFactory.php';
161 if ($actions === null) {
168 foreach ($actions->localRoleAction as $ele) {
169 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateLocalRoleAction.php';
171 $act->setTemplateId($set->
getId());
173 foreach ($ele->roleTemplate as
$tpl) {
175 foreach ($tpl->role as $roleDef) {
176 include_once
'./Services/AccessControl/classes/class.ilRoleXmlImporter.php';
178 $role_id = $rimporter->importSimpleXml($roleDef);
179 $act->setRoleTemplateId($role_id);
188 foreach ($actions->blockRoleAction as $ele) {
189 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateBlockRoleAction.php';
191 $act->setTemplateId($set->
getId());
194 foreach ($ele->roleFilter as $rfi) {
196 switch ((
string) $rfi->attributes()->source) {
209 foreach ($rfi->includePattern as $pat) {
211 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateIncludeFilterPattern.php';
214 $pattern->setPattern((
string) $pat->attributes()->preg);
215 $act->addFilterPattern($pattern);
217 foreach ($rfi->excludePattern as $pat) {
219 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateExcludeFilterPattern.php';
222 $pattern->setPattern((
string) $pat->attributes()->preg);
223 $act->addFilterPattern($pattern);
235 foreach ($actions->localPolicyAction as $ele) {
236 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateLocalPolicyAction.php';
238 $act->setTemplateId($set->
getId());
241 foreach ($ele->roleFilter as $rfi) {
244 $this->logger->debug(
'Current filter source: ' . (
string) $rfi->attributes()->source);
246 switch ((
string) $rfi->attributes()->source) {
263 foreach ($rfi->includePattern as $pat) {
265 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateIncludeFilterPattern.php';
268 $pattern->setPattern((
string) $pat->attributes()->preg);
269 $act->addFilterPattern($pattern);
271 foreach ($rfi->excludePattern as $pat) {
273 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateExcludeFilterPattern.php';
276 $pattern->setPattern((
string) $pat->attributes()->preg);
277 $act->addFilterPattern($pattern);
282 foreach ($ele->localPolicyTemplate as $lpo) {
283 switch ((
string) $lpo->attributes()->type) {
298 foreach ($lpo->role as $roleDef) {
299 include_once
'./Services/AccessControl/classes/class.ilRoleXmlImporter.php';
301 $role_id = $rimporter->importSimpleXml($roleDef);
302 $act->setRoleTemplateId($role_id);
319 foreach (libxml_get_errors() as $err) {
320 $errors .= $err->code .
'<br/>';
const FILTER_PARENT_ROLES
static getInstance($a_obj_id, $a_type)
Get instance.
Description of ilDidacticTemplateBlockRoleAction.
const TPL_ACTION_INTERSECT
getInputType()
Get input type.
const TPL_ACTION_OVERWRITE
parseXmlErrors()
Parse xml errors from libxml_get_errors.
parseSettings(SimpleXMLElement $root)
Parse settings.
parseActions(ilDidacticTemplateSetting $set, SimpleXMLElement $actions=null)
Parse template action from xml.
const FILTER_SOURCE_OBJ_ID
Implementation of an include filter pattern for didactic template actions.
Description of ilDidacticTemplateImportException.
Description of ilDidacticTemplateImport.
represents a creation of local roles action
setInputFile($a_file)
Set input file.
const PATTERN_SUBTYPE_REGEX
__construct($a_type)
Constructor.
const FILTER_SOURCE_TITLE
getInputFile()
Get inputfile.
Implementation of an include filter pattern for didactic template actions.