/** * Update or add meta data for an image * * @since 1.4.0 * @param int $id The image ID * @param array $values An array with existing or new values * @return bool result of query */ static function update_image_meta($id, $new_values) { global $wpdb; // XXX nggdb is used statically, cannot inherit from Ngg_Serializable $serializer = new Ngg_Serializable(); // Query database for existing values // Use cache object $old_values = $wpdb->get_var($wpdb->prepare("SELECT meta_data FROM {$wpdb->nggpictures} WHERE pid = %d ", $id)); $old_values = $serializer->unserialize($old_values); $meta = array_merge((array) $old_values, (array) $new_values); $meta = $serializer->serialize($meta); $result = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->nggpictures} SET meta_data = %s WHERE pid = %d", $meta, $id)); wp_cache_delete($id, 'ngg_image'); return $result; }