BaseInstall.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace app\install\controller;
  3. use app\Controller;
  4. use think\facade\Cache;
  5. class BaseInstall extends Controller
  6. {
  7. public $replace;
  8. public $lock_file;
  9. public $lang;
  10. public $init_data;
  11. public function __construct()
  12. {
  13. parent::__construct();
  14. $this->replace = [
  15. 'INSTALL_CSS' => __ROOT__ . '/app/install/view/public/css',
  16. 'INSTALL_IMG' => __ROOT__ . '/app/install/view/public/img',
  17. 'INSTALL_JS' => __ROOT__ . '/app/install/view/public/js',
  18. ];
  19. $this->lock_file = './install.lock';//锁定文件
  20. $root_url = __ROOT__;
  21. $this->assign("root_url", $root_url);
  22. }
  23. /**
  24. * 操作成功返回值函数
  25. * @param string $data
  26. * @param string $code_var
  27. * @return array
  28. */
  29. public function returnSuccess($data = '', $code_var = 'SUCCESS')
  30. {
  31. $lang_array = $this->getLang();
  32. $lang_var = isset($lang_array[ $code_var ]) ? $lang_array[ $code_var ] : $code_var;
  33. if ($code_var == 'SUCCESS') {
  34. $code_var = 0;
  35. } else {
  36. $code_array = array_keys($lang_array);
  37. $code_index = array_search($code_var, $code_array);
  38. if ($code_index != false) {
  39. $code_var = 10000 + $code_index;
  40. }
  41. }
  42. return success($code_var, $lang_var, $data);
  43. }
  44. /**
  45. * 操作失败返回值函数
  46. * @param string $data
  47. * @param string $code_var
  48. * @return array
  49. */
  50. public function returnError($data = '', $code_var = 'FAIL')
  51. {
  52. $lang_array = $this->getLang();
  53. if (isset($lang_array[ $code_var ])) {
  54. $lang_var = $lang_array[ $code_var ];
  55. } else {
  56. $lang_var = $code_var;
  57. $code_var = 'FAIL';
  58. }
  59. $code_array = array_keys($lang_array);
  60. $code_index = array_search($code_var, $code_array);
  61. if ($code_index != false) {
  62. $code_var = -10000 - $code_index;
  63. }
  64. return error($code_var, $lang_var, $data);
  65. }
  66. /**
  67. * 获取语言包数组
  68. * @return Ambigous <multitype:, unknown>
  69. */
  70. public function getLang()
  71. {
  72. $default_lang = config("lang.default_lang");
  73. $cache_common = Cache::get("lang_app/lang/" . $default_lang . '/model.php');
  74. if (empty($cache_common)) {
  75. $cache_common = include 'app/lang/' . $default_lang . '/model.php';
  76. Cache::tag("lang")->set("lang_app/lang/" . $default_lang, $cache_common);
  77. }
  78. $lang_path = isset($this->lang) ? $this->lang : '';
  79. if (!empty($lang_path)) {
  80. $cache_path = Cache::get("lang_" . $lang_path . "/" . $default_lang . '/model.php');
  81. if (empty($cache_path)) {
  82. $cache_path = include $lang_path . "/" . $default_lang . '/model.php';
  83. Cache::tag("lang")->set("lang_" . $lang_path . "/" . $default_lang, $cache_path);
  84. }
  85. $lang = array_merge($cache_common, $cache_path);
  86. } else {
  87. $lang = $cache_common;
  88. }
  89. return $lang;
  90. }
  91. }