goods.php 8.0 KB

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