Fix perms problems in xorgAuth
[dotclear.git] / widget.blog.owner.php
CommitLineData
f525ba66
FB
1<?php
2
3class xorgBlogOwnerWidget {
4 public static function behavior_adminBlogPreferencesForm(&$core) {
5 if ($core->auth->isSuperAdmin()) {
6e7207b1
FB
6 if (isset($_GET['id'])) {
7 $settings = new dcSettings($core, $_GET['id']);
8 } else {
9 $settings =& $core->blog->settings;
10 }
f525ba66
FB
11 $types = array('user' => array('text' => 'Blog d\'utilisateur',
12 'selected' => false),
13 'group-member' => array('text' => 'Blog de groupe, édition par les membres',
14 'selected' => false),
15 'group-admin' => array('text' => 'Blog de groupe, édition par les administrateurs',
16 'selected' => false));
6e7207b1 17 $type = $settings->get('xorg_blog_type');
f525ba66
FB
18 if (!$type) {
19 $type = 'user';
20 }
21 $types[$type]['selected'] = true;
6e7207b1
FB
22 ?>
23 <fieldset>
24 <legend>Authentification X.org</legend>
25 <div class="two-cols">
26 <div class="col">
27 <p>
28 <label>
29 Type de blog&nbsp;:
30 <select name="xorg_blog_type">
31 <?php
f525ba66
FB
32 foreach ($types as $key => $fields) {
33 echo '<option value="' . $key . '"' . ($fields['selected'] ? ' selected="selected"' : '') . '>'
34 . $fields['text'] . '</option>';
35 }
6e7207b1
FB
36 ?>
37 </select>
38 </label>
39 </p>
40 </div>
41 <div class="col">
42 <p>
43 <label>
44 Propriétaire du blog (*)&nbsp;:
45 <input type="text" name="xorg_blog_owner" value="<?php echo $settings->get('xorg_blog_owner'); ?> " />
46 </label>
47 </p>
48 <p>
49 <label>
50 (*) Dans le cas d'un blog de groupe, le propriétaire est le diminutif X.net du groupe<br />
51 (*) Dans le cas d'un blog d'utilisateur, le propriétaire est le forlife de l'utilisateur
52 </label>
53 </p>
54 </div>
55 </div>
56 </fieldset>
57 <?php
f525ba66
FB
58 }
59 }
60
61 public static function behavior_adminBeforeBlogSettingsUpdate(&$settings) {
5322432c
FB
62 self::setXorgOwner($settings, $_POST['xorg_blog_type'], $_POST['xorg_blog_owner']);
63 }
64
65 public static function setXorgOwner(&$settings, $type, $owner) {
f525ba66
FB
66 global $core;
67 if ($core->auth->isSuperAdmin()) {
5322432c
FB
68 $settings->setNamespace('xorgauth');
69 $settings->put('xorg_blog_type', $type, 'string', 'Type de blog X.org');
70 $settings->put('xorg_blog_owner', $owner, 'string', 'Propriétaire X.org du blog');
f525ba66
FB
71 }
72 }
5322432c 73
f525ba66
FB
74}
75
76?>