Viewing File: /usr/local/cpanel/base/frontend/jupiter/gpg/editpkey.html.tt
[% SET CPANEL.CPVAR.dprefix="../" %]
[%
SET export_key_call = execute("GPG", "export_secret_key", { "key_id" => RAW_FORM.key, "passphrase" => RAW_FORM.passphrase });
SET export_key = "";
IF export_key_call.status;
SET export_key = export_key_call.data.key_data;
END;
%]
[% js_code = PROCESS js_block %]
[% WRAPPER '_assets/master.html.tt'
app_key = 'encryption'
page_js = js_code
embed_stylesheets = [ 'gpg/editpkey.css' ]
%]
<div class="body-content">
<div class="section">
[% IF export_key_call.status %]
<div class="form-group">
<label id="lblPrivateKey">
[% locale.maketext("Private Key") %]
</label>
<div class="row">
<div class="col-xs-12 col-lg-6">
<textarea id="txtPrivateKey" cols="80" class="form-control" rows="10" readonly>[% export_key %]</textarea>
</div>
</div>
</div>
[% ELSIF export_key_call.data.type == 'Cpanel::Exception::GPG::PassphraseRequired' ||
export_key_call.data.type == 'Cpanel::Exception::GPG::IncorrectPassphrase' %]
<div class="row">
<div class="col-xs-12 col-sm-8 col-md-6">
[% IF export_key_call.data.type == 'Cpanel::Exception::GPG::IncorrectPassphrase' %]
<div>
<div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span>
<div class="alert-message">
<strong class="alert-title">
[% locale.maketext('Error:') %]
</strong>
<span class="alert-body">
<span id="incorrectPassphrase">
[% locale.maketext('You entered an incorrect passphrase. Please try again.') %]
</span>
</span>
</div>
</div>
</div>
[% END %]
<form method="post" id="frmPassphrase">
<div class="form-group">
<div class="row">
<div class="col-xs-12">
<label id="lblPassphrase">
[% locale.maketext('Please enter the passphrase for the key “[_1]”.', FORM.key) %]
</label>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<input name="passphrase" type="password" class="form-control" id="pwdPassphrase">
</div>
</div>
<div class="row">
<div class="col-xs-12">
<ul class="validation-container hidden" role="alert" id="pwdPassphraseErrorPanel">
<li class="validation validation-error">
<i class="fas fa-exclamation-circle" aria-hidden="true"></i>
<span id="pwdPassphraseErrorPanelRequired" class="validation-message">
<span>
[% locale.maketext('You must enter a passphrase.') %]
</span>
</span>
</li>
</ul>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary" id="btnPassphraseSubmit">
<i class="fas fa-sync fa-fw fa-spin hidden" aria-hidden="true" id="btnPassphraseSubmitSpinner"></i>
[% locale.maketext('Submit') %]
</button>
</form>
</div>
</div>
[% ELSE %]
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span>
<div class="alert-message">
<strong class="alert-title">
[% locale.maketext('Error:') %]
</strong>
<span class="alert-body">
<span id="loadError">
[% locale.maketext('The key failed to load due to an error: [_1]', export_key_call.errors.0) %]
</span>
</span>
</div>
</div>
</div>
[% END %]
</div>
[% INCLUDE _assets/return_link.html.tt return_location="index.html" return_link_text=locale.maketext("Go Back" ) %]
</div>
[% END %]
[% BLOCK js_block %]
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var txtarea = document.getElementById("txtPrivateKey");
if (txtarea) {
txtarea.addEventListener("click", function (e) {
e.target.select();
});
}
var passphraseForm = document.getElementById("frmPassphrase");
var passphraseInput = document.getElementById("pwdPassphrase");
var validationContainer = document.getElementById("pwdPassphraseErrorPanel");
if(!passphraseInput || !validationContainer || !passphraseForm) {
return;
}
passphraseInput.addEventListener("input", _validatePassphrase);
passphraseInput.addEventListener("change", _validatePassphrase);
passphraseInput.addEventListener("blur", _validatePassphrase);
function _validatePassphrase(e) {
if(passphraseInput.value) {
passphraseInput.dataset.valid = "1";
validationContainer.classList.add("hidden");
}
else {
delete passphraseInput.dataset.valid;
validationContainer.classList.remove("hidden");
}
}
passphraseForm.addEventListener("submit", function(e) {
_validatePassphrase(e);
if( !passphraseInput.dataset.valid ) {
e.preventDefault();
return;
}
var spinner = document.getElementById("btnPassphraseSubmitSpinner");
spinner.classList.remove("hidden");
var submitButton = document.getElementById("btnPassphraseSubmit");
submitButton.setAttribute("disabled", true);
});
});
</script>
[% END %]
Back to Directory
File Manager