Commit | Line | Data |
---|---|---|
1edd3efc | 1 | <?php |
b519995b | 2 | require_once dirname(__FILE__) . '/widget.auth.php'; |
8c39c698 | 3 | require_once dirname(__FILE__) . '/widget.post.perms.php'; |
1edd3efc | 4 | |
8c39c698 | 5 | /* Declare the authentication widget on public page */ |
b519995b | 6 | $core->addBehavior('initWidgets', array('xorgAuthWidget', 'behavior_initWidgets')); |
8c39c698 | 7 | |
f33c2acf | 8 | |
8c39c698 FB |
9 | /* Declare stuff to set permissions on each post */ |
10 | $core->addBehavior('adminPostFormSidebar', array('xorgPostPermsWidget', 'behavior_adminPostFormSidebar')); | |
11 | $core->addBehavior('adminBeforePostCreate', array('xorgPostPermsWidget', 'behavior_adminBeforePostCreate')); | |
12 | $core->addBehavior('adminBeforePostUpdate', array('xorgPostPermsWidget', 'behavior_adminBeforePostUpdate')); | |
13 | ||
14 | /* Stuff to set user preferences about post permissions */ | |
15 | $core->addBehavior('adminPreferencesForm', array('xorgPostPermsWidget', 'behavior_adminPreferencesForm')); | |
16 | $core->addBehavior('adminBeforeUserUpdate', array('xorgPostPermsWidget', 'behavior_adminBeforeUserUpdate')); | |
7d26c37d FB |
17 | |
18 | ||
19 | /* Declare the form to assign the ownership of the blog */ | |
20 | $core->addBehavior('adminBlogPreferencesForm', array('xorgBlogOwnerWidget', 'behavior_adminBlogPreferencesForm')); | |
21 | $core->addBehavior('adminBeforeBlogSettingsUpdate', array('xorgBlogOwnerWidget', 'behavior_adminBeforeBlogSettingsUpdate')); | |
22 | ||
23 | class xorgBlogOwnerWidget { | |
24 | public static function behavior_adminBlogPreferencesForm(&$core) { | |
25 | if ($core->auth->isSuperAdmin()) { | |
26 | $types = array('user' => array('text' => 'Blog d\'utilisateur', | |
27 | 'selected' => false), | |
28 | 'group-member' => array('text' => 'Blog de groupe, édition par les membres', | |
29 | 'selected' => false), | |
30 | 'group-admin' => array('text' => 'Blog de groupe, édition par les administrateurs', | |
31 | 'selected' => false)); | |
32 | $type = $core->blog->settings->get('xorg_blog_type'); | |
33 | if (!$type) { | |
34 | $type = 'user'; | |
35 | } | |
36 | $types[$type]['selected'] = true; | |
37 | echo '<fieldset><legend>Authentification X.org</legend><div class="two-cols"><div class="col">'; | |
38 | echo '<p><label>Type de blog :' | |
39 | . '<select name="xorg_blog_type">'; | |
40 | foreach ($types as $key => $fields) { | |
41 | echo '<option value="' . $key . '"' . ($fields['selected'] ? ' selected="selected"' : '') . '>' | |
42 | . $fields['text'] . '</option>'; | |
43 | } | |
44 | echo '</select></label></p></div>'; | |
45 | echo '<div class="col"><p><label>Propriétaire du blog (*) :<input type="text" name="xorg_blog_owner" value="' . $core->blog->settings->get('xorg_blog_owner') . '" /></label></p>'; | |
46 | echo '<p><label>(*) Dans le cas d\'un blog de groupe, le propriétaire est le diminutif X.net du groupe<br />(*) Dans le cas d\'un blog d\'utilisateur, le propriétaire est le forlife de l\'utilisateur</label></p></div></div></fieldset>'; | |
47 | } | |
48 | } | |
49 | ||
50 | public static function behavior_adminBeforeBlogSettingsUpdate(&$settings) { | |
51 | global $core; | |
52 | if ($core->auth->isSuperAdmin()) { | |
53 | $settings->put('xorg_blog_type', $_POST['xorg_blog_type'], 'string', 'Type de blog X.org'); | |
54 | $settings->put('xorg_blog_owner', $_POST['xorg_blog_owner'], 'string', 'Propriétaire X.org du blog'); | |
55 | } | |
56 | } | |
57 | } | |
1edd3efc | 58 | ?> |