Ejemplo n.º 1
0
 /**
  * 批量分组
  * @param int $user_id 用户ID
  * @param array $category_ids 分组名
  * @param array $ids 联系人ID
  * @return array
  */
 public function set_contact_category($user_id, $category_ids, $ids)
 {
     $category_list = $this->contact_mapper->get_contact_category_list($user_id);
     $add_ids = $delete_ids = array();
     foreach ($ids as $id) {
         $category_list[$id] = isset($category_list[$id]) ? $category_list[$id] : array();
         if ($add = array_diff($category_ids, $category_list[$id])) {
             $add_ids[$id] = $add;
         }
         if ($delete = array_diff($category_list[$id], $category_ids)) {
             $delete_ids[$id] = $delete;
         }
     }
     $ids = array_unique(array_merge(array_keys($add_ids), array_keys($delete_ids)));
     if ($ids and $this->contact_model->save_snapshot($user_id)) {
         $this->contact_mapper->set_contact_category($user_id, $add_ids, $delete_ids);
         if ($this->contact_model->update_contact_modified($user_id, $ids)) {
             return $ids;
         }
     }
     return array();
 }