upload.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. <?php
  2. /**
  3. * 上传设置
  4. *
  5. *
  6. *
  7. ***/
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class uploadControl extends SystemControl{
  10. private $links = array(
  11. array('url'=>'act=upload&op=param','lang'=>'upload_param'),
  12. array('url'=>'act=upload&op=default_thumb','lang'=>'default_thumb'),
  13. array('url'=>'act=upload&op=login','lang'=>'loginSettings'),
  14. array('url'=>'act=upload&op=tool','lang'=>'image_thumb_tool'),
  15. array('url'=>'act=upload&op=font','lang'=>'font_set')
  16. );
  17. public function __construct(){
  18. parent::__construct();
  19. Language::read('setting');
  20. }
  21. /**
  22. * 上传参数设置
  23. *
  24. */
  25. public function paramOp(){
  26. if (chksubmit()){
  27. $obj_validate = new Validator();
  28. $obj_validate->validateparam = array(
  29. array("input"=>$_POST["image_max_filesize"], "require"=>"true", "validator"=>"Number", "message"=>L('upload_image_filesize_is_number')),
  30. array("input"=>trim($_POST["image_allow_ext"]), "require"=>"true", "message"=>L('image_allow_ext_not_null'))
  31. );
  32. $error = $obj_validate->validate();
  33. if ($error != ''){
  34. showMessage($error);
  35. }else {
  36. $model_setting = Model('setting');
  37. $result = $model_setting->updateSetting(array(
  38. 'image_dir_type'=>intval($_POST['image_dir_type']),
  39. 'image_max_filesize'=>intval($_POST['image_max_filesize']),
  40. 'image_allow_ext'=>$_POST['image_allow_ext'])
  41. );
  42. if ($result){
  43. $this->log(L('nc_edit,upload_param'),1);
  44. showMessage(L('nc_common_save_succ'));
  45. }else {
  46. $this->log(L('nc_edit,upload_param'),0);
  47. showMessage(L('nc_common_save_fail'));
  48. }
  49. }
  50. }
  51. //获取默认图片设置属性
  52. $model_setting = Model('setting');
  53. $list_setting = $model_setting->getListSetting();
  54. Tpl::output('list_setting',$list_setting);
  55. //输出子菜单
  56. Tpl::output('top_link',$this->sublink($this->links,'param'));
  57. Tpl::showpage('upload.param');
  58. }
  59. /**
  60. * 默认图设置
  61. */
  62. public function default_thumbOp(){
  63. $model_setting = Model('setting');
  64. if (chksubmit()){
  65. //上传图片
  66. $upload = new UploadFile();
  67. $upload->set('default_dir',ATTACH_COMMON);
  68. //默认商品图片
  69. if (!empty($_FILES['default_goods_image']['tmp_name'])){
  70. $upload->set('thumb_width', GOODS_IMAGES_WIDTH);
  71. $upload->set('thumb_height', GOODS_IMAGES_HEIGHT);
  72. $upload->set('thumb_ext', GOODS_IMAGES_EXT);
  73. $upload->set('filling',false);
  74. $result = $upload->upfile('default_goods_image');
  75. if ($result){
  76. $_POST['default_goods_image'] = $upload->file_name;
  77. }else {
  78. showMessage($upload->error,'','','error');
  79. }
  80. }
  81. //默认店铺标志
  82. if (!empty($_FILES['default_store_logo']['tmp_name'])){
  83. $upload->set('file_name', '');
  84. $upload->set('thumb_width', 0);
  85. $upload->set('thumb_height',0);
  86. $upload->set('thumb_ext', false);
  87. $result = $upload->upfile('default_store_logo');
  88. if ($result){
  89. $_POST['default_store_logo'] = $upload->file_name;
  90. }else {
  91. showMessage($upload->error,'','','error');
  92. }
  93. }
  94. //默认店铺头像
  95. if (!empty($_FILES['default_store_avatar']['tmp_name'])){
  96. $upload->set('file_name', '');
  97. $upload->set('thumb_width', 0);
  98. $upload->set('thumb_height',0);
  99. $upload->set('thumb_ext', false);
  100. $result = $upload->upfile('default_store_avatar');
  101. if ($result){
  102. $_POST['default_store_avatar'] = $upload->file_name;
  103. }else {
  104. showMessage($upload->error,'','','error');
  105. }
  106. }
  107. //默认会员头像
  108. if (!empty($_FILES['default_user_portrait']['tmp_name'])){
  109. $thumb_width = '32';
  110. $thumb_height = '32';
  111. $upload->set('thumb_width', $thumb_width);
  112. $upload->set('thumb_height',$thumb_height);
  113. $upload->set('thumb_ext', '_small');
  114. $upload->set('file_name', '');
  115. $result = $upload->upfile('default_user_portrait');
  116. if ($result){
  117. $_POST['default_user_portrait'] = $upload->file_name;
  118. }else {
  119. showMessage($upload->error,'','','error');
  120. }
  121. }
  122. $list_setting = $model_setting->getListSetting();
  123. $update_array = array();
  124. if (!empty($_POST['default_goods_image'])){
  125. $update_array['default_goods_image'] = $_POST['default_goods_image'];
  126. }
  127. if (!empty($_POST['default_store_logo'])){
  128. $update_array['default_store_logo'] = $_POST['default_store_logo'];
  129. }
  130. if (!empty($_POST['default_store_avatar'])){
  131. $update_array['default_store_avatar'] = $_POST['default_store_avatar'];
  132. }
  133. if (!empty($_POST['default_user_portrait'])){
  134. $update_array['default_user_portrait'] = $_POST['default_user_portrait'];
  135. }
  136. if (!empty($update_array)){
  137. $result = $model_setting->updateSetting($update_array);
  138. }else{
  139. $result = true;
  140. }
  141. if ($result === true){
  142. //判断有没有之前的图片,如果有则删除
  143. if (!empty($list_setting['default_goods_image']) && !empty($_POST['default_goods_image'])){
  144. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['default_goods_image']);
  145. $img_ext = explode(',', GOODS_IMAGES_EXT);
  146. foreach ($img_ext as $val) {
  147. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.str_ireplace('.', $val . '.', $list_setting['default_goods_image']));
  148. }
  149. }
  150. if (!empty($list_setting['default_store_logo']) && !empty($_POST['default_store_logo'])){
  151. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['default_store_logo']);
  152. }
  153. if (!empty($list_setting['default_user_portrait']) && !empty($_POST['default_user_portrait'])){
  154. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.$list_setting['default_user_portrait']);
  155. @unlink(BASE_UPLOAD_PATH.DS.ATTACH_COMMON.DS.str_ireplace(',', '_small.', $list_setting['default_user_portrait']));
  156. }
  157. $this->log(L('nc_edit,default_thumb'),1);
  158. showMessage(L('nc_common_save_succ'));
  159. }else {
  160. $this->log(L('nc_edit,default_thumb'),0);
  161. showMessage(L('nc_common_save_fail'));
  162. }
  163. }
  164. $list_setting = $model_setting->getListSetting();
  165. //模板输出
  166. Tpl::output('list_setting',$list_setting);
  167. //输出子菜单
  168. Tpl::output('top_link',$this->sublink($this->links,'default_thumb'));
  169. Tpl::showpage('upload.thumb');
  170. }
  171. /**
  172. * 登录主题图片
  173. */
  174. public function loginOp(){
  175. $model_setting = Model('setting');
  176. if (chksubmit()){
  177. $input = array();
  178. //上传图片
  179. $upload = new UploadFile();
  180. $upload->set('default_dir',ATTACH_PATH.'/login');
  181. $upload->set('thumb_ext', '');
  182. $upload->set('file_name','1.jpg');
  183. $upload->set('ifremove',false);
  184. if (!empty($_FILES['login_pic1']['name'])){
  185. $result = $upload->upfile('login_pic1');
  186. if (!$result){
  187. showMessage($upload->error,'','','error');
  188. }else{
  189. $input[] = $upload->file_name;
  190. }
  191. }elseif ($_POST['old_login_pic1'] != ''){
  192. $input[] = '1.jpg';
  193. }
  194. $upload->set('default_dir',ATTACH_PATH.'/login');
  195. $upload->set('thumb_ext', '');
  196. $upload->set('file_name','2.jpg');
  197. $upload->set('ifremove',false);
  198. if (!empty($_FILES['login_pic2']['name'])){
  199. $result = $upload->upfile('login_pic2');
  200. if (!$result){
  201. showMessage($upload->error,'','','error');
  202. }else{
  203. $input[] = $upload->file_name;
  204. }
  205. }elseif ($_POST['old_login_pic2'] != ''){
  206. $input[] = '2.jpg';
  207. }
  208. $upload->set('default_dir',ATTACH_PATH.'/login');
  209. $upload->set('thumb_ext', '');
  210. $upload->set('file_name','3.jpg');
  211. $upload->set('ifremove',false);
  212. if (!empty($_FILES['login_pic3']['name'])){
  213. $result = $upload->upfile('login_pic3');
  214. if (!$result){
  215. showMessage($upload->error,'','','error');
  216. }else{
  217. $input[] = $upload->file_name;
  218. }
  219. }elseif ($_POST['old_login_pic3'] != ''){
  220. $input[] = '3.jpg';
  221. }
  222. $upload->set('default_dir',ATTACH_PATH.'/login');
  223. $upload->set('thumb_ext', '');
  224. $upload->set('file_name','4.jpg');
  225. $upload->set('ifremove',false);
  226. if (!empty($_FILES['login_pic4']['name'])){
  227. $result = $upload->upfile('login_pic4');
  228. if (!$result){
  229. showMessage($upload->error,'','','error');
  230. }else{
  231. $input[] = $upload->file_name;
  232. }
  233. }elseif ($_POST['old_login_pic4'] != ''){
  234. $input[] = '4.jpg';
  235. }
  236. $update_array = array();
  237. if (count($input) > 0){
  238. $update_array['login_pic'] = serialize($input);
  239. }
  240. $result = $model_setting->updateSetting($update_array);
  241. if ($result === true){
  242. $this->log(L('nc_edit,loginSettings'),1);
  243. showMessage(L('nc_common_save_succ'));
  244. }else {
  245. $this->log(L('nc_edit,loginSettings'),0);
  246. showMessage(L('nc_common_save_fail'));
  247. }
  248. }
  249. $list_setting = $model_setting->getListSetting();
  250. if ($list_setting['login_pic'] != ''){
  251. $list = unserialize($list_setting['login_pic']);
  252. }
  253. Tpl::output('list',$list);
  254. Tpl::output('top_link',$this->sublink($this->links,'login'));
  255. Tpl::showpage('upload.login');
  256. }
  257. /**
  258. * 水印字体
  259. *
  260. * @param
  261. * @return
  262. */
  263. public function fontOp(){
  264. //获取水印字体
  265. $dir_list = array();
  266. readFileList(BASE_RESOURCE_PATH.DS.'font',$dir_list);
  267. if (!empty($dir_list) && is_array($dir_list)){
  268. $fontInfo = array();
  269. include BASE_RESOURCE_PATH.DS.'font'.DS.'font.info.php';
  270. foreach ($dir_list as $value){
  271. $file_ext_array = explode('.',$value);
  272. if (strtolower(end($file_ext_array)) == 'ttf' && file_exists($value)){
  273. $file_path_array = explode('/', $value);
  274. $value = array_pop($file_path_array);
  275. $tmp = explode('.',$value);
  276. $file_list[$value] = $fontInfo[$tmp[0]];
  277. }
  278. }
  279. //转码
  280. if (strtoupper(CHARSET) == 'GBK'){
  281. $file_list = Language::getGBK($file_list);
  282. }
  283. Tpl::output('file_list',$file_list);
  284. }
  285. Tpl::output('top_link',$this->sublink($this->links,'font'));
  286. Tpl::showpage('upload.font');
  287. }
  288. /**
  289. * 压缩工具
  290. *
  291. * @param
  292. * @return
  293. */
  294. public function toolOp(){
  295. Tpl::output('top_link',$this->sublink($this->links,'tool'));
  296. Tpl::showpage('upload.tool');
  297. }
  298. }