示例#1
0
文件: W2PUSH.php 项目: alonexy/lea
 /**
  * 以keyvalue的组合方式来重设tag,(先删除已有的keyvalue)
  * @param  string  $p_deviceTokens 用户推送ID,百度里是buserid,支持数组或逗号隔开的字符串
  * @param  int   $device_type 设备类型 1:浏览器设备 2:pc设备 3:Android设备 4:ios设备 5:windows phone设备
  * @param string $tag_key        key
  * @param string $tag_values     value值,若为空,则删除所有key数据
  */
 public static function BatchSetTagValue($p_deviceTokens, $device_type, $tag_key, $tag_values)
 {
     $newTagnames = array();
     $addTagnames = array();
     $delTagnames = array();
     $ret = array();
     $tag_values = is_array($tag_values) ? $tag_values : explode(',', $tag_values);
     foreach ($tag_values as $tag_value) {
         if ($tag_value != null) {
             $newTagnames[] = $tag_key . $tag_value;
         }
     }
     $p_deviceTokens = is_array($p_deviceTokens) ? $p_deviceTokens : explode(',', $p_deviceTokens);
     foreach ($p_deviceTokens as $p_deviceToken) {
         $tagnames = W2PUSH::queryTokenTags($p_deviceToken, $device_type);
         if (is_array($tagnames)) {
             $addTagnames = array_diff($newTagnames, $tagnames);
             foreach ($tagnames as $tagname) {
                 if (strpos($tagname, $tag_key) === 0 && !in_array($tagname, $newTagnames)) {
                     $delTagnames[] = $tagname;
                 }
             }
         }
         $ret[] = W2PUSH::BatchAddTag($p_deviceToken, $device_type, $addTagnames);
         $ret[] = W2PUSH::BatchDelTag($p_deviceToken, $device_type, $delTagnames);
     }
     return $ret;
 }
示例#2
0
 public static function actionGetMyDevice()
 {
     $p_where = array();
     $p_where['deviceToken'] = Utility::getHeaderValue('Devicetoken');
     if (is_null($p_where['deviceToken'])) {
         return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '请输入正确的设备号');
     }
     $p_countThis = -1;
     $tmpResult = static::loadList($p_where, $p_order = null, $p_pageIndex = 1, $p_pageSize = 1, $p_countThis, $isDetail = 'mydevice');
     if (is_object($tmpResult)) {
         $extInfo = array();
         $extInfo['tags'] = W2PUSH::queryTokenTags($tmpResult->getDeviceToken(), $tmpResult->getDeviceType());
         $extInfo['info'] = W2PUSH::QueryInfoOfToken($tmpResult->getDeviceToken(), $tmpResult->getDeviceType());
         return Utility::getArrayForResults(RUNTIME_CODE_OK, '', $tmpResult);
     } else {
         return $tmpResult;
     }
 }