$str"; if ($die) die(); } /*Преобразование массива в переменные*/ function ArrToVar ($arr, $pref = '') { foreach ($arr as $key => $value) { $var = ($pref != '') ?$pref.$key :$key; global ${$var}; ${$var} = $value; } } /*Получение полосы загрузки*/ function getUpdateBar () { echo "" . "" . "" . "
Обновить" . "" . "" . "" . "" . "" . "" . "" . "" . "
"; for ($i = 1; $i <= 32; $i++) { echo " "; if ($i < 32) echo " "; } echo "
"; } /*Получение времени восстановления здоровья*/ function getCureValue ($now, $all, $regen, &$value) { $value = intval(30000*($all-$now)/($all*$regen)) + time(); } /*Получение количества восстановленного здоровья*/ function getRegeneratedValue ($all, $cure, $regen) { return $all - intval(0.0001*$all*$cure*$regen/3); } /*Получение отформатированного времени*/ function getFormatedTime ($timestamp) { if (!$timestamp) return "0 сек."; if (!is_numeric($timestamp)) $timestamp = time(); $seconds = ($timestamp > time()) ?$timestamp - time() :time() - $timestamp; $seconds = ($seconds > 0) ?$seconds :0; $y = intval($seconds / 31536000); $seconds %= 31536000; $m = intval($seconds / 2592000); $seconds %= 2592000; $d = intval($seconds / 86400); $seconds %= 86400; $h = intval($seconds / 3600); $seconds %= 3600; $n = intval($seconds / 60); $seconds %= 60; $s = $seconds; if ($y && $m == 0) return "$y г."; if ($y) return "$y г. $m мес."; if ($m && $d == 0) return "$m мес."; if ($m) return "$m мес. $d дн."; if ($d && $h == 0) return "$d дн."; if ($d) return "$d дн. $h ч."; if ($h && $n == 0) return "$h ч."; if ($h) return "$h ч. $n мин."; if ($n && $s == 0) return "$n мин."; if ($n) return "$n мин. $s сек."; return "$s сек."; } /*Перевод в float*/ function getMoney ($money) { return sprintf("%01.2f", $money); } /*Внедрение пробела*/ function getExp ($exp) { return number_format($exp, 0, "", " "); } /*Получение цвета улучшения*/ function getColor ($cur, $add) { $diff = ($add > 0) ?(1 - (($cur - $add) / $cur)) * 255 :($add < 0) ?(1 -(($cur - $add*(-1)) / $cur)) * 255 :-50; $diff = abs(intval($diff)) + 50; if ($diff > 150 && $add > 0) return "#00AA00"; if ($diff > 150 && $add < 0) return "#AA0000"; if ($add > 0) return "RGB(0, $diff, 0)"; if ($add < 0) return "RGB($diff, 0, 0)"; return "RGB(0, 0, 0)"; } /*Получение разбивки статов*/ function getBraces ($stat, $added_stat, $type = '') { if ($added_stat > 0) return " (".($stat-$added_stat)." + $added_stat)"; if ($added_stat < 0) return " (".($stat-$added_stat)." - ".abs($added_stat).")"; } /*Сравнение двух переменных*/ function compare ($var1, $var2, $var3 = 0) { $format = '%1$s'; if (is_numeric($var1) && is_numeric($var2)) $format = ($var1 > $var2) ?"$format" :$format; else if (is_string($var1) && is_string($var2)) $format = ($var1 != $var2) ?"$format" :$format; $text = ($var3) ?$var3 :$var1; return sprintf($format, $text); } /*UTF-8 размер строки*/ function utf8_strlen ($s) { return preg_match_all('/./u', $s, $tmp); } /*UTF-8 сокращение строки*/ function utf8_substr ($s, $offset, $len = 'all') { if ($offset < 0) $offset = $char -> utf8_strlen($s) + $offset; if ($len != 'all') { if ($len < 0) $len = utf8_strlen($s) - $offset + $len; $xlen = utf8_strlen($s) - $offset; $len = ($len > $xlen) ?$xlen :$len; preg_match('/^.{' . $offset . '}(.{0,'.$len.'})/us', $s, $tmp); } else preg_match('/^.{' . $offset . '}(.*)/us', $s, $tmp); return (isset($tmp[1])) ?$tmp[1] :false; } /*Экранирование запроса LIKE*/ function escapeLike ($s) { return "%".str_replace(array("'", '"', "%", "_"), array("\'", '\"', "", ""), $s)."%"; } /*Error log function*/ function databaseErrorHandler ($message, $info) { if (!error_reporting()) return; echo "
SQL Error: $message
".print_r($info, true)."
"; error_log($message); } /*Получение переменной GET, POST и COOKIE*/ function getVar ($var, $stand = '', $flags = 3) { if (isset($_GET[$var]) && ($flags & 1)) $value = $_GET[$var]; else if (isset($_POST[$var]) && ($flags & 2)) $value = $_POST[$var]; else if (isset($_COOKIE[$var]) && ($flags & 4)) $value = $_COOKIE[$var]; else return $stand; if (is_numeric($stand) && is_numeric($value)) return ($flags & 8) ?rdf($value) :$value; else if (!is_numeric($stand)) return htmlspecialchars($value); else return $stand; } /*Проверка существования переменной SESSION*/ function checks () { $args = func_get_args(); if (func_num_args() == 1) return isset($_SESSION[$args[0]]); foreach ($args as $arg) { if (!isset($_SESSION[$arg])) return false; } return true; } /*Проверка существования и правильного формата числа*/ function checki ($int) { return (!is_numeric($int) || $int == 0); } /*Преобразование русско-язычной строки в нижний и верхний регистр*/ define('UPCASE', 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIKLMNOPQRSTUVWXYZ'); define('LOCASE', 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяabcdefghiklmnopqrstuvwxyz'); function mb_str_split ($str) { preg_match_all('/.{1}|[^\x00]{1}$/us', $str, $ar); return $ar[0]; } function mb_strtr ($str, $from, $to) { return str_replace(mb_str_split($from), mb_str_split($to), $str); } function lowercase ($arg = '') { return mb_strtr($arg, UPCASE, LOCASE); } function uppercase ($arg = '') { return mb_strtr($arg, LOCASE, UPCASE); } /*Возврат значения ajax запроса*/ function returnAjax () { die(implode('$$', func_get_args())); } /*Получение место перехода*/ function toIndex ($type = 'main', $die = true, $loc = '') { deleteSession(); switch ($type) { case 'main': deleteSession(); echoScript("top.location.href = '{$loc}index.php';", $die); break; case 'game': deleteSession(); echoScript("location.href = '{$loc}index.php';", $die); break; case 'ajax': die('ajax_error'); break; } } /*Получение guid персонажа*/ function getGuid ($type = 'main', $loc = '') { if (empty($_SESSION['guid'])) toIndex($type, true, $loc); else return $_SESSION['guid']; } /*Получение названия таблицы*/ function getTable ($name) { switch ($name) { case 'char_db': return 'characters'; case 'char_stats': return 'character_stats'; case 'char_info': return 'character_info'; case 'char_equip': return 'character_equip'; case 'char_bars': return 'character_bars'; case 'online': return 'online'; } } /*Удаление переменных сессии*/ function deleteSession () { unset($_SESSION['guid'], $_SESSION['bankСredit'], $_SESSION['last_t'], $_SESSION['token']); } /*Смешивает порядок ключей массива сохраняя значения*/ function shuffle_arr ($array) { $keys = array_keys($array); shuffle($keys); return array_merge(array_flip($keys), $array); } /*Функции для определения времени создания страницы*/ function gettime () { $part_time = explode(' ',microtime()); $real_time = $part_time[1].substr($part_time[0],1); return $real_time; } function showtime ($start_time, &$s) { $dift_time2 = bcsub(gettime(), $start_time, 6); $s .= "Время $dift_time2 секунд"; } /*Округление до сотых*/ function rdf ($float) { return round($float * 100) / 100; } /*Вывод ошибки*/ function error ($text) { echoScript("$('title').html('Произошла ошибка');"); die("Произошла ошибка:
$text
Назад

(c) Анти Бойцовский клуб

"); } ?>