[php][js][css] fixing all little issues and making forms work. Removed all unnecessary elements for Firsta Release

This commit is contained in:
naumov-socolov 2012-01-16 00:00:04 +03:00
parent b7710ee5da
commit 230c93fbe1
13 changed files with 3466 additions and 3323 deletions

File diff suppressed because it is too large Load diff

View file

@ -366,14 +366,13 @@ App.Actions.save_form = function(evt) {
if (!confirmed) { if (!confirmed) {
return true; return true;
} }
else { }
var values = App.Helpers.getFormValues(elm);
if(App.Validate.form(values, $('#'+elm_id))) { var values = App.Helpers.getFormValues(elm);
App.Model.add(values, source); if(App.Validate.form(values, $('#'+elm_id))) {
var form_id = App.Constants[App.Env.world + '_FORM_ID']; App.Model.add(values, source);
$('#'+form_id).remove(); var form_id = App.Constants[App.Env.world + '_FORM_ID'];
} $('#'+form_id).remove();
}
} }
} }
else { // OLD ITEM, UPDATING IT else { // OLD ITEM, UPDATING IT

View file

@ -95,6 +95,7 @@ App.HTML.Build.user_form = function (options, id) {
tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize()); tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize());
} }
options = !App.Helpers.isEmpty(options) ? options : App.Empty.USER; options = !App.Helpers.isEmpty(options) ? options : App.Empty.USER;
if (in_edit == true) { if (in_edit == true) {
options.PASSWORD = App.Settings.PASSWORD_IMMUTE; options.PASSWORD = App.Settings.PASSWORD_IMMUTE;
var ns = []; var ns = [];
@ -109,7 +110,7 @@ App.HTML.Build.user_form = function (options, id) {
ns[ns.length++] = App.Templates.get('PLUS_ONE_NS', 'user').finalize(); ns[ns.length++] = App.Templates.get('PLUS_ONE_NS', 'user').finalize();
tpl.set(':NS', ns.done()); tpl.set(':NS', ns.done());
} else { } else {
tpl.set(':NS', ''); // tpl.set(':NS', '');
} }
tpl = App.HTML.setTplKeys(tpl, options, true); tpl = App.HTML.setTplKeys(tpl, options, true);
tpl = App.HTML.Build.user_selects(tpl, options); tpl = App.HTML.Build.user_selects(tpl, options);
@ -146,6 +147,15 @@ 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_CRT == '' || options.SSL_KEY == ''){
options.SSL = '';
options.SSL_HOME = '';
options.SSL_CRT = '';
options.SSL_KEY = '';
options.SSL_CA = '';
}
if (options.SSL == 'on') { if (options.SSL == 'on') {
tpl.set(':ssl_checked', 'checked="checked"'); tpl.set(':ssl_checked', 'checked="checked"');
} }
@ -167,7 +177,7 @@ App.HTML.Build.web_domain_form = function (options, id) {
tpl = App.HTML.setTplKeys(tpl, options, true); tpl = App.HTML.setTplKeys(tpl, options, true);
tpl = App.HTML.Build.web_domain_selects(tpl, options); tpl = App.HTML.Build.web_domain_selects(tpl, options);
tpl = App.HTML.toggle_suspended_form(tpl, options); tpl = App.HTML.toggle_suspended_form(tpl, options);
if (options.CGI == 'yes') { if (options.CGI == 'yes' || !in_edit) {
tpl.set(':CHECKED_CGI', 'checked="checked"'); tpl.set(':CHECKED_CGI', 'checked="checked"');
} }
if (options.ELOG == 'yes') { if (options.ELOG == 'yes') {
@ -384,8 +394,11 @@ App.HTML.Build.web_domain_entry = function (o, key) {
'DISK_QUOTA_MEASURE': App.Helpers.getMbHumanMeasure(App.Env.initialParams.user_data.DISK_QUOTA), 'DISK_QUOTA_MEASURE': App.Helpers.getMbHumanMeasure(App.Env.initialParams.user_data.DISK_QUOTA),
'BANDWIDTH_MEASURE': App.Helpers.getMbHumanMeasure(App.Env.initialParams.user_data.BANDWIDTH), 'BANDWIDTH_MEASURE': App.Helpers.getMbHumanMeasure(App.Env.initialParams.user_data.BANDWIDTH),
'BANDWIDTH': App.Helpers.getMbHuman(App.Env.initialParams.user_data.BANDWIDTH), 'BANDWIDTH': App.Helpers.getMbHuman(App.Env.initialParams.user_data.BANDWIDTH),
'DISK_QUOTA': App.Helpers.getMbHuman(App.Env.initialParams.user_data.DISK_QUOTA) 'DISK_QUOTA': App.Helpers.getMbHuman(App.Env.initialParams.user_data.DISK_QUOTA),
'SSL': (o.SSL_CRT == '' || o.SSL_KEY == '' || o.SSL != 'on') ? 'off' : 'on'
}; };
var o = $.extend(o, processed_data); var o = $.extend(o, processed_data);
o.U_DISK_PERCENTAGE_2 = o.U_DISK_PERCENTAGE; o.U_DISK_PERCENTAGE_2 = o.U_DISK_PERCENTAGE;
o.U_DISK_PERCENTAGE_3 = o.U_DISK_PERCENTAGE; o.U_DISK_PERCENTAGE_3 = o.U_DISK_PERCENTAGE;
@ -691,9 +704,11 @@ App.HTML.Build.dns_selects = function (tpl, options) {
$.each(App.Env.initialParams.DNS.TPL, function (key) { $.each(App.Env.initialParams.DNS.TPL, function (key) {
obj[key] = key; obj[key] = key;
}); });
var opts = App.HTML.Build.options(obj, options.PACKAGE);
var opts = App.HTML.Build.options(obj, options.TPL);
tpl.set(':TPL', opts); tpl.set(':TPL', opts);
tpl.set(':TPL_DEFAULT_VALUE', options.TPL || App.Helpers.getFirstKey(obj)); // tpl.set(':TPL_DEFAULT_VALUE', options.TPL || App.Helpers.getFirstKey(obj));
} catch (e) { } catch (e) {
return tpl; return tpl;
} }

View file

@ -138,7 +138,7 @@ App.Templates.html = {
</div>\ </div>\
<div class="form-row dns-template-box cc">\ <div class="form-row dns-template-box cc">\
<label for="#" class="field-label">Template:</label>\ <label for="#" class="field-label">Template:</label>\
<span class="select" id="selecttemplate">~!:TPL_DEFAULT_VALUE~!</span>\ <span class="select" id="selecttemplate">~!:TPL_DEFAULT_VALUE~! t </span>\
<select name="TPL" class="styled tpl-item">\ <select name="TPL" class="styled tpl-item">\
~!:TPL~!\ ~!:TPL~!\
</select>\ </select>\
@ -286,10 +286,10 @@ App.Templates.html = {
<label for="#" class="field-label">Associated DNS Name:</label>\ <label for="#" class="field-label">Associated DNS Name:</label>\
<input type="text" name="NAME" value="~!:NAME~!" class="text-field rule-domain">\ <input type="text" name="NAME" value="~!:NAME~!" class="text-field rule-domain">\
</div>\ </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"/>\
</div>\ </div -->\
<div class="form-row buttons-row cc">\ <div class="form-row buttons-row cc">\
<input class="add-entry-btn do_action_save_form" type="submit" value="~!:save_button~!"/>\ <input class="add-entry-btn do_action_save_form" type="submit" value="~!:save_button~!"/>\
<span class="cancel-btn do_action_cancel_form">Cancel</span>\ <span class="cancel-btn do_action_cancel_form">Cancel</span>\
@ -403,12 +403,12 @@ App.Templates.html = {
~!:PACKAGE_OPTIONS~!\ ~!:PACKAGE_OPTIONS~!\
</select>\ </select>\
</div>\ </div>\
<div class="form-row cc">\ <!-- div class="form-row cc">\
<label for="#" class="field-label">Shell:</label>\ <label for="#" class="field-label">Shell:</label>\
<select class="styled disabled" name="SHELL">\ <select class="styled disabled" name="SHELL">\
~!:SHELL_OPTIONS~!\ ~!:SHELL_OPTIONS~!\
</select>\ </select>\
</div>\ </div -->\
<!-- div class="form-row cc">\ <!-- div class="form-row cc">\
<label for="#" class="field-label">role:</label>\ <label for="#" class="field-label">role:</label>\
<select class="styled" name="ROLE">\ <select class="styled" name="ROLE">\
@ -474,9 +474,9 @@ App.Templates.html = {
<span class="prop-value">~!:FULLNAME~!</span>\ <span class="prop-value">~!:FULLNAME~!</span>\
</span>\ </div>\ </span>\ </div>\
<div class="user-details-box">\ <div class="user-details-box">\
<span class="prop-box prop-box_group-values cc user-details do_action_login_as">\ <!-- span class="prop-box prop-box_group-values cc user-details do_action_login_as">\
<span class="prop-value login-as do_action_login_as">login as</span>\ <span class="prop-value login-as do_action_login_as">login as</span>\
</span>\ </span -->\
<span class="prop-box prop-box_group-values cc user-details">\ <span class="prop-box prop-box_group-values cc user-details">\
<span class="prop-title">email:</span>\ <span class="prop-title">email:</span>\
<span class="group-values">\ <span class="group-values">\
@ -716,7 +716,7 @@ App.Templates.html = {
</div>\ </div>\
</div><!-- Mail options -->\ </div><!-- Mail options -->\
<div class="form-row cc">\ <div class="form-row cc">\
<label for="#" class="field-label">create DNS domain:</label>\ <label for="#" class="field-label">Create DNS domain also:</label>\
<input type="checkbox" value="" name="DNS_DOMAIN" class="styled">\ <input type="checkbox" value="" name="DNS_DOMAIN" class="styled">\
</div>\ </div>\
<div class="form-row buttons-row cc">\ <div class="form-row buttons-row cc">\
@ -846,7 +846,7 @@ App.Templates.html = {
<select name="TYPE" class="styled">~!:TYPE_OPTIONS~!</select>\ <select name="TYPE" class="styled">~!:TYPE_OPTIONS~!</select>\
</div>\ </div>\
<div class="form-row cc">\ <div class="form-row cc">\
<label for="#" class="field-label">Name:</label>\ <label for="#" class="field-label">DB name:</label>\
<input type="text" class="text-field" name="DB" value="~!:DB~!">\ <input type="text" class="text-field" name="DB" value="~!:DB~!">\
</div>\ </div>\
<div class="db-credentials ">\ <div class="db-credentials ">\
@ -864,10 +864,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">\ <!-- div class="form-row cc">\
<label for="#" class="field-label">Encoding:</label>\ <label for="#" class="field-label">Encoding:</label>\
<select name="ENCODING" class="styled">~!:ENCODING_OPTIONS~!</select>\ <select name="ENCODING" class="styled">~!:ENCODING_OPTIONS~!</select>\
</div>\ </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" />\
@ -912,10 +912,10 @@ App.Templates.html = {
</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-box">\
<span class="prop-title">encoding:</span>\ <span class="prop-title">encoding:</span>\
<span class="prop-value">~!:ENCODING~!</span>\ <span class="prop-value">~!:ENCODING~!</span>\
</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">\
@ -1075,13 +1075,13 @@ App.Templates.html = {
<a class="backup-url" href="return alert(\'Not available at the time\');">download</a>\ <a class="backup-url" href="return alert(\'Not available at the time\');">download</a>\
</div>\ </div>\
<div class="props-ext">\ <div class="props-ext">\
<div class="backup-actions">\ <!-- div class="backup-actions">\
<a class="backup-actions-url restore-url" href="return alert(\'Not available at the time\');">restore</a>\ <a class="backup-actions-url restore-url" href="return alert(\'Not available at the time\');">restore</a>\
<a class="backup-actions-url detailed-restore-url" href="return alert(\'Not available at the time\');">\ <a class="backup-actions-url detailed-restore-url" href="return alert(\'Not available at the time\');">\
<span class="detailed-restore-title">detailed</span>\ <span class="detailed-restore-title">detailed</span>\
<span class="detailed-restore-ext">restore</span>\ <span class="detailed-restore-ext">restore</span>\
</a>\ </a>\
</div>\ </div -->\
</div> \ </div> \
</div><!-- // .row-details -->\ </div><!-- // .row-details -->\
</div><!-- // .row 1 -->'] </div><!-- // .row 1 -->']

View file

@ -132,18 +132,20 @@ class CRON extends AjaxHandler
$_new = $request->getParameter('new'); $_new = $request->getParameter('new');
$result = array(); $result = array();
if($_new['SUSPEND'] == 'on') {
$result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_new['CMD']));
return $this->reply($result['status']);
}
else {
$result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_new['CMD']));
}
if (!$result['status']) { $result = array();
$this->status = FALSE; if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){
$this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_old['JOB']));
} return $this->reply($result['status'], $result['error_message']);
}
elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){
$result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_old['JOB']));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
return $this->reply($result['status'], $result['error_message']);
}
}
$params = array( $params = array(
'USER' => $user['uid'], 'USER' => $user['uid'],

View file

@ -38,6 +38,8 @@ class DB extends AjaxHandler
'TYPE' => $record['TYPE'], 'TYPE' => $record['TYPE'],
'U_DISK' => $record['U_DISK'], 'U_DISK' => $record['U_DISK'],
'DISK' => 2024, 'DISK' => 2024,
'ENCODING' => "utf-8",//$record['ENCODING'],
// 'ENCODING' => $record['ENCODING'],
'SUSPEND' => $record['SUSPEND'], 'SUSPEND' => $record['SUSPEND'],
'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE']))) 'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
); );
@ -65,7 +67,9 @@ class DB extends AjaxHandler
'DB' => $_s['DB'], 'DB' => $_s['DB'],
'DB_USER' => $_s['USER'], 'DB_USER' => $_s['USER'],
'DB_PASSWORD' => $_s['PASSWORD'], 'DB_PASSWORD' => $_s['PASSWORD'],
'TYPE' => $_s['TYPE'] 'TYPE' => $_s['TYPE'],
'HOST' => ''
// 'ENCODING' => $_s['ENCODING']
); );
$result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params); $result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params);
@ -74,7 +78,7 @@ class DB extends AjaxHandler
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
if ($_s['SUSPEND'] == 'on') { if (Utils::getCheckboxBooleanValue($_s['SUSPEND'])) {
if($result['status']){ if($result['status']){
$result = array(); $result = array();
@ -86,7 +90,6 @@ class DB extends AjaxHandler
} }
} }
return $this->reply($result['status'], $result['data']); return $this->reply($result['status'], $result['data']);
} }
@ -128,16 +131,19 @@ class DB extends AjaxHandler
$user = $this->getLoggedUser(); $user = $this->getLoggedUser();
$result = array(); $result = array();
if($_new['SUSPEND'] == 'on'){
$result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB']));
}
else{
$result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB']));
}
if (!$result['status']) { $result = array();
$this->status = FALSE; if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){
$this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB']));
return $this->reply($result['status'], $result['error_message']);
}
elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){
$result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB']));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
return $this->reply($result['status'], $result['error_message']);
}
} }
if ($_new['PASSWORD'] != Vesta::SAME_PASSWORD && $_new['PASSWORD'] != $_old['PASSWORD']) { if ($_new['PASSWORD'] != Vesta::SAME_PASSWORD && $_new['PASSWORD'] != $_old['PASSWORD']) {

View file

@ -97,22 +97,13 @@ class DNS extends AjaxHandler
$_s = $request->getParameter('spell'); $_s = $request->getParameter('spell');
$params = array( $params = array(
'USER' => $user['uid'], /// OWNER ??? 'USER' => $user['uid'], /// OWNER ???
'DNS_DOMAIN' => $_s['DNS_DOMAIN'], 'DNS_DOMAIN' => $_s['DNS_DOMAIN'],
'IP' => $_s['IP'] 'IP' => $_s['IP'],
); 'TPL' => $_s['TPL'],
// TODO: rewrite this block. Get away from if/if/if/if 'EXP' => $_s['EXP'],
if ($_s['TPL']) { 'SOA' => $_s['SOA'],
$params['TPL'] = $_s['TPL']; 'TTL' => $_s['TTL'],
} );
if ($_s['EXP']) {
$params['EXP'] = $_s['EXP'];
}
if ($_s['SOA']) {
$params['SOA'] = $_s['SOA'];
}
if ($_s['TTL']) {
$params['TTL'] = $_s['TTL'];
}
$result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params); $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params);
if (!$result['status']) { if (!$result['status']) {
@ -120,7 +111,7 @@ class DNS extends AjaxHandler
} }
if ($_s['SUSPEND'] == 'on') { if (@Utils::getCheckboxBooleanValue($_s['SUSPEND'])) {
if($result['status']){ if($result['status']){
$result = array(); $result = array();
@ -242,19 +233,19 @@ class DNS extends AjaxHandler
$_DNS_DOMAIN = $_old['DNS_DOMAIN']; $_DNS_DOMAIN = $_old['DNS_DOMAIN'];
$result = array(); $result = array();
if($_new['SUSPEND'] == 'on'){ if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){
$result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN)); $result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN));
return $this->reply($result['status']); return $this->reply($result['status'], $result['error_message']);
} }
else{ elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){
$result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN)); $result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
return $this->reply($result['status'], $result['error_message']);
}
} }
if (!$result['status']) {
$this->status = FALSE;
$this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']);
}
if ($_old['IP'] != $_new['IP']) { if ($_old['IP'] != $_new['IP']) {
$result = array(); $result = array();
@ -267,7 +258,7 @@ class DNS extends AjaxHandler
if ($_old['TPL'] != $_new['TPL']) { if ($_old['TPL'] != $_new['TPL']) {
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TPL'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'TPL' => $_new['TPL']));
if (!$result['status']) { if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors['TPL'] = array($result['error_code'] => $result['error_message']); $this->errors['TPL'] = array($result['error_code'] => $result['error_message']);
@ -275,8 +266,9 @@ class DNS extends AjaxHandler
} }
if ($_old['TTL'] != $_new['TTL']) { if ($_old['TTL'] != $_new['TTL']) {
echo 'changing ttl';
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TTL'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'TTL' => $_new['TTL']));
if (!$result['status']) { if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors['TTL'] = array($result['error_code'] => $result['error_message']); $this->errors['TTL'] = array($result['error_code'] => $result['error_message']);
@ -285,7 +277,7 @@ class DNS extends AjaxHandler
if ($_old['EXP'] != $_new['EXP']) { if ($_old['EXP'] != $_new['EXP']) {
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['EXP'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'EXP' => $_new['EXP']));
if (!$result['status']) { if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors['EXP'] = array($result['error_code'] => $result['error_message']); $this->errors['EXP'] = array($result['error_code'] => $result['error_message']);
@ -294,7 +286,7 @@ class DNS extends AjaxHandler
if ($_old['SOA'] != $_new['SOA']) { if ($_old['SOA'] != $_new['SOA']) {
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_new['SOA'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'SOA' => $_new['SOA']));
if (!$result['status']) { if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors['SOA'] = array($result['error_code'] => $result['error_message']); $this->errors['SOA'] = array($result['error_code'] => $result['error_message']);
@ -307,13 +299,6 @@ class DNS extends AjaxHandler
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TTL'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TTL']));
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP']));
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_old['SOA'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_old['SOA']));
if($_old['SUSPEND'] == 'on'){
$result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN));
}
else{
$result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN));
}
} }
return $this->reply($this->status, ''); return $this->reply($this->status, '');
@ -432,7 +417,7 @@ class DNS extends AjaxHandler
$_entities = $request->getParameter('entities'); $_entities = $request->getParameter('entities');
foreach($_entities as $entity){ foreach($_entities as $entity){
$result = Vesta::execute(Vesta::V_UNUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], $entity['DNS_DOMAIN'])); $result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], $entity['DNS_DOMAIN']));
} }
return $this->reply($result['status'], $result['data']); return $this->reply($result['status'], $result['data']);

View file

@ -19,6 +19,10 @@ class IP extends AjaxHandler
*/ */
public function getListExecute(Request $request) public function getListExecute(Request $request)
{ {
if(!VestaSession::getUserRole()){
return self::getListUserIpsExecute($request);
}
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_SYS_IPS, array(Config::get('response_type'))); $result = Vesta::execute(Vesta::V_LIST_SYS_IPS, array(Config::get('response_type')));
foreach ($result['data'] as $ip => $details) { foreach ($result['data'] as $ip => $details) {
@ -44,8 +48,10 @@ class IP extends AjaxHandler
*/ */
public function getListUserIpsExecute(Request $request) public function getListUserIpsExecute(Request $request)
{ {
$user = $this->getLoggedUser();
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_USER_IPS, array(Config::get('response_type'))); $result = Vesta::execute(Vesta::V_LIST_USER_IPS, array($user['uid'], Config::get('response_type')));
foreach ($result['data'] as $ip => $details) { foreach ($result['data'] as $ip => $details) {
$reply[] = array_merge( $reply[] = array_merge(
array( array(

View file

@ -218,7 +218,7 @@ MAIL;
$disk_quota = $rs['data']; $disk_quota = $rs['data'];
$reply = array( $reply = array(
'auth_user' => array('uid' => $this->getLoggedUser()), 'auth_user' => array('uid' => $this->getLoggedUser(), 'admin' => !!VestaSession::getUserRole()),
'user_data' => array('BANDWIDTH' => (int)$bandwidth, 'DISK_QUOTA' => (int)$disk_quota), 'user_data' => array('BANDWIDTH' => (int)$bandwidth, 'DISK_QUOTA' => (int)$disk_quota),
'WEB_DOMAIN' => $this->getWebDomainParams($data_web_domain, $global_data), 'WEB_DOMAIN' => $this->getWebDomainParams($data_web_domain, $global_data),
'CRON' => $this->getCronParams(), 'CRON' => $this->getCronParams(),
@ -372,7 +372,50 @@ MAIL;
$db_types = $this->getDBTypes(); $db_types = $this->getDBTypes();
return array( return array(
'TYPE' => $db_types, 'TYPE' => $db_types,
'HOST' => array('vestacp.com' => 'vestacp.com', 'askcow.org' => 'askcow.org') 'HOST' => array('vestacp.com' => 'vestacp.com', 'askcow.org' => 'askcow.org'),
'ENCODING' => array(
'utf8' => 'utf8', 'latin1' => 'latin1', 'cp1251' => 'cp1251',
'' => '',
'big5' => 'Big5 — Traditional Chinese ',
'dec8' => 'dec8 — DEC West European ',
'cp850' => 'cp850 — DOS West European',
'hp8' => 'hp8 — HP West European',
'koi8r' => 'koi8r — KOI8-R Relcom Russian',
'latin1' => 'latin1 — cp1252 West European',
'latin2' => 'latin2 — ISO 8859-2 Central European',
'swe7' => 'swe7 — 7bit Swedish',
'ascii' => 'ascii — US ASCII',
'ujis' => 'ujis — EUC-JP Japanese',
'sjis' => 'sjis — Shift-JIS Japanese',
'hebrew' => 'hebrew — ISO 8859-8 Hebrew',
'tis620' => 'tis620 — TIS620 Thai',
'euckr' => 'euckr — EUC-KR Korean',
'koi8u' => 'koi8u — KOI8-U Ukrainian',
'gb2312' => 'gb2312 — GB2312 Simplified Chinese',
'greek' => 'greek — ISO 8859-7 Greek',
'cp1250' => 'cp1250 — Windows Central European',
'gbk' => 'gbk — GBK Simplified Chinese',
'latin5' => 'latin5 — ISO 8859-9 Turkish',
'armscii8' => 'armscii8— ARMSCII-8 Armenian',
'utf8' => 'utf8 — UTF-8 Unicode',
'ucs2' => 'ucs2 — UCS-2 Unicode',
'cp866' => 'cp866 — DOS Russian',
'keybcs2' => 'keybcs2 — DOS Kamenicky Czech-Slovak',
'macce' => 'macce — Mac Central European',
'macroman' => 'macroman— Mac West European',
'cp853' => 'cp852 — DOS Central European',
'latin7' => 'latin7 — ISO 8859-13 Baltic',
'cp1251' => 'cp1251 — Windows Cyrillic',
'cp1256' => 'cp1256 — Windows Arabic',
'cp1257' => 'cp1257 — Windows Baltic',
'binary' => 'binary — Binary pseudo charset',
'geostd8' => 'geostd8 — GEOSTD8 Georgian',
'cp932' => 'cp932 — SJIS for Windows Japanese',
'eucjpms' => 'eucjpms — UJIS for Windows Japanese'
)
); );
} }

View file

@ -45,7 +45,6 @@ class USER extends AjaxHandler
"DNS_DOMAINS" => $details['DNS_DOMAINS'], "DNS_DOMAINS" => $details['DNS_DOMAINS'],
"DISK_QUOTA" => $details['DISK_QUOTA'], "DISK_QUOTA" => $details['DISK_QUOTA'],
"BANDWIDTH" => $details['BANDWIDTH'], "BANDWIDTH" => $details['BANDWIDTH'],
// "NS" => $details['NS'],
"SHELL" => $details['SHELL'], "SHELL" => $details['SHELL'],
"BACKUPS" => $details['BACKUPS'], "BACKUPS" => $details['BACKUPS'],
"WEB_TPL" => $details['WEB_TPL'], "WEB_TPL" => $details['WEB_TPL'],
@ -65,7 +64,8 @@ class USER extends AjaxHandler
"U_MAIL_FORWARDERS" => '0', "U_MAIL_FORWARDERS" => '0',
"U_MAIL_BOXES" => '0', "U_MAIL_BOXES" => '0',
"U_CRON_JOBS" => $details['U_CRON_JOBS'], "U_CRON_JOBS" => $details['U_CRON_JOBS'],
"IP_OWNED" => $details['IP_OWNED'] "IP_OWNED" => $details['IP_OWNED'],
"NGINX_EXT" => $details['"NGINX_EXT']
); );
$reply[$user] = array_merge($user_details, $nses); $reply[$user] = array_merge($user_details, $nses);
// $reply[$user] = $user_details; // $reply[$user] = $user_details;
@ -204,7 +204,22 @@ class USER extends AjaxHandler
$_old = $request->getParameter('old'); $_old = $request->getParameter('old');
$_USER = $_old['LOGIN_NAME']; $_USER = $_old['LOGIN_NAME'];
$result = array();
if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){
$result = Vesta::execute(Vesta::V_SUSPEND_SYS_USER, array('USER' => $_USER));
return $this->reply($result['status'], $result['error_message']);
}
elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){
$result = Vesta::execute(Vesta::V_UNSUSPEND_SYS_USER, array('USER' => $_USER));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
return $this->reply($result['status'], $result['error_message']);
}
}
$reports_result = $this->setUserReports($_USER, $_new['REPORTS_ENABLED']); $reports_result = $this->setUserReports($_USER, $_new['REPORTS_ENABLED']);
if (!empty($_new['PASSWORD']) && $_new['PASSWORD'] != Vesta::SAME_PASSWORD) { if (!empty($_new['PASSWORD']) && $_new['PASSWORD'] != Vesta::SAME_PASSWORD) {
@ -251,38 +266,12 @@ class USER extends AjaxHandler
$this->errors['NAMES'] = array($result['error_code'] => $result['error_message']); $this->errors['NAMES'] = array($result['error_code'] => $result['error_message']);
} }
if ($_old['SUSPEND'] != $_new['SUSPEND']) {
$result = array();
if($_new['SUSPEND'] == 'on'){
$result = Vesta::execute(Vesta::V_SUSPEND_SYS_USER, array('USER' => $_USER));
}
else{
$result = Vesta::execute(Vesta::V_UNSUSPEND_SYS_USER, array('USER' => $_USER));
}
if (!$result['status']) {
$this->status = FALSE;
$this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']);
}
}
if (!$this->status) { if (!$this->status) {
Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, array('USER' => $_USER, 'PASSWORD' => $_old['PASSWORD'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, array('USER' => $_USER, 'PASSWORD' => $_old['PASSWORD']));
Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, array('USER' => $_USER, 'PACKAGE' => $_old['PACKAGE'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, array('USER' => $_USER, 'PACKAGE' => $_old['PACKAGE']));
Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, array('USER' => $_USER, 'EMAIL' => $_old['EMAIL'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, array('USER' => $_USER, 'EMAIL' => $_old['EMAIL']));
Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, array('USER' => $_USER, 'NS1' => $_old['NS1'], 'NS2' => $_old['NS2'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, array('USER' => $_USER, 'NS1' => $_old['NS1'], 'NS2' => $_old['NS2']));
Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, array('USER' => $_USER, 'SHELL' => $_old['SHELL'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, array('USER' => $_USER, 'SHELL' => $_old['SHELL']));
if($_old['SUSPEND'] == 'on'){
$result = Vesta::execute(Vesta::V_SUSPEND_SYS_USER, array('USER' => $_USER));
}
else{
$result = Vesta::execute(Vesta::V_UNSUSPEND_SYS_USER, array('USER' => $_USER));
}
} }
return $this->reply($this->status, ''); return $this->reply($this->status, '');

View file

@ -37,13 +37,13 @@ class WEB_DOMAIN extends AjaxHandler
'STAT' => $record['STATS'], 'STAT' => $record['STATS'],
'STATS_LOGIN' => $record['STATS_AUTH'], 'STATS_LOGIN' => $record['STATS_AUTH'],
'SSL' => $record['SSL'] == 'yes' ? 'on' : 'off', 'SSL' => $record['SSL'] == 'yes' ? 'on' : 'off',
'SSL_HOME' => $record['SSL_HOME'] == 'tsingle' ? 'off' : 'on', 'SSL_HOME' => $record['SSL_HOME'] == 'same' ? 'off' : 'on',
'SSL_CRT' => '', 'SSL_CRT' => '',
'SSL_KEY' => '', 'SSL_KEY' => '',
'SSL_CA' => '', 'SSL_CA' => '',
'NGINX' => $record['NGINX'], 'NGINX' => $record['NGINX'],
'NGINX_EXT' => $record['NGINX_EXT'], 'NGINX_EXT' => $record['NGINX_EXT'],
'SUSPEND' => $record['SUSPEND'] == 'on' ? 'on' : 'off', 'SUSPEND' => $record['SUSPEND'], // == 'yes' ? '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;
@ -85,6 +85,7 @@ class WEB_DOMAIN extends AjaxHandler
if (!$result['status']) { if (!$result['status']) {
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
return $this->reply($result['status'], $result['data']);
} }
if (!empty($_s['TPL'])) { if (!empty($_s['TPL'])) {
@ -101,9 +102,9 @@ class WEB_DOMAIN extends AjaxHandler
} }
} }
if (!empty($_s['ALIAS'])) { if (!empty($_s['ALIAS'])) {
$alias = str_replace("\n", "", $_s['ALIAS']); $alias_arr = explode(',', str_replace("\n", "", $_s['ALIAS']));
$alias = str_replace("\n", "", $alias);
foreach ($alias_arr as $alias) { foreach ($alias_arr as $alias) {
$params = array( $params = array(
@ -112,7 +113,6 @@ class WEB_DOMAIN extends AjaxHandler
'ALIAS' => trim($alias) 'ALIAS' => trim($alias)
); );
$result = 0; $result = 0;
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ALIAS, $params); $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ALIAS, $params);
if (!$result['status']) { if (!$result['status']) {
@ -121,7 +121,7 @@ class WEB_DOMAIN extends AjaxHandler
} }
} }
if (!empty($_s['STATS']) && @$_s['STATS'] != 'none') { if (!empty($_s['STAT']) && @$_s['STAT'] != 'none') {
$params = array( $params = array(
'USER' => $user['uid'], 'USER' => $user['uid'],
'DOMAIN' => $_s['DOMAIN'], 'DOMAIN' => $_s['DOMAIN'],
@ -148,21 +148,31 @@ class WEB_DOMAIN extends AjaxHandler
$this->errors['STAT_AUTH'] = array($result['error_code'] => $result['error_message']); $this->errors['STAT_AUTH'] = array($result['error_code'] => $result['error_message']);
} }
if (!empty($_new['CGI'])) { if (!empty($_s['CGI'])) {
if (Utils::getCheckboxBooleanValue($_new['CGI'])) { if (Utils::getCheckboxBooleanValue($_s['CGI'])) {
/* removed due to CGI is set by default at WEB DOMAIN creation
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_CGI, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_CGI, array('USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN']));
if (!$result['status']) { if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors['ADD_CGI'] = array($result['error_code'] => $result['error_message']); $this->errors['ADD_CGI'] = array($result['error_code'] => $result['error_message']);
} }
*/
}
else{
$result = array();
$result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN_CGI, array('USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN']));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['DEL_CGI'] = array($result['error_code'] => $result['error_message']);
}
} }
} }
if (!empty($_new['ELOG'])) { if (!empty($_s['ELOG'])) {
if (Utils::getCheckboxBooleanValue($_new['ELOG'])) { if (Utils::getCheckboxBooleanValue($_s['ELOG'])) {
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ELOG, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ELOG, array('USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN']));
if (!$result['status']) { if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors['ADD_ELOG'] = array($result['error_code'] => $result['error_message']); $this->errors['ADD_ELOG'] = array($result['error_code'] => $result['error_message']);
@ -170,16 +180,12 @@ class WEB_DOMAIN extends AjaxHandler
} }
} }
if (($_s['DNS_DOMAIN']) == 'on') { if (Utils::getCheckboxBooleanValue($_s['DNS_DOMAIN'])) {
echo 'adding dns domain';
echo '<br>';
$params = array(
'USER' => $user['uid'],
'DNS_DOMAIN' => $_s['DOMAIN'],
'IP' => $_s['IP']
);
echo 'adding dns domain';
echo '<br>';
/*
require_once V_ROOT_DIR . 'api/DNS.class.php'; require_once V_ROOT_DIR . 'api/DNS.class.php';
$dns = new DNS(); $dns = new DNS();
@ -188,6 +194,36 @@ 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']);
} }
*/
$_GET['debug'] = 2;
$params = array(
'USER' => $user['uid'],
'DNS_DOMAIN' => $_s['DOMAIN'],
'IP' => $_s['IP']
);
$result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params);
if (!$result['status']) {
$this->errors[] = array($result['error_code'] => $result['error_message']);
}
if (@Utils::getCheckboxBooleanValue($_s['SUSPEND'])) {
if($result['status']){
$result = array();
$result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_s['DOMAIN']));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['DNS_SUSPEND'] = array($result['error_code'] => $result['error_message']);
}
}
}
} }
@ -209,8 +245,41 @@ class WEB_DOMAIN extends AjaxHandler
}*/ }*/
if ($_s['SUSPEND'] == 'on') { if (!empty($_s['SSL_KEY']) && !empty($_s['SSL_CRT']) && $_s['SSL'] == 'on' ) {
$ssl_dir = sys_get_temp_dir().'/';
$ssl_crt_file = $ssl_dir . $_s['DOMAIN'] . '.crt';
file_put_contents($ssl_crt_file, $_s['SSL_CRT']);
$ssl_key_file = $ssl_dir . $_s['DOMAIN'] . '.key';
file_put_contents($ssl_key_file, $_s['SSL_KEY']);
if (!empty($_s['SSL_CA'])) {
$ssl_ca_file = $ssl_dir . $_s['DOMAIN'] . '.ca';
file_put_contents($ssl_ca_file, $_s['SSL_CA']);
}
// $_GET['debug'] = 2;
$params = array(
'USER' => $user['uid'],
'DOMAIN' => $_s['DOMAIN'],
'SSL_DIR' => $ssl_dir,
'SSL_HOME' => $_s['SSL_HOME'] == 'on' ? 'single' : 'same'
);
$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']);
}
unlink($ssl_crt_file);
unlink($ssl_key_file);
unlink($ssl_ca_file);
}
if (@Utils::getCheckboxBooleanValue($_s['SUSPEND'])) {
if($result['status']){ if($result['status']){
$result = array(); $result = array();
@ -222,6 +291,7 @@ class WEB_DOMAIN extends AjaxHandler
} }
} }
return $this->reply($result['status'], $result['data']); return $this->reply($result['status'], $result['data']);
} }
@ -267,39 +337,20 @@ class WEB_DOMAIN extends AjaxHandler
$result['status'] = TRUE; $result['status'] = TRUE;
if ($_old['SUSPEND'] != $_new['SUSPEND']) {
if ($_new['SUSPEND'] == 'on') { if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){
$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));
if (!$result['status']) { return $this->reply($result['status'], $result['error_message']);
$this->status = FALSE; }
$this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){
} $result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
// return $this->reply($result['status']); if (!$result['status']) {
} $this->status = FALSE;
else { $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
$result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); return $this->reply($result['status'], $result['error_message']);
if (!$result['status']) { }
$this->status = FALSE; }
$this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
}
}
if ($_new['SUSPEND'] == 'on') {
$result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']);
}
// return $this->reply($result['status']);
}
else {
$result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN));
if (!$result['status']) {
$this->status = FALSE;
$this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']);
}
}
}
if ($_old['IP'] != $_new['IP']) { if ($_old['IP'] != $_new['IP']) {
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_IP, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN, 'IP' => $_new['IP'])); $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_IP, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN, 'IP' => $_new['IP']));
@ -437,7 +488,15 @@ class WEB_DOMAIN extends AjaxHandler
} }
if (( !empty($_new['SSL_KEY']) && !empty($_new['SSL_CRT']) && $_new['SSL'] == 'on') || $_old['SSL_HOME'] != $_new['SSL_HOME']) { if ( ( $_old['SSL_KEY'] != $_new['SSL_KEY']
|| $_old['SSL_CRT'] != $_new['SSL_CRT']
|| $_old['SSL_CA'] != $_new['SSL_CA']
|| $_old['SSL_HOME'] != $_new['SSL_HOME']
)
&& !empty($_new['SSL_KEY'])
&& !empty($_new['SSL_CRT'])
&& $_new['SSL'] == 'on'
) {
$ssl_dir = sys_get_temp_dir().'/'; $ssl_dir = sys_get_temp_dir().'/';
$ssl_crt_file = $ssl_dir . $_new['DOMAIN'] . '.crt'; $ssl_crt_file = $ssl_dir . $_new['DOMAIN'] . '.crt';
@ -455,20 +514,39 @@ class WEB_DOMAIN extends AjaxHandler
'USER' => $user['uid'], 'USER' => $user['uid'],
'DOMAIN' => $_DOMAIN, 'DOMAIN' => $_DOMAIN,
'SSL_DIR' => $ssl_dir, 'SSL_DIR' => $ssl_dir,
'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'shared' : 'single' 'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'single' : 'same'
); );
$result = 0; $result = 0;
// updating ssl
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);
if (!$result['status']) {
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
}
// if ssl home dir changed, updating it
if($_old['SSL_HOME'] != $_new['SSL_HOME']){
$params = array(
'USER' => $user['uid'],
'DOMAIN' => $_DOMAIN,
'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'single' : 'same'
);
$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSLHOME, $params);
if (!$result['status']) {
$this->errors['SSL_HOME'] = array($result['error_code'] => $result['error_message']);
}
}
} }
// adding new ssl
else{ else{
$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params); $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
if (!$result['status']) {
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
}
} }
if (!$result['status']) {
$this->errors['SSL'] = array($result['error_code'] => $result['error_message']);
}
unlink($ssl_crt_file); unlink($ssl_crt_file);
unlink($ssl_key_file); unlink($ssl_key_file);

View file

@ -46,6 +46,7 @@ class Vesta
const V_LIST_WEB_DOMAINS_PROXY = 'v_list_web_domains_proxy'; const V_LIST_WEB_DOMAINS_PROXY = 'v_list_web_domains_proxy';
const V_LIST_WEB_DOMAINS_SSL = 'v_list_web_domains_ssl'; const V_LIST_WEB_DOMAINS_SSL = 'v_list_web_domains_ssl';
const V_LIST_WEB_DOMAINS_STATS = 'v_list_web_domains_stats'; const V_LIST_WEB_DOMAINS_STATS = 'v_list_web_domains_stats';
const V_LIST_WEB_DOMAIN_SSL = 'v_list_web_domain_ssl';
const V_LIST_WEB_TEMPLATES = 'v_list_web_templates'; const V_LIST_WEB_TEMPLATES = 'v_list_web_templates';
const V_ADD_WEB_DOMAIN = 'v_add_web_domain'; const V_ADD_WEB_DOMAIN = 'v_add_web_domain';
const V_ADD_WEB_DOMAIN_ALIAS = 'v_add_web_domain_alias'; const V_ADD_WEB_DOMAIN_ALIAS = 'v_add_web_domain_alias';
@ -55,7 +56,7 @@ class Vesta
const V_ADD_WEB_DOMAIN_ELOG = 'v_add_web_domain_elog'; const V_ADD_WEB_DOMAIN_ELOG = 'v_add_web_domain_elog';
const V_ADD_WEB_DOMAIN_CGI = 'v_add_web_domain_cgi'; const V_ADD_WEB_DOMAIN_CGI = 'v_add_web_domain_cgi';
const V_CHANGE_WEB_DOMAIN_IP = 'v_change_web_domain_ip'; const V_CHANGE_WEB_DOMAIN_IP = 'v_change_web_domain_ip';
const V_CHANGE_WEB_DOMAIN_SSLCERT = 'v_change_web_domain_sslcert'; const V_CHANGE_WEB_DOMAIN_SSL = 'v_change_web_domain_sslcert';
const V_CHANGE_WEB_DOMAIN_SSLHOME = 'v_change_web_domain_sslhome'; const V_CHANGE_WEB_DOMAIN_SSLHOME = 'v_change_web_domain_sslhome';
const V_CHANGE_WEB_DOMAIN_TPL = 'v_change_web_domain_tpl'; const V_CHANGE_WEB_DOMAIN_TPL = 'v_change_web_domain_tpl';
const V_DEL_WEB_DOMAIN_CGI = 'v_delete_web_domain_cgi'; const V_DEL_WEB_DOMAIN_CGI = 'v_delete_web_domain_cgi';

View file

@ -5,7 +5,7 @@ class Utils
public static function getCheckboxBooleanValue($checkbox_value) public static function getCheckboxBooleanValue($checkbox_value)
{ {
return $checkbox_value == 'on' ? true : false; return ($checkbox_value == 'on' || $checkbox_value == 'yes' || $checkbox_value === TRUE) ? true : false;
} }
} }