goods.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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 ( !file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file)) )) {
  73. return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
  74. }
  75. $thumb_host = UPLOAD_SITE_URL . '/' . ATTACH_GOODS;
  76. return $thumb_host . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file));
  77. }
  78. /**
  79. * 商品二维码
  80. * @param array $goods_info
  81. * @return string
  82. */
  83. function goodsQRCode($goods_info) {
  84. if (!file_exists(BASE_UPLOAD_PATH. '/' . ATTACH_STORE . '/' . $goods_info['store_id'] . '/' . $goods_info['goods_id'] . '.png' )) {
  85. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.'default_qrcode.png';
  86. }
  87. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$goods_info['store_id'].DS.$goods_info['goods_id'].'.png';
  88. }
  89. //zmr>>>
  90. /**
  91. * 商品二维码
  92. * @param array $goods_info
  93. * @return string
  94. */
  95. function storeQRCode($store_id) {
  96. if (!file_exists(BASE_UPLOAD_PATH. '/' . ATTACH_STORE . '/' . $store_id . '/' . $store_id . '_store.png' )) {
  97. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.'default_qrcode.png';
  98. }
  99. return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$store_id.DS.$store_id.'_store.png';
  100. }
  101. //zmr<<<
  102. /**
  103. * 取得抢购缩略图的完整URL路径
  104. *
  105. * @param string $imgurl 商品名称
  106. * @param string $type 缩略图类型 值为small,mid,max
  107. * @return string
  108. */
  109. function gthumb($image_name = '', $type = ''){
  110. if (!in_array($type, array('small','mid','max'))) $type = 'small';
  111. if (empty($image_name)){
  112. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  113. }
  114. list($base_name, $ext) = explode('.', $image_name);
  115. list($store_id) = explode('_', $base_name);
  116. $file_path = ATTACH_GROUPBUY.DS.$store_id.DS.$base_name.'_'.$type.'.'.$ext;
  117. if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
  118. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  119. }
  120. return UPLOAD_SITE_URL.DS.$file_path;
  121. }
  122. /**
  123. * 取得买家缩略图的完整URL路径
  124. *
  125. * @param string $imgurl 商品名称
  126. * @param string $type 缩略图类型 值为240,1024
  127. * @return string
  128. */
  129. function snsThumb($image_name = '', $type = ''){
  130. if (!in_array($type, array('240','1024'))) $type = '240';
  131. if (empty($image_name)){
  132. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  133. }
  134. list($member_id) = explode('_', $image_name);
  135. $file_path = ATTACH_MALBUM.DS.$member_id.DS.str_ireplace('.', '_'.$type.'.', $image_name);
  136. if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
  137. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  138. }
  139. return UPLOAD_SITE_URL.DS.$file_path;
  140. }
  141. /**
  142. * 取得积分商品缩略图的完整URL路径
  143. *
  144. * @param string $imgurl 商品名称
  145. * @param string $type 缩略图类型 值为small
  146. * @return string
  147. */
  148. function pointprodThumb($image_name = '', $type = ''){
  149. if (!in_array($type, array('small','mid'))) $type = '';
  150. if (empty($image_name)){
  151. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  152. }
  153. if($type) {
  154. $file_path = ATTACH_POINTPROD.DS.str_ireplace('.', '_'.$type.'.', $image_name);
  155. } else {
  156. $file_path = ATTACH_POINTPROD.DS.$image_name;
  157. }
  158. if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
  159. return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
  160. }
  161. return UPLOAD_SITE_URL.DS.$file_path;
  162. }
  163. /**
  164. * 取得品牌图片
  165. *
  166. * @param string $image_name
  167. * @return string
  168. */
  169. function brandImage($image_name = '') {
  170. if ($image_name != '') {
  171. return UPLOAD_SITE_URL.'/'.ATTACH_BRAND.'/'.$image_name;
  172. }
  173. return UPLOAD_SITE_URL.'/'.ATTACH_COMMON.'/default_brand_image.gif';
  174. }
  175. /**
  176. * 取得订单状态文字输出形式
  177. *
  178. * @param array $order_info 订单数组
  179. * @return string $order_state 描述输出
  180. */
  181. function orderState($order_info) {
  182. switch ($order_info['order_state']) {
  183. case ORDER_STATE_CANCEL:
  184. $order_state = L('order_state_cancel');
  185. break;
  186. case ORDER_STATE_NEW:
  187. $order_state = L('order_state_new');
  188. break;
  189. case ORDER_STATE_PAY:
  190. $order_state = L('order_state_pay');
  191. break;
  192. case ORDER_STATE_SEND:
  193. $order_state = L('order_state_send');
  194. break;
  195. case ORDER_STATE_SUCCESS:
  196. $order_state = L('order_state_success');
  197. break;
  198. }
  199. return $order_state;
  200. }
  201. /**
  202. * 取得订单支付类型文字输出形式
  203. *
  204. * @param array $payment_code
  205. * @return string
  206. */
  207. function orderPaymentName($payment_code) {
  208. return str_replace(
  209. array('offline','online','alipay','tenpay','chinabank','predeposit'),
  210. array('货到付款','在线付款','支付宝','财付通','网银在线','站内余额支付'),
  211. $payment_code);
  212. }
  213. /**
  214. * 取得订单商品销售类型文字输出形式
  215. *
  216. * @param array $goods_type
  217. * @return string 描述输出
  218. */
  219. function orderGoodsType($goods_type) {
  220. return str_replace(
  221. array('1','2','3','4','5'),
  222. array('','抢购','限时折扣','优惠套装','赠品'),
  223. $goods_type);
  224. }
  225. /**
  226. * 取得结算文字输出形式
  227. *
  228. * @param array $bill_state
  229. * @return string 描述输出
  230. */
  231. function billState($bill_state) {
  232. return str_replace(
  233. array('1','2','3','4'),
  234. array('已出账','商家已确认','平台已审核','结算完成'),
  235. $bill_state);
  236. }
  237. ?>