ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilOpenIdSettings.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/Administration/classes/class.ilSetting.php';
5 
6 
14 {
15  private static $instance = null;
16 
17  private $storage = null;
18 
19  private $active = false;
20  private $account_migration = false;
21  private $default_role = 0;
22  private $creation = false;
23  private $forced_selection = false;
24 
25  private $consumer = null;
26 
30  private function __construct()
31  {
32  $this->storage = new ilSetting('auth_openid');
33  $this->read();
34  }
35 
40  public static function getInstance()
41  {
42  if(self::$instance != null)
43  {
44  return self::$instance;
45  }
46  return self::$instance = new ilOpenIdSettings();
47  }
48 
49 
54  public function isActive()
55  {
56  return (bool) $this->active;
57  }
58 
64  public function setActive($a_status)
65  {
66  $this->active = $a_status;
67  }
68 
73  public function forcedProviderSelection()
74  {
76  }
77 
83  public function forceProviderSelection($a_status)
84  {
85  $this->forced_selection = $a_status;
86  }
87 
92  public function isCreationEnabled()
93  {
94  return (bool) $this->creation;
95  }
96 
102  public function enableCreation($a_status)
103  {
104  $this->creation = $a_status;
105  }
106 
111  public function isAccountMigrationEnabled()
112  {
113  return (bool) $this->account_migration;
114  }
115 
121  public function enableAccountMigration($a_status)
122  {
123  $this->account_migration = $a_status;
124  }
125 
130  public function getDefaultRole()
131  {
132  return $this->default_role;
133  }
134 
140  public function setDefaultRole($a_role)
141  {
142  $this->default_role = $a_role;
143  }
144 
149  protected function read()
150  {
151  $this->setActive($this->storage->get('active',false));
152  $this->enableCreation($this->storage->get('creation',false));
153  $this->setDefaultRole($this->storage->get('default_role',0));
154  $this->enableAccountMigration($this->storage->get('account_migration',false));
155  $this->forceProviderSelection($this->storage->get('forced_selection',false));
156  }
157 
162  public function update()
163  {
164  $this->storage->set('active', (int) $this->isActive());
165  $this->storage->set('creation',(int) $this->isCreationEnabled());
166  $this->storage->set('default_role',(int) $this->getDefaultRole());
167  $this->storage->set('account_migration',(int) $this->isAccountMigrationEnabled());
168  $this->storage->set('forced_selection',(int) $this->forcedProviderSelection());
169  }
170 
175  public function getConsumer()
176  {
177  return $this->consumer;
178  }
179 
184  public function getReturnLocation()
185  {
186  global $ilCtrl;
187 
188  $ilCtrl->setTargetScript('ilias.php');
189  $ilCtrl->setParameterByClass('ilstartupgui','oid_check_status',1);
190  $redir = ILIAS_HTTP_PATH.'/';
191  $redir .= $ilCtrl->getLinkTargetByClass('ilstartupgui','showLogin','',false,false);
192  return $redir;
193  }
194 
199  protected function initTempDir()
200  {
201  if(!file_exists(ilUtil::getDataDir().DIRECTORY_SEPARATOR.'tmp'))
202  {
203  ilUtil::makeDir(ilUtil::getDataDir().DIRECTORY_SEPARATOR.'tmp');
204  }
205  return true;
206  }
207 
208  public function initConsumer()
209  {
210  include_once "Auth/OpenID/Consumer.php";
211  include_once "Auth/OpenID/FileStore.php";
212  include_once 'Auth/OpenID/DumbStore.php';
213 
214  if(is_object($this->consumer))
215  {
216  return true;
217  }
218 
219  $this->initTempDir();
220  $store = new Auth_OpenID_FileStore(ilUtil::getDataDir().DIRECTORY_SEPARATOR.'tmp');
221  return $this->consumer = new Auth_OpenID_Consumer($store);
222  }
223 
224 }
225 ?>
read()
Read settings from db.
ILIAS Setting Class.
static getInstance()
Get singleton instance.
update()
Update settings.
initTempDir()
Init Temp directory.
isAccountMigrationEnabled()
Is account migration enabled.
setDefaultRole($a_role)
Set default role.
forcedProviderSelection()
is provider selection forced
global $ilCtrl
Definition: ilias.php:18
__construct()
Singleton constructor.
enableCreation($a_status)
Enable account creation.
isCreationEnabled()
Is account creation enabled.
setActive($a_status)
Set open id active.
Stores OpenId related settings
enableAccountMigration($a_status)
Enable account migration.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
getDefaultRole()
Get default role.
static getDataDir()
get data directory (outside webspace)
getReturnLocation()
Get oid return location.
getConsumer()
Get open id consumer.
forceProviderSelection($a_status)
Set force selection status.
isActive()
Is open id auth active.