• 注册
  • MyBB交流 MyBB交流 关注:2 内容:4

    如何使用钩子,将true推回父函数

  • 查看作者
  • 打赏作者
  • 当前位置: 站长社区 > MyBB > MyBB交流 > 正文
    • MyBB交流
    • 嗨,
      如何使用钩子,将return true推送给父函数

      mybb将在is_moderator function()中具有钩子

      function is_moderator($fid=0, $action="", $uid=0){global $mybb, $cache, $plugins;if($uid == 0){$uid = $mybb->user['uid'];}if($uid == 0){return false;}$user_perms = user_permissions($uid);$hook_args = array('fid' => $fid,'action' => $action,'uid' => $uid,);$plugins->run_hooks("is_moderator", $hook_args);if($user_perms['issupermod'] == 1){if($fid){$forumpermissions = forum_permissions($fid);if($forumpermissions['canview'] && $forumpermissions['canviewthreads'] && !$forumpermissions['canonlyviewownthreads']){return true;}return false;}return true;}else{if(!$fid){$modcache = $cache->read('moderators');if(!empty($modcache)){foreach($modcache as $modusers){if(isset($modusers['users'][$uid]) && $modusers['users'][$uid]['mid'] && (!$action || !empty($modusers['users'][$uid][$action]))){return true;}$groups = explode(',', $user_perms['all_usergroups']);foreach($groups as $group){if(trim($group) != '' && isset($modusers['usergroups'][$group]) && (!$action || !empty($modusers['usergroups'][$group][$action]))){return true;}}}}return false;}else{$modperms = get_moderator_permissions($fid, $uid);if(!$action && $modperms){return true;}else{if(isset($modperms[$action]) && $modperms[$action] == 1){return true;}else{return false;}}}}}
      的PHP
      全选

      这就是我尝试使用它的方式

      function statusupdate_is_moderator(&$hook_args){global $mybb;if(in_array($hook_args['action'], array("viewstatusupdate", "canviewstatusupdate", "canaddstatusupdate", "canlockunlockstatusupdate", "caneditstatusupdate", "candeletestatusupdate", "maxstatusupdateperday", "edittimelimitstatusupdate", "canviewstatusupdateeditinfo", "viewstatusupdateeditinfo", "viewstatusupdatereputations", "canviewstatusupdatereputations", "cangivestatusupdatereputations", "canremovestatusupdatereputations", "viewstatusupdatecomments", "canviewstatusupdatecomments", "canaddstatusupdatecomments", "caneditstatusupdatecomments", "candeletestatusupdatecomments", "maxstatusupdatecommentsperday", "edittimelimitstatusupdatecomments", "canviewstatusupdatecommentseditinfo", "viewstatusupdatecommentseditinfo", "viewstatusupdatecommentsreputations", "canviewstatusupdatecommentsreputations", "cangivestatusupdatecommentsreputations", "canremovestatusupdatecommentsreputations"))){return true;}}
      的PHP
      全选

      钩子工作,如果可以的话,我可以使用echo,但是我不能将return true推送给

      附件中的is_moderator()函数,我添加了简单的插件来测试是否有人可以帮助您

      状态更新2.0.zip
      大小:54.04 KB

      擅长SEOSEM网站诊断、方案编写、优化运维

      请登录之后再进行评论

      登录

      分享有礼

    • 发表内容
    • 做任务
    • 实时动态