InitHookBehavior.class.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * 洛阳赤炎鹰网络科技有限公司
  4. * https://www.cyyvip.com
  5. * Copyright (c) 2022 赤店商城 All rights reserved.
  6. */
  7. // +---------------------------------------------------------------------
  8. // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
  9. // +---------------------------------------------------------------------
  10. // | Copyright (c) 2013-2014 http://www.thinkcmf.com All rights reserved.
  11. // +---------------------------------------------------------------------
  12. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  13. // +---------------------------------------------------------------------
  14. // | Author: Dean <zxxjjforever@163.com>
  15. // +---------------------------------------------------------------------
  16. namespace Common\Behavior;
  17. use Think\Behavior;
  18. use Think\Hook;
  19. // 初始化钩子信息
  20. class InitHookBehavior extends Behavior {
  21. // 行为扩展的执行入口必须是run
  22. public function run(&$content){
  23. if(isset($_GET['g']) && strtolower($_GET['g']) === 'install') return;
  24. $data = S('hooks');
  25. if(!$data){
  26. $plugins = M('Plugins')->where("status=1")->getField("name,hooks");
  27. foreach ($plugins as $plugin => $hooks) {
  28. if($hooks){
  29. $hooks=explode(",", $hooks);
  30. foreach ($hooks as $hook){
  31. Hook::add($hook,$plugin);
  32. }
  33. }
  34. }
  35. S('hooks',Hook::get());
  36. }else{
  37. Hook::import($data,false);
  38. }
  39. }
  40. }