2694 if ( $is_everyone && !$this->acl_defaults_used[$i] ) |
2694 if ( $is_everyone && !$this->acl_defaults_used[$i] ) |
2695 continue; |
2695 continue; |
2696 // Decide precedence |
2696 // Decide precedence |
2697 if ( isset($this->acl_defaults_used[$i]) ) |
2697 if ( isset($this->acl_defaults_used[$i]) ) |
2698 { |
2698 { |
2699 //echo "$i: default in use, overriding to: {$perm[$i]}<br />"; |
2699 // echo "$i: default in use, overriding to: {$perm[$i]}<br />"; |
2700 // Defaults are in use, override |
2700 // Defaults are in use, override |
2701 $this->perms[$i] = $perm[$i]; |
2701 |
2702 $this->acl_defaults_used[$i] = ( $is_everyone ); |
2702 // CHANGED - 1.1.4: |
|
2703 // For some time this has been intentionally relaxed so that the following |
|
2704 // exception is available to Deny permissions: |
|
2705 // If the rule applies to the group "Everyone" on the entire site, |
|
2706 // Deny settings could be overriden. |
|
2707 // This is documented at: http://docs.enanocms.org/Help:4.2 |
|
2708 if ( $this->perms[$i] != AUTH_DENY ) |
|
2709 { |
|
2710 $this->perms[$i] = $perm[$i]; |
|
2711 $this->acl_defaults_used[$i] = ( $is_everyone ); |
|
2712 } |
2703 } |
2713 } |
2704 else |
2714 else |
2705 { |
2715 { |
2706 //echo "$i: default NOT in use"; |
2716 // echo "$i: default NOT in use"; |
2707 // Defaults are not in use, merge as normal |
2717 // Defaults are not in use, merge as normal |
2708 if ( $this->perms[$i] != AUTH_DENY ) |
2718 if ( $this->perms[$i] != AUTH_DENY ) |
2709 { |
2719 { |
2710 //echo ", but overriding"; |
2720 // echo ", but overriding"; |
2711 $this->perms[$i] = $perm[$i]; |
2721 $this->perms[$i] = $perm[$i]; |
2712 } |
2722 } |
2713 //echo "<br />"; |
2723 // echo "<br />"; |
2714 } |
2724 } |
2715 } |
2725 } |
2716 } |
2726 } |
2717 } |
2727 } |
2718 |
2728 |