ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
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 {
39 return self::$instance;
40 }
41 return self::$instance = new ilDidacticTemplateSettings();
42 }
43
49 public static function getInstanceByObjectType($a_obj_type)
50 {
51 if(self::$instances[$a_obj_type])
52 {
53 return self::$instances[$a_obj_type];
54 }
55 return self::$instances[$a_obj_type] = new ilDidacticTemplateSettings($a_obj_type);
56 }
57
62 public function getTemplates()
63 {
64 return (array) $this->templates;
65 }
66
71 public function getObjectType()
72 {
73 return $this->obj_type;
74 }
75
79 public function readInactive()
80 {
81
82 global $ilDB;
83
84 $query = 'SELECT dtpl.id FROM didactic_tpl_settings dtpl ';
85
86 if($this->getObjectType())
87 {
88 $query .= 'JOIN didactic_tpl_sa tplsa ON dtpl.id = tplsa.id ';
89 }
90 $query .= 'WHERE enabled = '.$ilDB->quote(0,'integer').' ';
91
92 if($this->getObjectType())
93 {
94 $query .= 'AND obj_type = '.$ilDB->quote($this->getObjectType(),'text');
95 }
96
97 $res = $ilDB->query($query);
98 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
99 {
100 $this->templates[$row->id] = new ilDidacticTemplateSetting($row->id);
101 }
102 return true;
103 }
104
110 protected function read()
111 {
112 global $ilDB;
113
114 $query = 'SELECT dtpl.id FROM didactic_tpl_settings dtpl ';
115
116 if($this->getObjectType())
117 {
118 $query .= 'JOIN didactic_tpl_sa tplsa ON dtpl.id = tplsa.id ';
119 }
120 $query .= 'WHERE enabled = '.$ilDB->quote(1,'integer').' ';
121
122 if($this->getObjectType())
123 {
124 $query .= 'AND obj_type = '.$ilDB->quote($this->getObjectType(),'text');
125 }
126
127 $res = $ilDB->query($query);
128 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
129 {
130 $this->templates[$row->id] = new ilDidacticTemplateSetting($row->id);
131 }
132 return true;
133 }
134}
135
136?>
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
read()
Read active didactic templates @global ilDB $ilDB.
static getInstanceByObjectType($a_obj_type)
Get instance by obj type.
static getInstance()
Get singelton instance.
global $ilDB