OK, so I have found a solution for this after much digging around.
Add the following to \nextgen-gallery\admin\manage.php:
do_action('ngg_gallery_addnewpage', $this->gid);
}
and before the "}" immediately following:
//Start Set Featured Image
//Determine filepath of selected NextGEN preview image
$gallery_id = $this->gid; // Use the PODS column, custom post field or however you would get this ID
$results = $wpdb->get_results("SELECT ng.path, np.filename FROM wp_ngg_pictures np, wp_ngg_gallery ng WHERE np.galleryid=ng.gid AND np.galleryid=".$gallery_id." AND np.pid=ng.previewpic",ARRAY_A);
if(!empty($results[0]['path']) && !empty($results[0]['filename'])) :
$imgpath = ABSPATH.$results[0]['path'].'/'.$results[0]['filename'];
endif;
//Set filepath and filename variables
$image_url = $imgpath;
$filename = basename($image_url);
//Copy the file from the NextGen Gallery to the Media Library (uploads folder)
$upload_dir = wp_upload_dir();
$filename = basename($image_url);
if(wp_mkdir_p($upload_dir['path']))
$file = $upload_dir['path'] . '/' . $filename;
else
$file = $upload_dir['basedir'] . '/' . $filename;
//Perform copy function
if (!copy($imgpath, $file)) {
echo "failed to copy $file...\n";
}
//Create entry in media library
$wp_filetype = wp_check_filetype($filename, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $file, $post_id );
//Set featured image for newly created page
set_post_thumbnail($gallery_pageid, $attach_id);
//End Set Featured Image
What this code does is to grab the file location of the selected preview image from the particular NextGen gallery you're on, copies that image into the media library, creates a media library database entry for the file, and finally updates the featured image on the new page with the ID of that image.
Hope this helps!
kevin