| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993 | <?php/** *  * ---------------------------- * ku6api class * ---------------------------- *  * An open source application development framework for PHP 5.0 or newer *  * 这是个接口类,主要负责视频模型跟ku6vms之间的通信 * @package	PHPCMS V9.1.16 * @author		chenxuewang * @copyright	CopyRight (c) 2006-2012 上海盛大网络发展有限公司 * */class ku6api {	public $ku6api_sn, $ku6api_key;	private $ku6api_url,$http,$xxtea;		/**	 * 	 * 构造方法 初始化用户身份识别码、加密密钥等	 * @param string $ku6api_skey vms系统中的身份识别码	 * @param string $ku6api_sn vms系统中配置的通信加密密钥	 * 	 */	public function __construct($ku6api_sn = '', $ku6api_skey = '') {		$this->ku6api_skey = $ku6api_skey;		$this->ku6api_sn = $ku6api_sn;		if (!$this->ku6api_sn) {			$this->set_sn();		}		$this->ku6api_url = pc_base::load_config('ku6server', 'api_url');		$this->ku6api_api = pc_base::load_config('ku6server', 'api');		$this->http = pc_base::load_sys_class('http');		$this->xxtea = pc_base::load_app_class('xxtea', 'video');			}	/**	 * 	 * 设置身份识别码及身份密钥	 * 	 */	private function set_sn() {		//获取短信平台配置信息		$setting = getcache('video', 'video');		if ($setting['sn'] && $setting['skey']) {			$this->ku6api_skey = $setting['skey'];			$this->ku6api_sn = $setting['sn'];		}	}		/**	 * 	 * vms_add 视频添加方法 系统中添加视频是调用,同步添加到vms系统中	 * @param array $data 添加是视频信息 视频标题、介绍等	 */	public function vms_add($data = array()) {		if (is_array($data) && !empty($data)) {			//处理数据			$data['tag'] = $this->get_tag($data);			$data['v'] = 1;			$data['channelid'] = $data['channelid'] ? intval($data['channelid']) : 1;			//将gbk编码转为utf-8编码			if (CHARSET == 'gbk') {				$data = array_iconv($data);			}			$data['sn'] = $this->ku6api_sn;			$data['method'] = 'VideoAdd';			$data['posttime'] = SYS_TIME;			$data['token'] = $this->xxtea->encrypt($data['posttime'], $this->ku6api_skey);			//向vms post数据,并获取返回值			$this->http->post($this->ku6api_url, $data);			$get_data = $this->http->get_data();			$get_data = json_decode($get_data, true);			if($get_data['code'] != 200) {				$this->error_msg = $get_data['msg'];				return false;			}			return $get_data;					} else {			$this->error_msg = '';			return false; 		}	}		/**	 * function vms_edit	 * 视频编辑时调用 视频改变时同步更新vms系统中对应的视频	 * @param array $data	 */	public function vms_edit($data = array()) {		if (is_array($data ) && !empty($data)) {			//处理数据			$data['tag'] = $this->get_tag($data);			//将gbk编码转为utf-8编码			if (CHARSET == 'gbk') {				$data = array_iconv($data);			}			$data['sn'] = $this->ku6api_sn;			$data['method'] = 'VideoEdit';			$data['posttime'] = SYS_TIME;			$data['token'] = $this->xxtea->encrypt($data['posttime'], $this->ku6api_skey);			//向vms post数据,并获取返回值			$this->http->post($this->ku6api_url, $data);			$get_data = $this->http->get_data();			$get_data = json_decode($get_data, true);			if($get_data['code'] != 200) {				$this->error_msg = $get_data['msg'];				return false;			}			return true;		} else {			return false;		}	}		/**	 * function delete_v	 * 删除视频时,通知vms系统接口。	 * @param string $ku6vid vms系统中ku6vid	 */	public function delete_v($ku6vid = '') {		if (!$ku6vid) return false;		//构造post数据		$data['sn'] = $this->ku6api_sn;		$data['method'] = 'VideoDel';		$data['posttime'] = SYS_TIME;		$data['token'] = $this->xxtea->encrypt($data['posttime'], $this->ku6api_skey);		$data['vid'] = $ku6vid;		//向vms post数据		$this->http->post($this->ku6api_url, $data);		$get_data = $this->http->get_data();		$get_data = json_decode($get_data, true);		if($get_data['code'] != 200 && $get_data['code']!=112) {			$this->error_msg = $get_data['msg'];			return false;		}		return true;	}	/**	 * 	 * 获取视频tag标签	 * @param array $data 视频信息数组	 * @return string $tag 标签	 */	private function get_tag($data = array()) {		if (is_array($data) && !empty($data)) {			if ($data['keywords']) $tag = trim(strip_tags($data['keywords']));			else $tag = $data['title'];			return $tag;		}	}		/**	 * function update_video_status_from_vms	 * 视频状态改变接口	 * @param array $get 视频信息	 */	public function update_video_status_from_vms() {		if (is_array($_GET) && !empty($_GET)) {			$size = $_GET['size'];			$timelen = intval($_GET['timelen']);			$status = intval($_GET['ku6status']);			$vid = $_GET['vid'];			$picpath = format_url($_GET['picpath']);			//验证数据			/* 验证vid */			if(!$vid) return json_encode(array('status'=>'101','msg'=>'vid not allowed to be empty'));			/* 验证视频大小 */			if($size<100) return json_encode(array('status'=>'103','msg'=>'size incorrect'));			/* 验证视频时长 */			if($timelen<1) return json_encode(array('status'=>'104','msg'=>'timelen incorrect'));						$db = pc_base::load_model('video_store_model');			$r = $db->get_one(array('vid'=>$vid));			if ($r) {				$db->update(array('size'=>$size, 'picpath'=>$picpath, 'status'=>$status), array('vid'=>$vid));				if ($status==21) {					$r = $video_store_db->get_one(array('vid'=>$vid), 'videoid'); //取出videoid,以便下面操作					$videoid = $r['videoid'];					/**					 * 加载视频内容对应关系数据模型,检索与删除视频相关的内容。					 * 在对应关系表中找出对应的内容id,并更新内容的静态页					 */					$video_content_db = pc_base::load_model('video_content_model');					$result = $video_content_db->select(array('videoid'=>$videoid));					if (is_array($result) && !empty($result)) {						//加载更新html类						$html = pc_base::load_app_class('html', 'content');						$content_db = pc_base::load_model('content_model');						$url = pc_base::load_app_class('url', 'content');						foreach ($result as $rs) {							$modelid = intval($rs['modelid']);							$contentid = intval($rs['contentid']);							$content_db->set_model($modelid);							$content_db->update(array('status'=>99), array('id'=>$contentid));							$table_name = $content_db->table_name;							$r1 = $content_db->get_one(array('id'=>$contentid));							/**							 * 判断如果内容页生成了静态页,则更新静态页							 */							if (ishtml($r1['catid'])) {								$content_db->table_name = $table_name.'_data';								$r2 = $content_db->get_one(array('id'=>$contentid));								$r = array_merge($r1, $r2);unset($r1, $r2);								if($r['upgrade']) {									$urls[1] = $r['url'];								} else {									$urls = $url->show($r['id'], '', $r['catid'], $r['inputtime']);								}								$html->show($urls[1], $r, 0, 'edit');							} else {								continue;							}						}					}				} elseif ($data['status']<0 || $data['status']==24) {					$r = $video_store_db->get_one(array('vid'=>$vid), 'videoid'); //取出videoid,以便下面操作					$videoid = $r['videoid'];					//$video_store_db->delete(array('vid'=>$vid)); //删除此视频					/**					 * 加载视频内容对应关系数据模型,检索与删除视频相关的内容。					 * 在对应关系表中解除关系,并更新内容的静态页					 */					$video_content_db = pc_base::load_model('video_content_model');					$result = $video_content_db->select(array('videoid'=>$videoid));					if (is_array($result) && !empty($result)) {						//加载更新html类						$html = pc_base::load_app_class('html', 'content');						$content_db = pc_base::load_model('content_model');						$url = pc_base::load_app_class('url', 'content');						foreach ($result as $rs) {							$modelid = intval($rs['modelid']);							$contentid = intval($rs['contentid']);							$video_content_db->delete(array('videoid'=>$videoid, 'contentid'=>$contentid, 'modelid'=>$modelid));							$content_db->set_model($modelid);							$table_name = $content_db->table_name;							$r1 = $content_db->get_one(array('id'=>$contentid));							/**							 * 判断如果内容页生成了静态页,则更新静态页							 */							if (ishtml($r1['catid'])) {								$content_db->table_name = $table_name.'_data';								$r2 = $content_db->get_one(array('id'=>$contentid));								$r = array_merge($rs, $r2);unset($r1, $r2);								if($r['upgrade']) {									$urls[1] = $r['url'];								} else {									$urls = $url->show($r['id'], '', $r['catid'], $r['inputtime']);								}								$html->show($urls[1], $r, 0, 'edit');							} else {								continue;							}						}					}				}				return json_encode(array('status'=>'200','msg'=>'Success'));			} else {				return json_encode(array('status'=>'107','msg'=>'Data is empty!'));			}		}		json_encode(array('status'=>'107','msg'=>'Data is empty!'));	}		/**	 * function get_categroys	 * 将cms系统中视频模型的栏目取出来,并通过接口传到vms系统中	 * @param bloon $isreturn 是否返回option	 * @param int $catid 被选中的栏目 id	 */	public function get_categorys($isreturn = false, $catid = 0) {		$siteid = get_siteid();		$sitemodel_field = pc_base::load_model('sitemodel_field_model');		$result = $sitemodel_field->select(array('formtype'=>'video', 'siteid'=>$siteid), 'modelid');		if (is_array($result)) {			$models = '';			foreach ($result as $r) {				$models .= $r['modelid'].',';			}		}		$models = substr(trim($models), 0, -1);		$cat_db = pc_base::load_model('category_model');		if ($models) {			$where = '`modelid` IN ('.$models.') AND `type`=0 AND `siteid`=\''.$siteid.'\'';			$result = $cat_db->select($where, '`catid`, `catname`, `parentid`, `siteid`, `child`');			if (is_array($result)) {				$data = $return_data = array();				foreach ($result as $r) {					$sitename = $this->get_sitename($r['siteid']);					$data[] = array('catid'=>$r['catid'], 'catname'=>$r['catname'], 'parentid'=>$r['parentid'], 'siteid'=>$r['siteid'], 'sitename'=>$sitename, 'child'=>$r['child']);					$r['disabled'] = $r['child'] ? 'disabled' : '';					if ($r['catid'] == $catid) { 						$r['selected'] = 'selected';					}					$return_data[$r['catid']] = $r;									}				//将gbk编码转为utf-8编码				if (strtolower(CHARSET) == 'gbk') {					$data = array_iconv($data);				}				$data = json_encode($data);					$postdata['sn'] = $this->ku6api_sn;				$postdata['method'] = 'UserCat';				$postdata['posttime'] = SYS_TIME;				$postdata['token'] = $this->xxtea->encrypt($postdata['posttime'], $this->ku6api_skey);				$postdata['data'] = $data;				//向vms post数据,并获取返回值				$this->http->post($this->ku6api_url, $postdata);				$get_data = $this->http->get_data();				$get_data = json_decode($get_data, true);				if($get_data['code'] != 200) {					$this->error_msg = $get_data['msg'];					return false;				} elseif ($isreturn) {					$tree = pc_base::load_sys_class('tree');					$str  = "<option value='\$catid' \$selected \$disabled>\$spacer \$catname</option>";					$tree->init($return_data);					$string = $tree->get_tree(0, $str);					return $string;				} else {					return true;				}			}		}		return array();	}		/**	 * function get_ku6_channels	 * 获取ku6的频道信息	 */	public function get_subscribetype() {		//构造post数据		$postdata['method'] = 'SubscribeType';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data['data'];		}		return false;	}		/**	 * function get_ku6_channels	 * 获取ku6的频道信息	 */	public function get_ku6_channels() {		//构造post数据		$postdata['method'] = 'Ku6Channel';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data['data'];		}		return false;	}		/**	 * function subscribe 订阅处理	 * 该方法将用户的订阅信息post到vms里面记录	 * @param array $data 推送信息 例如: array(array('channelid'=>102000, 'catid'=>16371, 'posid'=>8))	 */	public function subscribe($datas = array()) {		//构造post数据		$postdata['method'] = 'SubscribeAdd';		$postdata['channelid'] = $datas['channelid'];		$postdata['catid'] = $datas['catid'];		$postdata['posid'] = $datas['posid'] ? $datas['posid'] : 0;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data;		}		return false;	} 	/**	 * function checkusersubscribe 判断用户是否已经订阅	 */	public function checkusersubscribe($datas = array()) {		$postdata['method'] = 'CheckUserSubscribe';		$postdata['userid'] = $datas['userid'];		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data;		}		return false;	}			/**	 * function subscribe 按用户订阅处理	 * 该方法将用户的订阅信息post到vms里面记录	 * @param array $data 推送信息 例如: array(array('userid'=>102000, 'catid'=>16371, 'posid'=>8))	 */	public function usersubscribe($datas = array()) {		//构造post数据		$postdata['method'] = 'UserSubscribeAdd';		$postdata['userid'] = $datas['userid'];		$postdata['catid'] = $datas['catid'];		$postdata['posid'] = $datas['posid'] ? $datas['posid'] : 0;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data;		}		return false;	}			/**	 * Function sub_del 删除订阅	 * 用户删除订阅	 * @param int $id 订阅id	 */	public function sub_del($id = 0) {		if (!$id) return false;		//构造post数据		$postdata['method'] = 'SubscribeDel';		$postdata['sid'] = $id;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return true;		}		return false;	}		/**	 * Function user_sub_del 删除订阅用户	 * 删除订阅用户	 * @param int $id 订阅id	 */	public function user_sub_del($id = 0) {		if (!$id) return false;		//构造post数据		$postdata['method'] = 'UserSubscribeDel';		$postdata['sid'] = $id;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return true;		}		return false;	}			/**	 * fucntion get_subscribe 获取订阅	 * 获取自己的订阅信息	 */		public function get_subscribe() {		//构造post数据		$postdata['method'] = 'SubscribeSearch';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data['data'];		} else {			return false;		}	}		/**	 * fucntion get_subscribe 获取用户订阅	 * 获取用户自己的订阅信息	 */		public function get_usersubscribe() {		//构造post数据		$postdata['method'] = 'UserSubscribeSearch';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data['data'];		} else {			return false;		}	}			/**	 * Function flashuploadparam 获取flash上传条属性	 * 获取flash上传条属性	 */	public function flashuploadparam () {		//构造post数据		$postdata['method'] = 'GetFlashUploadParam';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data['data'];		} else {			return FALSE;		}	}		/**	 * Function get_albums	 * 获取ku6专辑列表	 * @param int $page 当前页数	 * @param int $pagesize 每页数量	 * @return array 返回专辑数组	 */	public function get_albums($page = 1, $pagesize = 20) {		//构造post数据		if ($_GET['start_time']) {			$postdata['start_time'] = strtotime($_GET['start_time']);		}		if ($_GET['end_time']) {			$postdata['end_time'] = strtotime($_GET['end_time']);		}		if ($_GET['keyword']) {			$postdata['key'] = addslashes($_GET['keyword']);		}		if ($_GET['categoryid']) {			$postdata['categoryid'] = intval($_GET['categoryid']);		}		$postdata['method'] = 'AlbumList';		$postdata['start'] = ($page-1)*$pagesize;		$postdata['size'] = $pagesize;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data;		} else {			return false;		}	}		/**	 * Function get_album_videoes	 * 获取某专辑下的视频列表	 * @param int $albumid 专辑ID	 * @param int $page 当前页	 * @param int $pagesize 每页数量	 * @return array 视频数组	 */	public function get_album_videoes($albumid = 0, $page = 1, $pagesize = 20) {		//构造post数据		$postdata['method'] = 'AlbumVideoList';		$postdata['p'] = $page;		$postdata['playlistid'] = $albumid;		$postdata['s'] = $pagesize;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data['data'];		} else {			return false;		}	}		/**	 * Function get_album_info	 * 获取专辑的详细信息	 * @param int $albumid 专辑id	 */	public function get_album_info($albumid = 0) {		$albumid = intval($albumid);		if (!$albumid) return false;		$arr = array('method'=>'GetOneAlbum', 'id'=>$albumid);		if ($data = $this->post($arr)) {			return $data['list'];		} else {			return false;		}	}		/**	 * Function add_album_subscribe	 * 添加专辑订阅	 * @param array $data 订阅数组 如:array(0=>array('specialid'=>1, 'id'=>1232131), 1=>array('specialid'=>2, 'id'=>4354323))	 */	public function add_album_subscribe($data = array()) {		if (!is_array($data) || empty($data)) {			return false;		}		//构造post数据		$postdata['method'] = 'AlbumVideoSubscribe';		$postdata['data'] = $data;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return true;		} else {			return false;		}	}		/**	 * Function member_login_vms	 * 登陆后台同时登陆vms	 * @param array $data	 */	public function member_login_vms() {		//构造post数据		$postdata = array();		$postdata['method'] = 'SynLogin';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return true;		} else {			return false;		}	}	/**	 * Function check_status	 * 登陆后台同时登陆vms	 * @param array $data	 */	public function check_status($vid = '') {		if (!$vid) return false;		//构造post数据		$postdata = array();		$postdata['method'] = 'VideoStatusCheck';		$postdata['vid'] = $vid;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data;		} else {			return false;		}	}		/**	 * Function http	 * 执行http post数据到接口	 * @param array $datas post数据参数 如:array('method'=>'AlbumVideoList', 'p'=>1, 's'=>6,....)	 */	private function post($datas = array()) {		//构造post数据		$data['sn'] = $this->ku6api_sn;		$data['posttime'] = SYS_TIME;		$data['token'] = $this->xxtea->encrypt($data['posttime'], $this->ku6api_skey);		if (strtolower(CHARSET) == 'gbk') {			$datas = array_iconv($datas, 'gbk', 'utf-8');		}		if (is_array($datas)) {			foreach ($datas as $_k => $d) {				if (is_array($d)) {					$data[$_k] = json_encode($d);				} else {					$data[$_k] = $d;				}			}		}		//向vms post数据,并获取返回值		$this->http->post($this->ku6api_url, $data);		$get_data = $this->http->get_data();		$get_data = json_decode($get_data, true);		//成功时vms返回code=200 而ku6返回status=1		if ($get_data['code'] == 200 || $get_data['status'] == 1) {			//将gbk编码转为utf-8编码			if (strtolower(CHARSET) == 'gbk') {				$get_data = array_iconv($get_data, 'utf-8', 'gbk');			}			return $get_data;		} else {			return $get_data;		}	}		/**	 * Function CHECK	 * 向vms发送vid	 * @param string $vid vid	 */	public function check($vid = '') {		if (!$vid) return false;		//构造post数据		$postdata['method'] = 'GetVid';		$postdata['vid'] = $vid;		$postdata['url'] = APP_PATH . 'api.php?op=video_api';		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return true;		} else {			return false;		}	}	/**	 * Function vms_update_video 	 * 更新视频库视频到新系统	 * @param array $data array of video	 */	public function vms_update_video($data = array()) {		if (empty($data)) return false;		//构造post数据		$postdata['method'] = 'VideoUpdate';		$postdata['data'] = $data;		//向vms post数据,并获取返回值		if ($data = $this->post($postdata)) {			return $data;		} else {			return false;		}	}	/**	 * Function Preview	 * 向vms请求vid	 * @param string $vid vid	 */	public function Preview($vid = '') {		if (!$vid) return false;		//构造post数据		$postdata['method'] = 'Preview';		$postdata['vid'] = $vid;		//向vms post数据,并获取返回值 		if ($data = $this->post($postdata)) {			return $data;		} else {   			return false;		}	}		/**	 * Function Ku6search	 * 向vms请求搜索	 * @param string $vid vid	 */	public function Ku6search($keyword,$pagesize,$page,$srctype,$len,$fenlei,$fq) { 		//构造post数据		$postdata['method'] = 'search';		$postdata['pagesize'] = $pagesize;		$postdata['keyword'] = $keyword;		$postdata['page'] = $page;		$postdata['fenlei'] = $fenlei;		$postdata['srctype'] = $srctype;		$postdata['len'] = $len;		$postdata['fq'] = $fq;		 		//向vms post数据,并获取返回值 		if ($data = $this->post($postdata)) {   			return $data;		} else {    			return false;		}	}	/**	 * Function get_sitename	 * 获取站点名称	 */	private function get_sitename($siteid) {		static $sitelist;		if (!$sitelist) {			$sitelist = getcache('sitelist', 'commons');		}		return $sitelist[$siteid]['name'];	}		/**	 * Function update_vms 	 * @升级视频系统,向新系统添加用户	 * @param $data POST数据	 */	public function update_vms_member($data = array()) {		if (empty($data)) return false;		//构造post数据		$data['sn'] = $this->ku6api_sn;		$data['skey'] = $this->ku6api_skey;		$postdata['data'] = json_encode($data);		$api_url = pc_base::load_config('sub_config','member_add_dir').'MemberUpgrade.php';		$data = $this->post_api($api_url, $postdata);				//向vms post数据,并获取返回值 		if ($data) {   			return $data;		} else { 			return $data;   			return false;		}	}	/**	 * Function testapi	 * 测试接口配置是否正确	 */	public function testapi() {		$postdata['method'] = 'Test';		$data = $this->post($postdata);		if ($data['code']==200) {			return true;		} else {			return false;		}	} 		/******************以下为视频统计使用*****************/		/*	* 最近视频播放量走势图	*/	public function get_stat_bydate($start_time,$end_time,$pagesize,$page){		//构造post数据		$postdata['pagesize'] = $pagesize; 		$postdata['page'] = $page;		$postdata['start_time'] = $start_time; 		$postdata['end_time'] = $end_time; 		$postdata['method'] = 'GetStatBydate'; 		 		//向vms post数据,并获取返回值		$data = $this->post($postdata);		return $data;	}		/*	* 根据关键字来搜索视频	*/	public function get_video_bykeyword($type,$keyword){		$postdata['type'] = $type; 		$postdata['keyword'] = $keyword; 		$postdata['method'] = 'GetVideoBykeyword';   		//向vms post数据,并获取返回值		$data = $this->post($postdata);  		if ($data['code']==200) {   			return $data;		} else {  			echo '搜索出现错误,请联系管理员!';exit;   			return false;		}	}		/*	* 查看视频流量走势	*/	public function show_video_stat($vid){		if(!$vid) return false;		$postdata['vid'] = $vid; 		$postdata['method'] = 'ShowVideoStat';   		//向vms post数据,并获取返回值		$data = $this->post($postdata);  		if ($data['code']==200) {   			return $data;		} else {  			echo '查看视频统计出错,请联系管理员!';    			return false;		}			}		/*	* 视频流量总体趋势图 	*/	public function vv_trend(){  		$postdata['method'] = 'VvTrend';   		$data = $this->post($postdata);  		if ($data['code']==200) {   			return $data;		} else {  			echo '视频流量总体趋势图!';    			return false;		} 	}			/*	* 按时间查看当日视频播放排行榜,以播放次数倒叙	* $date 2012-02-03	*/	/* 王参加注释,这个是否还有用?	public function get_stat_single($date){		//构造post数据 		$postdata['method'] = 'get_stat_single';		$postdata['pagesize'] = $pagesize;		$postdata['date'] = $date;		$postdata['page'] = $page; 		 		//向vms post数据,并获取返回值 		if ($data = $this->post($postdata)) {   			return $data;		} else {  			echo '没有返回查询时间点的数据!';exit;   			return false;		}	}	*/	//完善资料	public function complete_info($data){		//构造post数据		$postdata = $data; 		$postdata['user_back'] = APP_PATH . 'api.php?op=video_api';    		//向vms post数据,并获取返回值 				$url = $this->ku6api_api."CompleteInfo.php"; 		$return_data = $this->post_api($url, $postdata);  		if ($return_data['code']=='200') {    			return $return_data['data'];		} else {  			return '-1'; 		} 	} 		/*	* 获得用户填写的详细资料	* 返回值: 用户完善的资料	*/	public function Get_Complete_Info($data){		if (empty($data)) return false; 		$url = $this->ku6api_api."Get_Complete_Info.php"; 		$return_data = $this->post_api($url, $data);   		if ($return_data['code']=='200') {    			return $return_data['data'];		} else {   			return false; 		} 	}		/*	* 获得用户填写的详细资料	* 返回值: 用户完善的资料	*/	public function check_user_back($url){		if (empty($url)) return false; 		$data['url'] = $url;		$url = $this->ku6api_api."Check_User_Back.php"; 		$return_data = $this->post_api($url, $data);   		if ($return_data['code']=='200') {    			return 200;		} else {   			return -200; 		} 	}		//发送验证码到指定邮件	public function send_code($data){		if (empty($data)) return false; 		$new_data['email'] = $data['email'];		$new_data['url'] = $data['url'];		$url = $this->ku6api_api."Send_Code.php";  		$return_data = $this->post_api($url, $new_data);     	return $return_data;	}		//验证信箱和验证码,包含email and  code	public function check_email_code($data){		if (empty($data)) return false;  		$url =  $this->ku6api_api."Check_Email_Code.php";  		$return_data = $this->post_api($url, $data); 		if($return_data['code']=='200'){			return $return_data['data'];		}else{			return false;		} 	}			/**	 * Function 	 * 获取播放器列表	 */	public function player_list() {		$postdata['method'] = 'PlayerList';		$data = $this->post($postdata);		if ($data['code']==200) {			return $data;		} else {			return false;		}	}	/**	 * Function 	 * 获取播放器列表	 */	public function player_edit($field,$style) {		$postdata['method'] = 'PlayerEdit';		$postdata['field'] = $field;		$postdata['style'] = $style;		$data = $this->post($postdata);		if ($data['code']==200) {			return $data;		} else {			return false;		}	} 	/**	 * FUNCTION post_api	 * @post数据到api,post方法是post数据到api下面的v5,而post_api是post到api下面	 * @$data array post数据	 */	private function post_api($url = '', $data = array()) {		if (empty($url) || !preg_match("/^(http:\/\/)?([a-z0-9\.]+)(\/api)(\/[a-z0-9\._]+)/i", $url) || empty($data)) return false;		$ch = curl_init();		curl_setopt($ch, CURLOPT_URL, $url);		curl_setopt($ch, CURLOPT_POST, 1);		curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);		curl_setopt($ch, CURLOPT_POSTFIELDS, $data);		curl_setopt($ch, CURLOPT_TIMEOUT, 30);		curl_setopt($ch, CURLOPT_USERAGENT, 'Client SDK ');		$output = curl_exec($ch);		$return_data = json_decode($output,true);   		return $return_data;	}}
 |