4include_once 
'./Services/DidacticTemplate/exceptions/class.ilDidacticTemplateImportException.php';
 
   35        $this->xmlfile = $a_file;
 
   59    public function import($a_dtpl_id = 0)
 
   61        libxml_use_internal_errors(
true);
 
   76        $this->
parseActions($settings, $root->didacticTemplate->actions);
 
   89        include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateSetting.php';
 
   92        foreach ($root->didacticTemplate as 
$tpl) {
 
   93            switch ((
string) 
$tpl->attributes()->type) {
 
   99            $setting->setTitle(trim((
string) 
$tpl->title));
 
  100            $setting->setDescription(trim((
string) 
$tpl->description));
 
  103            foreach ((array) 
$tpl->info->p as $paragraph) {
 
  107                $info .= trim((
string) $paragraph);
 
  109            $setting->setInfo(
$info);
 
  111            if (isset(
$tpl->effectiveFrom) && (
string) 
$tpl->effectiveFrom[
"nic_id"] == 
$ilSetting->get(
'inst_id')) {
 
  113                foreach (
$tpl->effectiveFrom->node as $element) {
 
  114                    $node[] = (int) $element;
 
  117                $setting->setEffectiveFrom($node);
 
  120            if (isset(
$tpl->exclusive)) {
 
  121                $setting->setExclusive(
true);
 
  124            foreach (
$tpl->assignments->assignment as $element) {
 
  125                $setting->addAssignment(trim((
string) $element));
 
  130        include_once(
"./Services/Multilingualism/classes/class.ilMultilingualism.php");
 
  133        if (isset($root->didacticTemplate->translations)) {
 
  134            $trans->fromXML($root->didacticTemplate->translations);
 
  149        include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateActionFactory.php';
 
  151        if ($actions === 
null) {
 
  158        foreach ($actions->localRoleAction as $ele) {
 
  159            include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateLocalRoleAction.php';
 
  161            $act->setTemplateId($set->
getId());
 
  163            foreach ($ele->roleTemplate as 
$tpl) {
 
  165                foreach (
$tpl->role as $roleDef) {
 
  166                    include_once 
'./Services/AccessControl/classes/class.ilRoleXmlImporter.php';
 
  168                    $role_id = $rimporter->importSimpleXml($roleDef);
 
  169                    $act->setRoleTemplateId($role_id);
 
  178        foreach ($actions->blockRoleAction as $ele) {
 
  179            include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateBlockRoleAction.php';
 
  181            $act->setTemplateId($set->
getId());
 
  184            foreach ($ele->roleFilter as $rfi) {
 
  185                $act->setFilterType((
string) $rfi->attributes()->source);
 
  186                foreach ($rfi->includePattern as $pat) {
 
  188                    include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateIncludeFilterPattern.php';
 
  191                    $pattern->setPattern((
string) $pat->attributes()->preg);
 
  192                    $act->addFilterPattern($pattern);
 
  194                foreach ($rfi->excludePattern as $pat) {
 
  196                    include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateExcludeFilterPattern.php';
 
  199                    $pattern->setPattern((
string) $pat->attributes()->preg);
 
  200                    $act->addFilterPattern($pattern);
 
  212        foreach ($actions->localPolicyAction as $ele) {
 
  213            include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateLocalPolicyAction.php';
 
  215            $act->setTemplateId($set->
getId());
 
  218            foreach ($ele->roleFilter as $rfi) {
 
  219                $act->setFilterType((
string) $rfi->attributes()->source);
 
  220                foreach ($rfi->includePattern as $pat) {
 
  222                    include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateIncludeFilterPattern.php';
 
  225                    $pattern->setPattern((
string) $pat->attributes()->preg);
 
  226                    $act->addFilterPattern($pattern);
 
  228                foreach ($rfi->excludePattern as $pat) {
 
  230                    include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateExcludeFilterPattern.php';
 
  233                    $pattern->setPattern((
string) $pat->attributes()->preg);
 
  234                    $act->addFilterPattern($pattern);
 
  239            foreach ($ele->localPolicyTemplate as $lpo) {
 
  241                switch ((
string) $lpo->attributes()->type) {
 
  256                foreach ($lpo->role as $roleDef) {
 
  257                    include_once 
'./Services/AccessControl/classes/class.ilRoleXmlImporter.php';
 
  259                    $role_id = $rimporter->importSimpleXml($roleDef);
 
  260                    $act->setRoleTemplateId($role_id);
 
  277        foreach (libxml_get_errors() as $err) {
 
  278            $errors .= $err->code . 
'<br/>';
 
An exception for terminatinating execution or to throw for unit testing.
const FILTER_SOURCE_TITLE
Description of ilDidacticTemplateBlockRoleAction.
Implementation of an include filter pattern for didactic template actions.
const PATTERN_SUBTYPE_REGEX
Description of ilDidacticTemplateImportException.
Description of ilDidacticTemplateImport.
parseXmlErrors()
Parse xml errors from libxml_get_errors.
parseSettings(SimpleXMLElement $root)
Parse settings.
parseActions(ilDidacticTemplateSetting $set, SimpleXMLElement $actions=null)
Parse template action from xml.
__construct($a_type)
Constructor.
getInputFile()
Get inputfile.
getInputType()
Get input type.
setInputFile($a_file)
Set input file.
Implementation of an include filter pattern for didactic template actions.
const TPL_ACTION_INTERSECT
const TPL_ACTION_OVERWRITE
represents a creation of local roles action
static getInstance($a_obj_id, $a_type)
Get instance.