ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilDidacticTemplateSettings.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateSetting.php';
5
13{
14 private static $instance = null;
15 private static $instances = null;
16
17
18 private $templates = array();
19 private $obj_type = '';
20
25 private function __construct($a_obj_type = '')
26 {
27 $this->obj_type = $a_obj_type;
28 $this->read();
29 }
30
35 public static function getInstance()
36 {
37 if (self::$instance) {
38 return self::$instance;
39 }
40 return self::$instance = new ilDidacticTemplateSettings();
41 }
42
48 public static function getInstanceByObjectType($a_obj_type)
49 {
50 if (self::$instances[$a_obj_type]) {
51 return self::$instances[$a_obj_type];
52 }
53 return self::$instances[$a_obj_type] = new ilDidacticTemplateSettings($a_obj_type);
54 }
55
60 public function getTemplates()
61 {
62 return (array) $this->templates;
63 }
64
69 public function getObjectType()
70 {
71 return $this->obj_type;
72 }
73
77 public function readInactive()
78 {
79 global $DIC;
80
81 $ilDB = $DIC['ilDB'];
82
83 $query = 'SELECT dtpl.id FROM didactic_tpl_settings dtpl ';
84
85 if ($this->getObjectType()) {
86 $query .= 'JOIN didactic_tpl_sa tplsa ON dtpl.id = tplsa.id ';
87 }
88 $query .= 'WHERE enabled = ' . $ilDB->quote(0, 'integer') . ' ';
89
90 if ($this->getObjectType()) {
91 $query .= 'AND obj_type = ' . $ilDB->quote($this->getObjectType(), 'text');
92 }
93
94 $res = $ilDB->query($query);
95 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
96 $this->templates[$row->id] = new ilDidacticTemplateSetting($row->id);
97 }
98 return true;
99 }
100
106 protected function read()
107 {
108 global $DIC;
109
110 $ilDB = $DIC['ilDB'];
111
112 $query = 'SELECT dtpl.id FROM didactic_tpl_settings dtpl ';
113
114 if ($this->getObjectType()) {
115 $query .= 'JOIN didactic_tpl_sa tplsa ON dtpl.id = tplsa.id ';
116 }
117 $query .= 'WHERE enabled = ' . $ilDB->quote(1, 'integer') . ' ';
118
119 if ($this->getObjectType()) {
120 $query .= 'AND obj_type = ' . $ilDB->quote($this->getObjectType(), 'text');
121 }
122
123 $res = $ilDB->query($query);
124 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
125 $this->templates[$row->id] = new ilDidacticTemplateSetting($row->id);
126 }
127 return true;
128 }
129}
An exception for terminatinating execution or to throw for unit testing.
read()
Read active didactic templates @global ilDB $ilDB.
static getInstanceByObjectType($a_obj_type)
Get instance by obj type.
static getInstance()
Get singelton instance.
$query
foreach($_POST as $key=> $value) $res
global $ilDB
$DIC
Definition: xapitoken.php:46