Exemplo n.º 1
0
 /**
  * 根据标签更新联系人
  * @param int $group_id 用户名
  * @param int $id 联系人ID
  * @param string $tag_name 标签名 可用字段recycle、favorite
  * @param string $tag_value 标签值
  * @return array 成功的联系人ID数组
  */
 public function update_by_tag($group_id, $ids, $tag_name, $tag_value)
 {
     $list = $this->get($group_id);
     $contact_ids = array_keys($list);
     $need_update_ids = $used_ids = array();
     foreach ($ids as $id) {
         if (in_array($id, $contact_ids)) {
             if ($list[$id][$tag_name . 'd'] != $tag_value) {
                 $need_update_ids[] = $id;
             }
             $used_ids[] = $id;
         }
     }
     if (!empty($need_update_ids)) {
         $this->group_contact_mapper->update_by_tags($need_update_ids, $tag_name, $tag_value);
         $this->clear_cache($group_id, $need_update_ids);
     }
     return $used_ids;
 }