197 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * File: s3.php
 | |
|  *
 | |
|  * @package W3TC
 | |
|  */
 | |
| 
 | |
| namespace W3TC;
 | |
| 
 | |
| if ( ! defined( 'W3TC' ) ) {
 | |
| 	die();
 | |
| }
 | |
| ?>
 | |
| <tr>
 | |
| 	<th colspan="2">
 | |
| 		<p class="description">
 | |
| 			<?php
 | |
| 			echo wp_kses(
 | |
| 				sprintf(
 | |
| 					// translators: 1 opening HTML a tag to Amazon UserGuide for Access Policy Language KeyConcepts, 2 opening HTML acronym tag.
 | |
| 					// translators: 3 closing HTML acronym tag, 4 closing HTML a tag, 5 opening HTML acronym tag,
 | |
| 					// translators: 6 closing HTML acronym tag, 7 opening HTML a tag to Amazons Policy Generator,
 | |
| 					// translators: 8 opening HTML acronym tag, 9 closing HTML acronym tag, 10 closing HTML a tag.
 | |
| 					__(
 | |
| 						'We recommend that you use %1$s%2$sIAM%3$s%4$s to create a new policy for %5$sAWS%6$s services that have limited permissions. A helpful tool: %7$s%8$sAWS%9$s Policy Generator%10$s',
 | |
| 						'w3-total-cache'
 | |
| 					),
 | |
| 					'<a href="' . esc_url( 'http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccessPolicyLanguage_KeyConcepts.html' ) . '" target="_blank">',
 | |
| 					'<acronym title="' . esc_attr__( 'AWS Identity and Access Management', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>',
 | |
| 					'</a>',
 | |
| 					'<acronym title="' . esc_attr__( 'Amazon Web Services', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>',
 | |
| 					'<a href="' . esc_url( 'http://awspolicygen.s3.amazonaws.com/policygen.html' ) . '" target="_blank">',
 | |
| 					'<acronym title="' . esc_attr__( 'Amazon Web Services', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>',
 | |
| 					'</a>'
 | |
| 				),
 | |
| 				array(
 | |
| 					'a'       => array(
 | |
| 						'href'   => array(),
 | |
| 						'target' => array(),
 | |
| 					),
 | |
| 					'acronym' => array(
 | |
| 						'title' => array(),
 | |
| 					),
 | |
| 				)
 | |
| 			);
 | |
| 			?>
 | |
| 		</p>
 | |
| 	</th>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th style="width: 300px;"><label for="cdn_s3_key"><?php esc_html_e( 'Access key ID:', 'w3-total-cache' ); ?></label></th>
 | |
| 	<td>
 | |
| 		<input id="cdn_s3_key" class="w3tc-ignore-change" type="text"
 | |
| 			<?php Util_Ui::sealing_disabled( 'cdn.' ); ?> name="cdn__s3__key" value="<?php echo esc_attr( $this->_config->get_string( 'cdn.s3.key' ) ); ?>" size="30" />
 | |
| 	</td>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th><label for="cdn_s3_secret"><?php esc_html_e( 'Secret key:', 'w3-total-cache' ); ?></label></th>
 | |
| 	<td>
 | |
| 		<input id="cdn_s3_secret" class="w3tc-ignore-change"
 | |
| 			<?php Util_Ui::sealing_disabled( 'cdn.' ); ?> type="password" name="cdn__s3__secret" value="<?php echo esc_attr( $this->_config->get_string( 'cdn.s3.secret' ) ); ?>" size="60" />
 | |
| 	</td>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th><label for="cdn_s3_bucket"><?php esc_html_e( 'Bucket:', 'w3-total-cache' ); ?></label></th>
 | |
| 	<td>
 | |
| 		<input id="cdn_s3_bucket" type="text" name="cdn__s3__bucket"
 | |
| 			<?php Util_Ui::sealing_disabled( 'cdn.' ); ?> value="<?php echo esc_attr( strtolower( $this->_config->get_string( 'cdn.s3.bucket' ) ) ); ?>" size="30" />
 | |
| 			<?php
 | |
| 			Util_Ui::selectbox(
 | |
| 				'cdn_s3_bucket_location',
 | |
| 				'cdn__s3__bucket__location',
 | |
| 				$this->_config->get_string( 'cdn.s3.bucket.location' ),
 | |
| 				CdnEngine_S3::regions_list()
 | |
| 			);
 | |
| 			?>
 | |
| 		<b>or</b>
 | |
| 		<input id="cdn_create_container" class="button {type: 's3', nonce: '<?php echo esc_attr( wp_create_nonce( 'w3tc' ) ); ?>'}" type="button" value="<?php esc_attr_e( 'Create as new bucket', 'w3-total-cache' ); ?>" /> <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
 | |
| 	</td>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th>
 | |
| 		<label for="cdn_s3_ssl">
 | |
| 			<?php
 | |
| 			echo wp_kses(
 | |
| 				sprintf(
 | |
| 					// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | |
| 					__(
 | |
| 						'%1$sSSL%2$s support:',
 | |
| 						'w3-total-cache'
 | |
| 					),
 | |
| 					'<acronym title="' . esc_attr__( 'Secure Sockets Layer', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>'
 | |
| 				),
 | |
| 				array(
 | |
| 					'acronym' => array(
 | |
| 						'title' => array(),
 | |
| 					),
 | |
| 				)
 | |
| 			);
 | |
| 			?>
 | |
| 		</label>
 | |
| 	</th>
 | |
| 	<td>
 | |
| 		<select id="cdn_s3_ssl" name="cdn__s3__ssl" <?php Util_Ui::sealing_disabled( 'cdn.' ); ?>>
 | |
| 			<option value="auto"<?php selected( $this->_config->get_string( 'cdn.s3.ssl' ), 'auto' ); ?>><?php esc_html_e( 'Auto (determine connection type automatically)', 'w3-total-cache' ); ?></option>
 | |
| 			<option value="enabled"<?php selected( $this->_config->get_string( 'cdn.s3.ssl' ), 'enabled' ); ?>><?php esc_html_e( 'Enabled (always use SSL)', 'w3-total-cache' ); ?></option>
 | |
| 			<option value="disabled"<?php selected( $this->_config->get_string( 'cdn.s3.ssl' ), 'disabled' ); ?>><?php esc_html_e( 'Disabled (always use HTTP)', 'w3-total-cache' ); ?></option>
 | |
| 		</select>
 | |
| 		<p class="description">
 | |
| 			<?php
 | |
| 			echo wp_kses(
 | |
| 				sprintf(
 | |
| 					// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag,
 | |
| 					// translators: 3 opening HTML acronym tag, 4 closing HTML acronym tag.
 | |
| 					__(
 | |
| 						'Some %1$sCDN%2$s providers may or may not support %3$sSSL%4$s, contact your vendor for more information.',
 | |
| 						'w3-total-cache'
 | |
| 					),
 | |
| 					'<acronym title="' . esc_attr__( 'Content Delivery Network', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>',
 | |
| 					'<acronym title="' . esc_attr__( 'Secure Sockets Layer', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>'
 | |
| 				),
 | |
| 				array(
 | |
| 					'acronym' => array(
 | |
| 						'title' => array(),
 | |
| 					),
 | |
| 				)
 | |
| 			);
 | |
| 			?>
 | |
| 		</p>
 | |
| 	</td>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th><?php esc_html_e( 'Replace site\'s hostname with:', 'w3-total-cache' ); ?></th>
 | |
| 	<td>
 | |
| 		<?php
 | |
| 		$cdn_s3_bucket = $this->_config->get_string( 'cdn.s3.bucket' );
 | |
| 		if ( '' !== $cdn_s3_bucket ) {
 | |
| 			echo esc_html( $cdn_s3_bucket ) . '.s3.amazonaws.com ';
 | |
| 		} else {
 | |
| 			echo '<bucket>.s3.amazonaws.com ';
 | |
| 		}
 | |
| 
 | |
| 		esc_html_e( 'or CNAME:', 'w3-total-cache' );
 | |
| 
 | |
| 		$cnames = $this->_config->get_array( 'cdn.s3.cname' );
 | |
| 		require W3TC_INC_DIR . '/options/cdn/common/cnames.php';
 | |
| 		?>
 | |
| 		<p class="description">
 | |
| 			<?php
 | |
| 			echo wp_kses(
 | |
| 				sprintf(
 | |
| 					// translators: 1 opening HTML a tag to Amazon UserGuide for Virtual Hosting, 2 closing HTML a tag,
 | |
| 					// translators: 3 opening HTML acronym tag, 4 closing HTML acronym tag.
 | |
| 					__(
 | |
| 						'If you have already added a %1$sCNAME%2$s to your %3$sDNS%4$s Zone, enter it here.',
 | |
| 						'w3-total-cache'
 | |
| 					),
 | |
| 					'<a href="' . esc_url( 'https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#VirtualHostingCustomURLs' ) . '" target="_blank">',
 | |
| 					'</a>',
 | |
| 					'<acronym title="' . esc_attr__( 'Domain Name System', 'w3-total-cache' ) . '">',
 | |
| 					'</acronym>'
 | |
| 				),
 | |
| 				array(
 | |
| 					'a'       => array(
 | |
| 						'href'   => array(),
 | |
| 						'target' => array(),
 | |
| 					),
 | |
| 					'acronym' => array(
 | |
| 						'title' => array(),
 | |
| 					),
 | |
| 				)
 | |
| 			);
 | |
| 			?>
 | |
| 		</p>
 | |
| 	</td>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th><label for="cdn_s3_public_objects"><?php esc_html_e( 'Set objects to publicly accessible on upload:', 'w3-total-cache' ); ?></label></th>
 | |
| 	<td>
 | |
| 		<select id="cdn_s3_public_objects" name="cdn__s3__public_objects" <?php Util_Ui::sealing_disabled( 'cdn.' ); ?> >
 | |
| 			<option value="enabled"<?php selected( $this->_config->get_string( 'cdn.s3.public_objects' ), 'enabled' ); ?>><?php esc_html_e( 'Enabled (apply the \'public-read\' ACL)', 'w3-total-cache' ); ?></option>
 | |
| 			<option value="disabled"<?php selected( $this->_config->get_string( 'cdn.s3.public_objects' ), 'disabled' ); ?>><?php esc_html_e( 'Disabled (don\'t apply an ACL)', 'w3-total-cache' ); ?></option>
 | |
| 		</select>
 | |
| 	</td>
 | |
| </tr>
 | |
| <tr>
 | |
| 	<th colspan="2">
 | |
| 		<input id="cdn_test" class="button {type: 's3', nonce: '<?php echo esc_attr( wp_create_nonce( 'w3tc' ) ); ?>'}" type="button" value="<?php esc_attr_e( 'Test S3 upload', 'w3-total-cache' ); ?>" /> <span id="cdn_test_status" class="w3tc-status w3tc-process"></span>
 | |
| 	</th>
 | |
| </tr>
 |