mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-07-16 10:03:21 -07:00
[php][js] ssl uploading
This commit is contained in:
parent
ff84992687
commit
b7710ee5da
3 changed files with 50 additions and 101 deletions
|
@ -146,13 +146,20 @@ App.HTML.Build.web_domain_form = function (options, id) {
|
||||||
tpl.set(':title', 'Edit WEB domain');
|
tpl.set(':title', 'Edit WEB domain');
|
||||||
tpl.set(':save_button', 'SAVE');
|
tpl.set(':save_button', 'SAVE');
|
||||||
tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize());
|
tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize());
|
||||||
if (options.SSL == 'yes') {
|
if (options.SSL == 'on') {
|
||||||
tpl.set(':ssl_checked', 'checked="checked"');
|
tpl.set(':ssl_checked', 'checked="checked"');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tpl.set(':ssl_checked', '');
|
tpl.set(':ssl_checked', '');
|
||||||
}
|
}
|
||||||
|
if (options.SSL_HOME == 'on') {
|
||||||
|
tpl.set(':ssl_home_checked', 'checked="checked"');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
tpl.set(':ssl_home_checked', '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
options = !App.Helpers.isEmpty(options) ? options : App.Empty.WEB_DOMAIN;
|
options = !App.Helpers.isEmpty(options) ? options : App.Empty.WEB_DOMAIN;
|
||||||
if (in_edit == true) {
|
if (in_edit == true) {
|
||||||
options.STATS_PASSWORD = options.STATS_LOGIN.trim() != '' ? App.Settings.PASSWORD_IMMUTE : '';
|
options.STATS_PASSWORD = options.STATS_LOGIN.trim() != '' ? App.Settings.PASSWORD_IMMUTE : '';
|
||||||
|
@ -176,6 +183,25 @@ App.HTML.Build.web_domain_form = function (options, id) {
|
||||||
tpl.set(':ACTIVE_PASSWORD', 'hidden');
|
tpl.set(':ACTIVE_PASSWORD', 'hidden');
|
||||||
tpl.set(':stats_auth_checked', '');
|
tpl.set(':stats_auth_checked', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options.SSL == 'on') {
|
||||||
|
tpl.set(':ssl_checked', 'checked="checked"');
|
||||||
|
if (options.SSL_HOME == 'on') {
|
||||||
|
tpl.set(':ssl_home_checked', 'checked="checked"');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
tpl.set(':ssl_home_checked', '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tpl.set(':ssl_checked', '');
|
||||||
|
tpl.set(':ssl_home_checked', '');
|
||||||
|
tpl.set(':SSL_HOME', '');
|
||||||
|
tpl.set(':SSL_CRT', '');
|
||||||
|
tpl.set(':SSL_KEY', '');
|
||||||
|
tpl.set(':SSL_CA', '');
|
||||||
|
}
|
||||||
|
|
||||||
return tpl.finalize();
|
return tpl.finalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -669,8 +669,8 @@ App.Templates.html = {
|
||||||
<input type="checkbox" name="SSL" class="styled do_action_toggle_ssl_support ssl_support" ~!:ssl_checked~! value="~!SSL~!">\
|
<input type="checkbox" name="SSL" class="styled do_action_toggle_ssl_support ssl_support" ~!:ssl_checked~! value="~!SSL~!">\
|
||||||
</div>\
|
</div>\
|
||||||
<div class="form-row cc ssl-crtfct-box">\
|
<div class="form-row cc ssl-crtfct-box">\
|
||||||
<label for="#" class="field-label">SSL Document Root:</label>\
|
<label for="#" class="field-label">SSL Shared DocRoot:</label>\
|
||||||
<input type="text" name="SSL_HOME" class="text-field" value="~!:SSL_HOME~!">\
|
<input type="checkbox" name="SSL_HOME" class="styled" ~!:ssl_home_checked~! value="~!SSL_HOME~!">\
|
||||||
</div>\
|
</div>\
|
||||||
<div class="form-row ssl-crtfct-box cc">\
|
<div class="form-row ssl-crtfct-box cc">\
|
||||||
<label for="#" class="field-label">SSL Crtificate: <span class="remark">(upload file or paste as text)</span></label>\
|
<label for="#" class="field-label">SSL Crtificate: <span class="remark">(upload file or paste as text)</span></label>\
|
||||||
|
|
|
@ -36,8 +36,8 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
'ELOG' => $record['ELOG'],
|
'ELOG' => $record['ELOG'],
|
||||||
'STAT' => $record['STATS'],
|
'STAT' => $record['STATS'],
|
||||||
'STATS_LOGIN' => $record['STATS_AUTH'],
|
'STATS_LOGIN' => $record['STATS_AUTH'],
|
||||||
'SSL' => $record['SSL'],
|
'SSL' => $record['SSL'] == 'yes' ? 'on' : 'off',
|
||||||
'SSL_HOME' => $record['SSL_HOME'],
|
'SSL_HOME' => $record['SSL_HOME'] == 'tsingle' ? 'off' : 'on',
|
||||||
'SSL_CRT' => '',
|
'SSL_CRT' => '',
|
||||||
'SSL_KEY' => '',
|
'SSL_KEY' => '',
|
||||||
'SSL_CA' => '',
|
'SSL_CA' => '',
|
||||||
|
@ -170,29 +170,10 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if ($_s['SSL']) {
|
if (($_s['DNS_DOMAIN']) == 'on') {
|
||||||
$params = array(
|
echo 'adding dns domain';
|
||||||
'USER' => $user['uid'],
|
echo '<br>';
|
||||||
'DOMAIN' => $_s['DOMAIN'],
|
|
||||||
'SSL_CERT' => $_s['SSL_CERT']
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($_s['SSL_HOME']) {
|
|
||||||
$params['SSL_HOME'] = $_s['SSL_HOME'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = 0;
|
|
||||||
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
|
|
||||||
|
|
||||||
if (!$result['status']) {
|
|
||||||
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($_s['SSL_HOME']) {
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/*if (!empty($_s['DNS'])) {
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'USER' => $user['uid'],
|
'USER' => $user['uid'],
|
||||||
'DNS_DOMAIN' => $_s['DOMAIN'],
|
'DNS_DOMAIN' => $_s['DOMAIN'],
|
||||||
|
@ -207,7 +188,7 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
if (!$result['status']) {
|
if (!$result['status']) {
|
||||||
$this->errors['DNS_DOMAIN'] = array($result['error_code'] => $result['error_message']);
|
$this->errors['DNS_DOMAIN'] = array($result['error_code'] => $result['error_message']);
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
|
|
||||||
|
|
||||||
/*if (!empty($_s['MAIL'])) {
|
/*if (!empty($_s['MAIL'])) {
|
||||||
|
@ -277,11 +258,15 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
$_old['ELOG'] = $_old['ELOG'] == 'yes' ? 'on' : 'off';
|
$_old['ELOG'] = $_old['ELOG'] == 'yes' ? 'on' : 'off';
|
||||||
$_old['CGI'] = $_old['CGI'] == 'yes' ? 'on' : 'off';
|
$_old['CGI'] = $_old['CGI'] == 'yes' ? 'on' : 'off';
|
||||||
$_old['AUTH'] = $_old['AUTH'] == 'yes' ? 'on' : 'off';
|
$_old['AUTH'] = $_old['AUTH'] == 'yes' ? 'on' : 'off';
|
||||||
$_old['SSL'] = $_old['SSL'] == 'yes' ? 'on' : 'off';
|
// $_old['SSL'] = $_old['SSL'] == 'yes' ? 'on' : 'off';
|
||||||
|
// $_new['SSL'] = $_new['SSL'] == 'yes' ? 'on' : 'off';
|
||||||
|
// $_new['SSL_HOME'] = $_new['SSL_HOME'] == 'no' ? 'shared' : 'single';
|
||||||
|
|
||||||
$user = $this->getLoggedUser();
|
$user = $this->getLoggedUser();
|
||||||
$_DOMAIN = $_new['DOMAIN'];
|
$_DOMAIN = $_new['DOMAIN'];
|
||||||
|
|
||||||
|
$result['status'] = TRUE;
|
||||||
|
|
||||||
if ($_old['SUSPEND'] != $_new['SUSPEND']) {
|
if ($_old['SUSPEND'] != $_new['SUSPEND']) {
|
||||||
if ($_new['SUSPEND'] == 'on') {
|
if ($_new['SUSPEND'] == 'on') {
|
||||||
$result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
|
$result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
|
||||||
|
@ -451,91 +436,29 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
if (!empty($_s['SSL_KEY'])) {
|
|
||||||
$ssl_file = tempnam(sys_get_temp_dir(), 'ssl');
|
|
||||||
file_put_contents($ssl_file, $_s['SSL_KEY']);
|
|
||||||
|
|
||||||
$params = array(
|
|
||||||
'USER' => $user['uid'],
|
|
||||||
'DOMAIN' => $_s['DOMAIN'],
|
|
||||||
'SSL_KEY' => $ssl_file
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!empty($_s['SSL_HOME'])) {
|
if (( !empty($_new['SSL_KEY']) && !empty($_new['SSL_CRT']) && $_new['SSL'] == 'on') || $_old['SSL_HOME'] != $_new['SSL_HOME']) {
|
||||||
$params['SSL_HOME'] = $_s['SSL_HOME'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = 0;
|
|
||||||
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
|
|
||||||
|
|
||||||
if (!$result['status']) {
|
|
||||||
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (!empty($_s['SSL_CERT'])) {
|
|
||||||
$sslcert_file = tempnam(sys_get_temp_dir(), 'ssl');
|
|
||||||
file_put_contents($sslcert_file, $_s['SSL_CERT']);
|
|
||||||
|
|
||||||
$params = array(
|
|
||||||
'USER' => $user['uid'],
|
|
||||||
'DOMAIN' => $_s['DOMAIN'],
|
|
||||||
'SSL_CERT' => $sslcert_file
|
|
||||||
);
|
|
||||||
|
|
||||||
$result = 0;
|
|
||||||
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSLCERT, $params);
|
|
||||||
|
|
||||||
if (!$result['status']) {
|
|
||||||
$this->errors['SSL_CERT'] = array($result['error_code'] => $result['error_message']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
if (!empty($_new['SSL_KEY']) && !empty($_new['SSL_CRT'])) {
|
|
||||||
// $ssl_dir = sys_get_temp_dir().'/ssl/'.rand();
|
|
||||||
$ssl_dir = sys_get_temp_dir().'/';
|
$ssl_dir = sys_get_temp_dir().'/';
|
||||||
// if(!mkdir($ssl_dir)){
|
|
||||||
// return $this->reply(FALSE, array('error' => 'can\'t create temp ssl dir: '.$ssl_dir));
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$ssl_crt_file = $ssl_dir . $_new['DOMAIN'] . '.crt';
|
$ssl_crt_file = $ssl_dir . $_new['DOMAIN'] . '.crt';
|
||||||
if(!file_put_contents($ssl_crt_file, $_new['SSL_CRT']))
|
file_put_contents($ssl_crt_file, $_new['SSL_CRT']);
|
||||||
|
|
||||||
$ssl_key_file = $ssl_dir . $_new['DOMAIN'] . '.key';
|
$ssl_key_file = $ssl_dir . $_new['DOMAIN'] . '.key';
|
||||||
file_put_contents($ssl_key_file, $_new['SSL_KEY']);
|
file_put_contents($ssl_key_file, $_new['SSL_KEY']);
|
||||||
|
|
||||||
if (!empty($_new['SSL_CA'])) {
|
if (!empty($_new['SSL_CA'])) {
|
||||||
$ssl_ca_file = $ssl_dir . $_new['DOMAIN'] . '.ca';
|
$ssl_ca_file = $ssl_dir . $_new['DOMAIN'] . '.ca';
|
||||||
// file_put_contents($ssl_ca_file, $_new['SSL_CA']);
|
file_put_contents($ssl_ca_file, $_new['SSL_CA']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// echo '<br>';
|
|
||||||
// echo $ssl_crt_file;
|
|
||||||
// echo '<br>';
|
|
||||||
// echo $ssl_key_file;
|
|
||||||
// echo '<br>';
|
|
||||||
// echo $ssl_ca_file;
|
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'USER' => $user['uid'],
|
'USER' => $user['uid'],
|
||||||
'DOMAIN' => $_DOMAIN,
|
'DOMAIN' => $_DOMAIN,
|
||||||
'SSL_DIR' => $ssl_dir
|
'SSL_DIR' => $ssl_dir,
|
||||||
// 'SSL_DIR' => 'tmp'
|
'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'shared' : 'single'
|
||||||
);
|
);
|
||||||
|
|
||||||
// if (!empty($_s['SSL_HOME'])) {
|
|
||||||
// $params['SSL_HOME'] = $_s['SSL_HOME'];
|
|
||||||
// }
|
|
||||||
|
|
||||||
$result = 0;
|
$result = 0;
|
||||||
|
|
||||||
if($_old['SSL'] == 'on'){
|
if($_old['SSL'] == 'on'){
|
||||||
$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSL, $params);
|
$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSL, $params);
|
||||||
}
|
}
|
||||||
|
@ -543,8 +466,6 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
|
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
// print_r($result);
|
|
||||||
|
|
||||||
if (!$result['status']) {
|
if (!$result['status']) {
|
||||||
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
|
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
|
||||||
}
|
}
|
||||||
|
@ -552,12 +473,14 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
unlink($ssl_crt_file);
|
unlink($ssl_crt_file);
|
||||||
unlink($ssl_key_file);
|
unlink($ssl_key_file);
|
||||||
unlink($ssl_ca_file);
|
unlink($ssl_ca_file);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($_new['SSL_KEY']) && empty($_new['SSL_CRT']) && $_old['SSL'] == 'on') {
|
if ( ((empty($_new['SSL_KEY']) || empty($_new['SSL_CRT'])) && $_old['SSL'] == 'on') || ( $_old['SSL'] == 'on' && $_new['SSL'] == 'off') ){
|
||||||
$result = 0;
|
$result = 0;
|
||||||
$result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN_SSL, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
|
$result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN_SSL, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
|
||||||
|
if (!$result['status']) {
|
||||||
|
$this->errors['SSL_REMOVING'] = array($result['error_code'] => $result['error_message']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->reply($result['status'], $result['data']);
|
return $this->reply($result['status'], $result['data']);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue