|
Senior Mamber
Join Date: Apr 2004
Posts: 162
|
Rechtevergabe nach Update 4.5.2.1
Hi Mambers,
seit dem wir auf 4.5.2.1 abgedatet haben, können Manager im Admin Bereich nicht mehr die Komponente sehen.
Obwohl wir in der gacl.class.php den wert hinzugefügt haben.
Hier die Datei:
PHP Code:
USA
*
* For questions, help, comments, discussion, etc., please join the
* phpGACL mailing list. http://sourceforge.net/mail/?group_id=57103
*
* You may contact the author of phpGACL by e-mail at:
* ipso@snappymail.ca
*
* The latest version of phpGACL can be obtained from:
* http://phpgacl.sourceforge.net/
*
*/
/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
// NOTE, this is a temporary solution until phpGACL libraries are fully implemented
/* -- Code to manually add a group to the ARO Groups
SET @parent_name = 'Registered';
SET @new_name = 'Support';
-- Select the parent node to insert after
SELECT @ins_id := group_id, @ins_lft := lft, @ins_rgt := rgt
FROM mos_core_acl_aro_groups
WHERE name = @parent_name;
SELECT @new_id := MAX(group_id) + 1 FROM mos_core_acl_aro_groups;
-- Make room for the new node
UPDATE mos_core_acl_aro_groups SET rgt=rgt+2 WHERE rgt>=@ins_rgt;
UPDATE mos_core_acl_aro_groups SET lft=lft+2 WHERE lft>@ins_rgt;
-- Insert the new node
INSERT INTO mos_core_acl_aro_groups (group_id,parent_id,name,lft,rgt)
VALUES (@new_id,@ins_id,@new_name,@ins_rgt,@ins_rgt+1);
*/
class gacl {
// --- Private properties ---
/*
* Enable Debug output.
*/
var $_debug = FALSE;
/*
* Database configuration.
*/
var $db=null;
var $_db_table_prefix = '#__core_acl_';
/*
* NOTE: This cache must be manually cleaned each time ACL's are modified.
* Alternatively you could wait for the cache to expire.
*/
var $_caching = FALSE;
var $_force_cache_expire = TRUE;
// --- Fudge properties
var $acl=null;
var $acl_count=0;
/*
* Constructor
*/
function gacl( $db=null ) {
global $database;
$this->db = $db ? $db : $database;
// ARO value is currently the user type,
// this changes to user id in proper implementation
// No hierarchial inheritance so have to do that the long way
$this->acl = array();
// backend login
$this->_mos_add_acl( 'administration', 'login', 'users', 'administrator', null, null );
$this->_mos_add_acl( 'administration', 'login', 'users', 'super administrator', null, null );
$this->_mos_add_acl( 'administration', 'login', 'users', 'manager', null, null );
// backend menus
//$this->_mos_add_acl( 'administration', 'config', 'users', 'administrator', null, null );
$this->_mos_add_acl( 'administration', 'config', 'users', 'super administrator', null, null );
// access to db admin
//$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_dbadmin' );
// access to templates
//$this->_mos_add_acl( 'administration', 'manage', 'user', 'administrator', 'components', 'com_templates' )
$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_templates' );
$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'templates', 'all' );
// access to trash
$this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_trash' );
$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_trash' );
// access to menu manager
$this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_menumanager' );
$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_menumanager' );
// access to language
//$this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_languages' );
$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_languages' );
$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'languages', 'all' );
// access to modules
$this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'modules', 'all' );
$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'modules', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'modules', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'modules', 'all' );
// access to modules
$this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'mambots', 'all' );
$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'mambots', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'mambots', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'mambots', 'all' );
// uncomment following to allow managers to edit modules
//array( 'administration', 'edit', 'users', 'manager', 'modules', 'all' );
// access to components
$this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_newsflash' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_frontpage' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_media' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_lgmngr' );
// ** add additional components for a manager as desired, or give access to all
// massmail
$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_massmail' );
// manage users
$this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_users' );
$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_users' );
// email block users property
$this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'user properties', 'block_user' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'user properties', 'block_user' );
// email system events
$this->_mos_add_acl( 'workflow', 'email_events', 'users', 'administrator', null, null );
$this->_mos_add_acl( 'workflow', 'email_events', 'users', 'super administrator', null, null );
// actions
$this->_mos_add_acl( 'action', 'add', 'users', 'author', 'content', 'all' );
$this->_mos_add_acl( 'action', 'add', 'users', 'editor', 'content', 'all' );
$this->_mos_add_acl( 'action', 'add', 'users', 'publisher', 'content', 'all' );
$this->_mos_add_acl( 'action', 'edit', 'users', 'author', 'content', 'own' );
$this->_mos_add_acl( 'action', 'edit', 'users', 'editor', 'content', 'all' );
$this->_mos_add_acl( 'action', 'edit', 'users', 'publisher', 'content', 'all' );
$this->_mos_add_acl( 'action', 'publish', 'users', 'publisher', 'content', 'all' );
$this->_mos_add_acl( 'action', 'add', 'users', 'manager', 'content', 'all' );
$this->_mos_add_acl( 'action', 'edit', 'users', 'manager', 'content', 'all' );
$this->_mos_add_acl( 'action', 'publish', 'users', 'manager', 'content', 'all' );
$this->_mos_add_acl( 'action', 'add', 'users', 'administrator', 'content', 'all' );
$this->_mos_add_acl( 'action', 'edit', 'users', 'administrator', 'content', 'all' );
$this->_mos_add_acl( 'action', 'publish', 'users', 'administrator', 'content', 'all' );
$this->_mos_add_acl( 'action', 'add', 'users', 'super administrator', 'content', 'all' );
$this->_mos_add_acl( 'action', 'edit', 'users', 'super administrator', 'content', 'all' );
$this->_mos_add_acl( 'action', 'publish', 'users', 'super administrator', 'content', 'all' );
$this->acl_count = count( $this->acl );
}
/*
This is a temporary function to allow 3PD's to add basic ACL checks for their
modules and components. NOTE: this information will be compiled in the db
in future versions
*/
function _mos_add_acl( $aco_section_value, $aco_value,
$aro_section_value, $aro_value, $axo_section_value=NULL, $axo_value=NULL ) {
$this->acl[] = array( $aco_section_value, $aco_value, $aro_section_value, $aro_value, $axo_section_value, $axo_value );
$this->acl_count = count( $this->acl );
}
/*======================================================================*\
Function: $gacl_api->debug_text()
Purpose: Prints debug text if debug is enabled.
\*======================================================================*/
function debug_text($text) {
if ($this->_debug) {
echo "$text<br>\n";
}
return true;
}
Wie kriegen wir die Rechte jetzt wieder hin??
Bitte dringen um antwort. Ab Morgen soll unsere neue Saison losgehen.
Gruß
Sebastian
P.S. Diese Zeile hatte ich schon hinzugefügt: $this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_lgmngr' );
Last edited by Day; 02.03.2005 at 12:25.
|