ResourcesService.php 3.3 KB
Newer Older
D
v1.2.0  
devil_gong 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2018 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\service;

use think\Db;

/**
 * 资源服务层
 * @author   Devil
 * @blog     http://gong.gg/
 * @version  0.0.1
 * @datetime 2016-12-01T21:51:08+0800
 */
class ResourcesService
{
    /**
     * [ContentStaticReplace 编辑器中内容的静态资源替换]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2017-01-22T16:07:58+0800
     * @param    [string]    $content [在这个字符串中查找进行替换]
     * @param    [string]    $type    [操作类型[get读取额你让, add写入内容](编辑/展示传入get,数据写入数据库传入add)]
     * @return   [string]             [正确返回替换后的内容, 则返回原内容]
     */
34
    public function ContentStaticReplace($content, $type = 'get')
D
v1.2.0  
devil_gong 已提交
35 36 37 38 39
    {
        switch($type)
        {
            // 读取内容
            case 'get':
40
                return str_replace('src="/static/', 'src="'.__MY_PUBLIC_URL__.'static/', $content);
D
v1.2.0  
devil_gong 已提交
41 42 43 44
                break;

            // 内容写入
            case 'add':
45
                return str_replace(array('src="'.__MY_PUBLIC_URL__.'static/', 'src="'.__MY_ROOT_PUBLIC__.'static/'), 'src="/static/', $content);
D
v1.2.0  
devil_gong 已提交
46 47 48 49 50 51 52 53 54 55 56 57 58
        }
        return $content;
    }

    /**
     * 附件路径处理
     * @author   Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2018-12-12
     * @desc    description
     * @param   [string]          $value [附件路径地址]
     */
59
    public function AttachmentPathHandle($value)
D
v1.2.0  
devil_gong 已提交
60
    {
D
devil_gong 已提交
61
        return empty($value) ? '' : str_replace([__MY_PUBLIC_URL__, __MY_ROOT_PUBLIC__], DS, $value);
D
v1.2.0  
devil_gong 已提交
62 63 64 65 66 67 68 69 70 71 72 73
    }

    /**
     * 附件集合处理
     * @author   Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2018-08-07
     * @desc    description
     * @param    [array]          $params [输入参数]
     * @param   [array]           $data   [字段列表]
     */
74
    public function AttachmentParams($params, $data)
D
v1.2.0  
devil_gong 已提交
75 76 77 78 79 80
    {
        $result = [];
        if(!empty($data))
        {
            foreach($data as $field)
            {
81
                $result[$field] = isset($params[$field]) ? $this->AttachmentPathHandle($params[$field]) : '';
D
v1.2.0  
devil_gong 已提交
82 83 84 85 86
            }
        }

        return DataReturn('success', 0, $result);
    }
87 88 89 90 91 92 93 94 95

    /**
     * 附件展示地址处理
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  1.0.0
     * @datetime 2019-01-13T15:13:30+0800
     * @param    [type]                   $value [description]
     */
96
    public function AttachmentPathViewHandle($value)
97 98 99 100 101 102 103 104 105 106 107
    {
        if(!empty($value))
        {
            if(substr($value, 0, 4) != 'http')
            {
                return config('shopxo.attachment_host').$value;
            }
            return $value;
        }
        return '';
    }
D
v1.2.0  
devil_gong 已提交
108 109
}
?>