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>
|