Update console command for minsec to use access/members instead of 
'friends'.

        Patch by afuna. 

diffs (36 lines):

diff -r 9c1ecf129339 -r 4095983b9f9e cgi-bin/ljhooks.pl
--- a/cgi-bin/ljhooks.pl        Fri Jun 12 21:45:13 2009 +0000
+++ b/cgi-bin/ljhooks.pl        Fri Jun 12 21:48:33 2009 +0000
@@ -120,16 +120,27 @@ register_setter('synlevel', sub {
 
 register_setter("newpost_minsecurity", sub {
     my ($u, $key, $value, $err) = @_;
-    unless ($value =~ /^(public|friends|private)$/) {
-        $$err = "Illegal value.  Must be 'public', 'friends', or 'private'";
+    unless ($value =~ /^(public|access|members|private|friends)$/) {
+        $$err = "Illegal value.  Must be 'public', 'access' (for personal 
journals), 'members' (for communities), or 'private'";
         return 0;
     }
-    # Don't let commmunities be private
-    if ($u->{'journaltype'} eq "C" && $value eq "private") {
-        $$err = "newpost_minsecurity cannot be private for communities";
+    # Don't let commmunities be private or access-locked
+    if ( $u->is_community ) {
+        if ( $value eq "private" ) {
+            $$err = "newpost_minsecurity cannot be private for communities";
+            return 0;
+        } elsif ( $value eq "access" ) {
+            $$err = "newpost_minsecurity cannot be access-locked for 
communities (use 'members' instead)";
+            return 0;
+        }
+    }
+    if ( $u->is_individual && $value eq "members" ) {
+        $$err = "newpost_minsecurity members not applicable to non-community 
journals. (use 'access' instead)";
         return 0;
     }
+    
     $value = "" if $value eq "public";
+    $value = "friends" if $value eq "access" || $value eq "members";
 
     $u->set_prop("newpost_minsecurity", $value);
     return 1;
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to