<?
class Workers{
static private $instance = NULL;
public $data = array();
public $user;
public $userWorkers;
static function a(){
if(self::$instance==NULL)self::$instance=new Workers();
return self::$instance;
}
public function __construct(){
$this->data[1] = array( 'name' => 'Финансист',
'eng' => 'finansist',
'price' => array('1'=>50,200,350,600,1000,1400,5200,10400),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'очень прибыльный и ценный сотрудник для любого предприятия',
'job' => 'В 10 раза увеличивает доход с Лунапарка и Торговли');
$this->data[] = array( 'name' => 'Рекламщик',
'eng' => 'reklam',
'price' => array('1'=>50,200,350,600,1000,1400,5200,10400),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который значительно ускорит ваше развитие',
'job' => 'В 10 раза увеличивает опыт с Лунапарка и Торговли');
$this->data[] = array( 'name' => 'Механик',
'eng' => 'mechanic',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет выполнять за вас самую тяжелую работу без вашего участия',
'job' => 'Ремонтировать аттракционы');
$this->data[] = array( 'name' => 'Кассир',
'eng' => 'kassir',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет выполнять за вас финансовую работу без вашего участия',
'job' => 'Собирать доход с аттракционов');
$this->data[] = array( 'name' => 'Официант',
'eng' => 'oficiant',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет принимать заказы без вашего участия',
'job' => 'Принимать заказы в Торговле');
$this->data[] = array( 'name' => 'Повар',
'eng' => 'povar',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет готовить порции без вашего участия',
'job' => 'Готовить порции в Торговле');
$this->data[] = array( 'name' => 'Бармен',
'eng' => 'barmen',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет выдавать заказы без вашего участия',
'job' => 'Выдавать заказы в Торговле');
$this->data[] = array( 'name' => 'Управляющий',
'eng' => 'uprav',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет принимать посетителей в Тендере без вашего участия',
'job' => 'Принимать посетителей в Тендере');
$this->data[] = array( 'name' => 'Инженер',
'eng' => 'smotrit',
'price' => array('1'=>5,20,35,60,100,140,520,1040),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который будет запускать аттракционы в Тендере без вашего участия',
'job' => 'Запускать аттракционы в Тендере');
$this->data[] = array( 'name' => 'Охранник',
'eng' => 'ohrana',
'price' => array('1'=>15,60,105,180,300,420,1560,3120),
'time' => array('1'=>3600,18000,43200,86400,172800,259200,1296000,2592000),
'title' => 'работник,который охраняет ваш Лунапарк от незванных гостей',
'job' => 'Предотвращать вредительство вашему Лунапарку');
$this->user = User::a()->user;
$this->userWorkers = json_decode($this->user['dataWorkers'],true);
return true;
}
public function showInfo($id){
$id = abs(intval($id));
if(!array_key_exists($id,$this->data))return false;
return $this->data[$id];
}
public function showPrice($id){
$data = $this->showInfo($id);
if($data===false)return false;
foreach($data['price'] as $key=>$value){
if(User::a()->user['vip']==1){
$value = $value - floor($value*0.7);
}
/***********************/
$link.= '<div><a class="link4" href="/Shop/Workers/'.$id.'/Buy/'.$key.'/" style="font-size:16px;padding-top:5px">
<img src="/img/icons/ok.png" style="margin-right:3px;width:16px">Нанять</a> на '.atime($this->data[$id]['time'][$key]).'
<span class="minor">(за <img src="/img/icons/donate.png" style="margin-right:3px;width:16px">'.$value.')</span></div>';
}
return $link;
}
public function buy($id,$type){
$type = abs(intval($type));
$data = $this->showInfo($id);
if($data===false)return false;
if(!array_key_exists($type,$data['time']))return false;
$time = $data['time'][$type];
$donate = $data['price'][$type];
if(User::a()->user['vip']==1){
$donate = $donate - floor($donate*0.7);
}
/***********************/
if($this->user['donate']<$donate){
$_SESSION['info']="Не хватает <img src='/img/icons/donate.png' style='margin-right:2px;width:14px'>".($donate-$this->user['donate']);
return false;
}
Ach::a($this->user)->add('workers',$time/3600);
if($this->userWorkers[$data['eng']]['time']>time())$new_time = $this->userWorkers[$data['eng']]['time']+$time;
else $new_time = time()+$time;
$this->user['donate']-=$donate;
$this->userWorkers[$data['eng']]['time'] = $new_time;
$text = "Нанял работника ".$data['name']." на ".atime($time)." за <img src='/img/icons/donate.png' style='margin-right:2px;width:14px'>".$donate;
User::a()->addLog($text);
/*Дополнительная таблица работников*/
$query = "SELECT * FROM `usersWorkers` WHERE `user` = '".$this->user['id']."' LIMIT 1";
$works = DB::a()->d->query($query)->fetch();
if($works===false){
DB::a()->d->query("INSERT INTO `usersWorkers` SET `user` = '".$this->user['id']."',`".$data['eng']."` = '".$new_time."'");
}else{
DB::a()->d->query("UPDATE `usersWorkers` SET `".$data['eng']."` = '".$new_time."' WHERE `user` = '".$this->user['id']."' LIMIT 1");
}
$this->update();
return $_SESSION['info']="Работник нанят!";
}
public function getAbout($id){
$data = $this->showInfo($id);
if($data===false)return false;
$info = NULL;
$dataShop = json_decode(User::a()->user['dataWorkers'],true);
foreach($dataShop as $key => $value){
if($key == $data['eng']){
if($value['time']>time())$info = '<br><div class="minor">Будет работать на вас еще '.atime($value['time']-time()).'</div>';
}
}
return $info;
}
public function getLink($data=false){
$dataShop = $this->data;
$link = array();
if($data!==false){
$dataShop = json_decode($data['dataWorkers'],true);
foreach($dataShop as $key => $value){
if($value['time']>time() && $key!="ohrana"){
$link[] = '<div><a class="link4" href="/Shop/Workers/'.$value['id'].'/">
<img src="/img/workers/'.$key.'_small.png" style="margin-right:3px;width:16px">'.$this->data[$value['id']]['name'].'</a>
<span class="minor">(на '.atime($value['time']-time()).')</span></div>';
}
}
}else{
foreach($dataShop as $key => $value){
$link[] = '<div><a class="link4" href="/Shop/Workers/'.$key.'/">
<img src="/img/workers/'.$value['eng'].'_small.png" style="margin-right:3px;width:16px">'.$value['name'].'</a></div>';
}
}
return $link;
}
public function update() {
$this->user['dataWorkers'] = json_encode($this->userWorkers);
User::a()->user = $this->user;
return true;
}
}