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)
{
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="target" name="target" value="" />\
<div class="row-actions-box cc">\
<div class="check-this"></div>\
<div class="check-this check-control"></div>\
<div class="row-operations">\
~!:SUSPENDED_TPL~!\
</div>\
@ -509,19 +509,19 @@ App.Templates.html = {
<div class="max-size">~!:DISK_QUOTA~! <span class="units">~!:DISK_QUOTA_MEASURE_2~!</span></div>\
</div>\
</div><!-- // disk usage block -->\
<div class="b-usage-box2 bandwidth-box cc">\
<span class="prop-title">bandwidth:</span>\
<div class="usage-box">\
<div class="value-box ~!:OVER_DRAFT_VALUE_2~!">\
<div class="graph">\
<span style="left:~!:U_BANDWIDTH_PERCENTAGE_2~!%;" class="value">~!:U_BANDWIDTH_PERCENTAGE~!% <span class="value-size">(~!:U_BANDWIDTH~! ~!:BANDWIDTH_MEASURE~!)</span></span>\
<span style="width:~!:U_BANDWIDTH_PERCENTAGE_3~!%;" class="bar"></span>\
~!:OVER_BAR_2~!\
</div>\
</div>\
<div class="max-size">~!:BANDWIDTH~! <span class="units">~!:BANDWIDTH_MEASURE_2~!</span></div>\
</div>\
</div>\
<div class="b-usage-box2 bandwidth-box cc">\
<span class="prop-title">bandwidth:</span>\
<div class="usage-box">\
<div class="value-box ~!:OVER_DRAFT_VALUE_2~!">\
<div class="graph">\
<span style="left:~!:U_BANDWIDTH_PERCENTAGE_2~!%;" class="value">~!:U_BANDWIDTH_PERCENTAGE~!% <span class="value-size">(~!:U_BANDWIDTH~! ~!:BANDWIDTH_MEASURE~!)</span></span>\
<span style="width:~!:U_BANDWIDTH_PERCENTAGE_3~!%;" class="bar"></span>\
~!:OVER_BAR_2~!\
</div>\
</div>\
<div class="max-size">~!:BANDWIDTH~! <span class="units">~!:BANDWIDTH_MEASURE_2~!</span></div>\
</div>\
</div>\
</div><!-- // stats block -->\
\
</div>\
@ -641,6 +641,10 @@ App.Templates.html = {
<label for="#" class="field-label">Domain Aliases:</label>\
<textarea name="ALIAS" class="textarea rule-alias">~!:ALIAS~!</textarea>\
</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">\
<label for="#" class="field-label">Statistics:</label>\
<select name="STAT" class="styled">~!:STAT_OPTIONS~!</select>\
@ -762,7 +766,7 @@ App.Templates.html = {
</div>\
</div><!-- // disk usage block -->\
<!-- bandwidth block -->\
<div class="b-usage-box2 bandwidth-box cc">\
<div class="b-usage-box2 bandwidth-box cc">\
<span class="prop-title">bandwidth:</span>\
<div class="usage-box">\
<div class="value-box ~!:OVER_DRAFT_VALUE_2~!">\
@ -809,7 +813,7 @@ App.Templates.html = {
<span class="prop-value">~!:NGINX~!</span>\
<span class="nginx-ext-list do_action_view_nginx_extensions">extension list</span>\
</span>\
</div> \
</div>\
</div><!-- // .row-details -->\
</div>']
},
@ -856,6 +860,10 @@ App.Templates.html = {
<label for="#" class="field-label">Host:</label>\
<select name="HOST" class="styled">~!:HOST_OPTIONS~!</select>\
</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">\
<label for="#" class="field-label">Suspended:</label>\
<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>\
</div>\
<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 -->\
<div class="b-usage-box disk-usage cc">\
<div class="usage-box">\

View file

@ -38,14 +38,26 @@ class WEB_DOMAIN extends AjaxHandler
'STATS_LOGIN' => $record['STATS_AUTH'],
'SSL' => $record['SSL'],
'SSL_HOME' => $record['SSL_HOME'],
'SSL_CERT' => $record['SSL_CERT'],
'SSL_KEY' => $record['SSL_KEY'],
'SSL_CRT' => '',
'SSL_KEY' => '',
'SSL_CA' => '',
'NGINX' => $record['NGINX'],
'NGINX_EXT' => $record['NGINX_EXT'],
'SUSPEND' => $record['SUSPEND'],
'SUSPEND' => $record['SUSPEND'] == 'on' ? 'on' : 'off',
'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
);
$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;
}
@ -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'])) {
$ssl_file = tempnam(sys_get_temp_dir(), 'ssl');
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']);
}
}
*/
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']);
}
@ -551,7 +611,7 @@ class WEB_DOMAIN extends AjaxHandler
$_entities = $request->getParameter('entities');
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']);
@ -563,7 +623,7 @@ class WEB_DOMAIN extends AjaxHandler
$_entities = $request->getParameter('entities');
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']);
@ -575,7 +635,7 @@ class WEB_DOMAIN extends AjaxHandler
$_entities = $request->getParameter('entities');
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']);