Файл: world-faces.ru/world-faces.ru/chat/inc/bar.php
Строк: 80
<?php
class barmen{
public $msg;
public $team;
public $posts;
public $alcohol;
public $config;
public $drinks = array();
public $food = array();
public $youDrunk = array();
public $userProfile = array();
public $eda;
/*
* $login - Логин юзера
* $alcohol - уровень опьянения юзера
* $money - Количество денег на счету у юзера
* $keyLog - Ключ (ид юзера) для лога его покупок
**/
function __construct($alcohol, $posts, $keyLog, $pol) {
$this->alcohol = $alcohol;
$this->posts = $posts;
$this->pol = $pol;
//Лог файл
$this->logFole = H.'chat/dat/log/'.$keyLog.'.dat'; //Настройки бота
$this->config = parse_ini_file(H.'chat/dat/config.ini');
//Авто Очистка лога
if (!$alcohol && file_exists($this->logFole)) unlink($this->logFole);
}
/*Анализ сообщение
* $msg - Сообшение
* Функция возвращает
* 1 - если чел слишком пьян
* 2 - если у чела нет денег для оплаты
* 3 - Заказ выполнен
*/
public function analysis($msg) {
$this->msg = $msg;
preg_match("#!(.*?)(s|$)#i", $msg, $arr);
if ($this->alcohol > $this->config['font']) {
$this->msg = $this->font($msg);
}
/*Стриптиз*/
$mony_strip = 100; //Цена стриптиза
$strip = array('стрип', 'стриптиз', 'strip', 'striptiz');
if (in_array(mb_strtolower($arr[1], 'UTF-8'), $strip)) {
if ($mony_strip > $this->posts) return 2;
$this->eda = true; //Чтоб тост не говорило
if($this->pol == 0)
$rand = mysql_fetch_assoc(mysql_query("SELECT `file`,`name`,`sex` FROM `bar_strip` WHERE `sex`='0' ORDER BY RAND() LIMIT 1"));
else
$rand = mysql_fetch_assoc(mysql_query("SELECT `file`,`name`,`sex` FROM `bar_strip` WHERE `sex`='1' ORDER BY RAND() LIMIT 1"));
$teex = ($rand['sex']==1?'. Встречайте, очаровательная [b]'.$rand['name'].'[/b]':'. Встречайте обворожительного мачо [b]'.$rand['name'].'[/b]');
$this->team = ($rand['sex'] == 1 ? 'cтриптизершу' : 'cтриптизера');
$this->setLog();
$this->team .= $teex.' [img]/files/strip/'.$rand['file'].'[/img]';
$this->posts = $this->posts-$mony_strip;
//$this->update_alcohol = 0;
return 3;
}
$res = mysql_fetch_assoc(mysql_query("SELECT * FROM bar_product WHERE name = '".htmlspecialchars(mb_strtolower($arr[1], 'UTF-8'))."'"));
if (!empty($res['name'])) {
$this->eda = $res['alcohol'] < 0 ? true : false;
$this->alcohol = $this->alcohol ? $this->alcohol+$res['alcohol'] : $res['alcohol'];
if (!$this->eda && ($this->alcohol > $this->config['youdrunk'])) {
return 1;
} elseif ($res['price'] > $this->posts) {
return 2;
} else {
$this->posts = $this->posts-$res['price'];
if ($this->alcohol >= 100) {
$this->alcohol = 100;
} elseif ($this->alcohol < 0) {
$this->alcohol = 0;
}
$this->alcohol = abs($this->alcohol);
$this->team = $res['name'];
$this->setLog();
if (is_file(H.'files/barmen/'.$res['id'].'.'.$res['type'])) {
$this->team .= ' [img]/files/barmen/'.$res['id'].'.'.$res['type'].'[/img]';
}
return 3;
}
}
}
//Случайный тост
public function toast() {
$data = file(H.'chat/dat/tost.dat');
return $data[array_rand($data)];
}
//Случайное оповешение о том что юзер пьян
public function youDrunk() {
$data = file(H.'chat/dat/ydrunk.dat');
return $data[array_rand($data)];
}
//Преобразование текста в ПрЫгАюЩиЙ регистр
public function font($msg) {
$msg = iconv("UTF-8", "windows-1251", $msg);
$count = strlen($msg);
for($i = 0; $i<$count; $i++) {
$r = $r ? 0 : 1;
$txt .= $r ? mb_strtoupper($msg[$i], 'windows-1251') : mb_strtolower($msg[$i], 'windows-1251');
}
return iconv("windows-1251", "UTF-8", $txt);
}
//Запись в лог покупок
public function setLog() {
$fp = fopen($this->logFole, 'a+');
flock ($fp, LOCK_EX);
fwrite($fp, $this->team.'('.date("d.m.Y H:i").')<br/>');
flock ($fp, LOCK_UN);
fclose($fp);
@chmod($this->logFole, 0666);
}
//Загрузка лога
public function getLog() {
return file_exists($this->logFole) ? file_get_contents($this->logFole) : 'История пока пуста...';
}
}
?>