function update_metadata_serialized($type = 'post', $object_id, $meta_key, $value, $multiple = false) { if ($multiple || !in_metadata_serialized($value, $type, $object_id, $meta_key)) { $array = get_metadata($type, $object_id, $meta_key, true); $array = $array ? $array : array(); $array[] = $value; update_metadata($type, $object_id, $meta_key, $array); } }
public function user_decline_event($entry) { if (!empty($entry[24])) { $post_id = $entry[24]; GFAPI::update_entry_property($entry['id'], 'post_id', $post_id); $event = get_post($post_id); if ($event && $event->post_type === 'event' && !in_metadata_serialized(get_current_user_id(), 'post', $post_id, 'declined_by_user')) { remove_metadata_serialized('post', $post_id, 'attended_by_user', get_current_user_id()); remove_metadata_serialized('user', get_current_user_id(), 'attending_event', $post_id); update_metadata_serialized('post', $post_id, 'declined_by_user', (string) get_current_user_id()); update_metadata_serialized('post', $post_id, 'actioned_by_user', (string) get_current_user_id()); update_metadata_serialized('user', get_current_user_id(), 'declined_event', (string) $post_id); } } }
public function user_unlike_post() { $response = array('request' => $_REQUEST); if (!empty($_REQUEST['post_id']) && is_user_logged_in()) { if (get_post($_REQUEST['post_id']) && in_metadata_serialized(get_current_user_id(), 'post', $_REQUEST['post_id'], 'liked_by_user')) { remove_metadata_serialized('post', $_REQUEST['post_id'], 'liked_by_user', get_current_user_id()); remove_metadata_serialized('user', get_current_user_id(), 'likes_post', $_REQUEST['post_id']); $response['like_changed'] = true; } } echo json_encode($response); exit; }