/** * Outputs the form used by the importers to accept the data to be imported * * @since 0.0.1 * * @param string $action The action attribute for the form. */ function hq_import_upload_form($action) { /** * Filter the maximum allowed upload size for import files. * * @since 0.0.1 * * @see hq_max_upload_size() * * @param int $max_upload_size Allowed upload size. Default 1 MB. */ $bytes = apply_filters('import_upload_size_limit', hq_max_upload_size()); $size = size_format($bytes); $upload_dir = hq_upload_dir(); if (!empty($upload_dir['error'])) { ?> <div class="error"><p><?php _e('Before you can upload your import file, you will need to fix the following error:'); ?> </p> <p><strong><?php echo $upload_dir['error']; ?> </strong></p></div><?php } else { ?> <form enctype="multipart/form-data" id="import-upload-form" method="post" class="hq-upload-form" action="<?php echo esc_url(hq_nonce_url($action, 'import-upload')); ?> "> <p> <label for="upload"><?php _e('Choose a file from your computer:'); ?> </label> (<?php printf(__('Maximum size: %s'), $size); ?> ) <input type="file" id="upload" name="import" size="25" /> <input type="hidden" name="action" value="save" /> <input type="hidden" name="max_file_size" value="<?php echo $bytes; ?> " /> </p> <?php submit_button(__('Upload file and import'), 'button'); ?> </form> <?php } }
/** * Prints default plupload arguments. * * @since 0.0.1 */ function hq_plupload_default_settings() { $hq_scripts = hq_scripts(); $data = $hq_scripts->get_data('hq-plupload', 'data'); if ($data && false !== strpos($data, '_hqPluploadSettings')) { return; } $max_upload_size = hq_max_upload_size(); $defaults = array('runtimes' => 'html5,flash,silverlight,html4', 'file_data_name' => 'async-upload', 'url' => admin_url('async-upload.php', 'relative'), 'flash_swf_url' => includes_url('js/plupload/plupload.flash.swf'), 'silverlight_xap_url' => includes_url('js/plupload/plupload.silverlight.xap'), 'filters' => array('max_file_size' => $max_upload_size . 'b')); // Currently only iOS Safari supports multiple files uploading but iOS 7.x has a bug that prevents uploading of videos // when enabled. See #29602. if (hq_is_mobile() && strpos($_SERVER['HTTP_USER_AGENT'], 'OS 7_') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'like Mac OS X') !== false) { $defaults['multi_selection'] = false; } /** * Filter the Plupload default settings. * * @since 0.0.1 * * @param array $defaults Default Plupload settings array. */ $defaults = apply_filters('plupload_default_settings', $defaults); $params = array('action' => 'upload-attachment'); /** * Filter the Plupload default parameters. * * @since 0.0.1 * * @param array $params Default Plupload parameters array. */ $params = apply_filters('plupload_default_params', $params); $params['_hqnonce'] = hq_create_nonce('media-form'); $defaults['multipart_params'] = $params; $settings = array('defaults' => $defaults, 'browser' => array('mobile' => hq_is_mobile(), 'supported' => _device_can_upload()), 'limitExceeded' => is_multisite() && !is_upload_space_available()); $script = 'var _hqPluploadSettings = ' . hq_json_encode($settings) . ';'; if ($data) { $script = "{$data}\n{$script}"; } $hq_scripts->add_data('hq-plupload', 'data', $script); }