nginx value popup + textarea

This commit is contained in:
Malishev Dmitry 2012-01-11 23:07:08 +03:00
parent 2dcbca9897
commit ac6a3b397f
3 changed files with 126 additions and 44 deletions

View file

@ -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);

View file

@ -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">\

View file

@ -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']);