class_setupStep.inc 5.16 KB
Newer Older
1
2
3
4
<?php
/*
  This code is part of FusionDirectory (http://www.fusiondirectory.org/)
  Copyright (C) 2007 Fabian Hickert
5
  Copyright (C) 2011-2013  FusionDirectory
6
7
8
9
10
11
12
13
14
15
16
17
18

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
19
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
20
21
*/

22
23
24
25
26
27
28
29
30
class setupStep extends simplePlugin
{
  protected $s_title      = "Still undefined";
  protected $s_title_long = "Still undefined";
  protected $s_info       = "Still undefined";
  var $is_active    = FALSE;
  var $is_enabled   = FALSE;
  var $is_completed = FALSE;

31
  var $header_image = "";
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162

  static function getAttributesInfo()
  {
    return array();
  }

  function __construct()
  {
    global $config;
    parent::__construct($config);
    $this->update_strings();
  }

  function update_strings()
  {
    die('abstract method');
  }

  function get_title()
  {
    return $this->s_title;
  }

  function get_long_title()
  {
    return $this->s_title_long;
  }

  function get_small_info()
  {
    return $this->s_info;
  }

  function is_active()
  {
    return $this->is_active;
  }

  function is_enabled()
  {
    return $this->is_enabled;
  }

  function is_completed()
  {
    return $this->is_completed;
  }

  function set_active($value = TRUE)
  {
    $this->is_active = ($value == TRUE);
  }

  function set_enabled($value = TRUE)
  {
    $this->is_enabled = ($value == TRUE);
  }

  function set_completed($value = TRUE)
  {
    $this->is_completed = ($value == TRUE);
  }

  /* Return attributes handled by this setup step */
  function get_attributes()
  {
    $tmp = array();
    foreach (array_keys($this->attributesAccess) as $attr) {
      $tmp[$attr] = $this->$attr;
    }
    return $tmp;
  }

  /* bypass acl system as there is no user login */
  function acl_is_writeable($attribute, $skip_write = FALSE)
  {
    return TRUE;
  }
  function acl_is_readable($attribute)
  {
    return TRUE;
  }
  function acl_is_createable($base = "")
  {
    return TRUE;
  }
  function acl_is_removeable($base = "")
  {
    return TRUE;
  }
  function acl_is_moveable($base = "")
  {
    return TRUE;
  }
  function getacl($attribute, $skip_write = FALSE)
  {
    return 'cmdrw';
  }

  /* bypass LDAP loading */
  protected function loadAttributes()
  {
    foreach ($this->attributesInfo as &$sectionInfo) {
      foreach ($sectionInfo['attrs'] as $name => &$attr) {
        $attr->setParent($this);
      }
      unset($attr);
    }
    unset($sectionInfo);

    $this->updateAttributesValues();
  }

  /* Establish ldap connection */
  function get_ldap_link()
  {
    $cv = $this->parent->captured_values;
    $ldap_l = new LDAP(
      $cv['admin'],
      $cv['password'],
      $cv['connection'],
      FALSE,
      $cv['tls']
    );

    $ldap = new ldapMultiplexer($ldap_l);
    $ldap->cd($cv['base']);
    return $ldap;
  }
}

163
164
165
166
class setup_step extends plugin
{
  var $s_title      = "Still undefined";
  var $s_title_long = "This is a still undefined long title";
167
  var $s_info       = "This info is still undefined. This setup step detect the type of your ldap for FusionDirectory.This is a basic requirement for fusiondirectory.";
168
169
170
  var $is_active    = FALSE;
  var $is_enabled   = FALSE;
  var $is_completed = FALSE;
171

172
  var $header_image = "";
173
174
175
176

  var $attributes   = array();
  var $parent       = NULL;
  var $dialog       = FALSE;
177

178
  function __construct()
179
180
181
182
  {
  }

  function execute()
183
  {
184
185
186
187
188
189
190
191
  }

  function save_object()
  {
    /* Do not call plugin::save_object. This causes acl trouble  */
  }

  function get_title()
192
  {
193
    return $this->s_title;
194
195
196
  }

  function get_long_title()
197
  {
198
    return $this->s_title_long;
199
200
201
  }

  function get_small_info()
202
  {
203
    return $this->s_info;
204
  }
205

206
207
  function is_active()
  {
208
    return $this->is_active;
209
210
211
212
  }

  function is_enabled()
  {
213
    return $this->is_enabled;
214
215
216
217
  }

  function is_completed()
  {
218
    return $this->is_completed;
219
220
221
222
  }

  function set_active($value = TRUE)
  {
223
    $this->is_active = ($value == TRUE);
224
225
226
227
  }

  function set_enabled($value = TRUE)
  {
228
    $this->is_enabled = ($value == TRUE);
229
230
231
232
  }

  function set_completed($value = TRUE)
  {
233
    $this->is_completed = ($value == TRUE);
234
235
236
237
238
239
  }

  /* Return attributes handled by this setup step */
  function get_attributes()
  {
    $tmp = array();
240
    foreach ($this->attributes as $attr) {
241
242
      $tmp[$attr] = $this->$attr;
    }
243
    return $tmp;
244
245
  }

246
247
248
249
250
251
252
253
254
255
256
257
258
259
  function get_ldap_link()
  {
    /* Establish ldap connection */
    $cv = $this->parent->captured_values;
    $ldap_l = new LDAP($cv['admin'],
        $cv['password'],
        $cv['connection'],
        FALSE,
        $cv['tls']);

    $ldap = new ldapMultiplexer($ldap_l);
    $ldap->cd($cv['base']);
    return $ldap;
  }
260
261
}
?>