Common.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace app\common\behavior;
  3. use think\Config;
  4. use think\Lang;
  5. class Common
  6. {
  7. public function moduleInit(&$request)
  8. {
  9. // 设置mbstring字符编码
  10. mb_internal_encoding("UTF-8");
  11. // 如果修改了index.php入口地址,则需要手动修改cdnurl的值
  12. $url = preg_replace("/\/(\w+)\.php$/i", '', $request->root());
  13. // 如果未设置__CDN__则自动匹配得出
  14. if (!Config::get('view_replace_str.__CDN__'))
  15. {
  16. Config::set('view_replace_str.__CDN__', $url);
  17. }
  18. // 如果未设置__PUBLIC__则自动匹配得出
  19. if (!Config::get('view_replace_str.__PUBLIC__'))
  20. {
  21. Config::set('view_replace_str.__PUBLIC__', $url . '/');
  22. }
  23. // 如果未设置__ROOT__则自动匹配得出
  24. if (!Config::get('view_replace_str.__ROOT__'))
  25. {
  26. Config::set('view_replace_str.__ROOT__', preg_replace("/\/public\/$/", '', $url . '/'));
  27. }
  28. // 如果未设置cdnurl则自动匹配得出
  29. if (!Config::get('site.cdnurl'))
  30. {
  31. Config::set('site.cdnurl', $url);
  32. }
  33. // 如果未设置cdnurl则自动匹配得出
  34. if (!Config::get('upload.cdnurl'))
  35. {
  36. Config::set('upload.cdnurl', $url);
  37. }
  38. if (Config::get('app_debug'))
  39. {
  40. // 如果是调试模式将version置为当前的时间戳可避免缓存
  41. Config::set('site.version', time());
  42. // 如果是开发模式那么将异常模板修改成官方的
  43. Config::set('exception_tmpl', THINK_PATH . 'tpl' . DS . 'think_exception.tpl');
  44. }
  45. // 如果是trace模式且Ajax的情况下关闭trace
  46. if (Config::get('app_trace') && $request->isAjax())
  47. {
  48. Config::set('app_trace', false);
  49. }
  50. // 切换多语言
  51. if (Config::get('lang_switch_on') && $request->get('lang'))
  52. {
  53. \think\Cookie::set('think_var', $request->get('lang'));
  54. }
  55. }
  56. public function addonBegin(&$request)
  57. {
  58. // 加载插件语言包
  59. Lang::load([
  60. APP_PATH . 'common' . DS . 'lang' . DS . $request->langset() . DS . 'addon' . EXT,
  61. ]);
  62. $this->moduleInit($request);
  63. }
  64. }