www.gusucode.com > iWebshop开源PHP商城系统 v2.8源码程序 > iwebshop/plugins/csvPacketHelper/taoBaoPacketHelper.php

    <?php
include(dirname(__FILE__).'/packetHelper.php');
/**
 * @brief the TaoBao data packet dispose
 * @data 2013-8-30 15:32:44
 * @author nswe
 */
class taoBaoPacketHelper extends packetHelper
{
	/**
	 * override abstract function
	 * @return string
	 */
	public function getLineSeparator()
	{
		return chr(9);
	}
	/**
	 * override abstract function
	 * @return array
	 */
	public function getDataTitle()
	{
		return array('宝贝名称','宝贝价格','宝贝数量','宝贝描述','新图片');
	}
	/**
	 * override abstract function
	 * @param $content string csv content
	 * @return string striped csv content
	 */
	public function csvConvertArray($content)
	{
		$content = trim($content,"\n");
		preg_match_all('#".*?"(?!")(?=[\n|\t])#s',$content,$match);

		if(isset($match[0]) && $match[0])
		{
			foreach($match[0] as $val)
			{
				if(strlen($val) > 50)
				{
					$simpleData = strtr($val,array("\r" => "","\n" => "","\t" => ""));
					$content = str_replace($val,$simpleData,$content);
				}
			}
		}
		return explode("\n",$content);
	}
	/**
	 * override abstruact function
	 * @return array
	 */
	public function getTitleCallback()
	{
		return array(
			'新图片' => 'newImageCallback',
			'宝贝描述' => 'briefCallback',
		);
	}
	/**
	 * column callback function
	 * @param string $content data content
	 * @return string
	 */
	protected function briefCallback($content)
	{
		return str_replace('""','"', $content);
	}
	/**
	 * column callback function
	 * @param string $content data content
	 * @return string
	 */
	protected function newImageCallback($content)
	{
		$record    = array();
		$imageName = '';
		$source    = '';
		$target    = '';
		$content   = explode(';',trim($content,'"'));

		if(!$content)
		{
			return '';
		}

		$return  = array();
		foreach($content as $key => $val)
		{
			if($val)
			{
				$imageName = current(explode(':',$val));

				if(in_array($imageName,$record))
				{
					continue;
				}
				$record[] = $imageName;

				if(stripos($imageName,'http://') === 0)
				{
					$imageMd5 = md5($imageName);
					file_put_contents($this->sourceImagePath .'/'. $imageMd5.'.tbi',file_get_contents($imageName));
					$imageName = $imageMd5;
				}
				$source = $this->sourceImagePath .'/'. $imageName.'.tbi';
				$target = $this->targetImagePath .'/'. $imageName.'.jpg';
				$return[] = array($source => $target);
			}
		}
		return $return;
	}
}
/**
 * @brief taobao title to iwebshop cols mapping
 * @date 2013-9-7 12:22:11
 * @author nswe
 */
class taoBaoTitleToColsMapping
{
	/**
	 * taobao title to iwebshop cols mapping
	 */
	public static $mapping = array(
		'name'       => '宝贝名称',
		'sell_price' => '宝贝价格',
		'store_nums' => '宝贝数量',
		'content'    => '宝贝描述',
		'img'        => '新图片'
	);
}