Explorar o código

Tabs into spaces converted

Malishev Dima %!s(int64=14) %!d(string=hai) anos
pai
achega
b908909e1a

+ 1 - 0
web/index.html

@@ -209,6 +209,7 @@
         <script type="text/javascript" src="js/lib/custom-form-elements.js"></script>
         <script type="text/javascript" src="js/lib/browser.js"></script>
         <script type="text/javascript" src="js/lib/popup.js"></script>
+        <script type="text/javascript" src="js/tech.js"></script>
         <script type="text/javascript" src="js/app.js"></script>
         <script type="text/javascript" src="js/tech.js"></script>
         <script type="text/javascript" src="js/_settings.js"></script>

+ 20 - 20
web/vesta/api/AjaxHandler.php

@@ -52,28 +52,28 @@ class AjaxHandler
         return $space->$method($request);
     }
 
-	/**
-	 * Prepare the result of method execution into ajax-readable format
-	 * 
-	 * @param boolean $result - result of method execution
-	 * @param array $data - data to be replied
-	 * @param string $message - replied message
-	 * @param array $extra - extra data 
-	 */
+    /**
+     * Prepare the result of method execution into ajax-readable format
+     * 
+     * @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()) 
     {
       return json_encode(array('result' => $result,
-			       'data' => $data,
-			       'message' => $message,
-			       'extra' => $extra,
-			       'errors' => $this->errors
-			       ));
+                   'data' => $data,
+                   'message' => $message,
+                   'extra' => $extra,
+                   'errors' => $this->errors
+                   ));
     }
 
-	/**
-	 * TODO: delete this method
-	 * @deprecated	 
-	 */
+    /**
+     * TODO: delete this method
+     * @deprecated     
+     */
     static function makeReply($reply) 
     {
         print $reply;
@@ -92,7 +92,7 @@ class AjaxHandler
         self::renderGlobalError(Message::ERROR, Message::GENERAL_ERROR, $error);
     }
 
-	/**
+    /**
      * Generate protection error
      * @param Exception $error
      */
@@ -101,7 +101,7 @@ class AjaxHandler
         self::renderGlobalError(Message::ERROR, Message::PROTECTION_ERROR, $error);
     }
 
-	/**
+    /**
      * Generate system error
      * @param Exception $error
      */
@@ -110,7 +110,7 @@ class AjaxHandler
         self::renderGlobalError(Message::ERROR, Message::SYSTEM_ERROR, $error);
     }
 
-	/**
+    /**
      * Prepare and render the error
      * @param Exception $error
      */

+ 253 - 253
web/vesta/api/CRON.class.php

@@ -11,261 +11,261 @@
 class CRON extends AjaxHandler 
 {
   
-	/**
-	 * List cron entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function getListExecute($request) 
-	{
-		$_user = 'vesta';
-		$reply = array();
-
-		$result = Vesta::execute(Vesta::V_LIST_CRON_JOBS, 
-								array($_user, Config::get('response_type')));
-
-		foreach ($result['data'] as $id => $record) 
-		{
-			$reply[$id] = array(
-				'CMD' => $record['CMD'],
-				'MIN' => $record['MIN'],
-				'HOUR' => $record['HOUR'],
-				'DAY' => $record['DAY'],
-				'MONTH' => $record['MONTH'],
-				'WDAY' => $record['WDAY'],
-				'SUSPEND' => $record['SUSPEND'],
-				'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
-			);
-		}
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $reply);
-	}
-
-	/**
-	 * Add cron entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function addExecute($request) 
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user,
-			'MIN' => $_s['MIN'],
-			'HOUR' => $_s['HOUR'],
-			'DAY' => $_s['DAY'],
-			'MONTH' => $_s['MONTH'],
-			'WDAY' => $_s['WDAY'],
-			'CMD' => $_s['CMD']
-		);
-
-		$result = Vesta::execute(Vesta::V_ADD_CRON_JOB, $params);
-
-		if ($_s['REPORTS'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_ADD_SYS_USER_REPORTS, 
-									 array('USER' => $_user));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['REPORTS'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
+    /**
+     * List cron entries
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function getListExecute($request) 
+    {
+        $_user = 'vesta';
+        $reply = array();
+
+        $result = Vesta::execute(Vesta::V_LIST_CRON_JOBS, 
+                                array($_user, Config::get('response_type')));
+
+        foreach ($result['data'] as $id => $record) 
+        {
+            $reply[$id] = array(
+                'CMD' => $record['CMD'],
+                'MIN' => $record['MIN'],
+                'HOUR' => $record['HOUR'],
+                'DAY' => $record['DAY'],
+                'MONTH' => $record['MONTH'],
+                'WDAY' => $record['WDAY'],
+                'SUSPEND' => $record['SUSPEND'],
+                'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
+            );
+        }
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $reply);
+    }
+
+    /**
+     * Add cron entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function addExecute($request) 
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user,
+            'MIN' => $_s['MIN'],
+            'HOUR' => $_s['HOUR'],
+            'DAY' => $_s['DAY'],
+            'MONTH' => $_s['MONTH'],
+            'WDAY' => $_s['WDAY'],
+            'CMD' => $_s['CMD']
+        );
+
+        $result = Vesta::execute(Vesta::V_ADD_CRON_JOB, $params);
+
+        if ($_s['REPORTS'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_ADD_SYS_USER_REPORTS, 
+                                     array('USER' => $_user));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['REPORTS'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
       
     /**
-	 * Delete cron entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */  
-	function delExecute($request) 
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
-
-		$params = array(
-				'USER' => $_user,
-				'JOB' => $_s['JOB']
-		);
-		$result = Vesta::execute(Vesta::V_DEL_CRON_JOB, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
+     * Delete cron entry
+     * 
+     * @param Request $request
+     * @return
+     */  
+    function delExecute($request) 
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
+
+        $params = array(
+                'USER' => $_user,
+                'JOB' => $_s['JOB']
+        );
+        $result = Vesta::execute(Vesta::V_DEL_CRON_JOB, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
   
-	/**
-	 * Change cron entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	function changeExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_old = $_s['old'];
-		$_new = $_s['new'];
-
-		$_user = 'vesta';
-		$_JOB = $_new['JOB'];
-
-		$result = array();
-		$params = array(
-			'USER' => $_user,
-			'JOB' => $_JOB,
-			'MIN' => $_new['MIN'],
-			'HOUR' => $_new['HOUR'],
-			'DAY' => $_new['DAY'],
-			'MONTH' => $_new['MONTH'],
-			'WDAY' => $_new['WDAY'],
-			'CMD' => $_new['CMD']
-		);
-
-		$result = Vesta::execute(Vesta::V_CHANGE_CRON_JOB, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Suspend cron entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	function suspendExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-		$_JOB = $_s['JOB'];
-
-		$params = array(
-			'USER' => $_user,
-			'JOB' => $_JOB
-		);
-
-		$result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, $params);
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-
-	/**
-	 * Unsuspend cron entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	function unsuspendExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-		$_JOB = $_s['JOB'];
-
-		$params = array(
-			'USER' => $_user,
-			'JOB' => $_JOB
-		);
-
-		$result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Batch suspend cron entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	function suspendAllExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-		$_JOB = $_s['JOB'];
-
-		$params = array(
-			'USER' => $_user
-		);
-
-		$result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOBS, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-	
-	/**
-	 * Batch suspend cron entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	function unsuspendAllExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user
-		);
-
-		$result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOBS, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
+    /**
+     * Change cron entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    function changeExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_old = $_s['old'];
+        $_new = $_s['new'];
+
+        $_user = 'vesta';
+        $_JOB = $_new['JOB'];
+
+        $result = array();
+        $params = array(
+            'USER' => $_user,
+            'JOB' => $_JOB,
+            'MIN' => $_new['MIN'],
+            'HOUR' => $_new['HOUR'],
+            'DAY' => $_new['DAY'],
+            'MONTH' => $_new['MONTH'],
+            'WDAY' => $_new['WDAY'],
+            'CMD' => $_new['CMD']
+        );
+
+        $result = Vesta::execute(Vesta::V_CHANGE_CRON_JOB, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Suspend cron entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    function suspendExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+        $_JOB = $_s['JOB'];
+
+        $params = array(
+            'USER' => $_user,
+            'JOB' => $_JOB
+        );
+
+        $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, $params);
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+
+    /**
+     * Unsuspend cron entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    function unsuspendExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+        $_JOB = $_s['JOB'];
+
+        $params = array(
+            'USER' => $_user,
+            'JOB' => $_JOB
+        );
+
+        $result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Batch suspend cron entries
+     * 
+     * @param Request $request
+     * @return
+     */
+    function suspendAllExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+        $_JOB = $_s['JOB'];
+
+        $params = array(
+            'USER' => $_user
+        );
+
+        $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOBS, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+    
+    /**
+     * Batch suspend cron entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    function unsuspendAllExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user
+        );
+
+        $result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOBS, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
    
 }

+ 232 - 232
web/vesta/api/DB.class.php

@@ -10,240 +10,240 @@
  */
 class DB extends AjaxHandler 
 {
-	
-	/**
-	 * List entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    
+    /**
+     * List entries
+     * 
+     * @param Request $request
+     * @return
+     */
     public function getListExecute($request) 
     {
-		$_user = 'vesta';
-		$reply = array();		
-		$result = Vesta::execute(Vesta::V_LIST_DB_BASES, array($_user, Config::get('response_type')));
-
-		foreach ($result['data'] as $db => $record)
-		{
-			$reply[$db] = array(
-				'DB' => $db,
-				'USER' => $record['USER'],
-				'HOST' => $record['HOST'],
-				'TYPE' => $record['TYPE'],
-				'U_DISK' => $record['U_DISK'],
-				'SUSPEND' => $record['SUSPEND'],
-				'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
-			);
-		}
-		
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-		
-		return $this->reply($result['status'], $reply);
-	}
-
-	/**
-	 * Add entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function addExecute($request) 
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user,
-			'DB' => $_s['DB'],
-			'DB_USER' => $_s['DB_USER'],
-			'DB_PASSWORD' => $_s['DB_PASSWORD'],
-			'TYPE' => $_s['TYPE']
-		);
-		if ($_s['HOST']) 
-		{
-			$params['HOST'] = $_s['HOST'];
-		}
-
-		$result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
+        $_user = 'vesta';
+        $reply = array();        
+        $result = Vesta::execute(Vesta::V_LIST_DB_BASES, array($_user, Config::get('response_type')));
+
+        foreach ($result['data'] as $db => $record)
+        {
+            $reply[$db] = array(
+                'DB' => $db,
+                'USER' => $record['USER'],
+                'HOST' => $record['HOST'],
+                'TYPE' => $record['TYPE'],
+                'U_DISK' => $record['U_DISK'],
+                'SUSPEND' => $record['SUSPEND'],
+                'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
+            );
+        }
+        
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+        
+        return $this->reply($result['status'], $reply);
+    }
+
+    /**
+     * Add entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function addExecute($request) 
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user,
+            'DB' => $_s['DB'],
+            'DB_USER' => $_s['DB_USER'],
+            'DB_PASSWORD' => $_s['DB_PASSWORD'],
+            'TYPE' => $_s['TYPE']
+        );
+        if ($_s['HOST']) 
+        {
+            $params['HOST'] = $_s['HOST'];
+        }
+
+        $result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
       
-	/**
-	 * Delete entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function delExecute($request) 
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user,
-			'DB' => $_user.'_'.$_s['DB']
-		);
-
-		$result = Vesta::execute(Vesta::V_DEL_DB_BASE, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Change password
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function changePasswordExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-
-		$result = array();
-		$params = array(
-			'USER' => $_user,
-			'DB' => $_user.'_'.$_s['DB'],
-			'PASSWORD' => $_s['DB_PASSWORD']
-		);
-
-		$result = Vesta::execute(Vesta::V_CHANGE_DB_PASSWORD, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-	
-	/**
-	 * suspend user
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function suspendExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user,
-			'DB' => $_user.'_'.$_s['DB']
-		);
-
-		$result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * unsuspend entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function unsuspendExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user,
-			'DB' => $_user.'_'.$_s['DB']
-		);
-
-		$result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Batch suspend entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function suspendAllExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-		$_JOB = $_s['JOB'];
-
-		$params = array(
-			'USER' => $_user
-		);
-
-		$result = Vesta::execute(Vesta::V_SUSPEND_DB_BASES, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Batch unsuspend entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function unsuspendAllExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_user
-		);
-
-		$result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASES, $params);
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
+    /**
+     * Delete entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function delExecute($request) 
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user,
+            'DB' => $_user.'_'.$_s['DB']
+        );
+
+        $result = Vesta::execute(Vesta::V_DEL_DB_BASE, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Change password
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function changePasswordExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+
+        $result = array();
+        $params = array(
+            'USER' => $_user,
+            'DB' => $_user.'_'.$_s['DB'],
+            'PASSWORD' => $_s['DB_PASSWORD']
+        );
+
+        $result = Vesta::execute(Vesta::V_CHANGE_DB_PASSWORD, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+    
+    /**
+     * suspend user
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function suspendExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user,
+            'DB' => $_user.'_'.$_s['DB']
+        );
+
+        $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * unsuspend entry
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function unsuspendExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user,
+            'DB' => $_user.'_'.$_s['DB']
+        );
+
+        $result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Batch suspend entries
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function suspendAllExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+        $_JOB = $_s['JOB'];
+
+        $params = array(
+            'USER' => $_user
+        );
+
+        $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASES, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Batch unsuspend entries
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function unsuspendAllExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_user
+        );
+
+        $result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASES, $params);
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
     
 }

+ 313 - 313
web/vesta/api/DNS.class.php

@@ -11,349 +11,349 @@
 class DNS extends AjaxHandler 
 {
  
-	/**
-	 * list entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function getListExecute($request) {
-		$_user = 'vesta';
-		$reply = array();
-
-		$result = Vesta::execute(Vesta::V_LIST_DNS_DOMAINS, array($_user, Config::get('response_type')));
-		foreach ($result['data'] as $dns_domain => $details)
-		{
-			$reply[] = array(
-				 'DNS_DOMAIN' => $dns_domain,
-				 'IP' => $details['IP'],
-				 'TPL' => $details['TPL'],
-				 'TTL' => $details['TTL'],
-				 'EXP' => $details['EXP'],
-				 'SOA' => $details['SOA'],
-				 'SUSPEND' => $details['SUSPEND'],				
-				 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
-			);
-		}
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $reply);
-	}
-
-	/**
-	 * List records of entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * list entries
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function getListExecute($request) {
+        $_user = 'vesta';
+        $reply = array();
+
+        $result = Vesta::execute(Vesta::V_LIST_DNS_DOMAINS, array($_user, Config::get('response_type')));
+        foreach ($result['data'] as $dns_domain => $details)
+        {
+            $reply[] = array(
+                 'DNS_DOMAIN' => $dns_domain,
+                 'IP' => $details['IP'],
+                 'TPL' => $details['TPL'],
+                 'TTL' => $details['TTL'],
+                 'EXP' => $details['EXP'],
+                 'SOA' => $details['SOA'],
+                 'SUSPEND' => $details['SUSPEND'],                
+                 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
+            );
+        }
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $reply);
+    }
+
+    /**
+     * List records of entries
+     * 
+     * @param Request $request
+     * @return
+     */
     public function getListRecordsExecute($request) 
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
-
-		$reply = array();
-	   
-		$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)
-		{
-			$reply[$record_id] = array(
-				 'RECORD_ID' => $record_id,
-				 'RECORD' => $details['RECORD'],
-				 'RECORD_TYPE' => $details['TYPE'],
-				 'RECORD_VALUE' => $details['VALUE'],
-				 'SUSPEND' => $details['SUSPEND'],
-				 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
-			);
-		}
-
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-		 
-		return $this->reply($result['status'], $reply);
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
+
+        $reply = array();
+       
+        $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)
+        {
+            $reply[$record_id] = array(
+                 'RECORD_ID' => $record_id,
+                 'RECORD' => $details['RECORD'],
+                 'RECORD_TYPE' => $details['TYPE'],
+                 'RECORD_VALUE' => $details['VALUE'],
+                 'SUSPEND' => $details['SUSPEND'],
+                 'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
+            );
+        }
+
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+         
+        return $this->reply($result['status'], $reply);
     }
 
-	/**
-	 * Add entry
-	 * 
-	 * 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
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+    /**
+     * Add entry
+     * 
+     * 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
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function addExecute($_spell = false) 
-	{
-		$r = new Request();
-		if ($_spell) 
-		{
-			$_s = $_spell;
-		}
-		else
-		{
-			$_s = $r->getSpell();
-		}
-
-		$_user = 'vesta';
-		$params = array(
-			'USER' => $_user,  // TODO: examine if OWNER ???
-			'DNS_DOMAIN' => $_s['DNS_DOMAIN'],
-			'IP' => $_s['IP']
-		);
-		($_s['TPL']) ? $params['TPL'] = $_s['TPL'] : -1;
-		($_s['EXP']) ? $params['EXP'] = $_s['EXP'] : -1;
-		($_s['SOA']) ? $params['SOA'] = $_s['SOA'] : -1;
-		($_s['TTL']) ? $params['TTL'] = $_s['TTL'] : -1;
-
-		$result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params);
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Add record
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    {
+        $r = new Request();
+        if ($_spell) 
+        {
+            $_s = $_spell;
+        }
+        else
+        {
+            $_s = $r->getSpell();
+        }
+
+        $_user = 'vesta';
+        $params = array(
+            'USER' => $_user,  // TODO: examine if OWNER ???
+            'DNS_DOMAIN' => $_s['DNS_DOMAIN'],
+            'IP' => $_s['IP']
+        );
+        ($_s['TPL']) ? $params['TPL'] = $_s['TPL'] : -1;
+        ($_s['EXP']) ? $params['EXP'] = $_s['EXP'] : -1;
+        ($_s['SOA']) ? $params['SOA'] = $_s['SOA'] : -1;
+        ($_s['TTL']) ? $params['TTL'] = $_s['TTL'] : -1;
+
+        $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params);
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Add record
+     * 
+     * @param Request $request
+     * @return
+     */
     public function addRecordExecute($request) 
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
-
-		$params = array(
-			'USER' => $_s['USER'],  // TODO: find out if it's OWNER ???
-			'DOMAIN' => $_s['DOMAIN'],
-			'RECORD' => $_s['RECORD'],
-			'RECORD_TYPE' => $_s['TYPE'],
-			'RECORD_VALUE' => $_s['VALUE'],
-			'RECORD_ID' => $_s['RECORD_ID']
-		);
-
-		$result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN_RECORD, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
+
+        $params = array(
+            'USER' => $_s['USER'],  // TODO: find out if it's OWNER ???
+            'DOMAIN' => $_s['DOMAIN'],
+            'RECORD' => $_s['RECORD'],
+            'RECORD_TYPE' => $_s['TYPE'],
+            'RECORD_VALUE' => $_s['VALUE'],
+            'RECORD_ID' => $_s['RECORD_ID']
+        );
+
+        $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN_RECORD, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
     }
 
 
     /**
-	 * Delete entry
-	 * 
-	 * @param mixed $_spell
-	 * @return
-	 */
+     * Delete entry
+     * 
+     * @param mixed $_spell
+     * @return
+     */
     public function delExecute($_spell = false) 
     {
-		$r = new Request();
-		if ($_spell)
-		{
-			$_s = $_spell;
-		}
-		else
-		{
-			$_s = $r->getSpell();
-		}
-
-		$_user = 'vesta';
-		$params = array(
-			'USER' => $_user,  // TODO: find out -> OWNER ???
-			'DOMAIN' => $_s['DNS_DOMAIN'],
-		);
-
-		$result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN, $params);
-
-		if (!$result['status']) 
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
+        $r = new Request();
+        if ($_spell)
+        {
+            $_s = $_spell;
+        }
+        else
+        {
+            $_s = $r->getSpell();
+        }
+
+        $_user = 'vesta';
+        $params = array(
+            'USER' => $_user,  // TODO: find out -> OWNER ???
+            'DOMAIN' => $_s['DNS_DOMAIN'],
+        );
+
+        $result = Vesta::execute(Vesta::V_DEL_DNS_DOMAIN, $params);
+
+        if (!$result['status']) 
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
     }
 
 
 
     /**
-	 * Delete record
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+     * Delete record
+     * 
+     * @param Request $request
+     * @return
+     */
     function delRecordExecute($request) 
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
 
-		$params = array(
-			'USER' => $_user,  // TODO: find out if -> OWNER ???
-			'DOMAIN' => $_s['DOMAIN'],
-			'RECORD_ID' => $_s['RECORD_ID']
-		);
+        $params = array(
+            'USER' => $_user,  // TODO: find out if -> OWNER ???
+            'DOMAIN' => $_s['DOMAIN'],
+            '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'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
 
-		return $this->reply($result['status'], $result['data']);
+        return $this->reply($result['status'], $result['data']);
     }
-	
-	/**
-	 * Change entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    
+    /**
+     * Change entry
+     * 
+     * @param Request $request
+     * @return
+     */
     public function changeExecute($request)
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_old = $_s['old'];
-		$_new = $_s['new'];
-
-		$_user = 'vesta';
-
-		$_DNS_DOMAIN = $_new['DNS_DOMAIN'];
-
-
-		if ($_old['IP'] != $_new['IP'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_IP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['IP']));
-			if(!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['IP_ADDRESS'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['TPL'] != $_new['TPL'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TPL']));
-			if(!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['TPL'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['TTL'] != $_new['TTL'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TTL']));
-			if(!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['TTL'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['EXP'] != $_new['EXP'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['EXP']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['EXP'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['SOA'] != $_new['SOA'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $_user, 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_new['SOA']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['SOA'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		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_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_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP']));
-			Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $_user, 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_old['SOA']));
-		}
-
-		return $this->reply($this->status, '');
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_old = $_s['old'];
+        $_new = $_s['new'];
+
+        $_user = 'vesta';
+
+        $_DNS_DOMAIN = $_new['DNS_DOMAIN'];
+
+
+        if ($_old['IP'] != $_new['IP'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_IP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['IP']));
+            if(!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['IP_ADDRESS'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['TPL'] != $_new['TPL'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TPL']));
+            if(!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['TPL'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['TTL'] != $_new['TTL'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TTL']));
+            if(!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['TTL'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['EXP'] != $_new['EXP'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['EXP']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['EXP'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['SOA'] != $_new['SOA'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $_user, 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_new['SOA']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['SOA'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        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_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_EXP, array('USER' => $_user, 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP']));
+            Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $_user, 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_old['SOA']));
+        }
+
+        return $this->reply($this->status, '');
     }
 
-	/**
-	 * Change record
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function changeRecordsExecute($request)
+    /**
+     * Change record
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function changeRecordsExecute($request)
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_old = $_s['old'];
-		$_new = $_s['new'];
-		$_user = 'vesta';
-		$_DNS_DOMAIN = $_s['DNS_DOMAIN'];
-
-		foreach ($_new as $record_id => $record_data)
-		{
-			// checking if record existed - update
-			if(is_array($_old[$record_id]))
-			{
-				// TODO: Remove this. is it necessary??!
-				echo '<br> updating'.$record_id;
-
-				$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']));
-				if(!$result['status'])
-				{
-					$this->status = FALSE;
-					$this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
-				}
-			}
-			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));
-				if(!$result['status'])
-				{
-					$this->status = FALSE;
-					$this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
-				}
-			}
-
-			unset($_old[$record_id]);
-		}
-
-		// 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)
-		{
-			echo '<br> deleting'.$record_id;		
-		}
-
-		return $this->reply($this->status, '');
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_old = $_s['old'];
+        $_new = $_s['new'];
+        $_user = 'vesta';
+        $_DNS_DOMAIN = $_s['DNS_DOMAIN'];
+
+        foreach ($_new as $record_id => $record_data)
+        {
+            // checking if record existed - update
+            if(is_array($_old[$record_id]))
+            {
+                // TODO: Remove this. is it necessary??!
+                echo '<br> updating'.$record_id;
+
+                $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']));
+                if(!$result['status'])
+                {
+                    $this->status = FALSE;
+                    $this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
+                }
+            }
+            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));
+                if(!$result['status'])
+                {
+                    $this->status = FALSE;
+                    $this->errors[$record_id] = array($result['error_code'] => $result['error_message']);
+                }
+            }
+
+            unset($_old[$record_id]);
+        }
+
+        // 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)
+        {
+            echo '<br> deleting'.$record_id;        
+        }
+
+        return $this->reply($this->status, '');
     }
     
     

+ 147 - 147
web/vesta/api/IP.class.php

@@ -9,198 +9,198 @@
  */
 class IP extends AjaxHandler
 {
-	/**
-	 * List entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * List entries
+     * 
+     * @param Request $request
+     * @return
+     */
     public function getListExecute($request) 
     {
         $reply = array();
-	
+    
         $result = Vesta::execute(Vesta::V_LIST_SYS_IPS, array(Config::get('response_type')));
         foreach ($result['data'] as $ip => $details) 
         {
-			$reply[] = array_merge(array(
-										'IP_ADDRESS' => $ip,
-										'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
-									), $details);
+            $reply[] = array_merge(array(
+                                        'IP_ADDRESS' => $ip,
+                                        'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
+                                    ), $details);
         }
-	
+    
         if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-	
-		return $this->reply($result['status'], $reply);
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+    
+        return $this->reply($result['status'], $reply);
     }
 
-	/**
-	 * List user ips entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * List user ips entries
+     * 
+     * @param Request $request
+     * @return
+     */
     public function getListUserIpsExecute($request) 
     {
         $reply = array();
-	
+    
         $result = Vesta::execute(Vesta::V_LIST_SYS_IPS, array(Config::get('response_type')));
         foreach ($result['data'] as $ip => $details) 
         {
-			$reply[] = array_merge(array(
-										'IP_ADDRESS' => $ip,
-										'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
-								), $details);
+            $reply[] = array_merge(array(
+                                        'IP_ADDRESS' => $ip,
+                                        'DATE' => date(Config::get('ui_date_format', strtotime($details['DATE'])))
+                                ), $details);
         }
-	
+    
         if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-	
-		return $this->reply($result['status'], $reply);
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+    
+        return $this->reply($result['status'], $reply);
     }
     
-	/**
-	 * Add entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * Add entry
+     * 
+     * @param Request $request
+     * @return
+     */
     public function addExecute($request) 
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
 
-		$params = array(
-			'IP_ADDRESS' => $_s['IP_ADDRESS'],
-			'MASK' => $_s['MASK'],
-			'INTERFACE' => $_s['INTERFACE'],
-			'OWNER' => $_s['OWNER'],
-			'IP_STATUS' => $_s['IP_STATUS'],
-			'IP_NAME' => $_s['IP_NAME']
-		);
+        $params = array(
+            'IP_ADDRESS' => $_s['IP_ADDRESS'],
+            'MASK' => $_s['MASK'],
+            'INTERFACE' => $_s['INTERFACE'],
+            'OWNER' => $_s['OWNER'],
+            'IP_STATUS' => $_s['IP_STATUS'],
+            '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'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
+        if (!$result['status'])
+        {
+            $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
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * Delete entry
+     * 
+     * @param Request $request
+     * @return
+     */
     public function delExecute($request) 
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_user = 'vesta';
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_user = 'vesta';
 
-		$params = array(
-			'IP_ADDRESS' => $_s['IP_ADDRESS']
-		);
+        $params = array(
+            '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'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
 
-		return $this->reply($result['status'], $result['data']);
+        return $this->reply($result['status'], $result['data']);
     }
 
-	/**
-	 * Change entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * Change entry
+     * 
+     * @param Request $request
+     * @return
+     */
     public function changeExecute($request)
     {
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_old = $_s['old'];
-		$_new = $_s['new'];
-
-		$_user = 'vesta';
-
-		if ($_old['OWNER'] != $_new['OWNER'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_OWNER, array('OWNER' => $_new['OWNER'], 'IP' => $_new['IP_ADDRESS']));
-			if(!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['OWNER'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['NAME'] != $_new['NAME'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_NAME, array('IP' => $_new['IP_ADDRESS'], 'NAME' => $_new['NAME']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['NAME'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['IP_STATUS'] != $_new['IP_STATUS'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_STATUS, array('IP' => $_new['IP_ADDRESS'], 'IP_STATUS' => $_new['IP_STATUS']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['IP_STATUS'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-
-		if (!$result['status'])
-		{	
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_old = $_s['old'];
+        $_new = $_s['new'];
+
+        $_user = 'vesta';
+
+        if ($_old['OWNER'] != $_new['OWNER'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_OWNER, array('OWNER' => $_new['OWNER'], 'IP' => $_new['IP_ADDRESS']));
+            if(!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['OWNER'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['NAME'] != $_new['NAME'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_NAME, array('IP' => $_new['IP_ADDRESS'], 'NAME' => $_new['NAME']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['NAME'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['IP_STATUS'] != $_new['IP_STATUS'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_IP_STATUS, array('IP' => $_new['IP_ADDRESS'], 'IP_STATUS' => $_new['IP_STATUS']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['IP_STATUS'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+
+        if (!$result['status'])
+        {    
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
     }
-	
-	/**
-	 * Get sys interfaces
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    
+    /**
+     * Get sys interfaces
+     * 
+     * @param Request $request
+     * @return
+     */
     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) 
-		{
-			$reply[$iface] = $iface;
-		}
+        foreach ($result['data'] as $iface) 
+        {
+            $reply[$iface] = $iface;
+        }
 
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-		
-		return $this->reply($result['status'], $reply);
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+        
+        return $this->reply($result['status'], $reply);
     }
     
 }

+ 95 - 95
web/vesta/api/MAIN.class.php

@@ -16,116 +16,116 @@
  */
 class MAIN extends AjaxHandler 
 {
-	
-	/**
-	 * Get version
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    
+    /**
+     * Get version
+     * 
+     * @param Request $request
+     * @return
+     */
     public function versionExecute($request) 
     {
         $result = array(
-						'version' => '1.0',
-						'author' => 'http://vestacp.com/',
-						'docs' => 'http://vestacp.com/docs'
-					);
+                        'version' => '1.0',
+                        'author' => 'http://vestacp.com/',
+                        'docs' => 'http://vestacp.com/docs'
+                    );
 
         return $this->reply(true, $result);
     }
 
-	/**
-	 * Get initial params
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+    /**
+     * 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/USER.class.php';
-		
-		$ip_obj = new IP();
-		$user_obj = new USER();
-				
-		$user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE);
-		foreach ($user_ips['data'] as $ip) 
-		{
-			$ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
-		}
+        require_once V_ROOT_DIR . 'api/IP.class.php';
+        require_once V_ROOT_DIR . 'api/USER.class.php';
+        
+        $ip_obj = new IP();
+        $user_obj = new USER();
+                
+        $user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE);
+        foreach ($user_ips['data'] as $ip) 
+        {
+            $ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
+        }
 
-		$users = json_decode($user_obj->getListExecute(), TRUE);
-		$user_names = array_keys($users['data']['data']);
-		$db_types = array(
-						'mysql' => 'mysql', 
-						'postgress' => 'postgress'
-					);
+        $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'];
+        $interfaces_arr = json_decode($ip_obj->getSysInterfacesExecute(), TRUE);
+        $interfaces = $interfaces_arr['data'];
 
 
         $reply = array(
             'WEB_DOMAIN' => array(
-								'TPL' => array('default' => 'default'),
-								'ALIAS' => array(),
-								'STAT' => array(
-										'webalizer' => 'webalizer',
-										'awstats' => 'awstats'),
-								'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')
-										)
-		);
-	
+                                'TPL' => array('default' => 'default'),
+                                'ALIAS' => array(),
+                                'STAT' => array(
+                                        'webalizer' => 'webalizer',
+                                        'awstats' => 'awstats'),
+                                '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);
     }
 }

+ 76 - 76
web/vesta/api/PARAMS.class.php

@@ -11,96 +11,96 @@
 class PARAMS extends AjaxHandler 
 {
     /**
-	 * Get initial params
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
+     * 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/USER.class.php';
+        require_once V_ROOT_DIR . 'api/IP.class.php';
+        require_once V_ROOT_DIR . 'api/USER.class.php';
         
         $ip_obj = new IP();
         $user_obj = new USER();
          
         $user_ips = json_decode($ip_obj->getListUserIpsExecute(), TRUE);
-		foreach ($user_ips['data'] as $ip)
-		{
-			$ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
-		}	
+        foreach ($user_ips['data'] as $ip)
+        {
+            $ips[$ip['IP_ADDRESS']] = $ip['IP_ADDRESS'];
+        }    
        
         $users = json_decode($user_obj->getListExecute(), TRUE);
-		$user_names = array_keys($users['data']['data']);
+        $user_names = array_keys($users['data']['data']);
 
-		$db_types = array(
-						  'mysql' => 'mysql', 
-						  'postgress' => 'postgress'
-						 );
+        $db_types = array(
+                          '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(
             'WEB_DOMAIN' => array(
-								'TPL' => array('default' => 'default'),
-								'ALIAS' => array(),
-								'STAT' => array(
-										'webalizer' => 'webalizer',
-										'awstats' => 'awstats'),
-								'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')
-										)
-		);
+                                'TPL' => array('default' => 'default'),
+                                'ALIAS' => array(),
+                                'STAT' => array(
+                                        'webalizer' => 'webalizer',
+                                        'awstats' => 'awstats'),
+                                '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);
     }

+ 179 - 179
web/vesta/api/USER.class.php

@@ -9,14 +9,14 @@
  */
 class USER extends AjaxHandler 
 {
-	
-	/**
-	 * Get list
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
-	public function getListExecute($request) 
+    
+    /**
+     * Get list
+     * 
+     * @param Request $request
+     * @return
+     */    
+    public function getListExecute($request) 
     {
         $reply = array();       
         $result = Vesta::execute(Vesta::V_LIST_SYS_USERS, array(Config::get('response_type')));
@@ -39,177 +39,177 @@ class USER extends AjaxHandler
         return $this->reply(true, $result);
     }
 
-	/**
-	 * Add action
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function addExecute($_spell = false) 
-	{
-		$r = new Request();
-		if ($_spell)
-		{
-			$_s = $_spell;
-		}
-		else
-		{
-			$_s = $r->getSpell();
-		}
-		$_user = 'vesta';
-		$params = array(
-			'USER' => $_s['USER'],
-			'PASSWORD' => $_s['PASSWORD'],
-			'EMAIL' => $_s['EMAIL'],
-			'ROLE' => $_s['ROLE'],
-			'OWNER' => $_user,
-			'PACKAGE' => $_s['PACKAGE'],
-			'NS1' => $_s['NS1'],
-			'NS2' => $_s['NS2']
-		);
-
-		$result = Vesta::execute(Vesta::V_ADD_SYS_USER, $params);
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Delete action
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function delExecute($_spell = false) 
-	{
-		$r = new Request();
-		if ($_spell)
-		{
-			$_s = $_spell;
-		}
-		else
-		{
-			$_s = $r->getSpell();
-		}
-		$_user = 'vesta';
-		$params = array(
-					'USER' => $_s['USER']
-				);
-		$result = Vesta::execute(Vesta::V_DEL_SYS_USER, $params);
-
-		if (!$result['status'])
-		{
-		  $this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
-
-		return $this->reply($result['status'], $result['data']);
-	}
-
-	/**
-	 * Change action
-	 * 
-	 * @param Request $request
-	 * @return
-	 */
-	public function changeExecute($request)
-	{
-		$r = new Request();
-		$_s = $r->getSpell();
-		$_old = $_s['old'];
-		$_new = $_s['new'];
-
-		$_USER = $_new['USER'];
+    /**
+     * Add action
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function addExecute($_spell = false) 
+    {
+        $r = new Request();
+        if ($_spell)
+        {
+            $_s = $_spell;
+        }
+        else
+        {
+            $_s = $r->getSpell();
+        }
+        $_user = 'vesta';
+        $params = array(
+            'USER' => $_s['USER'],
+            'PASSWORD' => $_s['PASSWORD'],
+            'EMAIL' => $_s['EMAIL'],
+            'ROLE' => $_s['ROLE'],
+            'OWNER' => $_user,
+            'PACKAGE' => $_s['PACKAGE'],
+            'NS1' => $_s['NS1'],
+            'NS2' => $_s['NS2']
+        );
+
+        $result = Vesta::execute(Vesta::V_ADD_SYS_USER, $params);
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Delete action
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function delExecute($_spell = false) 
+    {
+        $r = new Request();
+        if ($_spell)
+        {
+            $_s = $_spell;
+        }
+        else
+        {
+            $_s = $r->getSpell();
+        }
+        $_user = 'vesta';
+        $params = array(
+                    'USER' => $_s['USER']
+                );
+        $result = Vesta::execute(Vesta::V_DEL_SYS_USER, $params);
+
+        if (!$result['status'])
+        {
+          $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
+
+        return $this->reply($result['status'], $result['data']);
+    }
+
+    /**
+     * Change action
+     * 
+     * @param Request $request
+     * @return
+     */
+    public function changeExecute($request)
+    {
+        $r = new Request();
+        $_s = $r->getSpell();
+        $_old = $_s['old'];
+        $_new = $_s['new'];
+
+        $_USER = $_new['USER'];
  
-		if($_old['USER'] != $_new['USER'])
-		{
-			$result = array();
-			// creating new user
-			$result = $this->addExecute($_new);
-
-			// deleting old
-			if ($result['status'])
-			{
-				$result = array();
-			
-				$result = $this->delExecute($_old);
-				return $this->reply($this->status, '');
-			}
-		}
-
-		if ($_old['PASSWORD'] != $_new['PASSWORD'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, 
-							array('USER' => $_USER, 'PASSWORD' => $_new['PASSWORD']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['PASSWORD'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['PACKAGE'] != $_new['PACKAGE'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, 
-									array('USER' => $_USER, 'PACKAGE' => $_new['PACKAGE']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['PACKAGE'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['EMAIL'] != $_new['EMAIL'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, 
-									array('USER' => $_USER, 'EMAIL' => $_new['EMAIL']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['EMAIL'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['NS1'] != $_new['NS1']  || $_old['NS2'] != $_new['NS2'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, 
-									array('USER' => $_USER, 'NS1' => $_new['NS1'], 'NS2' => $_new['NS2']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['NS'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if ($_old['SHELL'] != $_new['SHELL'])
-		{
-			$result = array();
-			$result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, 
-									array('USER' => $_USER, 'SHELL' => $_new['SHELL']));
-			if (!$result['status'])
-			{
-				$this->status = FALSE;
-				$this->errors['SHELL'] = array($result['error_code'] => $result['error_message']);
-			}
-		}
-
-		if (!$this->status)
-		{
-			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_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_SHELL,    array('USER' => $_USER, 'SHELL' => $_old['SHELL']));
-		}
-
-		return $this->reply($this->status, '');
-	}
+        if($_old['USER'] != $_new['USER'])
+        {
+            $result = array();
+            // creating new user
+            $result = $this->addExecute($_new);
+
+            // deleting old
+            if ($result['status'])
+            {
+                $result = array();
+            
+                $result = $this->delExecute($_old);
+                return $this->reply($this->status, '');
+            }
+        }
+
+        if ($_old['PASSWORD'] != $_new['PASSWORD'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, 
+                            array('USER' => $_USER, 'PASSWORD' => $_new['PASSWORD']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['PASSWORD'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['PACKAGE'] != $_new['PACKAGE'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, 
+                                    array('USER' => $_USER, 'PACKAGE' => $_new['PACKAGE']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['PACKAGE'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['EMAIL'] != $_new['EMAIL'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, 
+                                    array('USER' => $_USER, 'EMAIL' => $_new['EMAIL']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['EMAIL'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['NS1'] != $_new['NS1']  || $_old['NS2'] != $_new['NS2'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, 
+                                    array('USER' => $_USER, 'NS1' => $_new['NS1'], 'NS2' => $_new['NS2']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['NS'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if ($_old['SHELL'] != $_new['SHELL'])
+        {
+            $result = array();
+            $result = Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, 
+                                    array('USER' => $_USER, 'SHELL' => $_new['SHELL']));
+            if (!$result['status'])
+            {
+                $this->status = FALSE;
+                $this->errors['SHELL'] = array($result['error_code'] => $result['error_message']);
+            }
+        }
+
+        if (!$this->status)
+        {
+            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_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_SHELL,    array('USER' => $_USER, 'SHELL' => $_old['SHELL']));
+        }
+
+        return $this->reply($this->status, '');
+    }
 
 }

+ 176 - 176
web/vesta/api/WEB_DOMAIN.class.php

@@ -10,56 +10,56 @@
  */
 class WEB_DOMAIN extends AjaxHandler 
 {
-	
-	/**
-	 * Get list
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+    
+    /**
+     * Get list
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function getListExecute($request) 
     {
-		$_user = 'vesta';
-		$reply = array();
+        $_user = 'vesta';
+        $reply = array();
 
-		$result = Vesta::execute(Vesta::V_LIST_WEB_DOMAINS, array($_user, Config::get('response_type')));
-		foreach ($result['data'] as $web_domain => $data)
-		{
-			$reply[$web_domain] = array(
-					  'IP' => $record['IP'],
-					  'U_DISK' => $record['U_DISK'],
-					  'U_BANDWIDTH' => $record['U_BANDWIDTH'],
-					  'TPL' => $record['TPL'],
-					  'ALIAS' => $record['ALIAS'],
-					  'PHP' => $record['PHP'],
-					  'CGI' => $record['CGI'],
-					  'ELOG' => $record['ELOG'],
-					  'STATS' => $record['STATS'],
-					  'STATS_AUTH' => $record['STATS_AUTH'],
-					  'SSL' => $record['SSL'],
-					  'SSL_HOME' => $record['SSL_HOME'],
-					  'SSL_CERT' => $record['SSL_CERT'],
-					  'NGINX' => $record['NGINX'],
-					  'NGINX_EXT' => $record['NGINX_EXT'],
-					  'SUSPEND' => $record['SUSPEND'],
-					  'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
-			);
-		}
+        $result = Vesta::execute(Vesta::V_LIST_WEB_DOMAINS, array($_user, Config::get('response_type')));
+        foreach ($result['data'] as $web_domain => $data)
+        {
+            $reply[$web_domain] = array(
+                      'IP' => $record['IP'],
+                      'U_DISK' => $record['U_DISK'],
+                      'U_BANDWIDTH' => $record['U_BANDWIDTH'],
+                      'TPL' => $record['TPL'],
+                      'ALIAS' => $record['ALIAS'],
+                      'PHP' => $record['PHP'],
+                      'CGI' => $record['CGI'],
+                      'ELOG' => $record['ELOG'],
+                      'STATS' => $record['STATS'],
+                      'STATS_AUTH' => $record['STATS_AUTH'],
+                      'SSL' => $record['SSL'],
+                      'SSL_HOME' => $record['SSL_HOME'],
+                      'SSL_CERT' => $record['SSL_CERT'],
+                      'NGINX' => $record['NGINX'],
+                      'NGINX_EXT' => $record['NGINX_EXT'],
+                      'SUSPEND' => $record['SUSPEND'],
+                      'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE'])))
+            );
+        }
 
-		if (!$result['status'])
-		{
-			$this->errors[] = array($result['error_code'] => $result['error_message']);
-		}
+        if (!$result['status'])
+        {
+            $this->errors[] = array($result['error_code'] => $result['error_message']);
+        }
 
-		return $this->reply($result['status'], $reply);
+        return $this->reply($result['status'], $reply);
     }
         
     /**
-	 * Add entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+     * Add entry
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function addExecute($request)
     {
         $r     = new Request();
@@ -92,7 +92,7 @@ class WEB_DOMAIN extends AjaxHandler
             $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_TPL, $params);
             
             if (!$result['status'])
-			{
+            {
                 $this->errors['CHANGE_TPL'] = array(
                     $result['error_code'] => $result['error_message']
                 );
@@ -115,7 +115,7 @@ class WEB_DOMAIN extends AjaxHandler
                 $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ALIAS, $params);
                 
                 if (!$result['status'])
-				{
+                {
                     $this->errors['ALIAS'] = array(
                         $result['error_code'] => $result['error_message']
                     );
@@ -134,7 +134,7 @@ class WEB_DOMAIN extends AjaxHandler
             $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_STAT, $params);
             
             if (!$result['status'])
-			{
+            {
                 $this->errors['STATS'] = array(
                     $result['error_code'] => $result['error_message']
                 );
@@ -153,7 +153,7 @@ class WEB_DOMAIN extends AjaxHandler
             $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_STAT_AUTH, $params);
             
             if (!$result['status'])
-			{
+            {
                 $this->errors['STAT_AUTH'] = array(
                     $result['error_code'] => $result['error_message']
                 );
@@ -161,34 +161,34 @@ class WEB_DOMAIN extends AjaxHandler
         }
         
         
-		if ($_s['SSL']) 
-		{
-			$params = array(
-				'USER' => $_user,
-				'DOMAIN' => $_s['DOMAIN'],
-				'SSL_CERT' => $_s['SSL_CERT']
-			);
-			
-			if ($_s['SSL_HOME'])
-			{
-				$params['SSL_HOME'] = $_s['SSL_HOME'];
-			}
-			
-			if ($_s['SSL_TEXT']) 
-			{
-				// TODO: write it up
-			}
-								
-			$result = 0;
-			$result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
-			
-			if (!$result['status'])
-			{
-				$this->errors['SSL'] = array(
-					$result['error_code'] => $result['error_message']
-				);
-			}
-		}
+        if ($_s['SSL']) 
+        {
+            $params = array(
+                'USER' => $_user,
+                'DOMAIN' => $_s['DOMAIN'],
+                'SSL_CERT' => $_s['SSL_CERT']
+            );
+            
+            if ($_s['SSL_HOME'])
+            {
+                $params['SSL_HOME'] = $_s['SSL_HOME'];
+            }
+            
+            if ($_s['SSL_TEXT']) 
+            {
+                // TODO: write it up
+            }
+                                
+            $result = 0;
+            $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params);
+            
+            if (!$result['status'])
+            {
+                $this->errors['SSL'] = array(
+                    $result['error_code'] => $result['error_message']
+                );
+            }
+        }
                 
         if ($_s['CREATE_DNS_DOMAIN']) 
         {
@@ -211,36 +211,36 @@ class WEB_DOMAIN extends AjaxHandler
             }
         }
                 
-		if ($_s['CREATE_MAIL_DOMAIN']) 
-		{
-			$params = array(
-				'USER' => $_user,
-				'MAIL_DOMAIN' => $_s['DOMAIN'],
-				'IP' => $_s['IP']
-			);
-						
-			require_once V_ROOT_DIR . 'api/MAIL.class.php';
-			
-			$mail   = new MAIL();
-			$result = 0;
-			$result = $mail->addExecute($params);
-			if (!$result['status'])
-			{
-				$this->errors['MAIL_DOMAIN'] = array(
-					$result['error_code'] => $result['error_message']
-				);
-			}
-		}
+        if ($_s['CREATE_MAIL_DOMAIN']) 
+        {
+            $params = array(
+                'USER' => $_user,
+                'MAIL_DOMAIN' => $_s['DOMAIN'],
+                'IP' => $_s['IP']
+            );
+                        
+            require_once V_ROOT_DIR . 'api/MAIL.class.php';
+            
+            $mail   = new MAIL();
+            $result = 0;
+            $result = $mail->addExecute($params);
+            if (!$result['status'])
+            {
+                $this->errors['MAIL_DOMAIN'] = array(
+                    $result['error_code'] => $result['error_message']
+                );
+            }
+        }
         
         return $this->reply($result['status'], $result['data']);
     }
     
     /**
-	 * Delete entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+     * Delete entry
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function delExecute($request)
     {
         $r     = new Request();
@@ -270,7 +270,7 @@ class WEB_DOMAIN extends AjaxHandler
         
         if (!$result['status'] && $result['error_code'] != 31) // domain not found
         {
-			$this->errors['DNS'] = array(
+            $this->errors['DNS'] = array(
                 $result['error_code'] => $result['error_message']
             );
         }
@@ -286,11 +286,11 @@ class WEB_DOMAIN extends AjaxHandler
     }
           
     /**
-	 * Change entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */          
+     * Change entry
+     * 
+     * @param Request $request
+     * @return
+     */          
     public function changeExecute($request)
     {
         $r    = new Request();
@@ -428,55 +428,55 @@ class WEB_DOMAIN extends AjaxHandler
             }
         }
 
-		if ($_old['SSL'] != $_new['SSL']) 
-		{
-			if ($_new['SSL'] == true) 
-			{
-				// TODO: write it
-			}
-			if ($_new['SSL'] == false) 
-			{
-				// TODO: write it
-			}
-		} 
-		else 
-		{
-			if ($_old['SSL_CERT'] != $_new['SSL_CERT']) 
-			{
-				$result    = array();
-				$_SSL_CERT = $_new['SSL_CERT'];
-				// or read uploaded tmp file
-				
-				$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_CERT, array(
-					'USER' => $_user,
-					'DOMAIN' => $_DOMAIN,
-					'SSL_CERT' => $_SSL_CERT
-				));
-				if (!$result['status']) 
-				{
-					$this->status             = FALSE;
-					$this->errors['SSL_CERT'] = array(
-						$result['error_code'] => $result['error_message']
-					);
-				}
-			}
-			if ($_old['SSL_HOME'] != $_new['SSL_HOME']) 
-			{
-				$result = array();
-				$result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSLHOME, array(
-					'USER' => $_user,
-					'DOMAIN' => $_DOMAIN,
-					'SSL_HOME' => $_new['SSL_HOME']
-				));
-				if (!$result['status']) 
-				{
-					$this->status             = FALSE;
-					$this->errors['SSL_HOME'] = array(
-						$result['error_code'] => $result['error_message']
-					);
-				}
-			}
-		}
+        if ($_old['SSL'] != $_new['SSL']) 
+        {
+            if ($_new['SSL'] == true) 
+            {
+                // TODO: write it
+            }
+            if ($_new['SSL'] == false) 
+            {
+                // TODO: write it
+            }
+        } 
+        else 
+        {
+            if ($_old['SSL_CERT'] != $_new['SSL_CERT']) 
+            {
+                $result    = array();
+                $_SSL_CERT = $_new['SSL_CERT'];
+                // or read uploaded tmp file
+                
+                $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_CERT, array(
+                    'USER' => $_user,
+                    'DOMAIN' => $_DOMAIN,
+                    'SSL_CERT' => $_SSL_CERT
+                ));
+                if (!$result['status']) 
+                {
+                    $this->status             = FALSE;
+                    $this->errors['SSL_CERT'] = array(
+                        $result['error_code'] => $result['error_message']
+                    );
+                }
+            }
+            if ($_old['SSL_HOME'] != $_new['SSL_HOME']) 
+            {
+                $result = array();
+                $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSLHOME, array(
+                    'USER' => $_user,
+                    'DOMAIN' => $_DOMAIN,
+                    'SSL_HOME' => $_new['SSL_HOME']
+                ));
+                if (!$result['status']) 
+                {
+                    $this->status             = FALSE;
+                    $this->errors['SSL_HOME'] = array(
+                        $result['error_code'] => $result['error_message']
+                    );
+                }
+            }
+        }
         
         if ($_old['CGI'] != $_new['CGI']) 
         {
@@ -551,11 +551,11 @@ class WEB_DOMAIN extends AjaxHandler
     }
     
     /**
-	 * Suspend entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+     * Suspend entry
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function suspendExecute($request)
     {
         $r  = new Request();
@@ -571,7 +571,7 @@ class WEB_DOMAIN extends AjaxHandler
         $result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, $params);
         
         if (!$result['status'])
-		{
+        {
             $this->errors[] = array(
                 $result['error_code'] => $result['error_message']
             );
@@ -581,11 +581,11 @@ class WEB_DOMAIN extends AjaxHandler
     }
     
     /**
-	 * Unsuspend entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+     * Unsuspend entry
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function unsuspendExecute($request)
     {
         $r  = new Request();
@@ -601,7 +601,7 @@ class WEB_DOMAIN extends AjaxHandler
         $result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, $params);
         
         if (!$result['status'])
-		{
+        {
             $this->errors[] = array(
                 $result['error_code'] => $result['error_message']
             );
@@ -611,11 +611,11 @@ class WEB_DOMAIN extends AjaxHandler
     }
     
     /**
-	 * Batch suspend entries
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+     * Batch suspend entries
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function suspendAllExecute($request)
     {
         $r  = new Request();
@@ -640,11 +640,11 @@ class WEB_DOMAIN extends AjaxHandler
     }
     
     /**
-	 * Batch unsuspend entry
-	 * 
-	 * @param Request $request
-	 * @return
-	 */    
+     * Batch unsuspend entry
+     * 
+     * @param Request $request
+     * @return
+     */    
     public function unsuspendAllExecute($request)
     {
         $r  = new Request();

+ 9 - 9
web/vesta/config/Config.class.php

@@ -16,20 +16,20 @@ class Config
     static public $instance = null;
     
     /**
-	 * Config constructor
-	 * 
-	 */
+     * Config constructor
+     * 
+     */
     public function __construct() 
     {
         $this->_config = parse_ini_file(V_ROOT_DIR.'config'.DIRECTORY_SEPARATOR.'vesta_config.ini');
     }
 
-	/**
-	 * get config parameter
-	 * 
-	 * @param string $key
-	 * @return mixed
-	 */
+    /**
+     * get config parameter
+     * 
+     * @param string $key
+     * @return mixed
+     */
     public function getParameter($key)
     {
         return isset($this->_config[$key]) ? $this->_config[$key] : false;

+ 8 - 8
web/vesta/core/Request.class.php

@@ -6,7 +6,7 @@
  * Holds parameters, decorating them and providing easy access
  *
  * @author Malishev Dima <dima.malishev@gmail.com>
- * @author vesta, http://vestacp.com/
+ * @author vesta, http://vestacp.com
  * @copyright vesta 2010-2011
  */
 class Request 
@@ -37,10 +37,10 @@ class Request
     public function mergeContainers() 
     {
         $this->_merged = array_merge($this->server, 
-									 $this->post, 
-									 $this->get, 
-									 $this->global);
-		$this->_spell = json_decode($this->_merged['spell'], true);
+                                     $this->post, 
+                                     $this->get, 
+                                     $this->global);
+        $this->_spell = json_decode($this->_merged['spell'], true);
     }
 
     /**
@@ -55,7 +55,7 @@ class Request
       return isset($this->_merged[$key]) ? $this->_merged[$key] : $default;      
     }
 
-	/**
+    /**
      * Get spell variable from parameters
      *     
      * @return array
@@ -65,7 +65,7 @@ class Request
       return $this->_spell;
     }
 
-	/**
+    /**
      * Check if parameter is set
      *
      * @param string $key
@@ -90,7 +90,7 @@ class Request
         return true;
     }
 
-	/**
+    /**
      * Dissassemble ajax method
      * Breaks ajax requested method param into "ENTITY"."ACTION"
      * for instance DNS.getList into "namespase" => DNS, "function" => "getList" 

+ 129 - 129
web/vesta/core/Vesta.class.php

@@ -12,98 +12,98 @@
 class Vesta 
 {
     // IP
-    const V_LIST_SYS_IPS 				= 'v_list_sys_ips';
-    const V_ADD_SYS_IP 					= 'v_add_sys_ip';
-    const V_ADD_SYS_USER_IP 			= 'v_add_sys_user_ip'; 
-    const V_CHANGE_SYS_IP_OWNER 		= 'v_change_sys_ip_owner';
-    const V_CHANGE_SYS_IP_NAME 			= 'v_change_sys_ip_name';
-    const V_CHANGE_SYS_IP_STATUS 		= 'v_change_sys_ip_status';    
-    const V_DEL_SYS_IP 					= 'v_del_sys_ip';    
-    const V_UPD_SYS_IP 					= 'v_upd_sys_ip';
-    const V_LIST_SYS_INTERFACES 		= 'v_list_sys_interfaces';
+    const V_LIST_SYS_IPS                 = 'v_list_sys_ips';
+    const V_ADD_SYS_IP                     = 'v_add_sys_ip';
+    const V_ADD_SYS_USER_IP             = 'v_add_sys_user_ip'; 
+    const V_CHANGE_SYS_IP_OWNER         = 'v_change_sys_ip_owner';
+    const V_CHANGE_SYS_IP_NAME             = 'v_change_sys_ip_name';
+    const V_CHANGE_SYS_IP_STATUS         = 'v_change_sys_ip_status';    
+    const V_DEL_SYS_IP                     = 'v_del_sys_ip';    
+    const V_UPD_SYS_IP                     = 'v_upd_sys_ip';
+    const V_LIST_SYS_INTERFACES         = 'v_list_sys_interfaces';
     // DNS
-    const V_LIST_DNS_DOMAINS 			= 'v_list_dns_domains';
-    const V_LIST_DNS_DOMAIN_RECORDS 	= 'v_list_dns_domain';
-    const V_ADD_DNS_DOMAIN 				= 'v_add_dns_domain';
-    const V_ADD_DNS_DOMAIN_RECORD 		= 'v_add_dns_domain_record';
-    const V_CHANGE_DNS_DOMAIN_IP 		= 'v_change_dns_domain_ip';
-    const V_CHANGE_DNS_DOMAIN_SOA 		= 'v_change_dns_domain_soa';
-    const V_CHANGE_DNS_DOMAIN_TPL 		= 'v_change_dns_domain_tpl';
-    const V_CHANGE_DNS_DOMAIN_TTL		= 'v_change_dns_domain_ttl';
-    const V_CHANGE_DNS_DOMAIN_EXP 		= 'v_change_dns_domain_exp';
-    const V_CHANGE_DNS_DOMAIN_RECORD 	= 'v_change_dns_domain_record';
-    const V_DEL_DNS_DOMAIN 				= 'v_del_dns_domain';
-    const V_DEL_DNS_DOMAIN_RECORD 		= 'v_del_dns_domain_record';
+    const V_LIST_DNS_DOMAINS             = 'v_list_dns_domains';
+    const V_LIST_DNS_DOMAIN_RECORDS     = 'v_list_dns_domain';
+    const V_ADD_DNS_DOMAIN                 = 'v_add_dns_domain';
+    const V_ADD_DNS_DOMAIN_RECORD         = 'v_add_dns_domain_record';
+    const V_CHANGE_DNS_DOMAIN_IP         = 'v_change_dns_domain_ip';
+    const V_CHANGE_DNS_DOMAIN_SOA         = 'v_change_dns_domain_soa';
+    const V_CHANGE_DNS_DOMAIN_TPL         = 'v_change_dns_domain_tpl';
+    const V_CHANGE_DNS_DOMAIN_TTL        = 'v_change_dns_domain_ttl';
+    const V_CHANGE_DNS_DOMAIN_EXP         = 'v_change_dns_domain_exp';
+    const V_CHANGE_DNS_DOMAIN_RECORD     = 'v_change_dns_domain_record';
+    const V_DEL_DNS_DOMAIN                 = 'v_del_dns_domain';
+    const V_DEL_DNS_DOMAIN_RECORD         = 'v_del_dns_domain_record';
     // CRON
-    const V_LIST_CRON_JOBS 				= 'v_list_sys_cron';
-    const V_ADD_CRON_JOB 				= 'v_add_sys_cron';
-    const V_ADD_SYS_USER_REPORTS 		= 'v_add_sys_user_reports';
-    const V_CHANGE_CRON_JOB 			= 'v_change_sys_cron_job';
-    const V_SUSPEND_CRON_JOB 			= 'v_suspend_sys_cron_job';
-    const V_SUSPEND_CRON_JOBS 			= 'v_suspend_sys_cron_jobs';
-    const V_UNSUSPEND_CRON_JOB 			= 'v_unsuspend_sys_cron_job';
-    const V_UNSUSPEND_CRON_JOBS 		= 'v_unsuspend_sys_cron_jobs';
-    const V_DEL_CRON_JOB 				= 'v_del_sys_cron';
-    const V_DEL_SYS_USER_REPORTS 		= 'v_del_sys_user_reports';
-	// USER
-    const V_LIST_SYS_USERS 				= 'v_list_sys_users';
-    const V_ADD_SYS_USER 				= 'v_add_sys_user';
-    const V_CHANGE_SYS_USER_CONTACT		= 'v_change_sys_user_contact';
-    const V_CHANGE_SYS_USER_NS 			= 'v_change_sys_user_ns';
-    const V_CHANGE_SYS_USER_PACKAGE 	= 'v_change_sys_user_package';
-    const V_CHANGE_SYS_USER_PASSWORD 	= 'v_change_sys_user_password';
-    const V_CHANGE_SYS_USER_SHELL 		= 'v_change_sys_user_shell';
-    const V_CHANGE_SYS_USER_ROLE 		= 'v_change_sys_user_role';
-    const V_DEL_SYS_USER 				= 'v_del_sys_user';
+    const V_LIST_CRON_JOBS                 = 'v_list_sys_cron';
+    const V_ADD_CRON_JOB                 = 'v_add_sys_cron';
+    const V_ADD_SYS_USER_REPORTS         = 'v_add_sys_user_reports';
+    const V_CHANGE_CRON_JOB             = 'v_change_sys_cron_job';
+    const V_SUSPEND_CRON_JOB             = 'v_suspend_sys_cron_job';
+    const V_SUSPEND_CRON_JOBS             = 'v_suspend_sys_cron_jobs';
+    const V_UNSUSPEND_CRON_JOB             = 'v_unsuspend_sys_cron_job';
+    const V_UNSUSPEND_CRON_JOBS         = 'v_unsuspend_sys_cron_jobs';
+    const V_DEL_CRON_JOB                 = 'v_del_sys_cron';
+    const V_DEL_SYS_USER_REPORTS         = 'v_del_sys_user_reports';
+    // USER
+    const V_LIST_SYS_USERS                 = 'v_list_sys_users';
+    const V_ADD_SYS_USER                 = 'v_add_sys_user';
+    const V_CHANGE_SYS_USER_CONTACT        = 'v_change_sys_user_contact';
+    const V_CHANGE_SYS_USER_NS             = 'v_change_sys_user_ns';
+    const V_CHANGE_SYS_USER_PACKAGE     = 'v_change_sys_user_package';
+    const V_CHANGE_SYS_USER_PASSWORD     = 'v_change_sys_user_password';
+    const V_CHANGE_SYS_USER_SHELL         = 'v_change_sys_user_shell';
+    const V_CHANGE_SYS_USER_ROLE         = 'v_change_sys_user_role';
+    const V_DEL_SYS_USER                 = 'v_del_sys_user';
     // WEB_DOMAIN
-    const V_LIST_WEB_DOMAINS 			= 'v_list_web_domains';
-    const V_LIST_WEB_DOMAINS_ALIAS 		= 'v_list_web_domains_alias';
-    const V_LIST_WEB_DOMAINS_ELOG 		= 'v_list_web_domains_elog';
-    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_STATS 		= 'v_list_web_domains_stats';
-    const V_LIST_WEB_TEMPLATES 			= 'v_list_web_templates';
-    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_STAT 		= 'v_add_web_domain_stat';
-    const V_ADD_WEB_DOMAIN_STAT_AUTH 	= 'v_add_web_domain_stat_auth';
-    const V_ADD_WEB_DOMAIN_SSL 			= 'v_add_web_domain_ssl';
-    const V_ADD_WEB_DOMAIN_ELOG 		= 'v_add_web_domain_elog';
-    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_SSLCERT 	= 'v_change_web_domain_sslcert';
-    const V_CHANGE_WEB_DOMAIN_SSLHOME 	= 'v_change_web_domain_sslhome';
-    const V_CHANGE_WEB_DOMAIN_TPL 		= 'v_change_web_domain_tpl';
-    const V_DEL_WEB_DOMAIN_CGI 			= 'v_del_web_domain_cgi';
-    const V_DEL_WEB_DOMAIN_ELOG 		= 'v_del_web_domain_elog';
-    const V_DEL_WEB_DOMAIN_SSL 			= 'v_del_web_domain_ssl';
-    const V_DEL_WEB_DOMAIN_STAT 		= 'v_del_web_domain_stat';
-    const V_DEL_WEB_DOMAIN_STAT_AUTH 	= 'v_del_web_domain_stat_auth';
-    const V_DEL_WEB_DOMAIN_ALIAS 		= 'v_del_web_domain_alias';
-    const V_SUSPEND_WEB_DOMAIN 			= 'v_suspend_web_domain';
-    const V_SUSPEND_WEB_DOMAINS 		= 'v_suspend_web_domains';
-    const V_UNSUSPEND_WEB_DOMAIN 		= 'v_unsuspend_web_domain';
-    const V_UNSUSPEND_WEB_DOMAINS 		= 'v_unsuspend_web_domains';
-    const V_UPD_WEB_DOMAIN_DISK 		= 'v_upd_web_domain_disk';
-    const V_UPD_WEB_DOMAINS_DISK 		= 'v_upd_web_domains_disk';
-    const V_UPD_WEB_DOMAIN_TRAFF 		= 'v_upd_web_domain_traff';
-    const V_UPD_WEB_DOMAINS_TRAFF 		= 'v_upd_web_domains_traff';
-    const V_DEL_WEB_DOMAIN 				= 'v_del_web_domain';
+    const V_LIST_WEB_DOMAINS             = 'v_list_web_domains';
+    const V_LIST_WEB_DOMAINS_ALIAS         = 'v_list_web_domains_alias';
+    const V_LIST_WEB_DOMAINS_ELOG         = 'v_list_web_domains_elog';
+    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_STATS         = 'v_list_web_domains_stats';
+    const V_LIST_WEB_TEMPLATES             = 'v_list_web_templates';
+    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_STAT         = 'v_add_web_domain_stat';
+    const V_ADD_WEB_DOMAIN_STAT_AUTH     = 'v_add_web_domain_stat_auth';
+    const V_ADD_WEB_DOMAIN_SSL             = 'v_add_web_domain_ssl';
+    const V_ADD_WEB_DOMAIN_ELOG         = 'v_add_web_domain_elog';
+    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_SSLCERT     = 'v_change_web_domain_sslcert';
+    const V_CHANGE_WEB_DOMAIN_SSLHOME     = 'v_change_web_domain_sslhome';
+    const V_CHANGE_WEB_DOMAIN_TPL         = 'v_change_web_domain_tpl';
+    const V_DEL_WEB_DOMAIN_CGI             = 'v_del_web_domain_cgi';
+    const V_DEL_WEB_DOMAIN_ELOG         = 'v_del_web_domain_elog';
+    const V_DEL_WEB_DOMAIN_SSL             = 'v_del_web_domain_ssl';
+    const V_DEL_WEB_DOMAIN_STAT         = 'v_del_web_domain_stat';
+    const V_DEL_WEB_DOMAIN_STAT_AUTH     = 'v_del_web_domain_stat_auth';
+    const V_DEL_WEB_DOMAIN_ALIAS         = 'v_del_web_domain_alias';
+    const V_SUSPEND_WEB_DOMAIN             = 'v_suspend_web_domain';
+    const V_SUSPEND_WEB_DOMAINS         = 'v_suspend_web_domains';
+    const V_UNSUSPEND_WEB_DOMAIN         = 'v_unsuspend_web_domain';
+    const V_UNSUSPEND_WEB_DOMAINS         = 'v_unsuspend_web_domains';
+    const V_UPD_WEB_DOMAIN_DISK         = 'v_upd_web_domain_disk';
+    const V_UPD_WEB_DOMAINS_DISK         = 'v_upd_web_domains_disk';
+    const V_UPD_WEB_DOMAIN_TRAFF         = 'v_upd_web_domain_traff';
+    const V_UPD_WEB_DOMAINS_TRAFF         = 'v_upd_web_domains_traff';
+    const V_DEL_WEB_DOMAIN                 = 'v_del_web_domain';
     // DB    
-    const V_LIST_DB_BASES 				= 'v_list_db_bases';
-    const V_LIST_DB_HOSTS 				= 'v_list_db_hosts';
-    const V_ADD_DB_BASE 				= 'v_add_db_base';
-    const V_ADD_DB_HOST 				= 'v_add_db_host';
-    const V_SUSPEND_DB_BASE 			= 'v_suspend_db_base';
-    const V_SUSPEND_DB_BASES 			= 'v_suspend_db_bases';
-    const V_UNSUSPEND_DB_BASE 			= 'v_unsuspend_db_base';
-    const V_UNSUSPEND_DB_BASES 			= 'v_unsuspend_db_bases';
-    const V_CHANGE_DB_PASSWORD 			= 'v_change_db_password';
-    const V_DEL_DB_BASE 				= 'v_del_db_base';
-    const V_DEL_DB_HOST 				= 'v_del_db_host';
-    const V_UPD_DB_BASE_DISK 			= 'v_upd_db_base_disk';
-    const V_UPD_DB_BASES_DISK 			= 'v_upd_db_bases_disk';
-    const PARAM_DELIMETER 				= ' ';
+    const V_LIST_DB_BASES                 = 'v_list_db_bases';
+    const V_LIST_DB_HOSTS                 = 'v_list_db_hosts';
+    const V_ADD_DB_BASE                 = 'v_add_db_base';
+    const V_ADD_DB_HOST                 = 'v_add_db_host';
+    const V_SUSPEND_DB_BASE             = 'v_suspend_db_base';
+    const V_SUSPEND_DB_BASES             = 'v_suspend_db_bases';
+    const V_UNSUSPEND_DB_BASE             = 'v_unsuspend_db_base';
+    const V_UNSUSPEND_DB_BASES             = 'v_unsuspend_db_bases';
+    const V_CHANGE_DB_PASSWORD             = 'v_change_db_password';
+    const V_DEL_DB_BASE                 = 'v_del_db_base';
+    const V_DEL_DB_HOST                 = 'v_del_db_host';
+    const V_UPD_DB_BASE_DISK             = 'v_upd_db_base_disk';
+    const V_UPD_DB_BASES_DISK             = 'v_upd_db_bases_disk';
+    const PARAM_DELIMETER                 = ' ';
 
     /**
      * Execute vesta command
@@ -114,8 +114,8 @@ class Vesta
      */
     static function execute($cmd_command, $parameters=array()) 
     {
-		$r = new Request();
-		$_DEBUG = $r->getParameter("debug", FALSE);
+        $r = new Request();
+        $_DEBUG = $r->getParameter("debug", FALSE);
 
         if (!isset($cmd_command)) 
         {
@@ -123,51 +123,51 @@ class Vesta
         }
 
         $params = array(
-            'sudo' 		 => Config::get('sudo_path'),
+            'sudo'          => Config::get('sudo_path'),
             'functions'  => Config::get('vesta_functions_path'),
-			'parameters' => implode("' '", $parameters),  	    
+            'parameters' => implode("' '", $parameters),          
         );
-	
-		// e.g.: /usr/bin/sudo /usr/local/vesta/bin/v_list_sys_users vesta json 
+    
+        // 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,
-						'data' => '',
-						'error_code' => '',
-						'error_message' => ''
-		);
+        $result = 0;
+        $result = array('status' => TRUE,
+                        'data' => '',
+                        'error_code' => '',
+                        'error_message' => ''
+        );
 
-		// TODO: please remove this later :)
-		if ($_DEBUG)
-		{
-			$result['debug'] = array(
-					 "cmd" => $cmd,
-					 "output" => $output,
-					 "return" => $return
-				 );
-			if ($debug == 2)
-			{
-				echo '<p>'.$cmd;
-				echo '<br> output: '; print_r($output);
-				echo '<br> return: '.$return;
-				echo '</p>';
-			}
-		}
+        // TODO: please remove this later :)
+        if ($_DEBUG)
+        {
+            $result['debug'] = array(
+                     "cmd" => $cmd,
+                     "output" => $output,
+                     "return" => $return
+                 );
+            if ($debug == 2)
+            {
+                echo '<p>'.$cmd;
+                echo '<br> output: '; print_r($output);
+                echo '<br> return: '.$return;
+                echo '</p>';
+            }
+        }
 
-		if (!!(int)$return)
-		{ 
-			$result['status'] = FALSE;
-			$result['error_code'] = (int)$return;
-			$result['error_message'] = implode('', $output);
-		}
-		else
-		{
-			$result['data'] = json_decode(implode('', $output), true);
-		}
-	
-		return $result;
+        if (!!(int)$return)
+        { 
+            $result['status'] = FALSE;
+            $result['error_code'] = (int)$return;
+            $result['error_message'] = implode('', $output);
+        }
+        else
+        {
+            $result['data'] = json_decode(implode('', $output), true);
+        }
+    
+        return $result;
     }  
 }

+ 6 - 6
web/vesta/core/exceptions/ProtectionException.class.php

@@ -13,17 +13,17 @@ class ProtectionException extends Exception
 {
     const CODE_GENERAL = 0;
 
-	/**
-	 * Protection exception
-	 */
+    /**
+     * Protection exception
+     */
     public function __construct($message, $code=self::CODE_GENERAL, $previous=null) 
     {
         parent::__construct($message, $code, $previous);
     }
 
-	/**
-	 * Renders error message
-	 */
+    /**
+     * Renders error message
+     */
     public function __toString() 
     {
         print $this->message;

+ 9 - 9
web/vesta/core/utils/Message.class.php

@@ -11,15 +11,15 @@
  */
 class Message 
 {
-	
-	const ERROR 				= 'error';
-    const REQUEST_INVALID 		= 'Malformed request';
-    const REQUEST_IS_NOT_POST 	= 'Request is not POST';
-    const GENERAL_ERROR 		= 'General protection fault';    
-    const METHOD_NOT_EXIST 		= 'Message not exist';
-    const INVALID_METHOD 		= 'Method Invalid';
-    const SYSTEM_ERROR 			= 'System Error';
-    const PROTECTION_ERROR 		= 'Protection error';
+    
+    const ERROR                 = 'error';
+    const REQUEST_INVALID         = 'Malformed request';
+    const REQUEST_IS_NOT_POST     = 'Request is not POST';
+    const GENERAL_ERROR         = 'General protection fault';    
+    const METHOD_NOT_EXIST         = 'Message not exist';
+    const INVALID_METHOD         = 'Method Invalid';
+    const SYSTEM_ERROR             = 'System Error';
+    const PROTECTION_ERROR         = 'Protection error';
     
 }
 

+ 9 - 9
web/vesta/core/utils/error_logger.php

@@ -14,28 +14,28 @@ function error_dumper($errno, $errstr, $errfile, $errline)
         $o.= "  Fatal error on line $errline in file $errfile";
         $o.= ", PHP " . PHP_VERSION . " (" . PHP_OS . ")\n";
         $o.= "Aborting...\n";
-		fwrite($log, $o);
-		fclose($log);
-		exit(1);
+        fwrite($log, $o);
+        fclose($log);
+        exit(1);
         break;
 
     case E_USER_WARNING:
         $o = "WARNING: [$errno] $errstr\n";
         fwrite($log, $o);
-		fclose($log);
-	break;
+        fclose($log);
+    break;
 
     case E_USER_NOTICE:
         $o =  "NOTICE: [$errno] $errstr\n";
         fwrite($log, $o);
-		fclose($log);
-	break;
+        fclose($log);
+    break;
 
     default:
         $o = "Unknown error type: [$errno] $errstr\n";
         fwrite($log, $o);
-		fclose($log);
-	break;
+        fclose($log);
+    break;
     }
 
     /* Don't execute PHP internal error handler */