145 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace ShortPixel;
 | 
						|
use ShortPixel\Notices\NoticeController as Notice;
 | 
						|
use ShortPixel\ShortPixelLogger\ShortPixelLogger as Log;
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
 exit; // Exit if accessed directly.
 | 
						|
}
 | 
						|
 | 
						|
$canValidate = false;
 | 
						|
// Several conditions for showing API key.
 | 
						|
if ($this->hide_api_key)
 | 
						|
  $showApiKey = false;
 | 
						|
elseif($this->is_multisite && $this->is_constant_key)
 | 
						|
  $showApiKey = false;
 | 
						|
else {
 | 
						|
  $showApiKey = true;  // is_mainsite, multisite, no constant.
 | 
						|
}
 | 
						|
 | 
						|
$editApiKey = (! $this->is_constant_key && $showApiKey) ? true : false;
 | 
						|
 | 
						|
// Notices for fringe cases
 | 
						|
if (! $this->is_verifiedkey && $this->hide_api_key && ! $this->is_constant_key)
 | 
						|
{
 | 
						|
  Notice::addError(__('wp-config.php is hiding the API key, but no API key was found. Remove the constant, or define the SHORTPIXEL_API_KEY constant as well', 'shortpixel-image-optimiser'));
 | 
						|
}
 | 
						|
elseif ($this->is_constant_key && ! $this->is_verifiedkey)
 | 
						|
{
 | 
						|
  $dkey = ($this->hide_api_key) ? '' : '(' . SHORTPIXEL_API_KEY.  ')';
 | 
						|
  Notice::addError(sprintf(__('Constant API Key is not verified. Please check if this is a valid API key %s'),$dkey));
 | 
						|
}
 | 
						|
 | 
						|
$adminEmail = get_bloginfo('admin_email');
 | 
						|
 | 
						|
?>
 | 
						|
<section id="tab-settings" class="sel-tab" >
 | 
						|
    <h2><a class='tab-link' href='javascript:void(0);' data-id="tab-settings">
 | 
						|
      <?php esc_html_e('Join ShortPixel','shortpixel-image-optimiser');?></a>
 | 
						|
    </h2>
 | 
						|
<div class="wp-shortpixel-options wp-shortpixel-tab-content">
 | 
						|
<?php if($showApiKey): ?>
 | 
						|
	 <!-- // @todo Inline CSS on whole page-->
 | 
						|
  <h3><?php esc_html_e('Request an API Key:','shortpixel-image-optimiser');?></h3>
 | 
						|
<p style='font-size: 14px'><?php esc_html_e('If you don\'t have an API Key, you can request one for free. Just press the "Request Key" button after checking that the e-mail is correct.','shortpixel-image-optimiser');?></p>
 | 
						|
 | 
						|
<table class="form-table">
 | 
						|
    <tbody>
 | 
						|
        <tr>
 | 
						|
            <th scope="row"><label for="key"><?php esc_html_e('E-mail address:','shortpixel-image-optimiser');?></label></th>
 | 
						|
            <td>
 | 
						|
							<form method="POST" action="<?php echo esc_url(add_query_arg(array('noheader' => 'true', 'sp-action' => 'action_request_new_key'))) ?>"
 | 
						|
								  id="shortpixel-form-request-key">
 | 
						|
								  <?php wp_nonce_field($this->form_action, 'sp-nonce'); ?>
 | 
						|
 | 
						|
 | 
						|
                <input name="pluginemail" type="text" id="pluginemail" value="<?php echo esc_attr( sanitize_email($adminEmail) );?>"
 | 
						|
                       class="regular-text">
 | 
						|
 | 
						|
                <span class="spinner" id="pluginemail_spinner" style="float:none;"></span>
 | 
						|
 | 
						|
                <button type="submit" id="request_key" class="button button-primary" title="<?php esc_html_e('Request a new API key','shortpixel-image-optimiser');?>"
 | 
						|
                   href="https://shortpixel.com/free-sign-up?pluginemail=<?php echo esc_attr( esc_url($adminEmail) );?>">
 | 
						|
                   <?php esc_html_e('Request Key','shortpixel-image-optimiser');?>
 | 
						|
                </button>
 | 
						|
                <p class="settings-info shortpixel-settings-error" style='display:none;' id='pluginemail-error'>
 | 
						|
                    <b><?php esc_html_e('Please provide a valid e-mail address.', 'shortpixel-image-optimiser');?></b>
 | 
						|
                </p>
 | 
						|
                <p class="settings-info" id='pluginemail-info'>
 | 
						|
                    <?php if($adminEmail) {
 | 
						|
                        printf(esc_html__('%s %s %s is the e-mail address in your WordPress Settings. You can use it, or change it to any valid e-mail address that you own.','shortpixel-image-optimiser'), '<b>', esc_html(sanitize_email($adminEmail)),  '</b>');
 | 
						|
                    } else {
 | 
						|
                        esc_html_e('Please input your e-mail address and press the Request Key button.','shortpixel-image-optimiser');
 | 
						|
                    }
 | 
						|
                    ?><p><span style="position:relative;">
 | 
						|
                        <input name="tos" type="checkbox" id="tos">
 | 
						|
                        <img id="tos-robo" alt="<?php esc_html_e('ShortPixel logo', 'shortpixel-image-optimiser'); ?>"
 | 
						|
                             src="<?php echo esc_url(wpSPIO()->plugin_url('res/img/slider.png' ));?>" style="position: absolute;left: -95px;bottom: -26px;display:none;">
 | 
						|
                        <img id="tos-hand" alt="<?php esc_html_e('Hand pointing', 'shortpixel-image-optimiser'); ?>"
 | 
						|
                             src="<?php echo esc_url(wpSPIO()->plugin_url('res/img/point.png' ));?>" style="position: absolute;left: -39px;bottom: -9px;display:none;">
 | 
						|
                    </span>
 | 
						|
                    <label for="tos"><?php printf(esc_html__('I have read and I agree to the %s Terms of Service %s and the %s Privacy Policy %s (%s GDPR compliant %s).','shortpixel-image-optimiser'), '<a href="https://shortpixel.com/tos" target="_blank">', '</a>', '<a href="https://shortpixel.com/privacy" target="_blank">', '</a>', '<a href="https://shortpixel.com/privacy#gdpr" target="_blank">', '</a>');
 | 
						|
                    ?> </label></p>
 | 
						|
                </p>
 | 
						|
								</form>
 | 
						|
            </td>
 | 
						|
        </tr>
 | 
						|
    </tbody>
 | 
						|
</table>
 | 
						|
<?php endif; ?>
 | 
						|
<h3>
 | 
						|
    <?php esc_html_e('Already have an API Key:','shortpixel-image-optimiser');?>
 | 
						|
</h3>
 | 
						|
<p style='font-size: 14px'>
 | 
						|
    <?php esc_html_e('If you already have an API Key please input it below and press Validate.','shortpixel-image-optimiser');?>
 | 
						|
</p>
 | 
						|
 | 
						|
<form method="POST" action="<?php echo esc_url(add_query_arg(array('noheader' => 'true', 'sp-action' => 'action_addkey'))) ?>"
 | 
						|
  id="shortpixel-form-nokey">
 | 
						|
  <?php wp_nonce_field($this->form_action, 'sp-nonce'); ?>
 | 
						|
 | 
						|
<table class="form-table">
 | 
						|
    <tbody>
 | 
						|
        <tr>
 | 
						|
            <th scope="row"><label for="key"><?php esc_html_e('API Key:','shortpixel-image-optimiser');?></label></th>
 | 
						|
            <td>
 | 
						|
              <?php
 | 
						|
              if($showApiKey) {
 | 
						|
 | 
						|
                  if (! $this->is_constant_key)
 | 
						|
                    $canValidate = true;
 | 
						|
 | 
						|
              ?>
 | 
						|
                  <input name="key" type="text" id="key" value="<?php echo esc_attr( $view->data->apiKey );?>"
 | 
						|
                     class="regular-text" <?php echo($editApiKey ? "" : 'disabled') ?> >
 | 
						|
                <?php
 | 
						|
                  }
 | 
						|
                  elseif(defined("SHORTPIXEL_API_KEY")) {
 | 
						|
                    $canValidate = true;?>
 | 
						|
                    <input name="key" type="text" id="key" disabled="true" placeholder="<?php
 | 
						|
                    if( $this->hide_api_key ) {
 | 
						|
                        echo esc_html("********************");
 | 
						|
                    } else {
 | 
						|
                        esc_html_e('Multisite API Key','shortpixel-image-optimiser');
 | 
						|
                    }
 | 
						|
                    ?>" class="regular-text">
 | 
						|
                <?php } ?>
 | 
						|
                    <input type="hidden" name="validate" id="valid" value="validate"/>
 | 
						|
                    <span class="spinner" id="pluginemail_spinner" style="float:none;"></span>
 | 
						|
                    <button type="submit" id="validate" class="button button-primary" title="<?php esc_html_e('Validate the provided API key','shortpixel-image-optimiser');?>"
 | 
						|
                        >
 | 
						|
                        <?php esc_html_e('Validate','shortpixel-image-optimiser');?>
 | 
						|
                    </button>
 | 
						|
 | 
						|
                <?php if($this->is_constant_key) { ?>
 | 
						|
                    <p class="settings-info"><?php esc_html_e('Key defined in wp-config.php.','shortpixel-image-optimiser');?></p>
 | 
						|
                <?php } ?>
 | 
						|
 | 
						|
            </td>
 | 
						|
        </tr>
 | 
						|
    </tbody>
 | 
						|
</table>
 | 
						|
</form>
 | 
						|
</div> <!-- tab content -->
 | 
						|
</section>
 |