goods.php 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. <?php
  2. /**
  3. * 商品图片统一调用函数//zmr>v30
  4. *
  5. *
  6. *
  7. * @package function* www.abc.com 专业团队 提供售后服务
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. /**
  11. * 取得商品缩略图的完整URL路径,接收商品信息数组,返回所需的商品缩略图的完整URL
  12. *
  13. * @param array $goods 商品信息数组
  14. * @param string $type 缩略图类型 值为60,240,360,1280
  15. * @return string
  16. */
  17. function thumb($goods = array(), $type = ''){
  18. $type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
  19. if (!in_array($type, $type_array)) {
  20. $type = '240';
  21. }
  22. if (empty($goods)){
  23. return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
  24. }
  25. if (array_key_exists('apic_cover', $goods)) {
  26. $goods['goods_image'] = $goods['apic_cover'];
  27. }
  28. if (empty($goods['goods_image'])) {
  29. return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
  30. }
  31. $search_array = explode(',', GOODS_IMAGES_EXT);
  32. $file = str_ireplace($search_array,'',$goods['goods_image']);
  33. $fname = basename($file);
  34. //取店铺ID
  35. if (preg_match('/^(\d+_)/',$fname)){
  36. $store_id = substr($fname,0,strpos($fname,'_'));
  37. }else{
  38. $store_id = $goods['store_id'];
  39. }
  40. $file = $type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file);
  41. if (!file_exists(BASE_UPLOAD_PATH.'/'.ATTACH_GOODS.'/'.$store_id.'/'.$file)){
  42. return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
  43. }
  44. $thumb_host = UPLOAD_SITE_URL.'/'.ATTACH_GOODS;
  45. return $thumb_host.'/'.$store_id.'/'.$file;
  46. }
  47. /**
  48. * 取得商品缩略图的完整URL路径,接收图片名称与店铺ID
  49. *
  50. * @param string $file 图片名称
  51. * @param string $type 缩略图尺寸类型,值为60,240,360,1280
  52. * @param mixed $store_id 店铺ID 如果传入,则返回图片完整URL,如果为假,返回系统默认图
  53. * @return string
  54. */
  55. function cthumb($file, $type = '', $store_id = false)
  56. {
  57. $type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
  58. if (!in_array($type, $type_array)) {
  59. $type = '240';
  60. }
  61. if (empty($file)) {
  62. return UPLOAD_SITE_URL . '/' . defaultGoodsImage ( $type );
  63. }
  64. $search_array = explode(',', GOODS_IMAGES_EXT);
  65. $file = str_ireplace($search_array,'',$file);
  66. $fname = basename($file);
  67. // 取店铺ID
  68. if ($store_id === false || !is_numeric($store_id)) {
  69. $store_id = substr ( $fname, 0, strpos ( $fname, '_' ) );
  70. }
  71. // 本地存储时,增加判断文件是否存在,用默认图代替
  72. if(defined('USE_REMOTE_IMAGE') && USE_REMOTE_IMAGE == true) {
  73. $thumb_host = UPLOAD_SITE_URL . '/' . ATTACH_GOODS;
  74. return $thumb_host . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file));
  75. }
  76. else
  77. {
  78. if ( !file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file)) )) {
  79. return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
  80. }
  81. $thumb_host = UPLOAD_SITE_URL . '/' . ATTACH_GOODS;
  82. return $thumb_host . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file));
  83. }
  84. }
  85. /**
  86. * 商品二维码
  87. * @param array $goods_info
  88. * @return string
  89. */
  90. function goodsQRCode($goods_info) {
  91. if (!file_exists(BASE_UPLOAD_PATH. '/' . ATTACH_STORE . '/' . $goods_info['store_id'] . '/' . $goods_info['goods_id'] . '.png' )) {
  92. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.'default_qrcode.png';
  93. }
  94. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$goods_info['store_id'].DS.$goods_info['goods_id'].'.png';
  95. }
  96. //zmr>>>
  97. /**
  98. * 商品二维码
  99. * @param array $goods_info
  100. * @return string
  101. */
  102. function storeQRCode($store_id) {
  103. if (!file_exists(BASE_UPLOAD_PATH. '/' . ATTACH_STORE . '/' . $store_id . '/' . $store_id . '_store.png' )) {
  104. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.'default_qrcode.png';
  105. }
  106. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$store_id.DS.$store_id.'_store.png';
  107. }
  108. //zmr<<<
  109. /**
  110. * 取得抢购缩略图的完整URL路径
  111. *
  112. * @param string $imgurl 商品名称
  113. * @param string $type 缩略图类型 值为small,mid,max
  114. * @return string
  115. */
  116. function gthumb($image_name = '', $type = ''){
  117. if (!in_array($type, array('small','mid','max'))) $type = 'small';
  118. if (empty($image_name)){
  119. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  120. }
  121. list($base_name, $ext) = explode('.', $image_name);
  122. list($store_id) = explode('_', $base_name);
  123. $file_path = ATTACH_GROUPBUY.DS.$store_id.DS.$base_name.'_'.$type.'.'.$ext;
  124. if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
  125. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  126. }
  127. return UPLOAD_SITE_URL.DS.$file_path;
  128. }
  129. /**
  130. * 取得买家缩略图的完整URL路径
  131. *
  132. * @param string $imgurl 商品名称
  133. * @param string $type 缩略图类型 值为240,1024
  134. * @return string
  135. */
  136. function snsThumb($image_name = '', $type = ''){
  137. if (!in_array($type, array('240','1024'))) $type = '240';
  138. if (empty($image_name)){
  139. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  140. }
  141. list($member_id) = explode('_', $image_name);
  142. $file_path = ATTACH_MALBUM.DS.$member_id.DS.str_ireplace('.', '_'.$type.'.', $image_name);
  143. if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
  144. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  145. }
  146. return UPLOAD_SITE_URL.DS.$file_path;
  147. }
  148. /**
  149. * 取得积分商品缩略图的完整URL路径
  150. *
  151. * @param string $imgurl 商品名称
  152. * @param string $type 缩略图类型 值为small
  153. * @return string
  154. */
  155. function pointprodThumb($image_name = '', $type = ''){
  156. if (!in_array($type, array('small','mid'))) $type = '';
  157. if (empty($image_name)){
  158. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  159. }
  160. if($type) {
  161. $file_path = ATTACH_POINTPROD.DS.str_ireplace('.', '_'.$type.'.', $image_name);
  162. } else {
  163. $file_path = ATTACH_POINTPROD.DS.$image_name;
  164. }
  165. if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
  166. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  167. }
  168. return UPLOAD_SITE_URL.DS.$file_path;
  169. }
  170. /**
  171. * 取得品牌图片
  172. *
  173. * @param string $image_name
  174. * @return string
  175. */
  176. function brandImage($image_name = '') {
  177. if ($image_name != '') {
  178. return UPLOAD_SITE_URL.'/'.ATTACH_BRAND.'/'.$image_name;
  179. }
  180. return UPLOAD_SITE_URL.'/'.ATTACH_COMMON.'/default_brand_image.gif';
  181. }
  182. function brandLogo($image_name = '') {
  183. if ($image_name != '') {
  184. return UPLOAD_SITE_URL . $image_name;
  185. }
  186. //todo 需要配一个默认的图标
  187. return UPLOAD_SITE_URL.'/'.ATTACH_COMMON.'/default_brand_image.gif';
  188. }
  189. /**
  190. * 取得订单状态文字输出形式
  191. *
  192. * @param array $order_info 订单数组
  193. * @return string $order_state 描述输出
  194. */
  195. function orderState($order_info)
  196. {
  197. $is_retrying = $order_info['is_retrying'];
  198. switch ($order_info['order_state']) {
  199. case ORDER_STATE_CANCEL:
  200. if ($is_retrying) {
  201. $order_state = '重试中';
  202. } else {
  203. $order_state = '已取消';
  204. }
  205. break;
  206. case ORDER_STATE_NEW:
  207. $order_state = '待付款';
  208. break;
  209. case ORDER_STATE_PAY:
  210. $order_state = '待发货';
  211. break;
  212. case ORDER_STATE_SEND:
  213. $order_state = '待收货';
  214. break;
  215. case ORDER_STATE_SUCCESS:
  216. $order_state = '交易完成';
  217. break;
  218. }
  219. return $order_state;
  220. }
  221. /**
  222. * 取得订单支付类型文字输出形式
  223. *
  224. * @param array $payment_code
  225. * @return string
  226. */
  227. function orderPaymentName($payment_code) {
  228. return str_replace(
  229. array('offline','online','alipay','tenpay','chinabank','predeposit'),
  230. array('货到付款','在线付款','支付宝','财付通','网银在线','站内余额支付'),
  231. $payment_code);
  232. }
  233. /**
  234. * 取得订单商品销售类型文字输出形式
  235. *
  236. * @param array $goods_type
  237. * @return string 描述输出
  238. */
  239. function orderGoodsType($goods_type) {
  240. return str_replace(
  241. array('1','2','3','4','5'),
  242. array('','抢购','限时折扣','优惠套装','赠品'),
  243. $goods_type);
  244. }
  245. /**
  246. * 取得结算文字输出形式
  247. *
  248. * @param array $bill_state
  249. * @return string 描述输出
  250. */
  251. function billState($bill_state) {
  252. return str_replace(
  253. array('1','2','3','4'),
  254. array('已出账','商家已确认','平台已审核','结算完成'),
  255. $bill_state);
  256. }
  257. ?>