www.lightcourse.com/app/common_goods.php

338 lines
12 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
/**
* 取得商品缩略图的完整URL路径接收商品信息数组返回所需的商品缩略图的完整URL
*
* @param array $goods 商品信息数组
* @param string $type 缩略图类型 值为240,480,1280
* @return string
*/
function goods_thumb($goods = array(), $type = '') {
$type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
if ($type == 'default') {
$type = '';
} elseif (!in_array($type, $type_array)) {
$type = '240';
}
if (empty($goods)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
if (array_key_exists('apic_cover', $goods)) {
$goods['goods_image'] = $goods['apic_cover'];
}
if (empty($goods['goods_image'])) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
$file = $goods['goods_image'];
$fname = basename($file);
//对象存储文件
$upload_type = explode('_', $fname);
if (in_array($upload_type['0'], array('alioss', 'cos'))) {
$date= substr($upload_type['1'], 0, 8);
$aliendpoint_type = config('ds_config.aliendpoint_type');
if ($aliendpoint_type) {
$image_url= HTTP_TYPE . config('ds_config.alioss_endpoint') . '/' . ATTACH_GOODS . '/' . $date . '/' . $file;
} else {
$image_url= 'https://' . config('ds_config.alioss_bucket') . '.' . config('ds_config.alioss_endpoint') . '/' . ATTACH_GOODS . '/' . $date . '/' . $file;
}
$param=array();
if($type){
$param[]='resize,m_pad,w_'.$type.',h_'.$type;
}
//是否有水印
$wm_arr=rkcache('config', true);
if(!empty($wm_arr)){
if($wm_arr['swm_image_name']){//有图片水印
$temp=explode('_', $wm_arr['swm_image_name']);
$pos_array=['se','nw','north','ne','west','center','east','sw','south','se'];
if(in_array($temp['0'], array('alioss', 'cos'))){
$pos='se';
if(isset($pos_array[$wm_arr['swm_image_pos']])){
$pos=$pos_array[$wm_arr['swm_image_pos']];
}
$param[]='watermark,image_'.rtrim(strtr(base64_encode(ATTACH_WATERMARK.'/'.$wm_arr['swm_image_name']), '+/', '-_'), '=').',t_'.$wm_arr['swm_image_transition'].',g_'.$pos.'';
}
}
if($wm_arr['swm_text']){//有文字水印
$pos='se';
if(isset($pos_array[$wm_arr['swm_text_pos']])){
$pos=$pos_array[$wm_arr['swm_text_pos']];
}
$param[]='watermark,size_'.$wm_arr['swm_text_size'].',text_'.rtrim(strtr(base64_encode($wm_arr['swm_text']), '+/', '-_'), '=').',color_'.trim($wm_arr['swm_text_color'],'#').',g_'.$pos.'';
}
}
return $image_url.(!empty($param)?('?x-oss-process=image/'.implode('/', $param)):'');
}
$date= substr($fname, 0, 8);
$thumb_host = UPLOAD_SITE_URL . '/' . ATTACH_GOODS;
if (!file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $date . '/' . str_ireplace('.', '_' . $type . '.', $file))) {
if (!file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $date . '/' . $file)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
} else {
return $thumb_host . '/' . $date . '/' . $file;
}
}
return $thumb_host . '/' . $date . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file));
}
/**
* 取得商品缩略图的完整URL路径接收图片名称与店铺ID
*
* @param string $file 图片名称
* @param string $type 缩略图尺寸类型值为240,480,1280
* @return string
*/
function goods_cthumb($file, $type = '') {
$type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
if ($type == 'default') {
$type = '';
} elseif (!in_array($type, $type_array)) {
$type = '240';
}
if (empty($file)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
$fname = basename($file);
// 取店铺ID
$upload_type = explode('_', $fname);
//外网存储图片
if (in_array($upload_type['0'], array('alioss', 'cos'))) {
$date= substr($upload_type['1'], 0, 8);
$aliendpoint_type = config('ds_config.aliendpoint_type');
if ($aliendpoint_type) {
$image_url= HTTP_TYPE . config('ds_config.alioss_endpoint') . '/' . ATTACH_GOODS . '/' . $date . '/' . $file;
} else {
$image_url= 'https://' . config('ds_config.alioss_bucket') . '.' . config('ds_config.alioss_endpoint') . '/' . ATTACH_GOODS . '/' . $date . '/' . $file;
}
$param=array();
if($type){
$param[]='resize,m_pad,w_'.$type.',h_'.$type;
}
//是否有水印
$wm_arr=rkcache('config', true);
if(!empty($wm_arr)){
if($wm_arr['swm_image_name']){//有图片水印
$temp=explode('_', $wm_arr['swm_image_name']);
$pos_array=['se','nw','north','ne','west','center','east','sw','south','se'];
if(in_array($temp['0'], array('alioss', 'cos'))){
$pos='se';
if(isset($pos_array[$wm_arr['swm_image_pos']])){
$pos=$pos_array[$wm_arr['swm_image_pos']];
}
$param[]='watermark,image_'.rtrim(strtr(base64_encode(ATTACH_WATERMARK.'/'.$wm_arr['swm_image_name']), '+/', '-_'), '=').',t_'.$wm_arr['swm_image_transition'].',g_'.$pos.'';
}
}
if($wm_arr['swm_text']){//有文字水印
$pos='se';
if(isset($pos_array[$wm_arr['swm_text_pos']])){
$pos=$pos_array[$wm_arr['swm_text_pos']];
}
$param[]='watermark,size_'.$wm_arr['swm_text_size'].',text_'.rtrim(strtr(base64_encode($wm_arr['swm_text']), '+/', '-_'), '=').',color_'.trim($wm_arr['swm_text_color'],'#').',g_'.$pos.'';
}
}
return $image_url.(!empty($param)?('?x-oss-process=image/'.implode('/', $param)):'');
}
$date= substr($fname, 0, 8);
// 本地存储时,增加判断文件是否存在,用默认图代替
$thumb_host = UPLOAD_SITE_URL . '/' . ATTACH_GOODS;
/*if (!file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $date . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file)))) {
if (!file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $date . '/' . $file)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
} else {
return $thumb_host . '/' . $date . '/' . $file;
}
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}*/
return $thumb_host . '/' . $date . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file));
}
/**
* 商品二维码
* @param array $goods_info
* @return string
*/
function goods_qrcode($goods_info)
{
return HOME_SITE_URL.'/qrcode?url='. urlencode(config('ds_config.h5_site_url').'/home/goodsdetail?goods_id='.$goods_info['goods_id']);
}
/**
* 取得抢购缩略图的完整URL路径
*
* @param string $imgurl 商品名称
* @param string $type 缩略图类型 值为small,mid,max
* @return string
*/
function groupbuy_thumb($image_name = '')
{
if (empty($image_name)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
$temp = explode('.', $image_name);
$base_name=$temp[0];
if(!isset($temp[1])){
$temp[1]='jpg';
}
$ext=$temp[1];
$url=ds_get_pic(ATTACH_GROUPBUY,$image_name);
if (!$url) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
return $url;
}
/**
* 取得买家缩略图的完整URL路径
*
* @param string $imgurl 商品名称
* @param string $type 缩略图类型 值为240,1024
* @return string
*/
function sns_thumb($image_name = '', $type = '')
{
if (!in_array($type, array('240', '1024')))
$type = '240';
if (empty($image_name)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
$upload_type = explode('_', $image_name);
if (in_array($upload_type['0'], array('alioss', 'cos'))) {
$member_id=$upload_type['1'];
}else{
$member_id=$upload_type['0'];
}
$url=ds_get_pic(ATTACH_MALBUM . DIRECTORY_SEPARATOR . $member_id,$image_name);
if (!$url) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
return $url;
}
/**
* 取得积分商品缩略图的完整URL路径
*
* @param string $imgurl 商品名称
* @param string $type 缩略图类型 值为small
* @return string
*/
function pointprod_thumb($image_name = '', $type = '')
{
if (empty($image_name)) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
$url=ds_get_pic(ATTACH_POINTPROD,$image_name);
if (!$url) {
return ds_get_pic(ATTACH_COMMON,config('ds_config.default_goods_image'));
}
return $url;
}
/**
* 取得品牌图片
*
* @param string $image_name
* @return string
*/
function brand_image($image_name = '')
{
if ($image_name != '') {
return ds_get_pic( ATTACH_BRAND , $image_name);
}
return UPLOAD_SITE_URL . '/' . ATTACH_COMMON . '/default_brand_image.gif';
}
/**
* 取得分类图片
*
* @param string $image_name
* @return string
*/
function goodsclass_image($gc_image)
{
if (empty($gc_image)) {
return UPLOAD_SITE_URL . '/' . ATTACH_COMMON . '/default_goodsclass_image.jpg';
}
$url=ds_get_pic(ATTACH_COMMON,$gc_image);
if (!$url) {
return UPLOAD_SITE_URL . '/' . ATTACH_COMMON . '/default_goodsclass_image.jpg';
}
return $url;
}
/**
* 取得订单状态文字输出形式
*
* @param array $order_info 订单数组
* @return string $order_state 描述输出
*/
function get_order_state($order_info)
{
switch ($order_info['order_state']) {
case ORDER_STATE_CANCEL:
$order_state = lang('order_state_cancel');
break;
case ORDER_STATE_NEW:
$order_state = lang('order_state_new');
break;
case ORDER_STATE_PAY:
$order_state = '已支付';
break;
case ORDER_STATE_SEND:
$order_state = lang('order_state_send');
break;
case ORDER_STATE_SUCCESS:
$order_state = lang('order_state_success');
break;
}
return $order_state;
}
/**
* 取得订单支付类型文字输出形式
*
* @param array $payment_code
* @return string
*/
function get_order_payment_name($payment_code)
{
return str_replace(array('offline', 'online', 'alipay', 'alipay_h5', 'alipay_app', 'wxpay_native', 'wxpay_jsapi', 'wxpay_h5', 'wxpay_app', 'wxpay_minipro', 'predeposit'), array('货到付款', '在线付款', '支付宝PC支付', '支付宝手机支付', '支付宝APP支付', '微信扫码支付', '微信公众号支付', '微信H5支付', '微信APP支付', '小程序支付', '站内余额支付'), $payment_code);
}
/**
* 取得订单商品销售类型文字输出形式
*
* @param array $goods_type
* @return string 描述输出
*/
function get_order_goodstype($goods_type)
{
return str_replace(array('1', '2', '3', '4', '5','6','7'), array('', '抢购', '限时折扣', '优惠套装', '赠品','拼团','会员折扣'), $goods_type);
}
/**
* 取得广告图片
*
* @param string $image_name
* @return string
*/
function adv_image($image_name = '')
{
if ($image_name != '') {
return ds_get_pic( ATTACH_ADV , $image_name);
}
}
?>