wp_back/wp-content/plugins/shortpixel-image-optimiser/class/view/settings/part-nokey.php
2024-05-20 15:37:46 +03:00

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>