ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilDidacticTemplateCopier.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
11 {
12  private $tpl_id = 0;
13  private $new_tpl_id = 0;
14 
19  public function __construct($a_tpl_id)
20  {
21  $this->tpl_id = $a_tpl_id;
22  }
23 
28  public static function appendCopyInfo($a_orig_title)
29  {
30  global $ilDB;
31 
32  $query = 'SELECT title FROM didactic_tpl_settings '.
33  'WHERE title = '.$ilDB->quote($a_orig_title,'text');
34  $res = $ilDB->query($query);
35  $num = 0;
36  while($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT))
37  {
38  ++$num;
39  }
40  if(!$num)
41  {
42  return $a_orig_title;
43  }
44  if($num == 1)
45  {
46  return $a_orig_title.' '.$GLOBALS['lng']->txt('copy_of_suffix');
47  }
48  return $a_orig_title. ' '.sprintf($GLOBALS['lng']->txt('copy_n_of_suffix'),$num);
49  }
50 
51 
56  public function getTemplateId()
57  {
58  return $this->tpl_id;
59  }
60 
65  public function getNewTemplateId()
66  {
67  return $this->new_tpl_id;
68  }
69 
75  public function start()
76  {
78  $copy = clone $orig;
79  $copy->save();
80  $this->new_tpl_id = $copy->getId();
81 
82  include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateActionFactory.php';
84  {
85  $action->setTemplateId($this->getNewTemplateId());
86  $new = clone $action;
87  $new->save();
88  }
89 
90  $trans = $orig->getTranslationObject();
91  $copy_trans = $trans->copy($this->new_tpl_id);
92  $copy_trans->addLanguage($trans->getDefaultLanguage(),$copy->getTitle(), $copy->getDescription(), true, true);
93  $copy_trans->save();
94  }
95 }
96 ?>
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Copy a didactic template and all subitems.
global $ilDB
static getActionsByTemplateId($a_tpl_id)
Get actions of one template.