\$wgEnableUploads = false;
// Don't forget to "chown www-data $wdprefix/$project/images"
+// Edit permissions for group admins
+\$wgGroupPermissions['Administrators']['*'] = true;
+
// Edit permissions for group members
\$wgGroupPermissions['Members']['edit'] = true;
\$wgGroupPermissions['Members']['createpage'] = true;
\$wgGroupPermissions['Members']['createtalk'] = true;
// Edit permissions for non-members
-\$wgGroupPermissions['Users']['edit'] = false;
-\$wgGroupPermissions['Users']['createpage'] = false;
-\$wgGroupPermissions['Users']['createtalk'] = false;
+\$wgGroupPermissions['ForgeUsers']['edit'] = false;
+\$wgGroupPermissions['ForgeUsers']['createpage'] = false;
+\$wgGroupPermissions['ForgeUsers']['createtalk'] = false;
// Edit permissions for anonymous users
\$wgGroupPermissions['*']['edit'] = false;
done
+projects=$(echo "SELECT g.unix_group_name from groups g, group_plugin gp, plugins p where g.group_id = gp.group_id and gp.plugin_id = p.plugin_id and p.plugin_name = 'mediawiki' ;" \
+ | PGPASSFILE=$tmp3 /usr/bin/psql -U gforge gforge \
+ | tail -n +3 \
+ | grep '^ ')
+
+tmp4=$(mktemp)
+# Disable read anonymous if project is private
+for project in $projects ; do
+ ispublic=$(echo "SELECT is_public from groups where unix_group_name = '${project}' ;" \
+ | PGPASSFILE=$tmp3 /usr/bin/psql -U gforge gforge \
+ | tail -n +3 \
+ | grep '^ ')
+
+ # Purge anonymous read
+ cat $wdprefix/$project/LocalSettings.php | grep -vi "\$wgGroupPermissions\['Members'\]\['read'\]" > $tmp4
+ cat $tmp4 > $wdprefix/$project/LocalSettings.php
+ cat $wdprefix/$project/LocalSettings.php | grep -vi "\$wgGroupPermissions\['\*'\]\['read'\]" > $tmp4
+ cat $tmp4 > $wdprefix/$project/LocalSettings.php
+
+ if [ $ispublic = '0' ] ; then
+ echo "\$wgGroupPermissions['Members']['read'] = true;" >> $wdprefix/$project/LocalSettings.php
+ echo "\$wgGroupPermissions['*']['read'] = false;" >> $wdprefix/$project/LocalSettings.php
+ fi
+
+done
+rm -f $tmp4
rm -f $tmp3