Changeset 7708


Ignore:
Timestamp:
06/09/10 15:33:17 (2 years ago)
Author:
CrawfordCurrie
Message:

Item1484: removed Aaron's debug flag again; the plugin should operate without plugin preferences. Removed non-functional check from TOPICPERMISSIONS. Doc update.

Location:
trunk/WebPermissionsPlugin
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebPermissionsPlugin/data/System/WebPermissionsPlugin.txt

    r4535 r7708  
    148148The topic permissions tool can be viewed (and edited) by entering =%<nop>TOPICPERMISSIONS%= anywhere in a topic.  
    149149 
    150 To add  an "Edit ACLS" option to the "More topic actions" screen  add =webpermissions= to the front of the SKIN setting (e.g. =Set SKIN=webpermissions,pattern=) 
     150To add  an "Edit ACLS" option to the "More topic actions" screen  add =webpermissions= to the front of the SKIN setting (e.g. =Set SKIN = webpermissions,pattern=) 
    151151 
    152152---++ Plugin Settings 
     
    177177   * Further work supported by [[http://www.spanlink.com/][Spanlink Communications]] 
    178178 
    179 |  Author: | Foswiki:Main.CrawfordCurrie & :Main.SvenDowideit, http://wikiring.com | 
     179|  Author: | Foswiki:Main.CrawfordCurrie & Foswiki:Main.SvenDowideit, http://wikiring.com | 
    180180|  Copyright: | &copy; 2006, Evolved Media Network, Spanlink Communications and WikiRing | 
    181181|  License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | 
     
    183183|  Release: | %$RELEASE% | 
    184184|  Change History: | | 
     185|  9 Jun 2010 | Foswikitask:Item1484: Aaron Scamehorn finished porting | 
    185186|  21 Apr 2009 | Foswikitask:Item1484: Sven Dowideit, Crawford Currie, ported to Foswiki | 
    186 |  4 Dec 2007 | TWikibug:Item4901 fixed templates TWikibug:Item5072 added users parameter to select a subset of users/groups in the web permissions interface | 
    187 |  8 Sep 2007 | Updated for TWiki-4.2.0 | 
    188 |  July 2006 | add Topic ACLs user interface via More topic actions - SvenDowideit@WikiRing.com | 
    189 |  10216 | TWikibug:Item2291 - Added repeatheads and webs parameters | 
    190 |  9048 | TWikibug:Item1766 - corrected problems with passing incorrect parameters to setACLs and not interpreting values from the form correctly. | 
    191 |  8877 | TWikibug:Item1701 - first release | 
    192187|  Dependencies: | %$DEPENDENCIES% | 
    193188|  Plugin Home: | http://foswiki.org/Extensions/%TOPIC% | 
  • trunk/WebPermissionsPlugin/lib/Foswiki/Plugins/WebPermissionsPlugin.pm

    r7700 r7708  
    2525# in each affected web. 
    2626 
    27 # ======================== 
    2827package Foswiki::Plugins::WebPermissionsPlugin; 
    2928 
    3029use strict; 
    3130 
    32 # ======================== 
    3331use Foswiki::Func (); 
    3432 
    35 our $debug = 0; 
    3633our $VERSION    = '$Rev: 160$'; 
    37 our $RELEASE    = '21 Apr 2009'; 
     34our $RELEASE    = '9 Jun 2010'; 
    3835our $SHORTDESCRIPTION = 'View and edit web permissions'; 
     36our $NO_PREFS_IN_TOPIC = 1; 
    3937 
    40 # ======================== 
     38use constant TRACE => 0; 
     39 
    4140sub initPlugin { 
    4241    my ( $topic, $web, $user, $installWeb ) = @_; 
     
    5958 
    6059    Foswiki::Func::registerRESTHandler( 'change', \&_changeHandler ); 
    61  
    62     # Get preferences values 
    63     $debug = &Foswiki::Func::getPreferencesFlag( "WEBPERMISSIONSPLUGIN_DEBUG" ); 
    6460 
    6561    return 1; 
  • trunk/WebPermissionsPlugin/lib/Foswiki/Plugins/WebPermissionsPlugin/Core.pm

    r7700 r7708  
    1919# For licensing info read LICENSE file in the Foswiki root. 
    2020# 
    21 # Author: Crawford Currie http://c-dot.co.uk 
     21# Authors: Crawford Currie http://c-dot.co.uk 
    2222# Author: Sven Dowideit http://fosiki.com 
    2323# Author: Eugen Mayer http://impressimpressive-media.de 
     
    3838# ========================= 
    3939our $antiBeforeSaveRecursion; 
    40  
    41 my $debug = $Foswiki::Plugins::WebPermissionsPlugin::debug; 
    4240 
    4341# ========================= 
     
    317315    my ( $session, $params, $topic, $web ) = @_; 
    318316 
    319     # this is to redirect to the "no access" page if this tag is used 
    320     # in a non-view template. 
    321     Foswiki::UI::checkAccess( $session, $web, $topic, 'view', 
    322         $session->{user} ); 
    323  
    324317    my $disableSave = 'Disabled'; 
    325318    $disableSave = '' 
     
    357350    my $acls = _getACLs( [ 'VIEW', 'CHANGE' ], $web, $topic ); 
    358351    foreach my $user ( sort ( keys %$acls ) ) { 
    359         my $isGroup; 
    360         if ( defined &Foswiki::Func::isGroup ) { 
    361             $isGroup = Foswiki::Func::isGroup($user); 
    362         } 
    363         else { 
    364             $isGroup = ( $user =~ /Group$/ ); 
    365         } 
     352        my $isGroup = Foswiki::Func::isGroup($user); 
     353 
    366354        if ( $acls->{$user}->{CHANGE} ) { 
    367355            $topicEditors .= '<OPTION>' . $user . '</OPTION>' 
     
    401389    return unless ( defined($action) );    #nothing to do with this plugin 
    402390 
    403     &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::beforeSaveHandler: action=" . $action ) if ( $debug ); 
     391    Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::beforeSaveHandler: action=" . $action ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    404392 
    405393    if ( $action ne 'Save' ) { 
     
    408396        # to be quite difficult 
    409397        Foswiki::Func::redirectCgiQuery( $query, 
    410             &Foswiki::Func::getScriptUrl( $web, $topic , 'view' ) ); 
     398            Foswiki::Func::getScriptUrl( $web, $topic , 'view' ) ); 
    411399        throw Error::Simple('cancel permissions action'); 
    412400    } 
     
    579567        $topic   = $Foswiki::cfg{WebPrefsTopicName}; 
    580568    } 
    581     &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: GET $context $web.$topic" ) if ( $debug ); 
     569    Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: GET $context $web.$topic" ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    582570    my @knownusers = _getListOfUsers(); 
    583571    push( @knownusers, _getListOfGroups() ); 
     
    602590 
    603591            if (defined $users) { 
    604                 &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: $perm$context$mode=$users" ) if ( $debug ); 
     592                Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: $perm$context$mode=$users" ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    605593            } else { 
    606                 &Foswiki::Func::writeWarning( "WebPermissionsPlugin::Core::_getACLs: no $perm$context$mode defined" );  
     594                Foswiki::Func::writeWarning( "WebPermissionsPlugin::Core::_getACLs: no $perm$context$mode defined" );  
    607595            } 
    608596 
     
    621609            while ( scalar(@lusers) ) { 
    622610                my $user = pop(@lusers); 
    623                 my $isGroup; 
    624                 if ( defined &Foswiki::Func::isGroup ) { 
    625                     $isGroup = Foswiki::Func::isGroup($user); 
    626                 } 
    627                 else { 
    628                     $isGroup = $user =~ /Group$/; 
    629                 } 
    630                 if ($isGroup) { 
     611                if (Foswiki::Func::isGroup($user)) { 
    631612                    # expand groups and add individual users 
    632613                    my $it = Foswiki::Func::eachGroupMember($user); 
     
    644625                foreach my $user (@knownusers) { 
    645626 
    646                     &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: Disallow $mode $user" ) if ( $debug ); 
     627                    Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: Disallow $mode $user" ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    647628                    $acls{$user}->{$mode} = 0; 
    648629                } 
    649630                foreach my $user (@users) { 
    650631 
    651                     &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: Allow $mode $user" ) if ( $debug ); 
     632                    Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: Allow $mode $user" ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    652633                    $acls{$user}->{$mode} = 1; 
    653634                } 
     
    656637                foreach my $user (@users) { 
    657638 
    658                     &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: Deny $mode $user " ) if ( $debug ); 
     639                    Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_getACLs: Deny $mode $user " ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    659640                    $acls{$user}->{$mode} = 0; 
    660641                } 
     
    698679    } 
    699680 
    700     &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_setACLs: SET $context $web.$topic " ) if ( $debug ); 
     681    Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_setACLs: SET $context $web.$topic " ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    701682    my ( $meta, $text ) = Foswiki::Func::readTopic( $web, $topic ); 
    702683 
     
    740721                ); 
    741722            } 
    742             &Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_setACLs: $name = " . join( ' ', @$set ) ) if ( $debug ); 
     723            Foswiki::Func::writeDebug( "WebPermissionsPlugin::Core::_setACLs: $name = " . join( ' ', @$set ) ) if ( Foswiki::Plugins::WebPermissionsPlugin::TRACE ); 
    743724        } 
    744725    } 
Note: See TracChangeset for help on using the changeset viewer.