php files cleaned, php formatting added

This commit is contained in:
Dima Malishev 2011-08-06 16:08:27 +03:00
commit a163413043
9 changed files with 1442 additions and 1602 deletions

View file

@ -1,12 +1,14 @@
<?php <?php
/** /**
* Ajax Handler * Ajax Handler
* *
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class AjaxHandler class AjaxHandler {
{
static public $instance = null; static public $instance = null;
@ -28,14 +30,12 @@ class AjaxHandler
* return $this->reply($result, $data, $msg, $extra); * return $this->reply($result, $data, $msg, $extra);
* *
* @param Request $request * @param Request $request
* @return mixed * @return string
*/ */
function dispatch($request) function dispatch($request) {
{
$method = Request::parseAjaxMethod($request); $method = Request::parseAjaxMethod($request);
$inc_file = V_ROOT_DIR . 'api' . DIRECTORY_SEPARATOR . $method['namespace'] . '.class.php'; $inc_file = V_ROOT_DIR . 'api' . DIRECTORY_SEPARATOR . $method['namespace'] . '.class.php';
if (!is_readable($inc_file)) if (!is_readable($inc_file)) {
{
throw new SystemException(Message::INVALID_METHOD); throw new SystemException(Message::INVALID_METHOD);
} }
@ -44,8 +44,7 @@ class AjaxHandler
$space = new $method['namespace']; $space = new $method['namespace'];
$method = $method['function'] . 'Execute'; $method = $method['function'] . 'Execute';
if (!method_exists($space, $method)) if (!method_exists($space, $method)) {
{
throw new SystemException(Message::INVALID_METHOD); throw new SystemException(Message::INVALID_METHOD);
} }
@ -53,15 +52,9 @@ class AjaxHandler
} }
/** /**
* Prepare the result of method execution into ajax-readable format * Prepare response for ajax
*
* @param boolean $result - result of method execution
* @param array $data - data to be replied
* @param string $message - replied message
* @param array $extra - extra data
*/ */
function reply($result, $data, $message = '', $extra = array()) function reply($result, $data, $message = '', $extra = array()) {
{
return json_encode(array('result' => $result, return json_encode(array('result' => $result,
'data' => $data, 'data' => $data,
'message' => $message, 'message' => $message,
@ -70,12 +63,7 @@ class AjaxHandler
)); ));
} }
/** static function makeReply($reply) {
* TODO: delete this method
* @deprecated
*/
static function makeReply($reply)
{
print $reply; print $reply;
} }
@ -83,43 +71,24 @@ class AjaxHandler
// Error handlers // Error handlers
// //
/** static function generalError($error) {
* Generate general error
* @param Exception $error
*/
static function generalError($error)
{
self::renderGlobalError(Message::ERROR, Message::GENERAL_ERROR, $error); self::renderGlobalError(Message::ERROR, Message::GENERAL_ERROR, $error);
} }
/** static function protectionError($error) {
* Generate protection error
* @param Exception $error
*/
static function protectionError($error)
{
self::renderGlobalError(Message::ERROR, Message::PROTECTION_ERROR, $error); self::renderGlobalError(Message::ERROR, Message::PROTECTION_ERROR, $error);
} }
/** static function systemError($error) {
* Generate system error
* @param Exception $error
*/
static function systemError($error)
{
self::renderGlobalError(Message::ERROR, Message::SYSTEM_ERROR, $error); self::renderGlobalError(Message::ERROR, Message::SYSTEM_ERROR, $error);
} }
/** static function renderGlobalError($type, $message, $error) {
* Prepare and render the error /*$trace = $error->getTrace();
* @param Exception $error
*/
static function renderGlobalError($type, $message, $error)
{
$trace = $error->getTrace();
AjaxHandler::makeReply( AjaxHandler::makeReply(
AjaxHandler::getInstance()->reply(false, $type, $message . ': ' . $error->getMessage(), $trace[0]['file'] . ' / ' . $trace[0]['line']) AjaxHandler::getInstance()->reply(false, $type, $message . ': ' . $error->getMessage(), $trace[0]['file'] . ' / ' . $trace[0]['line'])
); );*/
print $message;
} }
} }

View file

@ -1,46 +1,41 @@
<?php <?php
/*
/**
* CRON * CRON
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com>
* @author Malishev Dima <dima.malishev@gmail.com>
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class CRON extends AjaxHandler class CRON extends AjaxHandler
{ {
/** /**
* List cron entries * Get CRON entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListExecute($request) public function getListExecute($request)
{ {
$_user = 'vesta'; $_user = 'vesta';
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_CRON_JOBS, array($_user, Config::get('response_type')));
$result = Vesta::execute(Vesta::V_LIST_CRON_JOBS, foreach ($result['data'] as $id => $record) {
array($_user, Config::get('response_type')));
foreach ($result['data'] as $id => $record)
{
$reply[$id] = array( $reply[$id] = array(
'CMD' => $record['CMD'], 'CMD' => $record['CMD'],
'MIN' => $record['MIN'], 'MIN' => $record['MIN'],
'HOUR' => $record['HOUR'], 'HOUR' => $record['HOUR'],
'DAY' => $record['DAY'], 'DAY' => $record['DAY'],
'MONTH' => $record['MONTH'], 'MONTH' => $record['MONTH'],
'WDAY' => $record['WDAY'], 'WDAY' => $record['WDAY'],
'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'])))
); );
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -48,43 +43,38 @@ class CRON extends AjaxHandler
} }
/** /**
* Add cron entry * Add CRON entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function addExecute($request) public function addExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'MIN' => $_s['MIN'], 'MIN' => $_s['MIN'],
'HOUR' => $_s['HOUR'], 'HOUR' => $_s['HOUR'],
'DAY' => $_s['DAY'], 'DAY' => $_s['DAY'],
'MONTH' => $_s['MONTH'], 'MONTH' => $_s['MONTH'],
'WDAY' => $_s['WDAY'], 'WDAY' => $_s['WDAY'],
'CMD' => $_s['CMD'] 'CMD' => $_s['CMD']
); );
$result = Vesta::execute(Vesta::V_ADD_CRON_JOB, $params); $result = Vesta::execute(Vesta::V_ADD_CRON_JOB, $params);
if ($_s['REPORTS']) if ($_s['REPORTS']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_ADD_SYS_USER_REPORTS, $result = Vesta::execute(Vesta::V_ADD_SYS_USER_REPORTS, array('USER' => $_user));
array('USER' => $_user)); if (!$result['status']) {
if (!$result['status']) $this->status = FALSE;
{
$this->status = FALSE;
$this->errors['REPORTS'] = array($result['error_code'] => $result['error_message']); $this->errors['REPORTS'] = array($result['error_code'] => $result['error_message']);
} }
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -92,25 +82,25 @@ class CRON extends AjaxHandler
} }
/** /**
* Delete cron entry * Delete CRON entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function delExecute($request) public function delExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'JOB' => $_s['JOB'] 'JOB' => $_s['JOB']
); );
$result = Vesta::execute(Vesta::V_DEL_CRON_JOB, $params); $result = Vesta::execute(Vesta::V_DEL_CRON_JOB, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -118,123 +108,113 @@ class CRON extends AjaxHandler
} }
/** /**
* Change cron entry * Change CRON entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function changeExecute($request) public function changeExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_old = $_s['old']; $_old = $_s['old'];
$_new = $_s['new']; $_new = $_s['new'];
$_user = 'vesta';
$_user = 'vesta'; $_JOB = $_new['JOB'];
$_JOB = $_new['JOB'];
$result = array(); $result = array();
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'JOB' => $_JOB, 'JOB' => $_JOB,
'MIN' => $_new['MIN'], 'MIN' => $_new['MIN'],
'HOUR' => $_new['HOUR'], 'HOUR' => $_new['HOUR'],
'DAY' => $_new['DAY'], 'DAY' => $_new['DAY'],
'MONTH' => $_new['MONTH'], 'MONTH' => $_new['MONTH'],
'WDAY' => $_new['WDAY'], 'WDAY' => $_new['WDAY'],
'CMD' => $_new['CMD'] 'CMD' => $_new['CMD']
); );
$result = Vesta::execute(Vesta::V_CHANGE_CRON_JOB, $params); $result = Vesta::execute(Vesta::V_CHANGE_CRON_JOB, $params);
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']); return $this->reply($result['status'], $result['data']);
} }
/** /**
* Suspend cron entry * Suspend CRON entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function suspendExecute($request) public function suspendExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta'; $_JOB = $_s['JOB'];
$_JOB = $_s['JOB'];
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'JOB' => $_JOB 'JOB' => $_JOB
); );
$result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, $params); $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, $params);
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']); return $this->reply($result['status'], $result['data']);
} }
/** /**
* Unsuspend cron entry * Unsuspend CRON entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function unsuspendExecute($request) public function unsuspendExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta'; $_JOB = $_s['JOB'];
$_JOB = $_s['JOB'];
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'JOB' => $_JOB 'JOB' => $_JOB
); );
$result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, $params); $result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, $params);
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']); return $this->reply($result['status'], $result['data']);
} }
/** /**
* Batch suspend cron entries * Batch suspend CRON entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function suspendAllExecute($request) public function suspendAllExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$_JOB = $_s['JOB']; $_JOB = $_s['JOB'];
$params = array( $params = array(
'USER' => $_user 'USER' => $_user
); );
$result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOBS, $params); $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOBS, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -242,26 +222,23 @@ class CRON extends AjaxHandler
} }
/** /**
* Batch suspend cron entry * Batch unsuspend CRON entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function unsuspendAllExecute($request) public function unsuspendAllExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta';
$params = array( $params = array(
'USER' => $_user 'USER' => $_user
); );
$result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOBS, $params); $result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOBS, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }

View file

@ -3,75 +3,91 @@
/** /**
* DB * DB
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com>
* @author Malishev Dima <dima.malishev@gmail.com>
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @copyright vesta 2011 * @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011
*/ */
class DB extends AjaxHandler class DB extends AjaxHandler
{ {
/** /**
* List entries * Get DB entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListExecute($request) public function getListExecute($request)
{ {
$_user = 'vesta'; $_user = 'vesta';
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_DB_BASES, array($_user, Config::get('response_type'))); $result = Vesta::execute(Vesta::V_LIST_DB_BASES, array($_user, Config::get('response_type')));
foreach ($result['data'] as $db => $record) foreach ($result['data'] as $db => $record) {
{ $type = $record['TYPE'];
$reply[$db] = array( if (!isset($reply[$type])) {
'DB' => $db, $reply[$type] = array();
'USER' => $record['USER'], }
'HOST' => $record['HOST'],
'TYPE' => $record['TYPE'], $reply[$type][] = array(
'U_DISK' => $record['U_DISK'], 'DB' => $db,
'SUSPEND' => $record['SUSPEND'], 'OWNER' => 'John Travlolta',
'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE']))) 'USERS' => (array)$record['USER'],
); 'HOST' => $record['HOST'],
'TYPE' => $record['TYPE'],
'U_DISK' => $record['U_DISK'],
'DISK' => 2024,
'SUSPEND' => $record['SUSPEND'],
'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
);
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
$reply['postgre'][] = array(
'DB' => 'x',
'OWNER' => 'John Travlolta',
'USERS' => array('E'),
'HOST' => 'xxx',
'TYPE' => '34',
'U_DISK' => '0',
'SUSPEND' => 'false',
'DATE' => '2011-01-01'
);
return $this->reply($result['status'], $reply); return $this->reply($result['status'], $reply);
} }
/** /**
* Add entry * Add DB entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function addExecute($request) public function addExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'DB' => $_s['DB'], 'DB' => $_s['DB'],
'DB_USER' => $_s['DB_USER'], 'DB_USER' => $_s['DB_USER'],
'DB_PASSWORD' => $_s['DB_PASSWORD'], 'DB_PASSWORD' => $_s['DB_PASSWORD'],
'TYPE' => $_s['TYPE'] 'TYPE' => $_s['TYPE']
); );
if ($_s['HOST'])
{ if ($_s['HOST']) {
$params['HOST'] = $_s['HOST']; $params['HOST'] = $_s['HOST'];
} }
$result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params); $result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -79,26 +95,24 @@ class DB extends AjaxHandler
} }
/** /**
* Delete entry * Delete DB entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function delExecute($request) public function delExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'DB' => $_user.'_'.$_s['DB'] 'DB' => $_user.'_'.$_s['DB']
); );
$result = Vesta::execute(Vesta::V_DEL_DB_BASE, $params); $result = Vesta::execute(Vesta::V_DEL_DB_BASE, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -106,29 +120,26 @@ class DB extends AjaxHandler
} }
/** /**
* Change password * Change Password
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function changePasswordExecute($request) public function changePasswordExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta';
$result = array(); $result = array();
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'DB' => $_user.'_'.$_s['DB'], 'DB' => $_user.'_'.$_s['DB'],
'PASSWORD' => $_s['DB_PASSWORD'] 'PASSWORD' => $_s['DB_PASSWORD']
); );
$result = Vesta::execute(Vesta::V_CHANGE_DB_PASSWORD, $params); $result = Vesta::execute(Vesta::V_CHANGE_DB_PASSWORD, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -136,27 +147,24 @@ class DB extends AjaxHandler
} }
/** /**
* suspend user * Suspend DB entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function suspendExecute($request) public function suspendExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'DB' => $_user.'_'.$_s['DB'] 'DB' => $_user.'_'.$_s['DB']
); );
$result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, $params); $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -164,27 +172,23 @@ class DB extends AjaxHandler
} }
/** /**
* unsuspend entry * Unsuspend DB entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function unsuspendExecute($request) public function unsuspendExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, 'USER' => $_user,
'DB' => $_user.'_'.$_s['DB'] 'DB' => $_user.'_'.$_s['DB']
); );
$result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, $params); $result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -192,27 +196,25 @@ class DB extends AjaxHandler
} }
/** /**
* Batch suspend entries * Batch Suspend DB entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function suspendAllExecute($request) public function suspendAllExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta'; $_JOB = $_s['JOB'];
$_JOB = $_s['JOB'];
$params = array( $params = array(
'USER' => $_user 'USER' => $_user
); );
$result = Vesta::execute(Vesta::V_SUSPEND_DB_BASES, $params); $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASES, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -220,26 +222,22 @@ class DB extends AjaxHandler
} }
/** /**
* Batch unsuspend entries * Batch unsuspend DB entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function unsuspendAllExecute($request) public function unsuspendAllExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta';
$_user = 'vesta';
$params = array( $params = array(
'USER' => $_user 'USER' => $_user
); );
$result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASES, $params); $result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASES, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }

View file

@ -3,40 +3,42 @@
/** /**
* DNS * DNS
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com> * TODO: Too many "if" statements. Code should be refactored in order to not use a lot of "if" conditions
* @author Malishev Dima <dima.malishev@gmail.com> *
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class DNS extends AjaxHandler class DNS extends AjaxHandler
{ {
/** /**
* list entries * Get DNS entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListExecute($request) { public function getListExecute($request)
{
$_user = 'vesta'; $_user = 'vesta';
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_DNS_DOMAINS, array($_user, Config::get('response_type'))); $result = Vesta::execute(Vesta::V_LIST_DNS_DOMAINS, array($_user, Config::get('response_type')));
foreach ($result['data'] as $dns_domain => $details) foreach ($result['data'] as $dns_domain => $details) {
{
$reply[] = array( $reply[] = array(
'DNS_DOMAIN' => $dns_domain, 'DNS_DOMAIN' => $dns_domain,
'IP' => $details['IP'], 'IP' => $details['IP'],
'TPL' => $details['TPL'], 'TPL' => $details['TPL'],
'TTL' => $details['TTL'], 'TTL' => $details['TTL'],
'EXP' => $details['EXP'], 'EXP' => $details['EXP'],
'SOA' => $details['SOA'], 'SOA' => $details['SOA'],
'SUSPEND' => $details['SUSPEND'], 'SUSPEND' => $details['SUSPEND'],
'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE']))) 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
); );
} }
if (!$result['status'])
{ if (!$result['status']) {
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -44,34 +46,31 @@ class DNS extends AjaxHandler
} }
/** /**
* List records of entries * Get DNS records
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListRecordsExecute($request) public function getListRecordsExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$reply = array();
$reply = array();
$result = Vesta::execute(Vesta::V_LIST_DNS_DOMAIN_RECORDS, array($_user, $_s['DNS_DOMAIN'], Config::get('response_type'))); $result = Vesta::execute(Vesta::V_LIST_DNS_DOMAIN_RECORDS, array($_user, $_s['DNS_DOMAIN'], Config::get('response_type')));
foreach ($result['data'] as $record_id => $details) foreach ($result['data'] as $record_id => $details) {
{
$reply[$record_id] = array( $reply[$record_id] = array(
'RECORD_ID' => $record_id, 'RECORD_ID' => $record_id,
'RECORD' => $details['RECORD'], 'RECORD' => $details['RECORD'],
'RECORD_TYPE' => $details['TYPE'], 'RECORD_TYPE' => $details['TYPE'],
'RECORD_VALUE' => $details['VALUE'], 'RECORD_VALUE' => $details['VALUE'],
'SUSPEND' => $details['SUSPEND'], 'SUSPEND' => $details['SUSPEND'],
'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE']))) 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
); );
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -79,40 +78,46 @@ class DNS extends AjaxHandler
} }
/** /**
* Add entry * Add DB entry
* *
* v_add_dns_domain user domain ip [template] [exp] [soa] [ttl] * v_add_dns_domain user domain ip [template] [exp] [soa] [ttl]
* http://95.163.16.160:8083/dispatch.php?jedi_method=DNS.add&USER=vesta&DOMAIN=dev.vestacp.com&IP_ADDRESS=95.163.16.160&TEMPLATE=default&EXP=01-01-12&SOA=ns1.vestacp.com&TTL=3600 * http://95.163.16.160:8083/dispatch.php?jedi_method=DNS.add&USER=vesta&DOMAIN=dev.vestacp.com&IP_ADDRESS=95.163.16.160&TEMPLATE=default&EXP=01-01-12&SOA=ns1.vestacp.com&TTL=3600
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function addExecute($_spell = false) public function addExecute($_spell = false)
{ {
$r = new Request(); $r = new Request();
if ($_spell) if ($_spell) {
{
$_s = $_spell; $_s = $_spell;
} }
else else {
{
$_s = $r->getSpell(); $_s = $r->getSpell();
} }
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, // TODO: examine if OWNER ??? 'USER' => $_user, /// OWNER ???
'DNS_DOMAIN' => $_s['DNS_DOMAIN'], 'DNS_DOMAIN' => $_s['DNS_DOMAIN'],
'IP' => $_s['IP'] 'IP' => $_s['IP']
); );
($_s['TPL']) ? $params['TPL'] = $_s['TPL'] : -1; // TODO: rewrite this block. Get away from if/if/if/if
($_s['EXP']) ? $params['EXP'] = $_s['EXP'] : -1; if ($_s['TPL']) {
($_s['SOA']) ? $params['SOA'] = $_s['SOA'] : -1; $params['TPL'] = $_s['TPL'];
($_s['TTL']) ? $params['TTL'] = $_s['TTL'] : -1; }
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']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -120,95 +125,96 @@ class DNS extends AjaxHandler
} }
/** /**
* Add record * Add DNS record
*
* v_add_dns_domain_record user domain record type value [id]
* http://95.163.16.160:8083/dispatch.php?jedi_method=DNS.addRecord&USER=vesta&DOMAIN=dev.vestacp.com&RECORD=ftp&TYPE=a&VALUE=87.248.190.222
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function addRecordExecute($request) public function addRecordExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_s['USER'], // TODO: find out if it's OWNER ??? 'USER' => $_s['USER'], /// OWNER ???
'DOMAIN' => $_s['DOMAIN'], 'DOMAIN' => $_s['DOMAIN'],
'RECORD' => $_s['RECORD'], 'RECORD' => $_s['RECORD'],
'RECORD_TYPE' => $_s['TYPE'], 'RECORD_TYPE' => $_s['TYPE'],
'RECORD_VALUE' => $_s['VALUE'], 'RECORD_VALUE' => $_s['VALUE'],
'RECORD_ID' => $_s['RECORD_ID'] 'RECORD_ID' => $_s['RECORD_ID']
); );
$result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN_RECORD, $params); $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN_RECORD, $params);
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']); return $this->reply($result['status'], $result['data']);
} }
/** /**
* Delete entry * Delete DNS entry
* *
* @param mixed $_spell * v_del_dns_domain user domain
* @return * http://95.163.16.160:8083/dispatch.php?jedi_method=DNS.del&USER=vesta&DOMAIN=dev.vestacp.com
*
* @param Request $request
* @return string - Ajax Reply
*/ */
public function delExecute($_spell = false) public function delExecute($_spell = false)
{ {
$r = new Request(); $r = new Request();
if ($_spell) if ($_spell) {
{
$_s = $_spell; $_s = $_spell;
} }
else else {
{
$_s = $r->getSpell(); $_s = $r->getSpell();
} }
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, // TODO: find out -> OWNER ??? 'USER' => $_user, /// OWNER ???
'DOMAIN' => $_s['DNS_DOMAIN'], 'DOMAIN' => $_s['DNS_DOMAIN'],
); );
$result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN, $params); $result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN, $params);
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']); return $this->reply($result['status'], $result['data']);
} }
/** /**
* Delete record * Add DNS record
*
* v_del_dns_domain_record user domain id
* http://95.163.16.160:8083/dispatch.php?jedi_method=DNS.delRecord&USER=vesta&DOMAIN=dev.vestacp.com&RECORD_ID=9
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
function delRecordExecute($request) public function delRecordExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_user, // TODO: find out if -> OWNER ??? 'USER' => $_user, // TODO: OWNER ???
'DOMAIN' => $_s['DOMAIN'], 'DOMAIN' => $_s['DOMAIN'],
'RECORD_ID' => $_s['RECORD_ID'] 'RECORD_ID' => $_s['RECORD_ID']
); );
$result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN_RECORD, $params); $result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN_RECORD, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -216,81 +222,73 @@ class DNS extends AjaxHandler
} }
/** /**
* Change entry * Change DNS entry
*
* TODO: get away from multiple "if" statements
*
* DNS.change&spell={"old":{"DNS_DOMAIN": "dev.vestacp.com","IP": "95.163.16.160","TPL": "default","TTL": "3377","EXP": "12-12-12","SOA": "ns2.vestacp.com"},"new":{"DNS_DOMAIN": "dev.vestacp.com","IP": "95.163.16.160","TPL": "default","TTL": "3600","EXP": "02-02-12","SOA": "ns1.vestacp.com"}}
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function changeExecute($request) public function changeExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_old = $_s['old']; $_old = $_s['old'];
$_new = $_s['new']; $_new = $_s['new'];
$_user = 'vesta';
$_user = 'vesta';
$_DNS_DOMAIN = $_new['DNS_DOMAIN']; $_DNS_DOMAIN = $_new['DNS_DOMAIN'];
if ($_old['IP'] != $_new['IP']) if ($_old['IP'] != $_new['IP']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_IP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['IP'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_IP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['IP']));
if(!$result['status']) if (!$result['status']) {
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['IP_ADDRESS'] = array($result['error_code'] => $result['error_message']); $this->errors['IP_ADDRESS'] = array($result['error_code'] => $result['error_message']);
} }
} }
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, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TPL'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_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']);
} }
} }
if ($_old['TTL'] != $_new['TTL']) if ($_old['TTL'] != $_new['TTL']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TTL'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_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']);
} }
} }
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, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['EXP'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_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']);
} }
} }
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, 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_new['SOA'])); $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $_user, 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_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']);
} }
} }
if (!$this->status) if (!$this->status) {
{ Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_IP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['IP']));
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_IP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['IP']));
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TPL'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TPL']));
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TTL'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TTL']));
Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP']));
@ -301,44 +299,40 @@ class DNS extends AjaxHandler
} }
/** /**
* Change record * Change DNS record
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function changeRecordsExecute($request) public function changeRecordsExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_old = $_s['old']; $_old = $_s['old'];
$_new = $_s['new']; $_new = $_s['new'];
$_user = 'vesta'; $_user = 'vesta';
$_DNS_DOMAIN = $_s['DNS_DOMAIN']; $_DNS_DOMAIN = $_s['DNS_DOMAIN'];
foreach ($_new as $record_id => $record_data) foreach ($_new as $record_id => $record_data) {
{
// checking if record existed - update // checking if record existed - update
if(is_array($_old[$record_id])) if (is_array($_old[$record_id])) {
{ $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_RECORD,
// TODO: Remove this. is it necessary??! array(
echo '<br> updating'.$record_id; 'USER' => $_user,
'DNS_DOMAIN' => $_DNS_DOMAIN,
$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_RECORD, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'ID' => $record_id, 'RECORD' => $record_data['RECORD'], 'TYPE' => $record_data['RECORD_TYPE'], 'VALUE' => $record_data['RECORD_VALUE'])); 'ID' => $record_id,
if(!$result['status']) 'RECORD' => $record_data['RECORD'],
{ 'TYPE' => $record_data['RECORD_TYPE'],
'VALUE' => $record_data['RECORD_VALUE']
));
if (!$result['status']) {
$this->status = FALSE; $this->status = FALSE;
$this->errors[$record_id] = array($result['error_code'] => $result['error_message']); $this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
} }
} }
else else {
{
// record is new - add
// TODO: Remove this. is it necessary??!
echo '<br> adding'.$record_id;
$result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN_RECORD, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'RECORD' => $record_data['RECORD'], 'TYPE' => $record_data['RECORD_TYPE'], 'VALUE' => $record_data['RECORD_VALUE'], 'ID' => $record_id)); $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN_RECORD, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'RECORD' => $record_data['RECORD'], 'TYPE' => $record_data['RECORD_TYPE'], 'VALUE' => $record_data['RECORD_VALUE'], 'ID' => $record_id));
if(!$result['status']) if (!$result['status']) {
{
$this->status = FALSE; $this->status = FALSE;
$this->errors[$record_id] = array($result['error_code'] => $result['error_message']); $this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
} }
@ -348,13 +342,16 @@ class DNS extends AjaxHandler
} }
// in $_old have remained only record that do not present in new - so they have to be deleted // in $_old have remained only record that do not present in new - so they have to be deleted
foreach ($_old as $record_id => $record_data) foreach ($_old as $record_id => $record_data) {
{ /*
echo '<br> deleting'.$record_id; $result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN_RECORD, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'ID' => $record_id,));
if (!$result['status']) {
$this->status = FALSE;
$this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
}
*/
} }
return $this->reply($this->status, ''); return $this->reply($this->status, '');
} }
} }

View file

@ -2,34 +2,34 @@
/** /**
* IP * IP
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com>
* @author Malishev Dima <dima.malishev@gmail.com>
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class IP extends AjaxHandler class IP extends AjaxHandler
{ {
/** /**
* List entries * Get IP entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListExecute($request) public function getListExecute($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) $reply[] = array_merge(
{ array(
$reply[] = array_merge(array( 'IP_ADDRESS' => $ip,
'IP_ADDRESS' => $ip, 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE']))) ), $details);
), $details);
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -37,26 +37,24 @@ class IP extends AjaxHandler
} }
/** /**
* List user ips entries * Get user's IPs
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListUserIpsExecute($request) public function 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) $reply[] = array_merge(
{ array(
$reply[] = array_merge(array( 'IP_ADDRESS' => $ip,
'IP_ADDRESS' => $ip, 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE']))) ), $details);
), $details);
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -64,31 +62,29 @@ class IP extends AjaxHandler
} }
/** /**
* Add entry * Add IP entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function addExecute($request) public function addExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'IP_ADDRESS' => $_s['IP_ADDRESS'], 'IP_ADDRESS' => $_s['IP_ADDRESS'],
'MASK' => $_s['MASK'], 'MASK' => $_s['MASK'],
'INTERFACE' => $_s['INTERFACE'], 'INTERFACE' => $_s['INTERFACE'],
'OWNER' => $_s['OWNER'], 'OWNER' => $_s['OWNER'],
'IP_STATUS' => $_s['IP_STATUS'], 'IP_STATUS' => $_s['IP_STATUS'],
'IP_NAME' => $_s['IP_NAME'] 'IP_NAME' => $_s['IP_NAME']
); );
$result = Vesta::execute(Vesta::V_ADD_SYS_IP, $params); $result = Vesta::execute(Vesta::V_ADD_SYS_IP, $params);
if (!$result['status']) {
if (!$result['status'])
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -96,25 +92,23 @@ class IP extends AjaxHandler
} }
/** /**
* Delete entry * Delete IP entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function delExecute($request) public function delExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'IP_ADDRESS' => $_s['IP_ADDRESS'] 'IP_ADDRESS' => $_s['IP_ADDRESS']
); );
$result = Vesta::execute(Vesta::V_DEL_SYS_IP, $params); $result = Vesta::execute(Vesta::V_DEL_SYS_IP, $params);
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -122,56 +116,47 @@ class IP extends AjaxHandler
} }
/** /**
* Change entry * Change IP entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function changeExecute($request) public function changeExecute($request)
{ {
$r = new Request(); $r = new Request();
$_s = $r->getSpell(); $_s = $r->getSpell();
$_old = $_s['old']; $_old = $_s['old'];
$_new = $_s['new']; $_new = $_s['new'];
$_user = 'vesta';
$_user = 'vesta'; if ($_old['OWNER'] != $_new['OWNER']) {
if ($_old['OWNER'] != $_new['OWNER'])
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_OWNER, array('OWNER' => $_new['OWNER'], 'IP' => $_new['IP_ADDRESS'])); $result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_OWNER, array('OWNER' => $_new['OWNER'], 'IP' => $_new['IP_ADDRESS']));
if(!$result['status']) if (!$result['status']) {
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['OWNER'] = array($result['error_code'] => $result['error_message']); $this->errors['OWNER'] = array($result['error_code'] => $result['error_message']);
} }
} }
if ($_old['NAME'] != $_new['NAME']) if ($_old['NAME'] != $_new['NAME']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_NAME, array('IP' => $_new['IP_ADDRESS'], 'NAME' => $_new['NAME'])); $result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_NAME, array('IP' => $_new['IP_ADDRESS'], 'NAME' => $_new['NAME']));
if (!$result['status']) if (!$result['status']) {
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['NAME'] = array($result['error_code'] => $result['error_message']); $this->errors['NAME'] = array($result['error_code'] => $result['error_message']);
} }
} }
if ($_old['IP_STATUS'] != $_new['IP_STATUS']) if ($_old['IP_STATUS'] != $_new['IP_STATUS']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_STATUS, array('IP' => $_new['IP_ADDRESS'], 'IP_STATUS' => $_new['IP_STATUS'])); $result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_STATUS, array('IP' => $_new['IP_ADDRESS'], 'IP_STATUS' => $_new['IP_STATUS']));
if (!$result['status']) if (!$result['status']) {
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['IP_STATUS'] = array($result['error_code'] => $result['error_message']); $this->errors['IP_STATUS'] = array($result['error_code'] => $result['error_message']);
} }
} }
if (!$result['status']) {
if (!$result['status'])
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -179,24 +164,21 @@ class IP extends AjaxHandler
} }
/** /**
* Get sys interfaces * Get Sys interfaces
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getSysInterfacesExecute($request) public function getSysInterfacesExecute($request)
{ {
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_SYS_INTERFACES, array(Config::get('response_type')));
$result = Vesta::execute(Vesta::V_LIST_SYS_INTERFACES, array(Config::get('response_type'))); foreach ($result['data'] as $iface) {
foreach ($result['data'] as $iface)
{
$reply[$iface] = $iface; $reply[$iface] = $iface;
} }
if (!$result['status']) if (!$result['status']) {
{
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }

View file

@ -9,123 +9,194 @@
* - methods, used for ajax executions must be postfixed with execute keyword * - methods, used for ajax executions must be postfixed with execute keyword
* Eg.: getDnsInformationExecute() * Eg.: getDnsInformationExecute()
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com>
* @author Malishev Dima <dima.malishev@gmail.com>
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class MAIN extends AjaxHandler class MAIN extends AjaxHandler
{ {
/** /**
* Get version * Get Version
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function versionExecute($request) public function versionExecute($request)
{ {
$result = array( $result = array(
'version' => '1.0', 'version' => '1.0',
'author' => 'http://vestacp.com/', 'author' => 'http://vestacp.com/',
'docs' => 'http://vestacp.com/docs' 'docs' => 'http://vestacp.com/docs'
); );
return $this->reply(true, $result); return $this->reply(true, $result);
} }
/** /**
* Get initial params * Get Initial params.
* Global constants / variables / configs
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getInitialExecute($request) public function getInitialExecute($request)
{ {
require_once V_ROOT_DIR . 'api/IP.class.php'; require_once V_ROOT_DIR . 'api/IP.class.php';
require_once V_ROOT_DIR . 'api/USER.class.php'; require_once V_ROOT_DIR . 'api/USER.class.php';
// IP
$ip_obj = new IP(); $ip_obj = new IP();
$user_obj = new USER(); $user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE);
foreach ($user_ips['data'] as $ip) {
$user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE);
foreach ($user_ips['data'] as $ip)
{
$ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS']; $ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
} }
// USER
$user_obj = new USER();
$users = json_decode($user_obj->getListExecute(), TRUE);
$user_names = array_keys($users['data']['data']);
$db_types = array('mysql' => 'mysql', 'postgress' => 'postgress');
$interfaces_arr = json_decode($ip_obj->getSysInterfacesExecute(), TRUE);
$interfaces = $interfaces_arr['data'];
$users = json_decode($user_obj->getListExecute(), TRUE); $data_web_domain = array('ips' => $ips);
$user_names = array_keys($users['data']['data']); $data_ip = array('user_names' => $user_names, 'interfaces' => $interfaces);
$db_types = array( $data_dns = array('ips' => $ips);
'mysql' => 'mysql', $data_db = array('db_types' => $db_types);
'postgress' => 'postgress' $data_users = array('user_names' => $user_names);
);
$interfaces_arr = json_decode($ip_obj->getSysInterfacesExecute(), TRUE);
$interfaces = $interfaces_arr['data'];
$reply = array( $reply = array(
'WEB_DOMAIN' => array( 'WEB_DOMAIN' => $this->getWebDomainParams($data_web_domain),
'TPL' => array('default' => 'default'), 'CRON' => $this->getCronParams(),
'ALIAS' => array(), 'IP' => $this->getIpParams($data_ip),
'STAT' => array( 'DNS' => $this->getDnsParams(),
'webalizer' => 'webalizer', 'DB' => $this->getDbParams($data_db),
'awstats' => 'awstats'), 'USERS' => $this->getUsersParams($data_users)
'IP' => $ips );
),
'CRON' => array(),
'IP' => array(
'SYS_USERS' => $user_names,
'STATUSES' => array(
'shared' => 'shared',
'exclusive' => 'exclusive'
),
'INTERFACES' => $interfaces,
'MASK' => array(
'255.255.255.0' => '255.255.255.0',
'255.255.255.128' => '255.255.255.128',
'255.255.255.192' => '255.255.255.192',
'255.255.255.224' => '255.255.255.224',
'255.255.255.240' => '255.255.255.240',
'255.255.255.248' => '255.255.255.248',
'255.255.255.252' => '255.255.255.252',
'255.255.255.255' => '255.255.255.255'
),
'OWNER' => array()
),
'DNS' => array(
'IP' => $ips,
'TPL' => array(
'default' => 'default'
),
'EXP' => array(),
'SOA' => array(),
'TTL' => array(),
'record' => array(
'RECORD' => array(),
'RECORD_TYPE' => array('a' => 'a', 'reverse' => 'reverse'),
'RECORD_VALUE' => array()
)
),
'DB' => array(
'TYPE' => $db_types
),
'USERS' => array(
'ROLE' => array('user' => 'user'),
'OWNER' => $user_names,
'PACKAGE' => array('default' => 'default'),
'NS1' => array('' => ''),
'NS2' => array('' => ''),
'SHELL' => array(
'/bin/sh' => '/bin/sh',
'/bin/bash' => '/bin/bash',
'/sbin/nologin' => '/sbin/nologin',
'/bin/tcsh' => '/bin/tcsh',
'/bin/csh' => '/bin/csh')
)
);
return $this->reply(true, $reply); return $this->reply(true, $reply);
} }
//
//
//
/**
* WEB DOMAIN initial params
*
* @params array $data
* @return array
*/
public function getWebDomainParams($data = array())
{
return array(
'TPL' => array('default' => 'default'),
'ALIAS' => array(),
'STAT' => array(
'webalizer' => 'webalizer',
'awstats' => 'awstats'
),
'IP' => $data['ips']
);
}
/**
* CRON initial params
*
* @params array $data
* @return array
*/
public function getCronParams($data = array())
{
return array();
}
/**
* IP initial params
*
* @params array $data
* @return array
*/
public function getIpParams($data = array())
{
return array(
'SYS_USERS' => $data['user_names'],
'STATUSES' => array(
'shared' => 'shared',
'exclusive' => 'exclusive'
),
'INTERFACES' => $data['interfaces'],
'MASK' => array(
'255.255.255.0' => '255.255.255.0',
'255.255.255.128' => '255.255.255.128',
'255.255.255.192' => '255.255.255.192',
'255.255.255.224' => '255.255.255.224',
'255.255.255.240' => '255.255.255.240',
'255.255.255.248' => '255.255.255.248',
'255.255.255.252' => '255.255.255.252',
'255.255.255.255' => '255.255.255.255'
),
'OWNER' => array('Chuck Norris' => 'Chuck Norris')
);
}
/**
* DNS initial params
*
* @params array $data
* @return array
*/
public function getDnsParams($data = array())
{
return array(
'IP' => $data['ips'],
'TPL' => array('default' => 'default'),
'EXP' => array(),
'SOA' => array(),
'TTL' => array(),
'record' => array(
'RECORD' => array(),
'RECORD_TYPE' => array('a' => 'a', 'reverse' => 'reverse'),
'RECORD_VALUE' => array()
)
);
}
/**
* DB initial params
*
* @params array $data
* @return array
*/
public function getDbParams($data = array())
{
return array(
'TYPE' => $data['db_types'],
'HOST' => array('vestacp.com' => 'vestacp.com', 'askcow.org' => 'askcow.org')
);
}
/**
* Users initial params
*
* @params array $data
* @return array
*/
public function getUsersParams($data = array())
{
return array(
'ROLE' => array('user' => 'user'),
'OWNER' => $data['user_names'],
'PACKAGE' => array('default' => 'default'),
'NS1' => array('' => ''),
'NS2' => array('' => ''),
'SHELL' => array(
'/bin/sh' => '/bin/sh',
'/bin/bash' => '/bin/bash',
'/sbin/nologin' => '/sbin/nologin',
'/bin/tcsh' => '/bin/tcsh',
'/bin/csh' => '/bin/csh')
);
}
} }

View file

@ -1,107 +1,100 @@
<?php <?php
/** /**
* PARAMS * PARAMS
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com> * @deprecated
* @author Malishev Dima <dima.malishev@gmail.com> *
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class PARAMS extends AjaxHandler class PARAMS extends AjaxHandler {
{ /*
/** function getInitialExecute($request)
* Get initial params
*
* @param Request $request
* @return
*/
public function getInitialExecute($request)
{ {
require_once V_ROOT_DIR . 'api/IP.class.php'; require_once V_ROOT_DIR . 'api/IP.class.php';
require_once V_ROOT_DIR . 'api/USER.class.php';
$ip_obj = new IP(); $ip_obj = new IP();
$user_obj = new USER();
$user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE); $user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE);
foreach ($user_ips['data'] as $ip) foreach($user_ips['data'] as $ip)
{ $ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
$ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
}
require_once V_ROOT_DIR . 'api/USER.class.php';
$user_obj = new USER();
$users = json_decode($user_obj->getListExecute(), TRUE); $users = json_decode($user_obj->getListExecute(), TRUE);
$user_names = array_keys($users['data']['data']); $user_names = array_keys($users['data']['data']);
$db_types = array( $db_types = array('mysql' => 'mysql', 'postgress' => 'postgress');
'mysql' => 'mysql',
'postgress' => 'postgress' $interfaces_arr = json_decode($ip_obj->getSysInterfacesExecute(), TRUE);
); $interfaces = $interfaces_arr['data'];
$interfaces_arr = json_decode($ip_obj->getSysInterfacesExecute(), TRUE);
$interfaces = $interfaces_arr['data'];
$reply = array( $reply = array(
'WEB_DOMAIN' => array( 'WEB_DOMAIN' => array(
'TPL' => array('default' => 'default'), 'TPL' => array('default' => 'default'),
'ALIAS' => array(), 'ALIAS' => array(),
'STAT' => array( 'STAT' => array(
'webalizer' => 'webalizer', 'webalizer' => 'webalizer',
'awstats' => 'awstats'), 'awstats' => 'awstats'),
'IP' => $ips 'IP' => $ips
), ),
'CRON' => array(),
'IP' => array( 'CRON' => array(),
'SYS_USERS' => $user_names,
'STATUSES' => array( 'IP' => array(
'shared' => 'shared', 'SYS_USERS' => $user_names,
'exclusive' => 'exclusive' 'STATUSES' => array(
), 'shared' => 'shared',
'INTERFACES' => $interfaces, 'exclusive' => 'exclusive'
'MASK' => array( ),
'255.255.255.0' => '255.255.255.0', 'INTERFACES' => $interfaces,
'255.255.255.128' => '255.255.255.128', 'MASK' => array(
'255.255.255.192' => '255.255.255.192', '255.255.255.0' => '255.255.255.0',
'255.255.255.224' => '255.255.255.224', '255.255.255.128' => '255.255.255.128',
'255.255.255.240' => '255.255.255.240', '255.255.255.192' => '255.255.255.192',
'255.255.255.248' => '255.255.255.248', '255.255.255.224' => '255.255.255.224',
'255.255.255.252' => '255.255.255.252', '255.255.255.240' => '255.255.255.240',
'255.255.255.255' => '255.255.255.255' '255.255.255.248' => '255.255.255.248',
), '255.255.255.252' => '255.255.255.252',
'OWNER' => array() '255.255.255.255' => '255.255.255.255'
), ),
'DNS' => array( 'OWNER' => array()
'IP' => $ips, ),
'TPL' => array(
'default' => 'default' 'DNS' => array(
), 'IP' => $ips,
'EXP' => array(), 'TPL' => array('default' => 'default'),
'SOA' => array(), 'EXP' => array(),
'TTL' => array(), 'SOA' => array(),
'record' => array( 'TTL' => array(),
'RECORD' => array(), 'record' => array(
'RECORD_TYPE' => array('a' => 'a', 'reverse' => 'reverse'), 'RECORD' => array(),
'RECORD_VALUE' => array() 'RECORD_TYPE' => array('a' => 'a', 'reverce' => 'reverce'),
) 'RECORD_VALUE' => array()
), )
'DB' => array( ),
'TYPE' => $db_types
), 'DB' => array(
'USERS' => array( 'TYPE' => $db_types,
'ROLE' => array('user' => 'user'), 'HOST' => array('vestacp.com' => 'vestacp.com', 'askcow.org' => 'askcow.org')
'OWNER' => $user_names, ),
'PACKAGE' => array('default' => 'default'),
'NS1' => array('' => ''), 'USERS' => array(
'NS2' => array('' => ''), 'ROLE' => array('user' => 'user'),
'SHELL' => array( 'OWNER' => $user_names,
'/bin/sh' => '/bin/sh', 'PACKAGE' => array('default' => 'default'),
'/bin/bash' => '/bin/bash', 'NS1' => array('' => ''),
'/sbin/nologin' => '/sbin/nologin', 'NS2' => array('' => ''),
'/bin/tcsh' => '/bin/tcsh', 'SHELL' => array(
'/bin/csh' => '/bin/csh') '/bin/sh' => '/bin/sh',
) '/bin/bash' => '/bin/bash',
); '/sbin/nologin' => '/sbin/nologin',
'/bin/tcsh' => '/bin/tcsh',
'/bin/csh' => '/bin/csh')
)
);
return $this->reply(true, $reply); return $this->reply(true, $reply);
} }*/
} }

View file

@ -2,75 +2,109 @@
/** /**
* USERS * USERS
* *
* @author Naumov-Socolov <naumov.socolov@gmail.com>
* @author Malishev Dima <dima.malishev@gmail.com>
* @author vesta, http://vestacp.com/ * @author vesta, http://vestacp.com/
* @author Dmitry Malishev <dima.malishev@gmail.com>
* @author Dmitry Naumov-Socolov <naumov.socolov@gmail.com>
* @copyright vesta 2010-2011 * @copyright vesta 2010-2011
*/ */
class USER extends AjaxHandler class USER extends AjaxHandler
{ {
/** /**
* Get list * Get USER entries
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function getListExecute($request) public function getListExecute($request)
{ {
$reply = array(); $reply = array();
$result = Vesta::execute(Vesta::V_LIST_SYS_USERS, array(Config::get('response_type'))); $result = Vesta::execute(Vesta::V_LIST_SYS_USERS, array(Config::get('response_type')));
$users = array('Han Solo', 'Darth Vader', 'Jabba the Hutt', 'Boba Fett', 'Jango Fett', ' Aurra Sing', 'Padme',
'Tusken Raider', 'General Grievous', 'Wedge Antilles', 'Padme Amidala', 'Bib Fortuna', 'Kyle Katarn',
'Quinlan Vos', 'Princess Leia', 'Obi-Wan Kenobi', 'Han Solo', 'Hondo Ohnaka', 'Noa Briqualon', 'C3P0',
'R2-D2', 'Quinlan Vos', 'Mara Jade' , 'Luke Skywalker', 'Luke Skywalker' , 'Luke Skywalker'
);
foreach ($result as $ip => $details) foreach ($result['data'] as $user => $details) {
{ $fullname_id = rand(0, count($users)-1);
$reply[] = array( $fullname = $users[$fullname_id];
'interface' => $details['INTERFACE'],
'sys_users' => $details['U_SYS_USERS'],
'web_domains' => $details['U_WEB_DOMAINS'],
'status' => $details['STATUS'],
'ip' => $ip,
'net_mask' => $details['NETMASK'],
'name' => $details['NAME'],
'owner' => $details['OWNER'],
'created_at' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
);
}
return $this->reply(true, $result); $reply[$user] = array(
"LOGIN_NAME" => $user,
"FULLNAME" => $fullname, // TODO skid
"PACKAGE" => $details['PACKAGE'],
"WEB_DOMAINS" => $details['WEB_DOMAINS'],
"WEB_SSL" => $details['WEB_SSL'],
"WEB_ALIASES" => $details['WEB_ALIASES'],
"DATABASES" => $details['DATABASES'],
"MAIL_DOMAINS" => $details['MAIL_DOMAINS'],
"MAIL_BOXES" => $details['MAIL_BOXES'],
"MAIL_FORWARDERS" => $details['MAIL_FORWARDERS'],
"DNS_DOMAINS" => $details['DNS_DOMAINS'],
"DISK_QUOTA" => $details['DISK_QUOTA'],//$disk_quota,
"BANDWIDTH" => $details['BANDWIDTH'],//$bandwidth,
"NS_LIST" => array($details['NS1'], $details['NS2']), // TODO skid
"SHELL" => $details['"SHELL'],
"BACKUPS" => $details['BACKUPS'],
"WEB_TPL" => $details['WEB_TPL'],
"MAX_CHILDS" => $details['MAX_CHILDS'],
"SUSPENDED" => $details['SUSPENDED'],
"OWNER" => $details['OWNER'],
"ROLE" => $details['ROLE'],
"IP_OWNED" => $details['IP_OWNED'],
"U_CHILDS" => $details['U_CHILDS'],
"U_DISK" => $details['U_DISK'],//$u_disk,
"U_BANDWIDTH" => $details['U_BANDWIDTH'],//$u_bandwidth,
"U_WEB_DOMAINS" => $details['U_WEB_DOMAINS'],
"U_WEB_SSL" => $details['U_WEB_SSL'],
"U_DNS_DOMAINS" => $details['U_DNS_DOMAINS'],
"U_DATABASES" => $details['U_DATABASES'],
"U_MAIL_DOMAINS" => $details['U_MAIL_DOMAINS'],
"CONTACT" => $details['CONTACT'],
"DATE" => $details['DATE'],
"U_MAIL_BOXES" => rand(1, 10), // TODO: skid
"U_MAIL_FORWARDERS" => rand(1, 10), // TODO: skid
"REPORTS_ENABLED" => 'enabled' // TODO: skid
);
}
return $this->reply(TRUE, $reply);
} }
/** /**
* Add action * Add USER entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function addExecute($_spell = false) public function addExecute($_spell = FALSE)
{ {
$r = new Request(); $r = new Request();
if ($_spell) if ($_spell) {
{
$_s = $_spell; $_s = $_spell;
} }
else else {
{
$_s = $r->getSpell(); $_s = $r->getSpell();
} }
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_s['USER'], 'USER' => $_s['USER'],
'PASSWORD' => $_s['PASSWORD'], 'PASSWORD' => $_s['PASSWORD'],
'EMAIL' => $_s['EMAIL'], 'EMAIL' => $_s['EMAIL'],
'ROLE' => $_s['ROLE'], 'ROLE' => $_s['ROLE'],
'OWNER' => $_user, 'OWNER' => $_user,
'PACKAGE' => $_s['PACKAGE'], 'PACKAGE' => $_s['PACKAGE'],
'NS1' => $_s['NS1'], 'NS1' => $_s['NS1'],
'NS2' => $_s['NS2'] 'NS2' => $_s['NS2']
); );
$result = Vesta::execute(Vesta::V_ADD_SYS_USER, $params); $result = Vesta::execute(Vesta::V_ADD_SYS_USER, $params);
if (!$result['status'])
{ if (!$result['status']) {
$this->errors[] = array($result['error_code'] => $result['error_message']); $this->errors[] = array($result['error_code'] => $result['error_message']);
} }
@ -78,41 +112,40 @@ class USER extends AjaxHandler
} }
/** /**
* Delete action * Delete USER entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function delExecute($_spell = false) public function delExecute($_spell = false)
{ {
$r = new Request(); $r = new Request();
if ($_spell) if ($_spell) {
{
$_s = $_spell; $_s = $_spell;
} }
else else {
{
$_s = $r->getSpell(); $_s = $r->getSpell();
} }
$_user = 'vesta'; $_user = 'vesta';
$params = array( $params = array(
'USER' => $_s['USER'] 'USER' => $_s['USER']
); );
$result = Vesta::execute(Vesta::V_DEL_SYS_USER, $params); $result = Vesta::execute(Vesta::V_DEL_SYS_USER, $params);
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']); return $this->reply($result['status'], $result['data']);
} }
/** /**
* Change action * Change USER entry
* *
* @param Request $request * @param Request $request
* @return * @return string - Ajax Reply
*/ */
public function changeExecute($request) public function changeExecute($request)
{ {
@ -123,15 +156,12 @@ class USER extends AjaxHandler
$_USER = $_new['USER']; $_USER = $_new['USER'];
if($_old['USER'] != $_new['USER']) if ($_old['USER'] != $_new['USER']) {
{
$result = array(); $result = array();
// creating new user // creating new user
$result = $this->addExecute($_new); $result = $this->addExecute($_new);
// deleting old // deleting old
if ($result['status']) if ($result['status']) {
{
$result = array(); $result = array();
$result = $this->delExecute($_old); $result = $this->delExecute($_old);
@ -139,77 +169,59 @@ class USER extends AjaxHandler
} }
} }
if ($_old['PASSWORD'] != $_new['PASSWORD']) if ($_old['PASSWORD'] != $_new['PASSWORD']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, array('USER' => $_USER, 'PASSWORD' => $_new['PASSWORD']));
array('USER' => $_USER, 'PASSWORD' => $_new['PASSWORD'])); if (!$result['status']) {
if (!$result['status'])
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['PASSWORD'] = array($result['error_code'] => $result['error_message']); $this->errors['PASSWORD'] = array($result['error_code'] => $result['error_message']);
} }
} }
if ($_old['PACKAGE'] != $_new['PACKAGE']) if ($_old['PACKAGE'] != $_new['PACKAGE']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, array('USER' => $_USER, 'PACKAGE' => $_new['PACKAGE']));
array('USER' => $_USER, 'PACKAGE' => $_new['PACKAGE'])); if (!$result['status']) {
if (!$result['status'])
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['PACKAGE'] = array($result['error_code'] => $result['error_message']); $this->errors['PACKAGE'] = array($result['error_code'] => $result['error_message']);
} }
} }
if ($_old['EMAIL'] != $_new['EMAIL']) if ($_old['EMAIL'] != $_new['EMAIL']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, array('USER' => $_USER, 'EMAIL' => $_new['EMAIL']));
array('USER' => $_USER, 'EMAIL' => $_new['EMAIL'])); if (!$result['status']) {
if (!$result['status'])
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['EMAIL'] = array($result['error_code'] => $result['error_message']); $this->errors['EMAIL'] = array($result['error_code'] => $result['error_message']);
} }
} }
if ($_old['NS1'] != $_new['NS1'] || $_old['NS2'] != $_new['NS2']) if ($_old['NS1'] != $_new['NS1'] || $_old['NS2'] != $_new['NS2']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, array('USER' => $_USER, 'NS1' => $_new['NS1'], 'NS2' => $_new['NS2']));
array('USER' => $_USER, 'NS1' => $_new['NS1'], 'NS2' => $_new['NS2'])); if (!$result['status']) {
if (!$result['status'])
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['NS'] = array($result['error_code'] => $result['error_message']); $this->errors['NS'] = array($result['error_code'] => $result['error_message']);
} }
} }
if ($_old['SHELL'] != $_new['SHELL']) if ($_old['SHELL'] != $_new['SHELL']) {
{
$result = array(); $result = array();
$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, array('USER' => $_USER, 'SHELL' => $_new['SHELL']));
array('USER' => $_USER, 'SHELL' => $_new['SHELL'])); if (!$result['status']) {
if (!$result['status'])
{
$this->status = FALSE; $this->status = FALSE;
$this->errors['SHELL'] = array($result['error_code'] => $result['error_message']); $this->errors['SHELL'] = 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']));
// change role // $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, array('USER' => $_USER, 'PACKAGE' => $_new['PACKAGE'])); 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']));
} }
return $this->reply($this->status, ''); return $this->reply($this->status, '');
} }
} }

File diff suppressed because it is too large Load diff