ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilDidacticTemplateCopier Class Reference

Copy a didactic template and all subitems. More...

+ Collaboration diagram for ilDidacticTemplateCopier:

Public Member Functions

 __construct ($a_tpl_id)
 Constructor. More...
 
 getTemplateId ()
 Get template id. More...
 
 getNewTemplateId ()
 Get new template id. More...
 
 start ()
 Start copy. More...
 

Static Public Member Functions

static appendCopyInfo ($a_orig_title)
 

Private Attributes

 $tpl_id = 0
 
 $new_tpl_id = 0
 

Detailed Description

Copy a didactic template and all subitems.

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

Definition at line 10 of file class.ilDidacticTemplateCopier.php.

Constructor & Destructor Documentation

◆ __construct()

ilDidacticTemplateCopier::__construct (   $a_tpl_id)

Constructor.

Parameters
int$a_tpl_id

Definition at line 19 of file class.ilDidacticTemplateCopier.php.

20  {
21  $this->tpl_id = $a_tpl_id;
22  }

Member Function Documentation

◆ appendCopyInfo()

static ilDidacticTemplateCopier::appendCopyInfo (   $a_orig_title)
static
Parameters
type$a_orig_title

Definition at line 28 of file class.ilDidacticTemplateCopier.php.

References $DIC, $GLOBALS, $ilDB, $query, $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilDidacticTemplateSetting\__clone().

29  {
30  global $DIC;
31 
32  $ilDB = $DIC['ilDB'];
33 
34  $query = 'SELECT title FROM didactic_tpl_settings ' .
35  'WHERE title = ' . $ilDB->quote($a_orig_title, 'text');
36  $res = $ilDB->query($query);
37  $num = 0;
38  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
39  ++$num;
40  }
41  if (!$num) {
42  return $a_orig_title;
43  }
44  if ($num == 1) {
45  return $a_orig_title . ' ' . $GLOBALS['DIC']['lng']->txt('copy_of_suffix');
46  }
47  return $a_orig_title . ' ' . sprintf($GLOBALS['DIC']['lng']->txt('copy_n_of_suffix'), $num);
48  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
$query
global $ilDB
+ Here is the caller graph for this function:

◆ getNewTemplateId()

ilDidacticTemplateCopier::getNewTemplateId ( )

Get new template id.

Returns
int

Definition at line 64 of file class.ilDidacticTemplateCopier.php.

References $new_tpl_id.

Referenced by start().

+ Here is the caller graph for this function:

◆ getTemplateId()

ilDidacticTemplateCopier::getTemplateId ( )

Get template id.

Returns
int

Definition at line 55 of file class.ilDidacticTemplateCopier.php.

References $tpl_id.

Referenced by start().

+ Here is the caller graph for this function:

◆ start()

ilDidacticTemplateCopier::start ( )

Start copy.

Returns
int new template id

Definition at line 74 of file class.ilDidacticTemplateCopier.php.

References ilDidacticTemplateActionFactory\getActionsByTemplateId(), getNewTemplateId(), and getTemplateId().

75  {
76  $orig = new ilDidacticTemplateSetting($this->getTemplateId());
77  $copy = clone $orig;
78  $copy->save();
79  $this->new_tpl_id = $copy->getId();
80 
81  // copy icon
82  $copy->getIconHandler()->copy($orig);
84  $action->setTemplateId($this->getNewTemplateId());
85  $new = clone $action;
86  $new->save();
87  }
88 
89  $trans = $orig->getTranslationObject();
90  $copy_trans = $trans->copy($this->new_tpl_id);
91  $copy_trans->addLanguage($trans->getDefaultLanguage(), $copy->getTitle(), $copy->getDescription(), true, true);
92  $copy_trans->save();
93  }
static getActionsByTemplateId($a_tpl_id)
Get actions of one template.
+ Here is the call graph for this function:

Field Documentation

◆ $new_tpl_id

ilDidacticTemplateCopier::$new_tpl_id = 0
private

Definition at line 13 of file class.ilDidacticTemplateCopier.php.

Referenced by getNewTemplateId().

◆ $tpl_id

ilDidacticTemplateCopier::$tpl_id = 0
private

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

Referenced by getTemplateId().


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