<?php
/*
* @ServerMon v1.1
* @Developed by Maksa988
* @www.Server-Mon.ru
* @Copyright (C) 2014
*/
 if(!defined('SMON'))
	die('Hacking attempt!');
	
class servers extends Controller {
	public function __construct() {

		$this->header();
		$this->model('users');
		$this->model('servers');
		$this->model('serverStats');
		
		if(empty($_SESSION['user_id'])):
			return $this->view(array('login/index'), $this->data); //Загружаем шаблон
		endif;
		
		$user = $this->usersModel->getUser($_SESSION['user_id']);
		$this->data['user'] = $user;
		
		if($user['user_group'] != $this->setting('admin_group')):
			$this->data['error'] = 'Вы не имеете доступа!';
			return $this->view(array('login/index'), $this->data); //Загружаем шаблон
		endif;
		
		$this->data['activeSection'] = 'modules';
		$this->data['menu'] = array(array('url'=> 'servers/add', 'icon' => 'plus', 'name'=> 'Добавить сервер'), array('url'=> 'games', 'icon' => 'gamepad', 'name'=> 'Список доступных игр')); 
		
		if($this->GET() >= '1'){
			$server = $this->serversModel->getServerInfo($this->GET());
			
			if($server){
				$stats = $this->serverStatsModel->getStats($server['server_id'], '1 DAY');
				
				$this->data['server'] = $server;
				$this->data['stats'] = $stats;
				
				if($this->POST('edit')){
					$ip = $this->POST('ip');
					$port = $this->POST('port');
					$weburl = $this->POST('weburl');
					$vote = $this->POST('vote');
					$vip = $this->POST('vip');
					$month = $this->POST('month');
					$selection = $this->POST('selection');
					$color = $this->POST('color');
					
					if($ip && $port && $weburl){
							if(strlen($port) >= '4' && strlen($ip) >= '7'){
								if(!$this->serversModel->checkServer($ip, $port)){
									if($this->serversModel->editServer($this->GET(), $ip, $port, $weburl, $vote)){
										$this->data['success'] = 'Сервер успешно изменен.';
									} else {
										$this->data['error'] = 'При изменении сервера произошла ошибка.';
									}
								} else {
									if($weburl != $server['server_weburl'] or $vote != $server['server_vote']){	
										if($this->serversModel->editServer($this->GET(), $ip, $port, $weburl, $vote)){
											$this->data['success'] = 'Сервер успешно изменен.';
										} else {
											$this->data['error'] = 'При изменении сервера произошла ошибка.';
										}
									}
								}
							} else {
								$this->data['error'] = 'Неверно введен IP адрес и (или) порт!';
							}
							
							if(!$vip){
								if($month){
									$this->serversModel->buyStore($this->GET(), $this->POST('month'), 'vip');
								}
							}
							if(!$selection){
								if($color){
									$this->serversModel->buyStore($this->GET(), '1', 'color', $color);
								}
							}
					} else {
						$this->data['error'] = 'Все поля обязательны к заполнению!';
					}
				}
				
				return $this->view(array('common/header', 'servers/edit', 'common/footer'), $this->data); //Загружаем шаблон
			} else {
				return $this->view(array('common/header', 'servers/404server', 'common/footer'), $this->data); //Загружаем шаблон
			}
		} else {
			return $this->view(array('common/header', 'servers/404server', 'common/footer'), $this->data); //Загружаем шаблон
		}
	}
}