Common.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace app\common\behavior;
  3. use app\main\service\FufenService;
  4. use think\Config;
  5. class Common
  6. {
  7. public function run(&$request)
  8. {
  9. $arr = model('Config')->getConfigSiteArr();
  10. Config::set('site', $arr);
  11. // 设置mbstring字符编码
  12. mb_internal_encoding("UTF-8");
  13. // 如果修改了index.php入口地址,则需要手动修改cdnurl的值
  14. if (!$url = Config::get('site.cdnurl')) {
  15. $url = preg_replace("/\/(\w+)\.php$/i", '', $request->root());
  16. }
  17. //var_dump($url);
  18. // $url = "";
  19. // 如果未设置__CDN__则自动匹配得出
  20. // if (!Config::get('view_replace_str.__CDN__'))
  21. // {
  22. Config::set('view_replace_str.__CDN__', $url);
  23. // }
  24. // 如果未设置__PUBLIC__则自动匹配得出
  25. if (!Config::get('view_replace_str.__PUBLIC__'))
  26. {
  27. Config::set('view_replace_str.__PUBLIC__', $url . '/');
  28. }
  29. // 如果未设置__ROOT__则自动匹配得出
  30. if (!Config::get('view_replace_str.__ROOT__'))
  31. {
  32. Config::set('view_replace_str.__ROOT__', preg_replace("/\/public\/$/", '', $url . '/'));
  33. }
  34. // 如果后台设置了主题 //修改模板主题配置
  35. if(Config::get('site.theme'))
  36. {
  37. Config::set('template.view_theme', Config::get('site.theme'));
  38. }
  39. // 如果未设置cdnurl则自动匹配得出
  40. // if (!Config::get('site.cdnurl'))
  41. // {
  42. Config::set('site.cdnurl', $url);
  43. // }
  44. // 如果未设置cdnurl则自动匹配得出
  45. // if (!Config::get('upload.cdnurl'))
  46. // {
  47. Config::set('upload.cdnurl', $url);
  48. // }
  49. if (FufenService::instance()->checkTestParams()->data) {
  50. Config::set('app_debug', true);
  51. if (!$request->isAjax()) {
  52. Config::set('app_trace', true);
  53. }
  54. }
  55. if (Config::get('app_debug'))
  56. {
  57. // 如果是调试模式将version置为当前的时间戳可避免缓存
  58. Config::set('site.version', time());
  59. // 如果是开发模式那么将异常模板修改成官方的
  60. Config::set('exception_tmpl', THINK_PATH . 'tpl' . DS . 'think_exception.tpl');
  61. }
  62. // 如果是trace模式且Ajax的情况下关闭trace
  63. if (Config::get('app_trace') && $request->isAjax())
  64. {
  65. Config::set('app_trace', false);
  66. }
  67. $arr = Config::get('wechat.log');
  68. $arr['file'] = LOG_PATH . date('Ym') . '/' . date('d') . '_wechat.log';
  69. Config::set('wechat.log', $arr);
  70. }
  71. }