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?>
An exception for terminatinating execution or to throw for unit testing.
static getActionsByTemplateId($a_tpl_id)
Get actions of one template.
Copy a didactic template and all subitems.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
global $ilDB