/**
  * 同步头像到指定的UC uid(同步到UC)。
  * 适用于已经安装了UC(不排除部分站长将旧版本DZ自行修改加载了UC)、或者是DZ 6.1及以上版本(也会安装了UC)
  *
  * @param integer $uid DZ uid
  * @return integer 同步结果。正常为0,否则:
  *  -1到-10:此错误码预留给_getFaceAndCreateTemp方法,请自行参阅该方法的注释
  * 
  * 	-10:本地编码失败(一般是无法生成3种头像文件所致)
  * 	-11:与UC进行HTTP通讯出错
  * 	-12:UC返回头像编码解码失败代码
  * 	-13:UC返回头像上传失败代码
  * 	-14:UC返回找寻传参uid失败代码
  * 	-15:UC返回未知错误代码
  */
 function syncToUC($uid)
 {
     $step1result = $this->_getFaceAndCreateTemp($uid);
     if ($step1result < 0) {
         return $step1result;
     }
     $postdata = $this->_createUCAvatarPostdata();
     if (count($postdata) != 3) {
         return -10;
     }
     $this->http->setUrl($this->_createUCUrl());
     $this->http->setData($postdata);
     $this->_delTempFace();
     //构造完UC所需数据后,就可以删除临时文件了。
     $response = $this->http->request('post');
     $code = (int) $this->http->getState();
     if (defined('XWB_DEV_LOG_ALL_RESPOND') && XWB_DEV_LOG_ALL_RESPOND == true) {
         XWB_plugin::LOG("[FACE SYNC RESULT]\t" . $this->_createUCUrl() . "\t{$code}\t" . htmlspecialchars($response));
     }
     if (200 !== $code) {
         return -11;
     }
     if (preg_match('/type="error"[ ]+value="([\\-\\+0-9]+)"/', $response, $matchErr)) {
         $matchErr = isset($matchErr[1]) ? (int) $matchErr[1] : -99;
         switch ($matchErr) {
             case '-1':
                 return -14;
             case '-2':
                 return -12;
             default:
                 return -15;
         }
     }
     $match = array();
     if (!preg_match('/success="([0-9]+)"/', $response, $match)) {
         return -15;
     }
     if (!isset($match[1]) || (int) $match[1] != 1) {
         return -13;
     } else {
         return 0;
     }
 }
 /**
  * 同步头像到指定的UC uid(同步到UC)。
  * 适用于已经安装了UC(不排除部分站长将旧版本DZ自行修改加载了UC)、或者是DZ 6.1及以上版本(也会安装了UC)
  *
  * @param integer $uid DZ uid
  * @return integer 同步结果。正常为0,否则:
  *  -1到-10:此错误码预留给_getFaceAndCreateTemp方法,请自行参阅该方法的注释
  *
  * 	-10:本地编码失败(一般是无法生成3种头像文件所致)
  * 	-11:与UC进行HTTP通讯出错
  * 	-12:UC返回头像编码解码失败代码
  * 	-13:UC返回头像上传失败代码
  * 	-14:UC返回找寻传参uid失败代码
  * 	-15:UC返回未知错误代码
  */
 function syncToUC($uid)
 {
     $step1result = $this->_getFaceAndCreateTemp($uid);
     if ($step1result < 0) {
         return $step1result;
     }
     $postdata = $this->_createUCAvatarPostdata();
     if (count($postdata) != 3) {
         return -10;
     }
     $this->http->setUrl($this->_createUCUrl());
     $this->http->setData($postdata);
     $this->_delTempFace();
     //构造完UC所需数据后,就可以删除临时文件了。
     $response = $this->http->request('post');
     $code = (int) $this->http->getState();
     if (200 !== $code) {
         return -11;
     }
     if (preg_match('/type="error"[ ]+value="([\\-\\+0-9]+)"/', $response, $matchErr)) {
         $matchErr = isset($matchErr[1]) ? (int) $matchErr[1] : -99;
         switch ($matchErr) {
             case '-1':
                 return -14;
             case '-2':
                 return -12;
             default:
                 return -15;
         }
     }
     $match = array();
     if (!preg_match('/success="([0-9]+)"/', $response, $match)) {
         return -15;
     }
     if (!isset($match[1]) || (int) $match[1] != 1) {
         return -13;
     } else {
         return 0;
     }
 }
Esempio n. 3
0
 /**
  * 统计上报(通过服务器进行上报)
  * @param string $type stat类型
  * @param array $args stat参数
  * @return bool
  */
 function statReport($type, $args = array())
 {
     if (defined('XWB_P_STAT_DISABLE')) {
         return false;
     }
     $statUrl = XWB_plugin::statUrl($type, $args);
     if ('' == $statUrl) {
         return false;
     }
     if (!class_exists('fsockopenHttp')) {
         require_once "fsockopenHttp.class.php";
     }
     $httpObj = new fsockopenHttp();
     $httpObj->setUrl($statUrl);
     $httpObj->max_retries = 0;
     $httpObj->request();
     return true;
 }