mirror of
https://github.com/myvesta/vesta
synced 2025-07-15 09:33:24 -07:00
nginx value popup + textarea
This commit is contained in:
parent
2dcbca9897
commit
ac6a3b397f
3 changed files with 126 additions and 44 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
App.Actions.view_nginx_extensions = function(evt)
|
||||||
|
{
|
||||||
|
var elm = $(evt.target);
|
||||||
|
var ref = elm.hasClass('row') ? elm : elm.parents('.row');
|
||||||
|
var data = App.Helpers.evalJSON(ref.find('.source').val());
|
||||||
|
var extensions = data['NGINX_EXT'] || '';
|
||||||
|
var html = extensions.replace(/,/gi, ' ');
|
||||||
|
App.Helpers.openInnerPopup(elm, html, 'Nginx extensions');
|
||||||
|
}
|
||||||
|
|
||||||
App.Actions.login_as = function(evt)
|
App.Actions.login_as = function(evt)
|
||||||
{
|
{
|
||||||
var elm = $(evt.target);
|
var elm = $(evt.target);
|
||||||
|
|
|
@ -303,7 +303,7 @@ App.Templates.html = {
|
||||||
<input type="hidden" class="source" name="source" value=\'~!:source~!\' />\
|
<input type="hidden" class="source" name="source" value=\'~!:source~!\' />\
|
||||||
<input type="hidden" class="target" name="target" value="" />\
|
<input type="hidden" class="target" name="target" value="" />\
|
||||||
<div class="row-actions-box cc">\
|
<div class="row-actions-box cc">\
|
||||||
<div class="check-this"></div>\
|
<div class="check-this check-control"></div>\
|
||||||
<div class="row-operations">\
|
<div class="row-operations">\
|
||||||
~!:SUSPENDED_TPL~!\
|
~!:SUSPENDED_TPL~!\
|
||||||
</div>\
|
</div>\
|
||||||
|
@ -641,6 +641,10 @@ App.Templates.html = {
|
||||||
<label for="#" class="field-label">Domain Aliases:</label>\
|
<label for="#" class="field-label">Domain Aliases:</label>\
|
||||||
<textarea name="ALIAS" class="textarea rule-alias">~!:ALIAS~!</textarea>\
|
<textarea name="ALIAS" class="textarea rule-alias">~!:ALIAS~!</textarea>\
|
||||||
</div>\
|
</div>\
|
||||||
|
<div class="form-row cc">\
|
||||||
|
<label for="#" class="field-label">Nginx extensions:</label>\
|
||||||
|
<textarea name="NGINX_EXT" class="textarea rule-list">~!:NGINX_EXT~!</textarea>\
|
||||||
|
</div>\
|
||||||
<div class="form-row cc">\
|
<div class="form-row cc">\
|
||||||
<label for="#" class="field-label">Statistics:</label>\
|
<label for="#" class="field-label">Statistics:</label>\
|
||||||
<select name="STAT" class="styled">~!:STAT_OPTIONS~!</select>\
|
<select name="STAT" class="styled">~!:STAT_OPTIONS~!</select>\
|
||||||
|
@ -856,6 +860,10 @@ App.Templates.html = {
|
||||||
<label for="#" class="field-label">Host:</label>\
|
<label for="#" class="field-label">Host:</label>\
|
||||||
<select name="HOST" class="styled">~!:HOST_OPTIONS~!</select>\
|
<select name="HOST" class="styled">~!:HOST_OPTIONS~!</select>\
|
||||||
</div>\
|
</div>\
|
||||||
|
<div class="form-row cc">\
|
||||||
|
<label for="#" class="field-label">Encoding:</label>\
|
||||||
|
<select name="TYPE" class="styled">~!:ENCODING_OPTIONS~!</select>\
|
||||||
|
</div>\
|
||||||
<div class="form-row suspended cc">\
|
<div class="form-row suspended cc">\
|
||||||
<label for="#" class="field-label">Suspended:</label>\
|
<label for="#" class="field-label">Suspended:</label>\
|
||||||
<input type="checkbox" ~!:SUSPENDED_CHECKED~! value="~!:SUSPENDED_VALUE~!" class="styled do_action_toggle_suspend" name="SUSPEND" />\
|
<input type="checkbox" ~!:SUSPENDED_CHECKED~! value="~!:SUSPENDED_VALUE~!" class="styled do_action_toggle_suspend" name="SUSPEND" />\
|
||||||
|
@ -899,7 +907,11 @@ App.Templates.html = {
|
||||||
<span class="add-db-user do_action_add_db_user">Add user</span>\
|
<span class="add-db-user do_action_add_db_user">Add user</span>\
|
||||||
</div>\
|
</div>\
|
||||||
<div class="props-ext">\
|
<div class="props-ext">\
|
||||||
<span class="backup-db do_action_backup_db">backup</span>\
|
<!-- span class="backup-db do_action_backup_db">backup</span-->\
|
||||||
|
<span class="prop-box">\
|
||||||
|
<span class="prop-title">encoding:</span>\
|
||||||
|
<span class="prop-value">~!:ENCODING~!</span>\
|
||||||
|
</span>\
|
||||||
<!-- disk usage block -->\
|
<!-- disk usage block -->\
|
||||||
<div class="b-usage-box disk-usage cc">\
|
<div class="b-usage-box disk-usage cc">\
|
||||||
<div class="usage-box">\
|
<div class="usage-box">\
|
||||||
|
|
|
@ -38,14 +38,26 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
'STATS_LOGIN' => $record['STATS_AUTH'],
|
'STATS_LOGIN' => $record['STATS_AUTH'],
|
||||||
'SSL' => $record['SSL'],
|
'SSL' => $record['SSL'],
|
||||||
'SSL_HOME' => $record['SSL_HOME'],
|
'SSL_HOME' => $record['SSL_HOME'],
|
||||||
'SSL_CERT' => $record['SSL_CERT'],
|
'SSL_CRT' => '',
|
||||||
'SSL_KEY' => $record['SSL_KEY'],
|
'SSL_KEY' => '',
|
||||||
|
'SSL_CA' => '',
|
||||||
'NGINX' => $record['NGINX'],
|
'NGINX' => $record['NGINX'],
|
||||||
'NGINX_EXT' => $record['NGINX_EXT'],
|
'NGINX_EXT' => $record['NGINX_EXT'],
|
||||||
'SUSPEND' => $record['SUSPEND'],
|
'SUSPEND' => $record['SUSPEND'] == 'on' ? 'on' : 'off',
|
||||||
'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
|
'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
|
||||||
);
|
);
|
||||||
$web_details['STAT'] == '' ? $web_details['STAT'] = 'none' : true;
|
$web_details['STAT'] == '' ? $web_details['STAT'] = 'none' : true;
|
||||||
|
|
||||||
|
if($record['SSL'] == 'yes'){
|
||||||
|
$result_ssl = Vesta::execute(Vesta::V_LIST_WEB_DOMAIN_SSL, array('USER' => $user['uid'], 'DOMAIN' => $web_domain, self::JSON));
|
||||||
|
|
||||||
|
if($result_ssl['status']){
|
||||||
|
foreach ($result_ssl['data'][$web_domain] as $key => $value) {
|
||||||
|
$web_details['SSL_'.$key] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$reply[$web_domain] = $web_details;
|
$reply[$web_domain] = $web_details;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,25 +451,7 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if ($_new['SSL']) {
|
/*
|
||||||
$params = array(
|
|
||||||
'USER' => $user['uid'],
|
|
||||||
'DOMAIN' => $_new['DOMAIN'],
|
|
||||||
'SSL_CERT' => $_new['SSL_CERT']
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($_new['SSL_HOME']) {
|
|
||||||
$params['SSL_HOME'] = $_new['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_KEY'])) {
|
if (!empty($_s['SSL_KEY'])) {
|
||||||
$ssl_file = tempnam(sys_get_temp_dir(), 'ssl');
|
$ssl_file = tempnam(sys_get_temp_dir(), 'ssl');
|
||||||
file_put_contents($ssl_file, $_s['SSL_KEY']);
|
file_put_contents($ssl_file, $_s['SSL_KEY']);
|
||||||
|
@ -498,8 +492,74 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
$this->errors['SSL_CERT'] = array($result['error_code'] => $result['error_message']);
|
$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().'/';
|
||||||
|
// 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';
|
||||||
|
if(!file_put_contents($ssl_crt_file, $_new['SSL_CRT']))
|
||||||
|
|
||||||
|
$ssl_key_file = $ssl_dir . $_new['DOMAIN'] . '.key';
|
||||||
|
file_put_contents($ssl_key_file, $_new['SSL_KEY']);
|
||||||
|
|
||||||
|
if (!empty($_new['SSL_CA'])) {
|
||||||
|
$ssl_ca_file = $ssl_dir . $_new['DOMAIN'] . '.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(
|
||||||
|
'USER' => $user['uid'],
|
||||||
|
'DOMAIN' => $_DOMAIN,
|
||||||
|
'SSL_DIR' => $ssl_dir
|
||||||
|
// 'SSL_DIR' => 'tmp'
|
||||||
|
);
|
||||||
|
|
||||||
|
// if (!empty($_s['SSL_HOME'])) {
|
||||||
|
// $params['SSL_HOME'] = $_s['SSL_HOME'];
|
||||||
|
// }
|
||||||
|
|
||||||
|
$result = 0;
|
||||||
|
|
||||||
|
if($_old['SSL'] == 'on'){
|
||||||
|
$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSL, $params);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
|
||||||
|
}
|
||||||
|
|
||||||
|
// print_r($result);
|
||||||
|
|
||||||
|
if (!$result['status']) {
|
||||||
|
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
|
||||||
|
}
|
||||||
|
|
||||||
|
unlink($ssl_crt_file);
|
||||||
|
unlink($ssl_key_file);
|
||||||
|
unlink($ssl_ca_file);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($_new['SSL_KEY']) && empty($_new['SSL_CRT']) && $_old['SSL'] == 'on') {
|
||||||
|
$result = 0;
|
||||||
|
$result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN_SSL, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
|
||||||
|
}
|
||||||
|
|
||||||
return $this->reply($result['status'], $result['data']);
|
return $this->reply($result['status'], $result['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -551,7 +611,7 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
$_entities = $request->getParameter('entities');
|
$_entities = $request->getParameter('entities');
|
||||||
|
|
||||||
foreach($_entities as $entity){
|
foreach($_entities as $entity){
|
||||||
$result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user, $entity['DOMAIN']));
|
$result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], $entity['DOMAIN']));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->reply($result['status'], $result['data']);
|
return $this->reply($result['status'], $result['data']);
|
||||||
|
@ -563,7 +623,7 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
$_entities = $request->getParameter('entities');
|
$_entities = $request->getParameter('entities');
|
||||||
|
|
||||||
foreach($_entities as $entity){
|
foreach($_entities as $entity){
|
||||||
$result = Vesta::execute(Vesta::V_UNUSPEND_WEB_DOMAIN, array('USER' => $user, $entity['DOMAIN']));
|
$result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], $entity['DOMAIN']));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->reply($result['status'], $result['data']);
|
return $this->reply($result['status'], $result['data']);
|
||||||
|
@ -575,7 +635,7 @@ class WEB_DOMAIN extends AjaxHandler
|
||||||
$_entities = $request->getParameter('entities');
|
$_entities = $request->getParameter('entities');
|
||||||
|
|
||||||
foreach($_entities as $entity){
|
foreach($_entities as $entity){
|
||||||
$result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN, array('USER' => $user, $entity['DOMAIN']));
|
$result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN, array('USER' => $user['uid'], $entity['DOMAIN']));
|
||||||
}
|
}
|
||||||
|
|
||||||
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