Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_action( 'gform_after_create_post', 'gf_add_to_media_library', 10, 3 );
- /**
- * Save file upload fields under custom post field to the library
- *
- * @param int $post_id The post identifier
- * @param array $entry The entry
- * @param array $form The form
- */
- function gf_add_to_media_library ( $post_id, $entry, $form ) {
- foreach($form['fields'] as $field){
- //get media upload dir
- $uploads = wp_upload_dir();
- $uploads_dir = $uploads['path'];
- $uploads_url = $uploads['url'];
- //if its a custom field with input type file upload.
- if( $field['type'] == 'post_custom_field' && $field['inputType'] == 'fileupload'){
- $entry_id = $field['id'];
- $files = rgar ( $entry, $entry_id );
- $custom_field = $field['postCustomFieldName']; //custom field key
- //if file field is not empty
- if ( $files !== ''){
- $patterns = ['[', ']', '"']; //get rid of crap
- $file_entry = str_replace($patterns, '', $files);
- $files = explode ( ',', $file_entry );
- foreach ($files as $file) {
- //each file is a url
- //get the filename from end of url in match[1]
- $filename = pathinfo($file, PATHINFO_FILENAME);
- //add to media library
- //WordPress API for image uploads.
- include_once( ABSPATH . 'wp-admin/includes/image.php' );
- include_once( ABSPATH . 'wp-admin/includes/file.php' );
- include_once( ABSPATH . 'wp-admin/includes/media.php' );
- $new_url = stripslashes($file);
- $result = media_sideload_image( $new_url, $post_id, $filename, 'src');
- //saving the image to field or thumbnail
- if( strpos($field['cssClass'], 'thumb') == false ){
- $attachment_ids[] = (int) get_attachment_id_from_src($result);
- }
- else{
- set_post_thumbnail($post_id, (int) get_attachment_id_from_src($result) );
- }
- } //end foreach file
- update_post_meta ($post_id, $custom_field, $attachment_ids);
- } //end if files not empty
- } //end if custom field of uploadfile
- }
- } //end for each form field
- function get_attachment_id_from_src($image_src) {
- global $wpdb;
- $query = "SELECT ID FROM {$wpdb->posts} WHERE guid='$image_src'";
- $id = $wpdb->get_var($query);
- return $id;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement