0

我在 joomla 1.5 中有一个功能

function saveuser($row){
    $db =& JFactory::getDBO();
    $instance = new JUser();
    jimport('joomla.application.component.helper');
    $config   = &JComponentHelper::getParams('com_users');
    if(!isset($row['usertype']))
    $row['usertype'] = $config->get( 'new_usertype', 'Registered' );

    $acl =& JFactory::getACL();
    if(!$row['gid'])
    $row['gid'] = $acl->get_group_id( '', $usertype);

    $instance->set( 'id'            , $row['id'] );
    $instance->set( 'name'          , $row['name'] );
    $instance->set( 'username'      , $row['username'] );
    $instance->set( 'password'      , $row['password'] );
    $instance->set( 'email'         , $row['email'] );
    $instance->set( 'gid'           , $row['gid']);
    $instance->set( 'usertype'      , $row['usertype'] );
    unset($instance->password_clear);
    unset($instance->guest);
    unset($instance->aid);
    $ret = $db->insertObject( '#__users', $instance, 'id' );
    if(!$ret){
        return false;
    }
    $acl->add_object( 'users', $row['username'], $row['id'], null, null, 'ARO' );
    $acl->add_group_object( $row['gid'], 'users', $row['id'], 'ARO' );
    return true;
}

但是当作为 joomla 2.5 运行时,错误是:

Fatal error: Call to undefined method JAccess::get_group_id() in ... on line ...
Fatal error: Call to undefined method JAccess::add_object() in ... on line ...
Fatal error: Call to undefined method JAccess::add_group_object() ... on line ...

How to fix this function to joomla 2.5, How to ideas ?
4

1 回答 1

0

Joomla 的 ACL 系统!2.5 完全不同,您的问题没有简单的答案(Joomla! 1.5 对 ACL 的尝试只实现了一半)。

您最好从 Joomla 上的“访问控制列表/1.6-2.5/Tutorial ”开始!医生的网站。通读 2.5 核心组件,如com_userscom_content.

于 2012-08-23T03:58:02.470 回答