2 require_once dirname(__FILE__
) . '/widget.auth.php';
3 require_once dirname(__FILE__
) . '/widget.post.perms.php';
5 /* Declare the authentication widget on public page */
6 $core->addBehavior('initWidgets', array('xorgAuthWidget', 'behavior_initWidgets'));
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'));
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'));
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'));
23 class xorgBlogOwnerWidget
{
24 public static function behavior_adminBlogPreferencesForm(&$core) {
25 if ($core->auth
->isSuperAdmin()) {
26 $types = array('user' => array('text' => 'Blog d\'utilisateur',
28 'group-member' => array('text' => 'Blog de groupe, édition par les membres',
30 'group-admin' => array('text' => 'Blog de groupe, édition par les administrateurs',
31 'selected' => false
));
32 $type = $core->blog
->settings
->get('xorg_blog_type');
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>';
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>';
50 public static function behavior_adminBeforeBlogSettingsUpdate(&$settings) {
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');