ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
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 
4 include_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 ?>