<?php include W3TC_DIR . '/inc/options/common/header.phtml'; ?>

<p>
	Content Delivery Network support via
	<strong><?php echo w3_get_engine_name($this->_config->get_string('cdn.engine')); ?></strong>
	is currently <span class="w3tc-<?php if ($cdn_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
</p>

<?php if ($cdn_mirror): ?>
<p>
	Maximize <acronym title="Content Delivery Network">CDN</acronym> usage by <input id="cdn_rename_domain" class="button" type="button" value="modify attachment URLs" /> or
	<input id="cdn_import_library" class="button" type="button" value="importing attachments into the Media Library" />.
</p>
<?php else: ?>
<p>
	Prepare the <acronym title="Content Delivery Network">CDN</acronym> by:
	<input id="cdn_import_library" class="button" type="button" value="importing attachments into the Media Library" /> then
	<input id="cdn_export_library" class="button" type="button" value="exporting media library to CDN" />.
	Check <input id="cdn_queue" class="button" type="button" value="unsuccessful file transfers" /> if some objects appear to be missing.
	<input id="cdn_rename_domain" class="button" type="button" value="Modify attachment URLs" /> if the domain name of your site has ever changed.
</p>
<?php endif; ?>

<form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
	<fieldset id="w3tc-cdn-general">
		<legend>General</legend>

        <table class="form-table">
        	<tr>
        		<th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
        			<input type="hidden" name="cdn.includes.enable" value="0" />
        			<label><input type="checkbox" name="cdn.includes.enable" value="1"<?php checked($this->_config->get_boolean('cdn.includes.enable'), true); ?> /> Host wp-includes/ files</label><br />
    				<span class="description">If checked, WordPress static core file types specified in the "wp-includes file types to upload" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</th>
        		<?php if (! $cdn_mirror): ?>
        		<td>
        			<input class="button cdn_export" type="button" name="includes" value="Upload includes files" />
        		</td>
        		<?php endif; ?>
        	</tr>
        	<tr>
        		<th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
        			<input type="hidden" name="cdn.theme.enable" value="0" />
        			<label><input type="checkbox" name="cdn.theme.enable" value="1"<?php checked($this->_config->get_boolean('cdn.theme.enable'), true); ?> /> Host theme files</label><br />
    				<span class="description">If checked, all theme file types specified in the "theme file types to upload" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</th>
        		<?php if (! $cdn_mirror): ?>
        		<td>
    				<input class="button cdn_export" type="button" name="theme" value="Upload theme files" />
        		</td>
        		<?php endif; ?>
        	</tr>
        	<tr>
        		<th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
        			<input type="hidden" name="cdn.minify.enable" value="0"<?php if (! W3TC_PHP5 || ! $minify_enabled || ! $this->_config->get_boolean('minify.rewrite')): ?> disabled="disabled"<?php endif; ?> />
        			<label><input type="checkbox" name="cdn.minify.enable" value="1"<?php checked($this->_config->get_boolean('cdn.minify.enable'), true); ?><?php if (! W3TC_PHP5 || ! $minify_enabled || ! $this->_config->get_boolean('minify.rewrite')): ?> disabled="disabled"<?php endif; ?> /> Host minified <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files</label><br />
    				<span class="description">If checked, minified <acronym>CSS</acronym> and <acronym>JS</acronym> files will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</th>
        		<?php if (! $cdn_mirror): ?>
        		<td>
    				<input class="button cdn_export" type="button" name="minify" value="Upload minify files"<?php if (! W3TC_PHP5 || ! $minify_enabled || ! $this->_config->get_boolean('minify.rewrite')): ?> disabled="disabled"<?php endif; ?> />
        		</td>
        		<?php endif; ?>
        	</tr>
        	<tr>
        		<th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
        			<input type="hidden" name="cdn.custom.enable" value="0" />
        			<label><input type="checkbox" name="cdn.custom.enable" value="1"<?php checked($this->_config->get_boolean('cdn.custom.enable'), true); ?> /> Host custom files</label><br />
    				<span class="description">If checked, any file names or paths specified in the "custom file list" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</th>
        		<?php if (! $cdn_mirror): ?>
        		<td>
    				<input class="button cdn_export" type="button" name="custom" value="Upload custom files" />
        		</td>
        		<?php endif; ?>
        	</tr>
        	<?php if (! $cdn_mirror): ?>
        	<tr>
        		<th colspan="2">
        			<input type="hidden" name="cdn.force.rewrite" value="0" />
        			<label><input type="checkbox" name="cdn.force.rewrite" value="1"<?php checked($this->_config->get_boolean('cdn.force.rewrite'), true); ?> /> Force over-writing of existing files</label><br />
        			<span class="description">If modified files are not always detected and replaced, use this option to over-write them.</span>
        		</th>
        	</tr>
        	<?php endif; ?>
        	<tr>
        		<th colspan="2">
        			<input type="hidden" name="cdn.import.external" value="0" />
        			<label><input type="checkbox" name="cdn.import.external" value="1"<?php checked($this->_config->get_boolean('cdn.import.external'), true); ?> /> Import external media library attachments</label><br />
        			<span class="description">Download attachments hosted elsewhere into your media library and deliver them via <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</th>
        	</tr>
        </table>

        <p class="submit">
        	<input type="submit" name="options_save" class="button-primary" value="Save changes" />
        </p>
	</fieldset>

	<fieldset>
		<legend>Configuration</legend>

        <table class="form-table">
    		<?php
    			switch ($cdn_engine) {
    				case 'mirror':
    				case 'netdna':
    				case 'ftp':
    				case 's3':
    				case 'cf':
    				case 'rscf':
    					include W3TC_DIR . '/inc/options/cdn/' . $cdn_engine . '.phtml';
    					break;
    			}
    		?>
        </table>

        <p class="submit">
        	<input type="submit" name="options_save" class="button-primary" value="Save changes" />
        </p>
	</fieldset>

	<fieldset>
		<legend>Advanced</legend>

        <table class="form-table">
        	<?php if (! $cdn_mirror): ?>
        	<tr>
        		<th valign="top">
        			<input type="hidden" name="cdn.autoupload.enabled" value="0" />
        			<label><input type="checkbox" name="cdn.autoupload.enabled" value="1"<?php checked($this->_config->get_boolean('cdn.autoupload.enabled'), true); ?> /> Enable changed files auto-upload</label>
        		</th>
        		<td>
        			<label style="font-size:13px;">
        				Auto upload interval:
						<input id="cdn_autoupload_interval" type="text" name="cdn.autoupload.interval" value="<?php echo $this->_config->get_integer('cdn.autoupload.interval'); ?>" size="8" /> seconds
					</label><br />
        			<span class="description">Automatically attempt to find and upload changed files.</span>
				</td>
        	</tr>
        	<tr>
        		<th><label for="cdn_limit_interval">Re-transfer cycle interval:</label></th>
        		<td>
        			<input id="cdn_limit_interval" type="text" name="cdn.queue.interval" value="<?php echo htmlspecialchars($this->_config->get_integer('cdn.queue.interval')); ?>" size="10" /> seconds<br />
        			<span class="description">The number of seconds to wait before upload attempt.</span>
        		</td>
        	</tr>
        	<tr>
        		<th><label for="cdn_limit_queue">Re-transfer cycle limit:</label></th>
        		<td>
        			<input id="cdn_limit_queue" type="text" name="cdn.queue.limit" value="<?php echo htmlspecialchars($this->_config->get_integer('cdn.queue.limit')); ?>" size="10" /><br />
        			<span class="description">Number of files processed per upload attempt.</span>
        		</td>
        	</tr>
        	<?php endif; ?>
        	<tr>
        		<th style="width: 300px;"><label for="cdn_includes_files">wp-includes file types to upload:</label></th>
        		<td>
        			<input id="cdn_includes_files" type="text" name="cdn.includes.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.includes.files')); ?>" size="100" /><br />
        			<span class="description">Specify the file types within the WordPress core to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</td>
        	</tr>
        	<tr>
        		<th><label for="cdn_theme_files">Theme file types to upload:</label></th>
        		<td>
        			<input id="cdn_theme_files" type="text" name="cdn.theme.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.theme.files')); ?>" size="100" /><br />
        			<span class="description">Specify the file types in the active theme to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</td>
        	</tr>
        	<tr>
        		<th><label for="cdn_import_files">File types to import:</label></th>
        		<td>
        			<input id="cdn_import_files" type="text" name="cdn.import.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.import.files')); ?>" size="100" /><br />
        			<span class="description">Automatically import files hosted with 3rd parties of these types (if used in your posts / pages) to your media library.</span>
        		</td>
        	</tr>
        	<tr>
        		<th valign="top"><label for="cdn_custom_files">Custom file list:</label></th>
        		<td>
        			<textarea id="cdn_custom_files" name="cdn.custom.files" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.custom.files'))); ?></textarea><br />
        			<span class="description">Specify any files outside of theme or other common directories to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</td>
        	</tr>
        	<tr>
        		<th valign="top"><label for="cdn_reject_ua">Rejected user agents:</label></th>
        		<td>
        			<textarea id="cdn_reject_ua" name="cdn.reject.ua" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.reject.ua'))); ?></textarea><br />
        			<span class="description">Specify user agents that should not access files hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</td>
        	</tr>
        	<tr>
        		<th valign="top"><label for="cdn_reject_files">Rejected files:</label></th>
        		<td>
        			<textarea id="cdn_reject_files" name="cdn.reject.files" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.reject.files'))); ?></textarea><br />
        			<span class="description">Specify the path of files that should not use the <acronym title="Content Delivery Network">CDN</acronym>.</span>
        		</td>
        	</tr>
        </table>

        <p class="submit">
        	<input type="submit" name="options_save" class="button-primary" value="Save changes" />
        </p>
	</fieldset>

	<fieldset>
		<legend>Note(s):</legend>

        <table class="form-table">
        	<tr>
        		<th valign="top" colspan="2">
					<ul>
						<li>If using Amazon Web Services or Self-Hosted <acronym title="Content Delivery Network">CDN</acronym> types, enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "Media &amp; Other Files" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
					</ul>
        		</th>
        	</tr>
        </table>
		
	</fieldset>
</form>

<?php include W3TC_DIR . '/inc/options/common/footer.phtml'; ?>