我在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 ?
答案 0 :(得分:0)
Joomla的ACL系统! 2.5是完全不同的,你的问题没有简单的答案(Joomla!1.5对ACL的尝试只实现了一半)。
你最好从Joomla的“Access Control List/1.6-2.5/Tutorial”开始! doc的网站。阅读2.5核心组件,如com_users
和com_content
。