123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace app\common\behavior;
- use think\Config;
- use think\Lang;
- use think\Loader;
- class Common
- {
- public function appInit()
- {
- $allowLangList = Config::get('allow_lang_list') ?? ['zh-cn', 'en'];
- Lang::setAllowLangList($allowLangList);
- }
- public function appDispatch(&$dispatch)
- {
- $pathinfoArr = explode('/', request()->pathinfo());
- if (!Config::get('url_domain_deploy') && $pathinfoArr && in_array($pathinfoArr[0], ['index', 'api'])) {
-
- \think\App::route(false);
- }
- }
- public function moduleInit(&$request)
- {
-
- mb_internal_encoding("UTF-8");
-
- $url = preg_replace("/\/(\w+)\.php$/i", '', $request->root());
-
- if (!Config::get('view_replace_str.__CDN__')) {
- Config::set('view_replace_str.__CDN__', $url);
- }
-
- if (!Config::get('view_replace_str.__PUBLIC__')) {
- Config::set('view_replace_str.__PUBLIC__', $url . '/');
- }
-
- if (!Config::get('view_replace_str.__ROOT__')) {
- Config::set('view_replace_str.__ROOT__', preg_replace("/\/public\/$/", '', $url . '/'));
- }
-
- if (!Config::get('site.cdnurl')) {
- Config::set('site.cdnurl', $url);
- }
-
- if (!Config::get('upload.cdnurl')) {
- Config::set('upload.cdnurl', $url);
- }
- if (Config::get('app_debug')) {
-
- Config::set('site.version', time());
-
- Config::set('exception_tmpl', THINK_PATH . 'tpl' . DS . 'think_exception.tpl');
- }
-
- if (Config::get('app_trace') && $request->isAjax()) {
- Config::set('app_trace', false);
- }
-
- if (Config::get('lang_switch_on')) {
- $lang = $request->get('lang', '');
- if (preg_match("/^([a-zA-Z\-_]{2,10})\$/i", $lang)) {
- \think\Cookie::set('think_var', $lang);
- }
- }
-
- if (!class_exists('Form')) {
- class_alias('fast\\Form', 'Form');
- }
- }
- public function addonBegin(&$request)
- {
-
- $lang = request()->langset();
- $lang = preg_match("/^([a-zA-Z\-_]{2,10})\$/i", $lang) ? $lang : 'zh-cn';
- Lang::load([
- APP_PATH . 'common' . DS . 'lang' . DS . $lang . DS . 'addon' . EXT,
- ]);
- $this->moduleInit($request);
- }
- }
|