Kunena论坛。使用自定义插件为新用户设置特殊排名

时间:2016-07-25 07:18:38

标签: php joomla kunena

大家好! 能否帮我解决以下问题。

Kunena 4.0.1。我创建了几个特殊的用户排名。某些用户有权创建新用户。任务是将新用户的等级设置为默认值,但是特殊等级之一。 我尝试使用与" onUserAfterSave"相关的自定义插件来做到这一点。事件。但它没有用。我做错了什么?

 function onUserAfterSave ($user, $isnew) 
  {

  if ($isnew)
    {
    $NewKUser = KunenaFactory::getUser(intval($user['id']));
    $NewKUser->rank['rank_id'] = 11;                
    $NewKUser->save(true);
    }
  }

2 个答案:

答案 0 :(得分:0)

问题解决了:

#!/bin/sh
    echo "Bestätigen sie ihr Passwort, damit der Compiler mit erhöhten Rechten gestartet werden kann" 
    [ "$(whoami)" != "root" ] && exec sudo -- "$0" "$@"
    sudo ~./Compiler/Compiler_Project

答案 1 :(得分:0)

此外,我还有另一个解决方案,一个单行代码,但您需要编辑现有的插件。因此,当用户在joomla中注册时,它将自动分配一个等级。

为此您需要编辑kunena系统插件,您可以在plugins->system->kunena找到该插件。 如果你打开kunena.php,你会找到一个功能

public function onUserAfterSave($user, $isnew, $success, $msg){
....
....
if ($isnew && intval($user ['id']))
        {
            $kuser = KunenaFactory::getUser(intval($user ['id']));
            $kuser->save();
        }

通过添加一行$kuser->rank

来更改或修改它
public function onUserAfterSave($user, $isnew, $success, $msg){
    ....
    ....
if ($isnew && intval($user ['id']))
        {
            $kuser = KunenaFactory::getUser(intval($user ['id']));
            $kuser->rank=11; // The rank which you want
            $kuser->save();
        }

最好在编辑之前创建该插件的副本。