function _wppa_page_import() { global $wppa_revno; global $wppa; global $wpdb; global $wppa_supported_photo_extensions; global $wppa_supported_video_extensions; global $wppa_supported_audio_extensions; if ($wppa['ajax']) { ob_start(); } // Suppress output if ajax operation // Init $ngg_opts = get_option('ngg_options', false); $user = wppa_get_user(); // Check database wppa_check_database(true); // Sanitize system $count = wppa_sanitize_files(); if ($count) { wppa_error_message($count . ' ' . __('illegal files deleted.', 'wppa')); } // Update watermark settings if (wppa_switch('wppa_watermark_on') && (wppa_switch('wppa_watermark_user') || current_user_can('wppa_settings'))) { if (isset($_POST['wppa-watermark-file'])) { update_option('wppa_watermark_file_' . $user, $_POST['wppa-watermark-file']); } if (isset($_POST['wppa-watermark-pos'])) { update_option('wppa_watermark_pos_' . $user, $_POST['wppa-watermark-pos']); } } // Update last used albums if (isset($_POST['wppa-photo-album'])) { update_option('wppa-photo-album-import-' . wppa_get_user(), $_POST['wppa-photo-album']); // nog in form verwerken } if (isset($_POST['wppa-video-album'])) { update_option('wppa-video-album-import-' . wppa_get_user(), $_POST['wppa-video-album']); } if (isset($_POST['wppa-audio-album'])) { update_option('wppa-audio-album-import-' . wppa_get_user(), $_POST['wppa-audio-album']); } // Verify last albums still exist $alb = strval(intval(get_option('wppa-photo-album-import-' . wppa_get_user(), '0'))); if ($alb) { $exists = $wpdb->get_var("SELECT COUNT(*) FROM `" . WPPA_ALBUMS . "` WHERE `id` = " . $alb); if (!$exists) { update_option('wppa-photo-album-import-' . wppa_get_user(), '0'); } } $alb = get_option('wppa-video-album-import-' . wppa_get_user(), '0'); if ($alb) { $exists = $wpdb->get_var("SELECT COUNT(*) FROM `" . WPPA_ALBUMS . "` WHERE `id` = " . $alb); if (!$exists) { update_option('wppa-video-album-import-' . wppa_get_user(), '0'); } } $alb = get_option('wppa-audio-album-import-' . wppa_get_user(), '0'); if ($alb) { $exists = $wpdb->get_var("SELECT COUNT(*) FROM `" . WPPA_ALBUMS . "` WHERE `id` = " . $alb); if (!$exists) { update_option('wppa-audio-album-import-' . wppa_get_user(), '0'); } } // Extract zip if (isset($_GET['zip'])) { wppa_extract($_GET['zip'], true); } // Set local / remote if (isset($_POST['wppa-local-remote'])) { check_admin_referer('$wppa_nonce', WPPA_NONCE); update_option('wppa_import_source_type_' . $user, $_POST['wppa-local-remote']); } // Set import source dir ( when local ) if (isset($_POST['wppa-import-set-source-dir'])) { check_admin_referer('$wppa_nonce', WPPA_NONCE); if (isset($_POST['wppa-source'])) { update_option('wppa_import_source_' . $user, $_POST['wppa-source']); } } // Set import source url ( when remote ) if (isset($_POST['wppa-import-set-source-url'])) { check_admin_referer('$wppa_nonce', WPPA_NONCE); if (isset($_POST['wppa-source-remote'])) { update_option('wppa_import_source_url_' . $user, $_POST['wppa-source-remote']); update_option('wppa_import_source_url_found_' . $user, false); update_option('wppa_import_remote_max_' . $user, strval(intval($_POST['wppa-import-remote-max']))); } } // Hit the submit button if (isset($_POST['wppa-import-submit'])) { if ($wppa['ajax']) { if (!wp_verify_nonce($_POST['wppa-update-check'], '$wppa_nonce')) { echo $_POST['wppa-update-check'] . ' Security check failure'; exit; } } else { check_admin_referer('$wppa_nonce', WPPA_NONCE); } if (isset($_POST['del-after-p'])) { $delp = true; } else { $delp = false; } if (isset($_POST['del-after-a'])) { $dela = true; } else { $dela = false; } if (isset($_POST['del-after-z'])) { $delz = true; } else { $delz = false; } if (isset($_POST['del-after-v'])) { $delv = true; } else { $delv = false; } if (isset($_POST['del-after-u'])) { $delu = true; } else { $delu = false; } if (isset($_POST['del-after-c'])) { $delc = true; } else { $delc = false; } wppa_import_photos($delp, $dela, $delz, $delv, $delu, $delc); } elseif (isset($_GET['continue'])) { if (wp_verify_nonce($_GET['nonce'], 'dirimport')) { wppa_import_photos(); } } // If we did this by ajax, setup reporting results for it if ($wppa['ajax']) { ob_end_clean(); if ($wppa['ajax_import_files_done']) { echo '<span style="color:green" >' . $wppa['ajax_import_files'] . ' ' . __('Done!', 'wppa') . '</span>'; } elseif ($wppa['ajax_import_files_error']) { echo '<span style="color:red" >' . $wppa['ajax_import_files'] . ' ' . $wppa['ajax_import_files_error'] . '</span>'; } else { echo '<span style="color:red" >' . $wppa['ajax_import_files'] . ' ' . __('Failed!', 'wppa') . '</span>'; } exit; } // Sanitize again $count = wppa_sanitize_files(); if ($count) { wppa_error_message($count . ' ' . __('illegal files deleted.', 'wppa')); } ?> <div class="wrap"> <?php $iconurl = WPPA_URL . '/images/camera32.png'; ?> <div id="icon-camera" class="icon32" style="background: transparent url( <?php echo $iconurl; ?> ) no-repeat"></div> <?php $iconurl = WPPA_URL . '/images/arrow32.png'; ?> <div id="icon-arrow" class="icon32" style="background: transparent url( <?php echo $iconurl; ?> ) no-repeat"></div> <?php $iconurl = WPPA_URL . '/images/album32.png'; ?> <div id="icon-album" class="icon32" style="background: transparent url( <?php echo $iconurl; ?> ) no-repeat"><br /></div> <h2><?php _e('Import Photos', 'wppa'); ?> </h2><br /> <?php // Get this users current source directory setting $can_remote = ini_get('allow_url_fopen') && function_exists('curl_init'); // $can_remote = false; // Debug if (!$can_remote) { update_option('wppa_import_source_type_' . $user, 'local'); } $source_type = get_option('wppa_import_source_type_' . $user, 'local'); if ($source_type == 'local') { $source = get_option('wppa_import_source_' . $user, WPPA_DEPOT); if (!$source || !is_dir(WPPA_ABSPATH . $source)) { $source = WPPA_DEPOT; update_option('wppa_import_source_' . $user, WPPA_DEPOT); } $source_path = WPPA_ABSPATH . $source; $source_url = get_bloginfo('url') . '/' . $source; // See if the current source is the 'home' directory $is_depot = $source == WPPA_DEPOT; // See if the current souce is a wp upload location or a wppa+ sourcefile location ( if so: no delete checkbox ) $is_sub_depot = substr($source, 0, strlen(WPPA_DEPOT)) == WPPA_DEPOT && substr(WPPA_ABSPATH . $source, 0, strlen(wppa_opt('wppa_source_dir'))) != wppa_opt('wppa_source_dir'); // See what's in there $files = wppa_get_import_files(); $zipcount = wppa_get_zipcount($files); $albumcount = wppa_get_albumcount($files); $photocount = wppa_get_photocount($files); $videocount = wppa_get_video_count($files); $audiocount = wppa_get_audio_count($files); $dircount = $is_depot ? wppa_get_dircount($files) : '0'; $csvcount = $is_depot ? wppa_get_csvcount($files) : '0'; // echo 'zips:'.$zipcount,' albs:'.$albumcount.' pho:'.$photocount.' dirs:'.$dircount; if ($ngg_opts) { $is_ngg = strpos($source, $ngg_opts['gallerypath']) !== false; // this is false for the ngg root !! } else { $is_ngg = false; } } if ($source_type == 'remote') { $wppa['is_remote'] = true; $source = get_option('wppa_import_source_url_' . $user, 'http://'); $source_path = $source; $source_url = $source; $is_depot = false; $is_sub_depot = false; $files = wppa_get_import_files(); $zipcount = '0'; $albumcount = '0'; $photocount = $files ? count($files) : '0'; $videocount = '0'; $audiocount = '0'; $dircount = '0'; $csvcount = '0'; $is_ngg = false; $remote_max = get_option('wppa_import_remote_max_' . $user, '10'); } ?> <form action="<?php echo wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_import_photos'); ?> " method="post"> <?php if (current_user_can('administrator') || !wppa_switch('wppa_chgsrc_is_restricted')) { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <?php wp_nonce_field('$wppa_nonce', WPPA_NONCE); _e('Select Local or Remote', 'wppa'); $disabled = $can_remote ? '' : 'disabled="disabled"'; ?> <select name="wppa-local-remote" > <option value="local" <?php if ($source_type == 'local') { echo 'selected="selected"'; } ?> ><?php _e('Local', 'wppa'); ?> </option> <option value="remote" <?php echo $disabled; if ($source_type == 'remote') { echo 'selected="selected"'; } ?> ><?php _e('Remote', 'wppa'); ?> </option> </select> <?php if ($can_remote) { ?> <input type="submit" class="button-secundary" name="wppa-import-set-source" value="<?php _e('Set Local/Remote', 'wppa'); ?> " /> <?php } else { if (!ini_get('allow_url_fopen')) { _e('The server does not allow you to import from remote locations. ( The php directive allow_url_fopen is not set to 1 )', 'wppa'); } if (!function_exists('curl_init')) { _e('The server does not allow you to import from remote locations. ( The curl functions are not set up )', 'wppa'); } } ?> </div> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <?php wp_nonce_field('$wppa_nonce', WPPA_NONCE); ?> <?php _e('Import photos from:', 'wppa'); ?> <?php if ($source_type == 'local') { ?> <select name="wppa-source"> <option value="<?php echo WPPA_DEPOT; ?> " <?php if ($is_depot) { echo 'selected="selected"'; } ?> ><?php _e('--- My depot ---', 'wppa'); ?> </option> <?php wppa_walktree(WPPA_DEPOT, $source, true, true); // Allow the name 'wppa', exclude topdir if ($ngg_opts) { $nextgen_root = trim($ngg_opts['gallerypath'], '/'); wppa_walktree($nextgen_root, $source, true, true, false); // Allow the name 'wppa', exclude topdir, do not allow 'thumbs' */ } wppa_walktree(WPPA_UPLOAD, $source, false, false); // Do NOT allow the name 'wppa', include topdir ?> </select> <input type="submit" class="button-secundary" name="wppa-import-set-source-dir" value="<?php _e('Set source directory', 'wppa'); ?> " /> <?php } else { ?> <input type="text" style="width:50%" name="wppa-source-remote" value="<?php echo $source; ?> " /> <?php _e('Max:', 'wppa'); ?> <input type="text" style="width:50px;" name="wppa-import-remote-max" value="<?php echo $remote_max; ?> " /> <input type="submit" onclick="jQuery( '#rem-rem' ).css( 'display','inline' ); return true;" class="button-secundary" name="wppa-import-set-source-url" value="<?php _e('Find remote photos', 'wppa'); ?> " /> <span id="rem-rem" style="display:none;"><?php _e('Working, please wait...', 'wppa'); ?> </span> <?php _e('<br />You can enter either a web page address like <i>http://mysite.com/mypage/</i> or a full url to an image file like <i>http://mysite.com/wp-content/uploads/wppa/4711.jpg</i>', 'wppa'); ?> <?php } ?> </div> <?php } ?> </form> <?php // check if albums exist or will be made before allowing upload if (wppa_has_albums() || $albumcount > '0' || $zipcount > '0' || $dircount > '0' || $videocount > '0' || $audiocount > '0' || $csvcount > '0') { if ($photocount > '0' || $albumcount > '0' || $zipcount > '0' || $dircount > '0' || $videocount > '0' || $audiocount > '0' || $csvcount > '0') { ?> <form action="<?php echo wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_import_photos'); ?> " method="post"> <?php wp_nonce_field('$wppa_nonce', WPPA_NONCE); // Display the zips if (PHP_VERSION_ID >= 50207 && $zipcount > '0') { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $zipcount . ' '; _e('zipfiles in the depot.', 'wppa'); ?> <br/> </b></p> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-zip" checked="checked" onchange="checkAll( 'all-zip', '.wppa-zip' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> <?php if ($is_sub_depot) { ?> <td> <input type="checkbox" id="del-after-z" name="del-after-z" checked="checked" /><b> <?php _e('Delete after successful extraction.', 'wppa'); ?> </b> </td> <?php } ?> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <tr> <?php $ct = 0; $idx = '0'; foreach ($files as $file) { $ext = strtolower(substr(strrchr($file, "."), 1)); if ($ext == 'zip') { ?> <td> <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " class="wppa-zip" checked="checked" /> <?php echo wppa_sanitize_file_name(basename($file)); ?> </td> <?php if ($ct == 3) { echo '</tr><tr>'; $ct = 0; } else { $ct++; } } $idx++; } ?> </tr> </table> </div> <?php } // Dispay the albums ( .amf files ) if ($albumcount > '0') { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $albumcount . ' '; _e('albumdefinitions in the depot.', 'wppa'); ?> <br/> </b></p> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-amf" checked="checked" onchange="checkAll( 'all-amf', '.wppa-amf' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> <?php if ($is_sub_depot) { ?> <td> <input type="checkbox" id="del-after-a" name="del-after-a" checked="checked" /><b> <?php _e('Remove from depot after successful import, or if the album already exists.', 'wppa'); ?> </b> </td> <?php } ?> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <tr> <?php $ct = 0; $idx = '0'; foreach ($files as $file) { $ext = strtolower(substr(strrchr($file, "."), 1)); if ($ext == 'amf') { ?> <td> <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " class="wppa-amf" checked="checked" /> <?php echo basename($file); ?> <?php echo stripslashes(wppa_get_meta_name($file, '( ')); ?> </td> <?php if ($ct == 3) { echo '</tr><tr>'; $ct = 0; } else { $ct++; } } $idx++; } ?> </tr> </table> </div> <?php } // Display the single photos if ($photocount > '0') { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $photocount . ' '; if ($source_type == 'local') { if ($is_ngg) { _e('photos in the ngg gallery.', 'wppa'); } else { _e('photos in the depot.', 'wppa'); } } else { _e('possible photos found remote.', 'wppa'); } if (wppa_switch('wppa_resize_on_upload')) { echo ' '; _e('Photos will be downsized during import.', 'wppa'); } ?> <br/> </b></p> <p class="hideifupdate" > <?php _e('Default album for import:', 'wppa'); ?> <select name="wppa-photo-album" id="wppa-photo-album"> <?php echo wppa_album_select_a(array('path' => wppa_switch('wppa_hier_albsel'), 'selected' => get_option('wppa-photo-album-import-' . wppa_get_user(), '0'), 'addpleaseselect' => true, 'checkowner' => true, 'checkupload' => true)); ?> </select> <?php _e('Photos that have (<em>name</em>)[<em>album</em>] will be imported by that <em>name</em> in that <em>album</em>.', 'wppa'); ?> </p> <?php if (wppa_switch('wppa_watermark_on') && (wppa_switch('wppa_watermark_user') || current_user_can('wppa_settings'))) { ?> <p> <?php _e('Apply watermark file:', 'wppa'); ?> <select name="wppa-watermark-file" id="wppa-watermark-file"> <?php echo wppa_watermark_file_select(); ?> </select> <?php _e('Position:', 'wppa'); ?> <select name="wppa-watermark-pos" id="wppa-watermark-pos"> <?php echo wppa_watermark_pos_select(); ?> </select> </p> <?php } ?> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-pho" <?php if ($is_sub_depot) { echo 'checked="checked"'; } ?> onchange="checkAll( 'all-pho', '.wppa-pho' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> <?php if ($is_sub_depot) { ?> <td> <input type="checkbox" id="del-after-p" name="del-after-p" checked="checked" /><b> <?php _e('Remove from depot after successful import.', 'wppa'); ?> </b> </td> <?php } ?> <?php if ($is_ngg) { ?> <td> <input type="checkbox" id="cre-album" name="cre-album" checked="checked" value="<?php echo esc_attr(basename($source)); ?> " /><b> <?php echo sprintf(__('Import into album <i>%s</i>.', 'wppa'), basename($source)); ?> </b> <br /><small><?php _e('The album will be created if it does not exist', 'wppa'); ?> </small> </td> <td> <input type="checkbox" id="use-backup" name="use-backup" checked="checked" /><b> <?php _e('Use backup if available', 'wppa'); ?> </b> </td> <?php } ?> <td> <input type="checkbox" id="wppa-update" onchange="impUpd( this, '#submit' )" name="wppa-update"><b> <?php _e('Update existing photos', 'wppa'); ?> </b> </td> <td> <?php if (wppa_switch('wppa_void_dups')) { ?> <input type="hidden" id="wppa-nodups" name="wppa-nodups" value="true" /> <?php } else { ?> <input type="checkbox" id="wppa-nodups" name="wppa-nodups" checked="checked" ><b> <?php _e('Do not create duplicates', 'wppa'); ?> </b> <?php } ?> </td> <?php if (wppa_switch('wppa_import_preview')) { ?> <td> <input type="checkbox" id="wppa-zoom" onclick="wppa_setCookie('zoompreview', this.checked, '365')" ><b> <?php _e('Zoom previews', 'wppa'); ?> </b> <script type="text/javascript">if ( wppa_getCookie('zoompreview') == true ) { jQuery('#wppa-zoom').attr('checked', 'checked') }</script> </td> <?php } ?> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <tr> <?php $ct = 0; $idx = '0'; if (is_array($files)) { foreach ($files as $file) { $ext = strtolower(substr(strrchr($file, "."), 1)); $meta = wppa_strip_ext($file) . 'pmf'; if (in_array($ext, $wppa_supported_photo_extensions)) { ?> <td id="td-file-<?php echo $idx; ?> " > <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " title="<?php echo $file; ?> " class= "wppa-pho" <?php if ($is_sub_depot) { echo 'checked="checked"'; } ?> /><span id="name-file-<?php echo $idx; ?> " > <?php echo wppa_sanitize_file_name(basename($file)); ?> <?php echo stripslashes(wppa_get_meta_name($meta, '( ')); echo stripslashes(wppa_get_meta_album($meta, '[')); ?> </span> <?php if (wppa_switch('wppa_import_preview')) { if ($wppa['is_remote']) { if (strpos($file, '//res.cloudinary.com/') !== false) { $img_url = dirname($file) . '/h_144/' . basename($file); } else { $img_url = $file; } } else { $img_url = str_replace(ABSPATH, home_url() . '/', $file); } ?> <img src="<?php echo $img_url; ?> " alt="N.A." style="max-height:48px;" onmouseover="if (jQuery('#wppa-zoom').attr('checked')) jQuery(this).css('max-height', '144px')" onmouseout="if (jQuery('#wppa-zoom').attr('checked')) jQuery(this).css('max-height', '48px')" /> <?php } ?> </td> <?php if ($ct == 3) { echo '</tr><tr>'; $ct = 0; } else { $ct++; } } $idx++; } } ?> </tr> </table> </div> <?php } // Display the videos if ($videocount > '0' && wppa_switch('enable_video')) { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $videocount . ' '; _e('videos in the depot.', 'wppa'); ?> <br/> </b></p> <p class="hideifupdate" > <?php _e('Album to import to:', 'wppa'); ?> <select name="wppa-video-album" id="wppa-video-album"> <?php echo wppa_album_select_a(array('path' => wppa_switch('wppa_hier_albsel'), 'selected' => get_option('wppa-video-album-import-' . wppa_get_user(), '0'), 'addpleaseselect' => true, 'checkowner' => true, 'checkupload' => true)); ?> </select> </p> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-video" checked="checked" onchange="checkAll( 'all-video', '.wppa-video' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> <?php if ($is_sub_depot) { ?> <td> <input type="checkbox" id="del-after-v" name="del-after-v" checked="checked" /><b> <?php _e('Remove from depot after successful import.', 'wppa'); ?> </b> </td> <?php } ?> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <tr> <?php $ct = 0; $idx = '0'; if (is_array($files)) { foreach ($files as $file) { $ext = strtolower(substr(strrchr($file, "."), 1)); if (in_array($ext, $wppa_supported_video_extensions)) { ?> <td> <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " title="<?php echo $file; ?> " class="wppa-video" checked="checked" /><span id="name-file-<?php echo $idx; ?> " > <?php echo wppa_sanitize_file_name(basename($file)); ?> </span> </td> <?php if ($ct == 3) { echo '</tr><tr>'; $ct = 0; } else { $ct++; } } $idx++; } } ?> </tr> </table> </div> <?php } // Display the audios if ($audiocount > '0' && wppa_switch('enable_audio')) { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $audiocount . ' '; _e('audios in the depot.', 'wppa'); ?> <br/> </b></p> <p class="hideifupdate" > <?php _e('Album to import to:', 'wppa'); ?> <select name="wppa-audio-album" id="wppa-audio-album"> <?php echo wppa_album_select_a(array('path' => wppa_switch('wppa_hier_albsel'), 'selected' => get_option('wppa-audio-album-import-' . wppa_get_user(), '0'), 'addpleaseselect' => true, 'checkowner' => true, 'checkupload' => true)); ?> </select> </p> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-audio" checked="checked" onchange="checkAll( 'all-audio', '.wppa-audio' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> <?php if ($is_sub_depot) { ?> <td> <input type="checkbox" id="del-after-u" name="del-after-u" checked="checked" /><b> <?php _e('Remove from depot after successful import.', 'wppa'); ?> </b> </td> <?php } ?> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <tr> <?php $ct = 0; $idx = '0'; if (is_array($files)) { foreach ($files as $file) { $ext = strtolower(substr(strrchr($file, "."), 1)); if (in_array($ext, $wppa_supported_audio_extensions)) { ?> <td> <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " title="<?php echo $file; ?> " class="wppa-audio" checked="checked" /><span id="name-file-<?php echo $idx; ?> " > <?php echo wppa_sanitize_file_name(basename($file)); ?> </span> </td> <?php if ($ct == 3) { echo '</tr><tr>'; $ct = 0; } else { $ct++; } } $idx++; } } ?> </tr> </table> </div> <?php } // Display the directories to be imported as albums. Do this in the depot only!! if ($is_depot && $dircount > '0') { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $dircount . ' '; _e('albumdirectories in the depot.', 'wppa'); ?> <br/> </b></p> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-dir" checked="checked" onchange="checkAll( 'all-dir', '.wppa-dir' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <?php $ct = 0; $idx = '0'; foreach ($files as $dir) { if (basename($dir) == '.') { } elseif (basename($dir) == '..') { } elseif (is_dir($dir)) { ?> <tr> <td> <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " class= "wppa-dir" checked="checked" /> <b><?php echo wppa_sanitize_file_name(basename($dir)); ?> </b> <?php $subfiles = glob($dir . '/*'); $subdircount = '0'; if ($subfiles) { foreach ($subfiles as $subfile) { if (is_dir($subfile) && basename($subfile) != '.' && basename($subfile) != '..') { $subdircount++; } } } $sfcount = empty($subfiles) ? '0' : wppa_get_photocount($subfiles); echo ' Contains ' . $sfcount . ' files'; if ($subdircount) { echo ' and ' . $subdircount . ' sub directories.'; } ?> </td> </tr> <?php } $idx++; } ?> </table> </div> <?php } ?> <?php // Display the csv files if ($is_depot && $csvcount > '0') { ?> <div style="border:1px solid gray; padding:4px; margin: 3px 0;" > <p><b> <?php _e('There are', 'wppa'); echo ' ' . $csvcount . ' '; _e('csv files in the depot.', 'wppa'); ?> <br/> </b></p> <table class="form-table wppa-table widefat" style="margin-bottom:0;" > <thead> <tr> <td> <input type="checkbox" id="all-csv" checked="checked" onchange="checkAll( 'all-csv', '.wppa-csv' )" /><b> <?php _e('Check/uncheck all', 'wppa'); ?> </b> </td> <td> <input type="checkbox" id="del-after-c" name="del-after-c" checked="checked" disabled="disabled" /><b> <?php _e('Remove from depot after successful import.', 'wppa'); ?> </b> </td> </tr> </thead> </table> <table class="form-table wppa-table widefat" style="margin-top:0;" > <?php $ct = 0; $idx = '0'; foreach ($files as $csv) { if (is_file($csv) && strtolower(wppa_get_ext($csv) == 'csv')) { ?> <tr> <td> <input type="checkbox" id="file-<?php echo $idx; ?> " name="file-<?php echo $idx; ?> " class= "wppa-csv" checked="checked" /> <b><?php echo wppa_sanitize_file_name(basename($csv)) . ' (' . sprintf('%5.1f', filesize($csv) / 1024) . ' kb)'; ?> </b> </td> </tr> <?php } $idx++; } ?> </table> </div> <?php } ?> <?php // The submit button ?> <p> <script type="text/javascript"> function wppaVfyAlbum() { var csvs = jQuery( '.wppa-csv' ); if ( jQuery( '#wppa-update' ).attr( 'checked' ) != 'checked' ) { if ( ! parseInt( jQuery( '#wppa-photo-album' ).attr( 'value' ) ) && ! parseInt( jQuery( '#wppa-video-album' ).attr( 'value' ) ) && ! parseInt( jQuery( '#wppa-audio-album' ).attr( 'value' ) ) && csvs.length == 0 ) { alert( 'Please select an album first' ); return false; } } return true; } function wppaCheckInputVars() { var checks = jQuery( ':checked' ); var nChecks = checks.length; var nMax = <?php echo ini_get('max_input_vars'); ?> ; if ( nMax == 0 ) nMax = 100; if ( nChecks > nMax ) { alert ( 'There are '+nChecks+' boxes checked or selected, that is more than the maximum allowed number of '+nMax ); return false; } var dirs = jQuery( '.wppa-dir' ); var nDirsChecked = 0; if ( dirs.length > 0 ) { var i = 0; while ( i < dirs.length ) { if ( jQuery( dirs[i] ).attr( 'checked' ) == 'checked' ) { nDirsChecked++; } i++; } } var zips = jQuery( '.wppa-zip' ); var nZipsChecked = 0; if ( zips.length > 0 ) { var i = 0; while ( i < zips.length ) { if ( jQuery( zips[i] ).attr( 'checked' ) == 'checked' ) { nZipsChecked++; } i++; } } // If no dirs to import checked, there must be an album selected if ( 0 == nDirsChecked && 0 == nZipsChecked && ! wppaVfyAlbum() ) return false; return true; } </script> <input type="submit" onclick="return wppaCheckInputVars()" class="button-primary" id="submit" name="wppa-import-submit" value="<?php _e('Import', 'wppa'); ?> " /> <script type="text/javascript" > var wppaImportRuns = false; function wppaDoAjaxImport() { wppaImportRuns = true; var data = ''; data += 'wppa-update-check='+jQuery( '#wppa-update-check' ).attr( 'value' ); data += '&wppa-photo-album='+jQuery( '#wppa-photo-album' ).attr( 'value' ); data += '&wppa-video-album='+jQuery( '#wppa-video-album' ).attr( 'value' ); data += '&wppa-audio-album='+jQuery( '#wppa-audio-album' ).attr( 'value' ); data += '&wppa-watermark-file='+jQuery( '#wppa-watermark-file' ).attr( 'value' ); data += '&wppa-watermark-pos='+jQuery( '#wppa-watermark-pos' ).attr( 'value' ); if ( jQuery( '#cre-album' ).attr( 'checked' ) ) data += '&cre-album='+jQuery( '#cre-album' ).attr( 'value' ); if ( jQuery( '#use-backup' ).attr( 'checked' ) ) data += '&use-backup=on'; //+jQuery( '#use-backup' ).attr( 'value' ); if ( jQuery( '#wppa-update' ).attr( 'checked' ) ) data += '&wppa-update=on'; //+jQuery( '#wppa-update' ).attr( 'value' ); if ( jQuery( '#wppa-nodups' ).attr( 'checked' ) ) data += '&wppa-nodups=on'; //+jQuery( '#wppa-nudups' ).attr( 'value' ); if ( jQuery( '#del-after-p' ).attr( 'checked' ) ) data += '&del-after-p=on'; if ( jQuery( '#del-after-v' ).attr( 'checked' ) ) data += '&del-after-v=on'; if ( jQuery( '#del-after-u' ).attr( 'checked' ) ) data += '&del-after-u=on'; data += '&wppa-import-submit=ajax'; var files = jQuery( ':checked' ); var found = false; var i=0; var elm; var fulldata; for ( i=0; i<files.length; i++ ) { found = false; // assume done elm = files[i]; // Is it a file checkbox? var temp = elm.id.split( '-' ); if ( temp[0] != 'file' ) continue; // no fulldata = data+'&import-ajax-file='+elm.title; found = true; break; } // alert( data ); if ( ! found ) { wppaStopAjaxImport(); return; // nothing left } // found one, do it var oldhtml=jQuery( '#name-'+elm.id ).html(); var xmlhttp = wppaGetXmlHttp(); xmlhttp.onreadystatechange = function() { if ( xmlhttp.readyState == 4 ) { if ( xmlhttp.status!=404 ) { if ( jQuery( '#del-after-p' ).attr( 'checked' ) ) { elm.checked = ''; elm.disabled = 'disabled'; elm.title = ''; jQuery( '#name-'+elm.id ).html( ' <b>'+xmlhttp.responseText+'</b>' ); } else { elm.checked = ''; jQuery( '#name-'+elm.id ).html( ' <b>'+xmlhttp.responseText+'</b>' ); } if ( wppaImportRuns ) { setTimeout( 'wppaDoAjaxImport()', 100 ); } } else { jQuery( '#name-'+elm.id ).html( ' <b>Not found</b>' ); } } } var url = wppaAjaxUrl+'?action=wppa&wppa-action=import'; xmlhttp.open( 'POST',url,true ); xmlhttp.setRequestHeader( "Content-type","application/x-www-form-urlencoded" ); xmlhttp.send( fulldata ); jQuery( '#name-'+elm.id ).html( ' <b style="color:blue" >Working...</b>' ); jQuery( '#wppa-start-ajax' ).css( 'display', 'none' ); jQuery( '#wppa-stop-ajax' ).css( 'display', 'inline' ); } function wppaStopAjaxImport() { wppaImportRuns = false; jQuery( '#wppa-start-ajax' ).css( 'display', 'inline' ); jQuery( '#wppa-stop-ajax' ).css( 'display', 'none' ); } </script> <?php if (($photocount || $videocount || $audiocount) && !$albumcount && !$dircount && !$zipcount) { ?> <input id="wppa-start-ajax" type="button" onclick="if ( wppaVfyAlbum() ) { wppaDoAjaxImport() }" class="button-secundary" value="Start Ajax" /> <input id="wppa-stop-ajax" style="display:none;" type="button" onclick="wppaStopAjaxImport()" class="button-secundary" value="Stop Ajax" /> <?php } ?> </p> </form> <?php } else { if ($source_type == 'local') { wppa_ok_message(__('There are no importable files found in directory:', 'wppa') . ' ' . $source_url); } else { wppa_ok_message(__('There are no photos found or left to process at url:', 'wppa') . ' ' . $source_url); } } echo '<br /><b>'; _e('You can import the following file types:', 'wppa'); echo '</b><br />'; if (PHP_VERSION_ID >= 50207) { echo '<br />'; _e('Compressed file types: .zip', 'wppa'); } if (true) { echo '<br />'; _e('Photo file types:', 'wppa'); foreach ($wppa_supported_photo_extensions as $ext) { echo ' .' . $ext; } } if (wppa_switch('enable_video')) { echo '<br />'; _e('Video file types:', 'wppa'); foreach ($wppa_supported_video_extensions as $ext) { echo ' .' . $ext; } } if (wppa_switch('enable_audio')) { echo '<br />'; _e('Audio file types:', 'wppa'); foreach ($wppa_supported_audio_extensions as $ext) { echo ' .' . $ext; } } echo '<br />'; _e('WPPA+ file types: .amf .pmf', 'wppa'); echo '<br />'; _e('Directories with optional subdirs containig photos', 'wppa'); echo '<br />'; _e('Custom data files of type .csv', 'wppa'); echo '<br /><br />'; _e('Your depot directory is:', 'wppa'); echo '<b> .../' . WPPA_DEPOT . '/</b>'; } else { ?> <?php $url = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_admin_menu'); ?> <p><?php _e('No albums exist. You must', 'wppa'); ?> <a href="<?php echo $url; ?> "><?php _e('create one', 'wppa'); ?> </a> <?php _e('beofre you can upload your photos.', 'wppa'); ?> </p><?php } if ($wppa['continue']) { wppa_warning_message(__('Trying to continue...', 'wppa')); echo '<script type="text/javascript">document.location=\'' . get_admin_url() . 'admin.php?page=wppa_import_photos&continue&nonce=' . wp_create_nonce('dirimport') . '\';</script>'; } ?> </div> <?php }
function wppa_walktree($relroot, $source, $allowwppa = false, $subdirsonly = false, $allowthumbs = true) { if (!$subdirsonly) { if ($relroot == $source) { $sel = ' selected="selected"'; } else { $sel = ' '; } $display = str_replace(WPPA_DEPOT, __('--- My depot --- ', 'wppa'), $relroot); $ngg_opts = get_option('ngg_options', false); if ($ngg_opts) { $display = str_replace($ngg_opts['gallerypath'], __('--- Ngg Galleries --- ', 'wppa'), $display); } echo '<option value="' . $relroot . '"' . $sel . '>' . $display . '</option>'; } $dirs = glob(WPPA_ABSPATH . $relroot . '/*', GLOB_ONLYDIR); if ($dirs) { foreach ($dirs as $path) { $dir = basename($path); if ($dir != "." && $dir != ".." && ($dir != "wppa" || $allowwppa) && ($dir != "thumbs" || $allowthumbs)) { $newroot = $relroot . '/' . $dir; wppa_walktree($newroot, $source, $allowwppa, false, $allowthumbs); } } } }