diff --git a/web/vesta/api/DNS.class.php b/web/vesta/api/DNS.class.php index b2c10b41..a2495006 100644 --- a/web/vesta/api/DNS.class.php +++ b/web/vesta/api/DNS.class.php @@ -366,4 +366,12 @@ class DNS extends AjaxHandler return $this->reply($this->status, ''); } + + public function getTemplateInfoExecute($request) + { + $spell = $request->getParameter('spell'); + $result = Vesta::execute('v_list_sys_user_packages', null, self::TEXT); + return $this->reply(true, $result['data']); + } + } diff --git a/web/vesta/api/MAIN.class.php b/web/vesta/api/MAIN.class.php index ad417d37..36f74b15 100644 --- a/web/vesta/api/MAIN.class.php +++ b/web/vesta/api/MAIN.class.php @@ -152,6 +152,10 @@ class MAIN extends AjaxHandler $ips[$sys_ip] = $sys_ip; } + if (empty($ips)) { + $ips['No available IP'] = 'No available IP'; + } + return array( 'TPL' => array('default' => 'default'), 'ALIAS' => array(), @@ -260,10 +264,16 @@ class MAIN extends AjaxHandler */ public function getUsersParams($data = array()) { + $pckg = array(); + // json + $result = Vesta::execute('v_list_sys_user_packages', null, self::JSON); + foreach ($result['data'] as $pckg_name => $pckg_data) { + $pckg[$pckg_name] = $pckg_name; + } return array( 'ROLE' => array('user' => 'user'), 'OWNER' => $data['user_names'], - 'PACKAGE' => array('default' => 'default'), + 'PACKAGE' => $pckg, 'SHELL' => array( 'sh' => 'sh', 'bash' => 'bash', diff --git a/web/vesta/api/USER.class.php b/web/vesta/api/USER.class.php index eac8b9c9..aa69218c 100644 --- a/web/vesta/api/USER.class.php +++ b/web/vesta/api/USER.class.php @@ -71,7 +71,8 @@ class USER extends AjaxHandler "DATE" => $details['DATE'], "U_MAIL_BOXES" => rand(1, 10), // TODO: skid "U_MAIL_FORWARDERS" => rand(1, 10), // TODO: skid - "REPORTS_ENABLED" => $report + "REPORTS_ENABLED" => $report, + "U_WEB_DOMAINS" => $details['U_WEB_DOMAINS'] ); $reply[$user] = array_merge($user_details, $nses); } @@ -105,7 +106,7 @@ class USER extends AjaxHandler $enable_reports = Utils::getCheckboxBooleanValue($spell['REPORTS_ENABLED']); $reports_result = $this->setUserReports($spell['LOGIN_NAME'], $spell['REPORTS_ENABLED']); // NS - $ns_result = $this->setNSentries($spell['LOGIN_NAME'], $spell); + //$ns_result = $this->setNSentries($spell['LOGIN_NAME'], $spell); // Set SHELL $this->setShell($spell['LOGIN_NAME'], $spell['SHELL']); diff --git a/web/vesta/app.init.php b/web/vesta/app.init.php index f3751944..2db6a764 100644 --- a/web/vesta/app.init.php +++ b/web/vesta/app.init.php @@ -1,5 +1,17 @@ Config::get('sudo_path'), @@ -133,11 +138,10 @@ class Vesta 'parameters' => is_array($parameters) ? "'".implode("' '", $parameters)."'" : $parameters, 'reply' => $reply ); - + // e.g.: /usr/bin/sudo /usr/local/vesta/bin/v_list_sys_users vesta json $cmd = "{$params['sudo']} {$params['functions']}{$cmd_command} {$params['parameters']} {$params['reply']}"; exec($cmd, $output, $return); - $result = 0; $result = array( 'status' => TRUE, @@ -169,7 +173,7 @@ class Vesta return $result; } - if ($reply == 'text') { + if ($reply_type == 'text') { $result['data'] = implode('', $output); } else {