setting.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. <?php
  2. /**
  3. * 网站设置
  4. *
  5. *
  6. *
  7. ***/
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class settingControl extends SystemControl{
  10. private $links = array(
  11. array('url'=>'act=setting&op=base','lang'=>'web_set'),
  12. array('url'=>'act=setting&op=dump','lang'=>'dis_dump'),
  13. );
  14. public function __construct(){
  15. parent::__construct();
  16. Language::read('setting');
  17. }
  18. /**
  19. * 基本信息
  20. */
  21. public function baseOp(){
  22. $model_setting = Model('setting');
  23. if (chksubmit()){
  24. //上传网站Logo
  25. if (!empty($_FILES['site_logo']['name'])){
  26. $upload = new UploadFile();
  27. $upload->set('default_dir',ATTACH_COMMON);
  28. $result = $upload->upfile('site_logo');
  29. if ($result){
  30. $_POST['site_logo'] = $upload->file_name;
  31. }else {
  32. showMessage($upload->error,'','','error');
  33. }
  34. }
  35. //上传手机网站Logo
  36. if (!empty($_FILES['site_mobile_logo']['name'])){
  37. $upload = new UploadFile();
  38. $upload->set('default_dir',ATTACH_COMMON);
  39. $upload->file_name='home_logo.png';
  40. $result = $upload->upfile('site_mobile_logo');
  41. if ($result){
  42. $_POST['site_mobile_logo'] = $upload->file_name;
  43. }else {
  44. showMessage($upload->error,'','','error');
  45. }
  46. }
  47. //二维码微信图片 by abc.com
  48. if (!empty($_FILES['site_logowx']['name'])){
  49. $upload = new UploadFile();
  50. $upload->set('default_dir',ATTACH_COMMON);
  51. $result = $upload->upfile('site_logowx');
  52. if ($result){
  53. $_POST['site_logowx'] = $upload->file_name;
  54. }else {
  55. showMessage($upload->error,'','','error');
  56. }
  57. }
  58. if (!empty($_FILES['member_logo']['name'])){
  59. $upload = new UploadFile();
  60. $upload->set('default_dir',ATTACH_COMMON);
  61. $result = $upload->upfile('member_logo');
  62. if ($result){
  63. $_POST['member_logo'] = $upload->file_name;
  64. }else {
  65. showMessage($upload->error,'','','error');
  66. }
  67. }
  68. if (!empty($_FILES['seller_center_logo']['name'])){
  69. $upload = new UploadFile();
  70. $upload->set('default_dir',ATTACH_COMMON);
  71. $result = $upload->upfile('seller_center_logo');
  72. if ($result){
  73. $_POST['seller_center_logo'] = $upload->file_name;
  74. }else {
  75. showMessage($upload->error,'','','error');
  76. }
  77. }
  78. $list_setting = $model_setting->getListSetting();
  79. $update_array = array();
  80. $update_array['time_zone'] = $this->setTimeZone($_POST['time_zone']);
  81. $update_array['site_name'] = $_POST['site_name'];
  82. $update_array['site_phone'] = $_POST['site_phone'];
  83. $update_array['site_bank_account'] = $_POST['site_bank_account'];
  84. $update_array['site_email'] = $_POST['site_email'];
  85. $update_array['statistics_code'] = $_POST['statistics_code'];
  86. if (!empty($_POST['site_logo'])){
  87. $update_array['site_logo'] = $_POST['site_logo'];
  88. }
  89. //zmr>v30
  90. if (!empty($_POST['site_mobile_logo'])){
  91. $update_array['site_mobile_logo'] = $_POST['site_mobile_logo'];
  92. }
  93. if (!empty($_POST['site_logowx'])){
  94. $update_array['site_logowx'] = $_POST['site_logowx'];
  95. }
  96. if (!empty($_POST['member_logo'])){
  97. $update_array['member_logo'] = $_POST['member_logo'];
  98. }
  99. if (!empty($_POST['seller_center_logo'])){
  100. $update_array['seller_center_logo'] = $_POST['seller_center_logo'];
  101. }
  102. $update_array['icp_number'] = $_POST['icp_number'];
  103. //设置表 400电话 by abc.com
  104. $update_array['site_tel400'] = $_POST['site_tel400'];
  105. $update_array['site_status'] = $_POST['site_status'];
  106. $update_array['closed_reason'] = $_POST['closed_reason'];
  107. $result = $model_setting->updateSetting($update_array);
  108. if ($result === true){
  109. //判断有没有之前的图片,如果有则删除
  110. if (!empty($list_setting['site_logo']) && !empty($_POST['site_logo'])){
  111. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['site_logo']);
  112. }
  113. if (!empty($list_setting['site_logowx']) && !empty($_POST['site_logowx'])){
  114. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['site_logowx']);
  115. }
  116. if (!empty($list_setting['member_logo']) && !empty($_POST['member_logo'])){
  117. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['member_logo']);
  118. }
  119. if (!empty($list_setting['seller_center_logo']) && !empty($_POST['seller_center_logo'])){
  120. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['seller_center_logo']);
  121. }
  122. $this->log(L('nc_edit,web_set'),1);
  123. showMessage(L('nc_common_save_succ'));
  124. }else {
  125. $this->log(L('nc_edit,web_set'),0);
  126. showMessage(L('nc_common_save_fail'));
  127. }
  128. }
  129. $list_setting = $model_setting->getListSetting();
  130. foreach ($this->getTimeZone() as $k=>$v) {
  131. if ($v == $list_setting['time_zone']){
  132. $list_setting['time_zone'] = $k;break;
  133. }
  134. }
  135. Tpl::output('list_setting',$list_setting);
  136. //输出子菜单
  137. Tpl::output('top_link',$this->sublink($this->links,'base'));
  138. Tpl::showpage('setting.base');
  139. }
  140. /**
  141. * 防灌水设置
  142. */
  143. public function dumpOp(){
  144. $model_setting = Model('setting');
  145. if (chksubmit()){
  146. $update_array = array();
  147. $update_array['guest_comment'] = $_POST['guest_comment'];
  148. $update_array['captcha_status_login'] = $_POST['captcha_status_login'];
  149. $update_array['captcha_status_register'] = $_POST['captcha_status_register'];
  150. $update_array['captcha_status_goodsqa'] = $_POST['captcha_status_goodsqa'];
  151. $result = $model_setting->updateSetting($update_array);
  152. if ($result === true){
  153. $this->log(L('nc_edit,dis_dump'),1);
  154. showMessage(L('nc_common_save_succ'));
  155. }else {
  156. $this->log(L('nc_edit,dis_dump'),0);
  157. showMessage(L('nc_common_save_fail'));
  158. }
  159. }
  160. $list_setting = $model_setting->getListSetting();
  161. Tpl::output('list_setting',$list_setting);
  162. Tpl::output('top_link',$this->sublink($this->links,'dump'));
  163. Tpl::showpage('setting.dump');
  164. }
  165. /**
  166. * SEO与rewrite设置
  167. */
  168. public function seoOp(){
  169. $model_setting = Model('setting');
  170. if (chksubmit()){
  171. $update_array = array();
  172. $update_array['rewrite_enabled'] = $_POST['rewrite_enabled'];
  173. $result = $model_setting->updateSetting($update_array);
  174. if ($result === true){
  175. $this->log(L('nc_edit,nc_seo_set'),1);
  176. showMessage(L('nc_common_save_succ'));
  177. }else {
  178. $this->log(L('nc_edit,nc_seo_set'),0);
  179. showMessage(L('nc_common_save_fail'));
  180. }
  181. }
  182. $list_setting = $model_setting->getListSetting();
  183. //读取SEO信息
  184. $list = Model('seo')->select();
  185. $seo = array();
  186. foreach ((array)$list as $value) {
  187. $seo[$value['type']] = $value;
  188. }
  189. Tpl::output('list_setting',$list_setting);
  190. Tpl::output('seo',$seo);
  191. $category = Model('goods_class')->getGoodsClassForCacheModel();
  192. Tpl::output('category',$category);
  193. Tpl::showpage('setting.seo_setting');
  194. }
  195. public function ajax_categoryOp(){
  196. $model = Model('goods_class');
  197. $list = $model->field('gc_title,gc_keywords,gc_description')->find(intval($_GET['id']));
  198. //转码
  199. if (strtoupper(CHARSET) == 'GBK'){
  200. $list = Language::getUTF8($list);//网站GBK使用编码时,转换为UTF-8,防止json输出汉字问题
  201. }
  202. echo json_encode($list);exit();
  203. }
  204. /**
  205. * SEO设置保存
  206. */
  207. public function seo_updateOp(){
  208. $model_seo = Model('seo');
  209. if (chksubmit()){
  210. $update = array();
  211. if (is_array($_POST['SEO'][0])){
  212. $seo = $_POST['SEO'][0];
  213. }else{
  214. $seo = $_POST['SEO'];
  215. }
  216. foreach ((array)$seo as $key=>$value) {
  217. $model_seo->where(array('type'=>$key))->update($value);
  218. }
  219. dkcache('seo');
  220. showMessage(L('nc_common_save_succ'));
  221. }else{
  222. showMessage(L('nc_common_save_fail'));
  223. }
  224. }
  225. /**
  226. * 分类SEO保存
  227. *
  228. */
  229. public function seo_categoryOp(){
  230. if (chksubmit()){
  231. $where = array('gc_id' => intval($_POST['category']));
  232. $input = array();
  233. $input['gc_title'] = $_POST['cate_title'];
  234. $input['gc_keywords'] = $_POST['cate_keywords'];
  235. $input['gc_description'] = $_POST['cate_description'];
  236. if (Model('goods_class')->editGoodsClass($input, $where)){
  237. dkcache('goods_class_seo');
  238. showMessage(L('nc_common_save_succ'));
  239. }
  240. }
  241. showMessage(L('nc_common_save_fail'));
  242. }
  243. /**
  244. * 网站功能模块开启或者关闭
  245. *
  246. */
  247. public function website_settingOp(){
  248. $model_setting = Model('setting');
  249. //保存信息
  250. if (chksubmit()){
  251. //构造更新数据数组
  252. $update_array = array();
  253. //站外分享功能
  254. $update_array['share_isuse'] = trim($_POST['share_isuse']);
  255. $result = $model_setting->updateSetting($update_array);
  256. if ($result === true){
  257. showMessage(Language::get('nc_common_save_succ'));
  258. }else {
  259. showMessage(Language::get('nc_common_save_fail'));
  260. }
  261. }
  262. //读取设置内容 $list_setting
  263. $list_setting = $model_setting->getListSetting();
  264. //模板输出
  265. Tpl::output('list_setting',$list_setting);
  266. Tpl::showpage('setting.website_setting');
  267. }
  268. /**
  269. * 设置时区
  270. *
  271. * @param int $time_zone 时区键值
  272. */
  273. private function setTimeZone($time_zone){
  274. $zonelist = $this->getTimeZone();
  275. return empty($zonelist[$time_zone]) ? 'Asia/Shanghai' : $zonelist[$time_zone];
  276. }
  277. private function getTimeZone(){
  278. return array(
  279. '-12' => 'Pacific/Kwajalein',
  280. '-11' => 'Pacific/Samoa',
  281. '-10' => 'US/Hawaii',
  282. '-9' => 'US/Alaska',
  283. '-8' => 'America/Tijuana',
  284. '-7' => 'US/Arizona',
  285. '-6' => 'America/Mexico_City',
  286. '-5' => 'America/Bogota',
  287. '-4' => 'America/Caracas',
  288. '-3.5' => 'Canada/Newfoundland',
  289. '-3' => 'America/Buenos_Aires',
  290. '-2' => 'Atlantic/St_Helena',
  291. '-1' => 'Atlantic/Azores',
  292. '0' => 'Europe/Dublin',
  293. '1' => 'Europe/Amsterdam',
  294. '2' => 'Africa/Cairo',
  295. '3' => 'Asia/Baghdad',
  296. '3.5' => 'Asia/Tehran',
  297. '4' => 'Asia/Baku',
  298. '4.5' => 'Asia/Kabul',
  299. '5' => 'Asia/Karachi',
  300. '5.5' => 'Asia/Calcutta',
  301. '5.75' => 'Asia/Katmandu',
  302. '6' => 'Asia/Almaty',
  303. '6.5' => 'Asia/Rangoon',
  304. '7' => 'Asia/Bangkok',
  305. '8' => 'Asia/Shanghai',
  306. '9' => 'Asia/Tokyo',
  307. '9.5' => 'Australia/Adelaide',
  308. '10' => 'Australia/Canberra',
  309. '11' => 'Asia/Magadan',
  310. '12' => 'Pacific/Auckland'
  311. );
  312. }
  313. //zmr>v30
  314. public function exetargetOp()
  315. {
  316. /*
  317. http://你的程序地址/crontab/index.php?act=minutes
  318. http://你的程序地址/crontab/index.php?act=hour
  319. http://你的程序地址/crontab/index.php?act=date
  320. http://你的程序地址/crontab/index.php?act=month
  321. */
  322. $page=BASE_SITE_URL.'/crontab/index.php?act=minutes';
  323. $html = file_get_contents($page,'r');
  324. echo '分钟任务执行成功'.$html;
  325. echo "<br/>";
  326. $page=BASE_SITE_URL.'/crontab/index.php?act=hour';
  327. $html = file_get_contents($page,'r');
  328. echo '小时任务执行成功'.$html;
  329. echo "<br/>";
  330. $page=BASE_SITE_URL.'/crontab/index.php?act=date';
  331. $html = file_get_contents($page,'r');
  332. echo '每天任务执行成功'.$html;
  333. echo "<br/>";
  334. $page=BASE_SITE_URL.'/crontab/index.php?act=month';
  335. $html = file_get_contents($page,'r');
  336. echo '每月任务执行成功'.$html;
  337. echo "<br/>";
  338. echo "<br/>全部计划任务执行成功";
  339. }
  340. }