<?php
/**
  * @method 文件中心(上传、删除...)
  * @author soul
  * @copyright 2017/6/15
  */
class OthFileCenter
{
	/**
	  * @method 上传文件到文件中心
	  * @param  $dataArr [
				//如 'file'=> $_FILES['file']
				'file'=>[
					'name'=>'Hydrangeas.jpg',
					'data'=>'文件内容',  data | tmp_name 二选一
					'tmp_name'=>'C:\Windows\Temp\phpC18B.tmp',
				],
				//类别
				'cate'=>'logo',
				//自定义名称
				'filename'=>'my.jpg',
				//自定义路径
				'path'=>/='shop/1214/'
			]
	  * @param  $toSite 文件中心标识 b2c:跑街的[默认] ；yp:宜配网 
	  * @author soul
	  * @copyright 2017/6/15
	  * @return 
		 成功：["status"=>true, "data"=>["size"=>595284, "path"=>"45/163/", "ext"=>"jpg", "name"=>"f8345bdef23fd7f4", "crc32"=>"462F6303", "etime"=>1497518727]]
		 失败：["status"=>false, "data"=>'错误原因', 'code'=>110]
	  */
	public function upload($dataArr, $toSite = 'b2c')
	{
		if(empty($dataArr) || empty($dataArr['file']) || empty($dataArr['cate']) || empty(mvc::$cfg['FILE_CENTER'][$toSite]))
			return LibFc::ReturnData(false, 'OthFileCenter=>upload 提供的参数不正确');
		if(empty($dataArr['file']['data']))
		{
			if (!file_exists($dataArr['file']['tmp_name']))
				return LibFc::ReturnData(false, 'OthFileCenter=>upload 找不到临时文件');

			/*if(!is_uploaded_file($dataArr['file']['tmp_name']))
				return LibFc::ReturnData(false, 'OthFileCenter=>upload 临时文件错误');*/
		}
		$cfg = mvc::$cfg['FILE_CENTER'][$toSite];
		$dataArr['token'] = $cfg['token'];
		$dataArr['site'] = $toSite;
		$dataArr['error_lang'] = 'cn';
		$LibHttp = new LibHttp(false,false);
		$res = $LibHttp->upload($cfg['url_put'], $dataArr);
		if($res['status'])
		{
			$res['data']['small'] = !empty($res['data']['small']) > 0? $res['data']['small'].'/': ''; 
			$res['data']['sfile'] = $res['data']['path'].$res['data']['small'].$res['data']['name'].'.'.$res['data']['ext'];
			$res['data']['url'] = $cfg['url_get'].'&c='.$dataArr['cate'].'&f='.$res['data']['path'];
			$res['data']['url'] .= $res['data']['small'];
			$res['data']['url'] .= $res['data']['name'].'.'.$res['data']['ext'].$cfg['get_uri'];
		}
		return $res;
	}


	/**
	  * @method 从文件中心删除文件
	  * @param  $dataArr [
				//类别
				'cate'=>'logo',
				'files'=>['shop/100/1.jpg', 'shop/100/xxx.jpg', ....] 
				如果删除的图片有缩略图，地址必须含有某个缩略图文件夹名
			]
	  * @param  $toSite 文件中心标识 b2c:跑街的[默认] ；yp:宜配网 
	  * @author soul
	  * @copyright 2017/6/15
	  * @return 
		 成功：["status"=>true, "data"=>'']
		 失败：["status"=>false, "data"=>'错误原因', 'code'=>110]
	  */
	public function del($dataArr, $toSite = 'b2c')
	{
		if(empty($dataArr) || empty($dataArr['files']) || empty($dataArr['cate']) || empty(mvc::$cfg['FILE_CENTER'][$toSite]))
			return LibFc::ReturnData(false, 'OthFileCenter=>del 提供的参数不正确');

		$cfg = mvc::$cfg['FILE_CENTER'][$toSite];
		$dataArr['token'] = $cfg['token'];
		$dataArr['site'] = $toSite;
		$dataArr['error_lang'] = 'cn';
		$LibHttp = new LibHttp(false,false);
		$res = $LibHttp->delete_file($cfg['url_del'], $dataArr);
		return $res;
	}
}
?>