ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilDidacticTemplateLocalPolicyAction Class Reference

Description of class. More...

+ Inheritance diagram for ilDidacticTemplateLocalPolicyAction:
+ Collaboration diagram for ilDidacticTemplateLocalPolicyAction:

Public Member Functions

 __construct ($action_id=0)
 Constructor. More...
 
 addFilterPattern (ilDidacticTemplateFilterPattern $pattern)
 Add filter. More...
 
 setFilterPatterns (Array $patterns)
 Set filter patterns. More...
 
 getFilterPattern ()
 Get filter pattern. More...
 
 setFilterType ($a_type)
 Set filter type. More...
 
 getFilterType ()
 Get filter type. More...
 
 setRoleTemplateType ($a_tpl_type)
 Set Role template type. More...
 
 getRoleTemplateType ()
 Get role template type. More...
 
 setRoleTemplateId ($a_id)
 Set role template id. More...
 
 getRoleTemplateId ()
 Get role template id. More...
 
 save ()
 Save action. More...
 
 delete ()
 delete action filter ilDB $ilDB More...
 
 apply ()
 Apply action. More...
 
 revert ()
 Revert action. More...
 
 getType ()
 Get action type. More...
 
 toXml (ilXmlWriter $writer)
 Export to xml. More...
 
 __clone ()
 clone method More...
 
 read ()
 
- Public Member Functions inherited from ilDidacticTemplateAction
 __construct ($action_id=0)
 Constructor. More...
 
 getLogger ()
 Get logger. More...
 
 getActionId ()
 Get action id. More...
 
 setActionId ($a_action_id)
 Set action id. More...
 
 setType ($a_type_id)
 Set type id. More...
 
 setTemplateId ($a_id)
 Set template id. More...
 
 getTemplateId ()
 Get template id. More...
 
 setRefId ($a_ref_id)
 Set ref id of target object. More...
 
 getRefId ()
 Get ref id of target object. More...
 
 save ()
 write action to db overwrite for filling additional db fields More...
 
 delete ()
 Delete didactic template action overwrite for filling additional db fields. More...
 
 read ()
 ilDB $ilDB More...
 
 getType ()
 Get type of template. More...
 
 apply ()
 Apply action. More...
 
 revert ()
 Implement everthing that is necessary to revert a didactic template. More...
 
 __clone ()
 Clone method. More...
 
 toXml (ilXmlWriter $writer)
 Write xml for export. More...
 

Data Fields

const TPL_ACTION_OVERWRITE = 1
 
const TPL_ACTION_INTERSECT = 2
 
const TPL_ACTION_ADD = 3
 
const TPL_ACTION_SUBTRACT = 4
 
const TPL_ACTION_UNION = 5
 
- Data Fields inherited from ilDidacticTemplateAction
const TYPE_LOCAL_POLICY = 1
 
const TYPE_LOCAL_ROLE = 2
 
const TYPE_BLOCK_ROLE = 3
 
const FILTER_SOURCE_TITLE = 1
 
const FILTER_SOURCE_OBJ_ID = 2
 
const FILTER_PARENT_ROLES = 3
 
const PATTERN_PARENT_TYPE = 'action'
 

Protected Member Functions

 createLocalPolicy (ilObject $source, $role)
 Create local policy. More...
 
 revertLocalPolicy (ilObject $source, $role)
 
- Protected Member Functions inherited from ilDidacticTemplateAction
 initSourceObject ()
 Init the source object. More...
 
 filterRoles (ilObject $source)
 Filter roles. More...
 

Private Attributes

 $pattern = array()
 
 $filter_type = self::FILTER_SOURCE_TITLE
 
 $role_template_type = self::TPL_ACTION_OVERWRITE
 
 $role_template_id = 0
 

Detailed Description

Description of class.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 12 of file class.ilDidacticTemplateLocalPolicyAction.php.

Constructor & Destructor Documentation

◆ __construct()

ilDidacticTemplateLocalPolicyAction::__construct (   $action_id = 0)

Constructor.

Parameters
int$action_id

Definition at line 31 of file class.ilDidacticTemplateLocalPolicyAction.php.

References ilDidacticTemplateAction\$action_id.

32  {
33  parent::__construct($action_id);
34  }

Member Function Documentation

◆ __clone()

ilDidacticTemplateLocalPolicyAction::__clone ( )

clone method

Definition at line 333 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $pattern, array, getFilterPattern(), and setFilterPatterns().

334  {
335  parent::__clone();
336 
337  // Clone patterns
338  $cloned = array();
339  foreach($this->getFilterPattern() as $pattern)
340  {
341  $clones[] = clone $pattern;
342  }
343  $this->setFilterPatterns($clones);
344  }
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ addFilterPattern()

ilDidacticTemplateLocalPolicyAction::addFilterPattern ( ilDidacticTemplateFilterPattern  $pattern)

Add filter.

Parameters
ilDidacticTemplateFilterPatter$pattern

Definition at line 40 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $pattern.

Referenced by read().

+ Here is the caller graph for this function:

◆ apply()

ilDidacticTemplateLocalPolicyAction::apply ( )

Apply action.

Definition at line 171 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $GLOBALS, createLocalPolicy(), ilDidacticTemplateAction\filterRoles(), ilDidacticTemplateAction\getLogger(), and ilDidacticTemplateAction\initSourceObject().

172  {
173  $rbacreview = $GLOBALS['DIC']->rbac()->review();
174 
175  $source = $this->initSourceObject();
176  // Create a role folder for the new local policies
177 
178  $roles = $this->filterRoles($source);
179 
180  // Create local policy for filtered roles
181  foreach($roles as $role_id => $role)
182  {
183  $this->getLogger()->debug('Apply to role: ' . $role['title']);
184 
185  // No local policies for protected roles of higher context
186  if(
187  $rbacreview->isProtected($role['parent'], $role_id) &&
188  $role['parent'] != $source->getRefId()
189  )
190  {
191  $this->getLogger()->debug('Ignoring protected role.');
192  continue;
193  }
194  $this->createLocalPolicy($source,$role);
195  }
196  return true;
197  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
filterRoles(ilObject $source)
Filter roles.
createLocalPolicy(ilObject $source, $role)
Create local policy.
initSourceObject()
Init the source object.
+ Here is the call graph for this function:

◆ createLocalPolicy()

ilDidacticTemplateLocalPolicyAction::createLocalPolicy ( ilObject  $source,
  $role 
)
protected

Create local policy.

Parameters
ilObject$source
array$role
Returns
bool

Definition at line 380 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $GLOBALS, array, ilLoggerFactory\getLogger(), ilObject\getRefId(), getRoleTemplateId(), getRoleTemplateType(), ilObjRole\MODE_PROTECTED_DELETE_LOCAL_POLICIES, and ilObjRole\MODE_UNPROTECTED_DELETE_LOCAL_POLICIES.

Referenced by apply().

381  {
382  global $rbacreview, $rbacadmin;
383 
384  // fetch role information
385  $role_data = array();
386  foreach($rbacreview->getParentRoleIds($source->getRefId()) as $role_id => $tmp_role)
387  {
388  if($role_id == $role['obj_id'])
389  {
390  $role_data = $tmp_role;
391  }
392  }
393 
394  // Add local policy
395  if(!$rbacreview->isRoleAssignedToObject($role['obj_id'],$source->getRefId()))
396  {
397  $GLOBALS['DIC']->rbac()->admin()->assignRoleToFolder(
398  $role['obj_id'],
399  $source->getRefId(),
400  'n'
401  );
402  }
403 
404  // do nothing if role is protected in higher context
405  if(
406  $GLOBALS['DIC']->rbac()->review()->isProtected($source->getRefId(),$role['obj_id'])
407  )
408  {
409  $GLOBALS['DIC']->logger()->otpl()->info('Ignoring protected role: ' . $role['title']);
410  return true;
411  }
412 
413  switch($this->getRoleTemplateType())
414  {
415  case self::TPL_ACTION_UNION:
416 
417  ilLoggerFactory::getLogger('otpl')->info('Using ilRbacAdmin::copyRolePermissionUnion()');
418  $rbacadmin->copyRolePermissionUnion(
419  $role_data['obj_id'],
420  $role_data['parent'],
421  $this->getRoleTemplateId(),
422  ROLE_FOLDER_ID,
423  $role_data['obj_id'],
424  $source->getRefId()
425  );
426  break;
427 
428  case self::TPL_ACTION_OVERWRITE:
429 
430  ilLoggerFactory::getLogger('otpl')->info('Using ilRbacAdmin::copyRoleTemplatePermission()');
431  $rbacadmin->copyRoleTemplatePermissions(
432  $this->getRoleTemplateId(),
433  ROLE_FOLDER_ID,
434  $source->getRefId(),
435  $role_data['obj_id'],
436  true
437  );
438  break;
439 
440  case self::TPL_ACTION_INTERSECT:
441 
442  ilLoggerFactory::getLogger('otpl')->info('Using ilRbacAdmin::copyRolePermissionIntersection()'. $this->getRoleTemplateId());
443  $rbacadmin->copyRolePermissionIntersection(
444  $role_data['obj_id'],
445  $role_data['parent'],
446  $this->getRoleTemplateId(),
447  ROLE_FOLDER_ID,
448  $source->getRefId(),
449  $role_data['obj_id']
450  );
451  break;
452 
453  }
454 
455  // Change existing object
456  include_once './Services/AccessControl/classes/class.ilObjRole.php';
457  $role_obj = new ilObjRole($role_data['obj_id']);
458  $role_obj->changeExistingObjects(
459  $source->getRefId(),
461  array('all')
462  );
463 
464  return true;
465  }
Class ilObjRole.
const MODE_PROTECTED_DELETE_LOCAL_POLICIES
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Create styles array
The data for the language used.
const MODE_UNPROTECTED_DELETE_LOCAL_POLICIES
getRefId()
get reference id public
static getLogger($a_component_id)
Get component logger.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete()

ilDidacticTemplateLocalPolicyAction::delete ( )

delete action filter ilDB $ilDB

Returns
bool

Definition at line 148 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $ilDB, $pattern, $query, ilDidacticTemplateAction\getActionId(), and getFilterPattern().

149  {
150  global $ilDB;
151 
152  parent::delete();
153 
154  $query = 'DELETE FROM didactic_tpl_alp '.
155  'WHERE action_id = '.$ilDB->quote($this->getActionId(),'integer');
156  $ilDB->manipulate($query);
157 
158  foreach($this->getFilterPattern() as $pattern)
159  {
160  $pattern->delete();
161  }
162  return true;
163  }
global $ilDB
+ Here is the call graph for this function:

◆ getFilterPattern()

ilDidacticTemplateLocalPolicyAction::getFilterPattern ( )

Get filter pattern.

Returns
array

Definition at line 58 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $pattern.

Referenced by __clone(), delete(), save(), and toXml().

+ Here is the caller graph for this function:

◆ getFilterType()

ilDidacticTemplateLocalPolicyAction::getFilterType ( )

Get filter type.

Returns
int

Definition at line 76 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $filter_type.

Referenced by save(), and toXml().

+ Here is the caller graph for this function:

◆ getRoleTemplateId()

ilDidacticTemplateLocalPolicyAction::getRoleTemplateId ( )

Get role template id.

Returns
int

Definition at line 111 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $role_template_id.

Referenced by createLocalPolicy(), save(), and toXml().

+ Here is the caller graph for this function:

◆ getRoleTemplateType()

ilDidacticTemplateLocalPolicyAction::getRoleTemplateType ( )

Get role template type.

Definition at line 93 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $role_template_type.

Referenced by createLocalPolicy(), save(), and toXml().

+ Here is the caller graph for this function:

◆ getType()

ilDidacticTemplateLocalPolicyAction::getType ( )

Get action type.

Returns
int

Definition at line 252 of file class.ilDidacticTemplateLocalPolicyAction.php.

253  {
254  return self::TYPE_LOCAL_POLICY;
255  }

◆ read()

ilDidacticTemplateLocalPolicyAction::read ( )

Definition at line 346 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $ilDB, $pattern, $query, $res, $row, addFilterPattern(), ilDBConstants\FETCHMODE_OBJECT, ilDidacticTemplateAction\getActionId(), ilDidacticTemplateFilterPatternFactory\lookupPatternsByParentId(), setFilterType(), setRoleTemplateId(), and setRoleTemplateType().

347  {
348  global $ilDB;
349 
350  if(!parent::read())
351  {
352  return false;
353  }
354 
355  $query = 'SELECT * FROM didactic_tpl_alp '.
356  'WHERE action_id = '.$ilDB->quote($this->getActionId());
357  $res = $ilDB->query($query);
358  while($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT))
359  {
360  $this->setFilterType($row->filter_type);
361  $this->setRoleTemplateType($row->template_type);
362  $this->setRoleTemplateId($row->template_id);
363  }
364 
365  // Read filter
366  include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateFilterPatternFactory.php';
367  foreach(ilDidacticTemplateFilterPatternFactory::lookupPatternsByParentId($this->getActionId(),self::PATTERN_PARENT_TYPE) as $pattern)
368  {
369  $this->addFilterPattern($pattern);
370  }
371  }
static lookupPatternsByParentId($a_parent_id, $a_parent_type)
Get patterns by template id.
addFilterPattern(ilDidacticTemplateFilterPattern $pattern)
Add filter.
global $ilDB
+ Here is the call graph for this function:

◆ revert()

ilDidacticTemplateLocalPolicyAction::revert ( )

Revert action.

ilRbacReview

Definition at line 204 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $GLOBALS, array, ilDidacticTemplateAction\filterRoles(), ilDidacticTemplateAction\getLogger(), ilDidacticTemplateAction\initSourceObject(), ilObjRole\MODE_PROTECTED_DELETE_LOCAL_POLICIES, ilObjRole\MODE_UNPROTECTED_DELETE_LOCAL_POLICIES, and revertLocalPolicy().

205  {
206  global $rbacadmin,$tree;
207  $rbacreview = $GLOBALS['DIC']->rbac()->review();
208 
209  $source = $this->initSourceObject();
210  $roles = $this->filterRoles($source);
211 
212  // Delete local policy for filtered roles
213  foreach($roles as $role_id => $role)
214  {
215  // Do not delete local policies of auto genrated roles
216  if(!$rbacreview->isGlobalRole($role['obj_id']) and
217  $rbacreview->isAssignable($role['obj_id'],$source->getRefId()) and
218  $rbacreview->isSystemGeneratedRole($role['obj_id']))
219  {
220  $this->getLogger()->debug('Reverting local policy of auto generated role: ' . $role['title']);
221  $this->revertLocalPolicy($source, $role);
222  }
223  else
224  {
225  $this->getLogger()->debug('Reverting local policy and deleting local role: ' . $role['title']);
226 
227  // delete local role and change exiting objects
228  $rbacadmin->deleteLocalRole($role_id,$source->getRefId());
229  // Change existing object
230  include_once './Services/AccessControl/classes/class.ilObjRole.php';
231  $role_obj = new ilObjRole($role_id);
232 
233  $protected = $rbacreview->isProtected($role['parent'], $role['rol_id']);
234 
235  $role_obj->changeExistingObjects(
236  $source->getRefId(),
237  $protected ?
240  array('all')
241  );
242  }
243 
244  }
245  return true;
246  }
Class ilObjRole.
const MODE_PROTECTED_DELETE_LOCAL_POLICIES
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
filterRoles(ilObject $source)
Filter roles.
Create styles array
The data for the language used.
initSourceObject()
Init the source object.
const MODE_UNPROTECTED_DELETE_LOCAL_POLICIES
+ Here is the call graph for this function:

◆ revertLocalPolicy()

ilDidacticTemplateLocalPolicyAction::revertLocalPolicy ( ilObject  $source,
  $role 
)
protected

Definition at line 467 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $ilDB, $query, $res, $row, array, ilDBConstants\FETCHMODE_OBJECT, ilLoggerFactory\getLogger(), ilObject\getRefId(), ilObjRole\MODE_PROTECTED_DELETE_LOCAL_POLICIES, and ilObjRole\MODE_UNPROTECTED_DELETE_LOCAL_POLICIES.

Referenced by revert().

468  {
469  global $rbacadmin, $rbacreview, $ilDB;
470 
471  ilLoggerFactory::getLogger('otpl')->info('Reverting policy for role '. $role['title']);
472  // Local policies can only be reverted for auto generated roles. Otherwise the
473  // original role settings are unknown
474  if(substr($role['title'],0,3) != 'il_')
475  {
476  ilLoggerFactory::getLogger('otpl')->warning('Cannot revert local policy for role '. $role['title']);
477  return false;
478  }
479 
480 
481  // No local policies
482  if(!$rbacreview->getLocalPolicies($source->getRefId()))
483  {
484  return false;
485  }
486 
487  $exploded_title = explode('_',$role['title']);
488  $rolt_title = $exploded_title[0].'_'.$exploded_title[1].'_'.$exploded_title[2];
489 
490  // Lookup role template
491  $query = 'SELECT obj_id FROM object_data '.
492  'WHERE title = '.$ilDB->quote($rolt_title,'text').' '.
493  'AND type = '.$ilDB->quote('rolt','text');
494  $res = $ilDB->query($query);
495  while($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT))
496  {
497  $rolt_id = $row->obj_id;
498  }
499 
500  // No template found
501  if(!$rolt_id)
502  {
503  return false;
504  }
505 
506  $rbacadmin->copyRoleTemplatePermissions(
507  $rolt_id,
508  ROLE_FOLDER_ID,
509  $source->getRefId(),
510  $role['obj_id'],
511  true
512  );
513 
514  // Change existing object
515  include_once './Services/AccessControl/classes/class.ilObjRole.php';
516  $role_obj = new ilObjRole($role['obj_id']);
517  $role_obj->changeExistingObjects(
518  $source->getRefId(),
520  array('all')
521  );
522  }
Class ilObjRole.
const MODE_PROTECTED_DELETE_LOCAL_POLICIES
Create styles array
The data for the language used.
const MODE_UNPROTECTED_DELETE_LOCAL_POLICIES
global $ilDB
getRefId()
get reference id public
static getLogger($a_component_id)
Get component logger.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ save()

ilDidacticTemplateLocalPolicyAction::save ( )

Save action.

Definition at line 119 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $ilDB, $pattern, $query, ilDidacticTemplateAction\getActionId(), getFilterPattern(), getFilterType(), getRoleTemplateId(), and getRoleTemplateType().

120  {
121  global $ilDB;
122 
123  parent::save();
124 
125  $query = 'INSERT INTO didactic_tpl_alp (action_id,filter_type,template_type,template_id) '.
126  'VALUES( '.
127  $ilDB->quote($this->getActionId(),'integer').', '.
128  $ilDB->quote($this->getFilterType(),'integer').', '.
129  $ilDB->quote($this->getRoleTemplateType(),'integer').', '.
130  $ilDB->quote($this->getRoleTemplateId(),'integer').' '.
131  ')';
132  $ilDB->manipulate($query);
133 
134  foreach($this->getFilterPattern() as $pattern)
135  {
136  /* @var ilDidacticTemplateFilterPattern $pattern */
137  $pattern->setParentId($this->getActionId());
138  $pattern->setParentType(self::PATTERN_PARENT_TYPE);
139  $pattern->save();
140  }
141  }
global $ilDB
+ Here is the call graph for this function:

◆ setFilterPatterns()

ilDidacticTemplateLocalPolicyAction::setFilterPatterns ( Array  $patterns)

Set filter patterns.

Parameters
array$patterns

Definition at line 49 of file class.ilDidacticTemplateLocalPolicyAction.php.

Referenced by __clone().

50  {
51  $this->pattern = $patterns;
52  }
+ Here is the caller graph for this function:

◆ setFilterType()

ilDidacticTemplateLocalPolicyAction::setFilterType (   $a_type)

Set filter type.

Parameters
int$a_type

Definition at line 67 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $a_type.

Referenced by read().

68  {
69  $this->filter_type = $a_type;
70  }
$a_type
Definition: workflow.php:93
+ Here is the caller graph for this function:

◆ setRoleTemplateId()

ilDidacticTemplateLocalPolicyAction::setRoleTemplateId (   $a_id)

Set role template id.

Parameters
int$a_id

Definition at line 102 of file class.ilDidacticTemplateLocalPolicyAction.php.

Referenced by read().

103  {
104  $this->role_template_id = $a_id;
105  }
+ Here is the caller graph for this function:

◆ setRoleTemplateType()

ilDidacticTemplateLocalPolicyAction::setRoleTemplateType (   $a_tpl_type)

Set Role template type.

Parameters
int$a_tpl_type

Definition at line 85 of file class.ilDidacticTemplateLocalPolicyAction.php.

Referenced by read().

86  {
87  $this->role_template_type = $a_tpl_type;
88  }
+ Here is the caller graph for this function:

◆ toXml()

ilDidacticTemplateLocalPolicyAction::toXml ( ilXmlWriter  $writer)

Export to xml.

Parameters
ilXmlWriter$writer
Returns
void

Definition at line 262 of file class.ilDidacticTemplateLocalPolicyAction.php.

References $pattern, ilObject\_lookupType(), ilXmlWriter\appendXML(), array, getFilterPattern(), getFilterType(), getRoleTemplateId(), getRoleTemplateType(), ilRoleXmlExport\MODE_DTPL, ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

263  {
264  $writer->xmlStartTag('localPolicyAction');
265 
266  switch($this->getFilterType())
267  {
268  case self::FILTER_SOURCE_TITLE:
269  $writer->xmlStartTag('roleFilter',array('source' => 'title'));
270  break;
271 
272  case self::FILTER_SOURCE_OBJ_ID:
273  $writer->xmlStartTag('roleFilter',array('source' => 'objId'));
274  break;
275 
276  }
277 
278  foreach($this->getFilterPattern() as $pattern)
279  {
280  $pattern->toXml($writer);
281  }
282  $writer->xmlEndTag('roleFilter');
283 
284  $il_role_id = 'il_'.IL_INST_ID.'_'.ilObject::_lookupType($this->getRoleTemplateId()).'_'.$this->getRoleTemplateId();
285 
286  switch($this->getRoleTemplateType())
287  {
288  case self::TPL_ACTION_OVERWRITE:
289  $writer->xmlStartTag(
290  'localPolicyTemplate',
291  array(
292  'type' => 'overwrite',
293  'id' => $il_role_id
294  )
295  );
296  break;
297 
298  case self::TPL_ACTION_INTERSECT:
299  $writer->xmlStartTag(
300  'localPolicyTemplate',
301  array(
302  'type' => 'intersect',
303  'id' => $il_role_id
304  )
305  );
306  break;
307 
308  case self::TPL_ACTION_UNION:
309  $writer->xmlStartTag(
310  'localPolicyTemplate',
311  array(
312  'type' => 'union',
313  'id' => $il_role_id
314  )
315  );
316  break;
317  }
318 
319  include_once './Services/AccessControl/classes/class.ilRoleXmlExport.php';
320  $exp = new ilRoleXmlExport();
321  $exp->setMode(ilRoleXmlExport::MODE_DTPL);
322  $exp->addRole($this->getRoleTemplateId(), ROLE_FOLDER_ID);
323  $exp->write();
324  $writer->appendXML($exp->xmlDumpMem(FALSE));
325  $writer->xmlEndTag('localPolicyTemplate');
326  $writer->xmlEndTag('localPolicyAction');
327  return void;
328  }
xmlStartTag($tag, $attrs=NULL, $empty=FALSE, $encode=TRUE, $escape=TRUE)
Writes a starttag.
xmlEndTag($tag)
Writes an endtag.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
Xml export of roles and role templates.
appendXML($a_str)
append xml string to document
+ Here is the call graph for this function:

Field Documentation

◆ $filter_type

ilDidacticTemplateLocalPolicyAction::$filter_type = self::FILTER_SOURCE_TITLE
private

Definition at line 22 of file class.ilDidacticTemplateLocalPolicyAction.php.

Referenced by getFilterType().

◆ $pattern

ilDidacticTemplateLocalPolicyAction::$pattern = array()
private

◆ $role_template_id

ilDidacticTemplateLocalPolicyAction::$role_template_id = 0
private

Definition at line 24 of file class.ilDidacticTemplateLocalPolicyAction.php.

Referenced by getRoleTemplateId().

◆ $role_template_type

ilDidacticTemplateLocalPolicyAction::$role_template_type = self::TPL_ACTION_OVERWRITE
private

Definition at line 23 of file class.ilDidacticTemplateLocalPolicyAction.php.

Referenced by getRoleTemplateType().

◆ TPL_ACTION_ADD

const ilDidacticTemplateLocalPolicyAction::TPL_ACTION_ADD = 3

◆ TPL_ACTION_INTERSECT

const ilDidacticTemplateLocalPolicyAction::TPL_ACTION_INTERSECT = 2

◆ TPL_ACTION_OVERWRITE

const ilDidacticTemplateLocalPolicyAction::TPL_ACTION_OVERWRITE = 1

◆ TPL_ACTION_SUBTRACT

const ilDidacticTemplateLocalPolicyAction::TPL_ACTION_SUBTRACT = 4

◆ TPL_ACTION_UNION

const ilDidacticTemplateLocalPolicyAction::TPL_ACTION_UNION = 5

The documentation for this class was generated from the following file: