Init.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace app\common\behavior;
  3. use think\Cache;
  4. use think\Exception;
  5. class Init
  6. {
  7. public function run(&$params)
  8. {
  9. $config = config('maccms');
  10. $domain = config('domain');
  11. $isMobile = 0;
  12. $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
  13. $uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|meizu|cldc|midp|iphone|wap|mobile|android)/i";
  14. if((preg_match($uachar, $ua))) {
  15. $isMobile = 1;
  16. }
  17. $isDomain=0;
  18. if( is_array($domain) && !empty($domain[$_SERVER['HTTP_HOST']])){
  19. $config['site'] = array_merge($config['site'],$domain[$_SERVER['HTTP_HOST']]);
  20. $isDomain=1;
  21. if(empty($config['site']['mob_template_dir']) || $config['site']['mob_template_dir'] =='no'){
  22. $config['site']['mob_template_dir'] = $config['site']['template_dir'];
  23. }
  24. $config['site']['site_wapurl'] = $config['site']['site_url'];
  25. $config['site']['mob_html_dir'] = $config['site']['html_dir'];
  26. $config['site']['mob_ads_dir'] = $config['site']['ads_dir'];
  27. }
  28. $TMP_ISWAP = 0;
  29. $TMP_TEMPLATEDIR = $config['site']['template_dir'];
  30. $TMP_HTMLDIR = $config['site']['html_dir'];
  31. $TMP_ADSDIR = $config['site']['ads_dir'];
  32. if($isMobile && $isDomain==0){
  33. if( ($config['site']['mob_status']==2 ) || ($config['site']['mob_status']==1 && $_SERVER['HTTP_HOST']==$config['site']['site_wapurl']) || ($config['site']['mob_status']==1 && $isDomain) ) {
  34. $TMP_ISWAP = 1;
  35. $TMP_TEMPLATEDIR = $config['site']['mob_template_dir'];
  36. $TMP_HTMLDIR = $config['site']['mob_html_dir'];
  37. $TMP_ADSDIR = $config['site']['mob_ads_dir'];
  38. }
  39. }
  40. define('MAC_URL','http'.'://'.'www'.'.'.'maccms'.'.'.'la'.'/');
  41. define('MAC_NAME','苹果CMS');
  42. define('MAC_PATH', $config['site']['install_dir'] .'');
  43. define('MAC_MOB', $TMP_ISWAP);
  44. define('MAC_ROOT_TEMPLATE', ROOT_PATH .'template/'.$TMP_TEMPLATEDIR.'/'. $TMP_HTMLDIR .'/');
  45. define('MAC_PATH_TEMPLATE', MAC_PATH.'template/'.$TMP_TEMPLATEDIR.'/');
  46. define('MAC_PATH_TPL', MAC_PATH_TEMPLATE. $TMP_HTMLDIR .'/');
  47. define('MAC_PATH_ADS', MAC_PATH_TEMPLATE. $TMP_ADSDIR .'/');
  48. define('MAC_PAGE_SP', $config['path']['page_sp'] .'');
  49. define('MAC_PLAYER_SORT', $config['app']['player_sort'] );
  50. define('MAC_ADDON_PATH', ROOT_PATH . 'addons' . '/');
  51. define('MAC_ADDON_PATH_STATIC', ROOT_PATH . 'static/addons/');
  52. $GLOBALS['MAC_ROOT_TEMPLATE'] = ROOT_PATH .'template/'.$TMP_TEMPLATEDIR.'/'. $TMP_HTMLDIR .'/';
  53. $GLOBALS['MAC_PATH_TEMPLATE'] = MAC_PATH.'template/'.$TMP_TEMPLATEDIR.'/';
  54. $GLOBALS['MAC_PATH_TPL'] = $GLOBALS['MAC_PATH_TEMPLATE']. $TMP_HTMLDIR .'/';
  55. $GLOBALS['MAC_PATH_ADS'] = $GLOBALS['MAC_PATH_TEMPLATE']. $TMP_ADSDIR .'/';
  56. $GLOBALS['http_type'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
  57. if(ENTRANCE=='index'){
  58. config('dispatch_success_tmpl','public/jump');
  59. config('dispatch_error_tmpl','public/jump');
  60. }
  61. config('template.view_path', 'template/' . $TMP_TEMPLATEDIR .'/' . $TMP_HTMLDIR .'/');
  62. if(ENTRANCE=='admin'){
  63. if(!file_exists('./template/' . $TMP_TEMPLATEDIR .'/' . $TMP_HTMLDIR .'/')){
  64. config('template.view_path','');
  65. }
  66. }
  67. config('url_route_on',$config['rewrite']['route_status']);
  68. if(empty($config['app']['pathinfo_depr'])){
  69. $config['app']['pathinfo_depr'] = '/';
  70. }
  71. config('pathinfo_depr',$config['app']['pathinfo_depr']);
  72. if(intval($config['app']['cache_time'])<1){
  73. $config['app']['cache_time'] = 60;
  74. }
  75. config('cache.expire', $config['app']['cache_time'] );
  76. if(!in_array($config['app']['cache_type'],['file','memcache','memcached','redis'])){
  77. $config['app']['cache_type'] = 'file';
  78. }
  79. if(!empty($config['app']['lang'])){
  80. config('default_lang', $config['app']['lang']);
  81. }
  82. config('cache.type', $config['app']['cache_type']);
  83. config('cache.timeout',1000);
  84. config('cache.host',$config['app']['cache_host']);
  85. config('cache.port',$config['app']['cache_port']);
  86. config('cache.username',$config['app']['cache_username']);
  87. config('cache.password',$config['app']['cache_password']);
  88. if($config['app']['cache_type'] != 'file'){
  89. $opt = config('cache');
  90. Cache::$handler = null;
  91. }
  92. $GLOBALS['config'] = $config;
  93. }
  94. }