Файл: wapxl.ru/shaxty/classes/functions.php
Строк: 730
<?php
class func extends core
{
public static function no_guest()
{
if(!isset(core::$user['id'])){
$title = 'Ошибка';
$align = 'center';
$head = 'Ошибка';
include_once (H.'shaxty/head.php');
echo "<b>Вы не можете просмотреть данную страницу потому, что вы не авторизированы!</b><br />";
echo "Пожалуйста пройдите<br />";
echo "<a href="/in.php" class="href">Авторизацию</a> или <a href="/reg.php" class="href">Регистрацию</a><br />";
echo '<br />';
echo '<br />';
include_once (H.'shaxty/foot.php');
exit;
}
}
/* Фильтрация строк */
public static function checkin($str)
{
$str = htmlentities($str, ENT_QUOTES, 'UTF-8');
if (function_exists('iconv')) {
$str = iconv("UTF-8", "UTF-8", $str);
}
// Фильтруем невидимые символы
$str = preg_replace('/[^P{C}n]+/u', '', $str);
return trim($str);
}
/* Маскировка ссылок в тексте */
public static function antilink($var)
{
$var = preg_replace('~\[url=(https?://.+?)\](.+?)\[/url\]|(https?://(www.)?[0-9a-z.-]+.[0-9a-z]{2,6}[0-9a-zA-Z/?.~&_=/%-:#]*)~', '###', $var);
$replace = array(
'.ru' => '***',
'.com' => '***',
'.biz' => '***',
'.cn' => '***',
'.in' => '***',
'.net' => '***',
'.org' => '***',
'.info' => '***',
'.mobi' => '***',
'.wen' => '***',
'.kmx' => '***',
'.h2m' => '***'
);
return strtr($var, $replace);
}
/**
* Обработка текстов перед выводом на экран
*
* @param string $str
* @param int $br Параметр обработки переносов строк
* 0 - не обрабатывать (по умолчанию)
* 1 - обрабатывать
* 2 - вместо переносов строки вставляются пробелы
* @param int $tags Параметр обработки тэгов
* 0 - не обрабатывать (по умолчанию)
* 1 - обрабатывать
* 2 - вырезать тэги
*
* @return string
*/
public static function text($str, $br = 1, $tags = 1) {
if ($br == 1)
$str = nl2br($str);
elseif ($br == 2)
$str = str_replace("rn", ' ', $str);
if ($tags == 1){
$str = bbcode::tags($str);
/*$str = bbcode::bb_code($str);
$str = bbcode::smiles($str);
$str = bbcode::img_bb($str);*/
}elseif ($tags == 2){
$str = notags($str);
}
return trim($str);
}
/**
* Сообщения об ошибках
*
* @param string|array $error Сообщение об ошибке (или массив с сообщениями)
* @param string $link Необязательная ссылка перехода
*
* @return bool|string
*/
public static function errors($error = '', $link = '')
{
$title = 'Ошибка';
$align = 'left';
$head = 'Ошибка';
include_once (H.'shaxty/head.php');
echo '<p>'.$error.'</p> '.(!empty($link) ? '<p>' . $link . '</p>' : '');
include_once (H.'shaxty/foot.php');
exit;
}
/* Определение мобильного браузера */
public static function is_mobile()
{
if (isset($_SESSION['is_mobile'])) {
return $_SESSION['is_mobile'] == 1 ? 1 : 0;
}
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? strtolower($_SERVER['HTTP_USER_AGENT']) : '';
$accept = isset($_SERVER['HTTP_ACCEPT']) ? strtolower($_SERVER['HTTP_ACCEPT']) : '';
if ((strpos($accept, 'text/vnd.wap.wml') !== FALSE) || (strpos($accept, 'application/vnd.wap.xhtml+xml') !== FALSE)) return 1;
if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) return 1;
if (preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i', $user_agent)
|| preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|e-|e/|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(-|2|g)|yas-|your|zeto|zte-/i', substr($user_agent, 0, 4))
) {
$_SESSION['is_mobile'] = 1;
return 1;
}
$_SESSION['is_mobile'] = 0;
return 0;
}
// </div><br />
public static function sp_head($name = NULL, $name2 = NULL, $d1 = NULL, $d2 = NULL){
$spoil = rand(0000,9999);
if(self::is_mobile()==0){
return ''.$d1.$name.' <span id="sp'.$spoil.'" style="line-height: 18px"><a href="#" onClick="spoiler('.$spoil.'); return false" class="href">(Отобразить)</a></span>'.$d2.'<div id="spoiler'.$spoil.'" style="display: none"> ';
}else{
return $d1.$name2.$d2;
}
}
public static function sp_foot($var = NULL){
if(self::is_mobile()==0){
return '</div>';
}
}
public static function file_size($size = NULL){
$filesizename = array(" Байт", " Кб", " Мб", " Гб");
return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i] : '0 Байт';
}
public static function del($text = NULL)
{
$text=str_replace('&','', $text);
$text=str_replace('ndash;','', $text);
$text=str_replace(' ','_', $text);
$text=str_replace('"','', $text);
$text=str_replace("'",'', $text);
$text=str_replace('&','', $text);
$text=str_replace('$','', $text);
$text=str_replace('>','', $text);
$text=str_replace('<','', $text);
$text=str_replace('~','', $text);
$text=str_replace('`','', $text);
$text=str_replace('#','', $text);
$text=str_replace('*','', $text);
$text=str_replace(''','', $text);
$text=str_replace('/','_', $text);
return $text;
}
// Функция "Вы уверены?"
public static function danger($link=NULL,$kom=NULL,$log_mod=NULL,$log=NULL,$end=NULL)
{
$danger = isset ($_REQUEST['danger']) ? trim($_REQUEST['danger']) : '';
if (empty($danger)){
if(isset($log_mod)){
$msglog = isset ($_REQUEST['msglog']) ? self::checkin($_REQUEST['msglog']) : '';
if (empty($msglog)){
echo '<form action="'.$link.'" method="post" enctype="multipart/form-data">';
if($kom==NULL)echo '<br /><b>ВНИМАНИЕ!</b> Данное действие приведет к безвозвратной потере данных<br />';
else echo '<br />'.$kom.'<br />';
echo "<br />Причина удаления:<br/>";
echo'<textarea cols="'.core::$user['pole2'].'" rows="'.core::$user['pole1'].'" name="msglog" ></textarea><br />';
echo '<br /><input type="submit" class="ibutton" value="Продолжить"/> | <a href="'.htmlspecialchars(getenv("HTTP_REFERER")).'">Отмена</a></form><br /><br />';
echo '<br />';
}else{
if (func::utf_strlen($msglog) < 10)func::errors('<b>Укажите причину!</b>');
$messs = ''.$log.'<br /> Причина: <b>'.$msglog.'</b>';
core::$db->query ("INSERT INTO logs (log,msg,time,user_id) VALUES (?,?,?,?)",array($log_mod,$messs,core::$realtime,core::$user['id']));
}
}else{
echo '<form action="'.$link.'&danger=danger" method="post" enctype="multipart/form-data">';
if($kom==NULL)echo '<br /><b>ВНИМАНИЕ!</b> Данное действие приведет к безвозвратной потере данных<br />';
else echo '<br />'.$kom.'<br />';
echo '<br /><input type="submit" class="ibutton" value="Продолжить"/> | <a href="'.htmlspecialchars(getenv("HTTP_REFERER")).'">Отмена</a></form><br /><br />';
echo '<br />'; // <a href="'.$link.'&danger=danger">'.$link.'</a>
}
}
echo $end;
include_once (H.'shaxty/foot.php');
}
public static function slova($str = NULL,$msg1 = NULL,$msg2 = NULL,$msg3 = NULL) {
$str = (int)$str;
$str1 = abs($str) % 100;
$str2 = $str % 10;
if ($str1 > 10 && $str1 < 20) return $str .' '. $msg3;
if ($str2 > 1 && $str2 < 5) return $str .' '. $msg2;
if ($str2 == 1) return $str .' '. $msg1;
return $str .' '. $msg3;
}
// ------------------ Функция перекодировки из UTF в WIN --------------------//
public static function utf_to_win($str = NULL) {
if (function_exists('mb_convert_encoding')) return mb_convert_encoding($str, 'windows-1251', 'utf-8');
if (function_exists('iconv')) return iconv('utf-8', 'windows-1251', $str);
$utf8win1251 = array("А" => "xC0", "Б" => "xC1", "В" => "xC2", "Г" => "xC3", "Д" => "xC4", "Е" => "xC5", "Ё" => "xA8", "Ж" => "xC6", "З" => "xC7", "И" => "xC8", "Й" => "xC9", "К" => "xCA", "Л" => "xCB", "М" => "xCC",
"Н" => "xCD", "О" => "xCE", "П" => "xCF", "Р" => "xD0", "С" => "xD1", "Т" => "xD2", "У" => "xD3", "Ф" => "xD4", "Х" => "xD5", "Ц" => "xD6", "Ч" => "xD7", "Ш" => "xD8", "Щ" => "xD9", "Ъ" => "xDA",
"Ы" => "xDB", "Ь" => "xDC", "Э" => "xDD", "Ю" => "xDE", "Я" => "xDF", "а" => "xE0", "б" => "xE1", "в" => "xE2", "г" => "xE3", "д" => "xE4", "е" => "xE5", "ё" => "xB8", "ж" => "xE6", "з" => "xE7",
"и" => "xE8", "й" => "xE9", "к" => "xEA", "л" => "xEB", "м" => "xEC", "н" => "xED", "о" => "xEE", "п" => "xEF", "р" => "xF0", "с" => "xF1", "т" => "xF2", "у" => "xF3", "ф" => "xF4", "х" => "xF5",
"ц" => "xF6", "ч" => "xF7", "ш" => "xF8", "щ" => "xF9", "ъ" => "xFA", "ы" => "xFB", "ь" => "xFC", "э" => "xFD", "ю" => "xFE", "я" => "xFF");
return strtr($str, $utf8win1251);
}
// ------------------ Функция перекодировки из WIN в UTF --------------------//
public static function win_to_utf($str = NULL) {
if (function_exists('mb_convert_encoding')) return mb_convert_encoding($str, 'utf-8', 'windows-1251');
if (function_exists('iconv')) return iconv('windows-1251', 'utf-8', $str);
$win1251utf8 = array("xC0" => "А", "xC1" => "Б", "xC2" => "В", "xC3" => "Г", "xC4" => "Д", "xC5" => "Е", "xA8" => "Ё", "xC6" => "Ж", "xC7" => "З", "xC8" => "И", "xC9" => "Й", "xCA" => "К", "xCB" => "Л", "xCC" => "М",
"xCD" => "Н", "xCE" => "О", "xCF" => "П", "xD0" => "Р", "xD1" => "С", "xD2" => "Т", "xD3" => "У", "xD4" => "Ф", "xD5" => "Х", "xD6" => "Ц", "xD7" => "Ч", "xD8" => "Ш", "xD9" => "Щ", "xDA" => "Ъ",
"xDB" => "Ы", "xDC" => "Ь", "xDD" => "Э", "xDE" => "Ю", "xDF" => "Я", "xE0" => "а", "xE1" => "б", "xE2" => "в", "xE3" => "г", "xE4" => "д", "xE5" => "е", "xB8" => "ё", "xE6" => "ж", "xE7" => "з",
"xE8" => "и", "xE9" => "й", "xEA" => "к", "xEB" => "л", "xEC" => "м", "xED" => "н", "xEE" => "о", "xEF" => "п", "xF0" => "р", "xF1" => "с", "xF2" => "т", "xF3" => "у", "xF4" => "ф", "xF5" => "х",
"xF6" => "ц", "xF7" => "ч", "xF8" => "ш", "xF9" => "щ", "xFA" => "ъ", "xFB" => "ы", "xFC" => "ь", "xFD" => "э", "xFE" => "ю", "xFF" => "я");
return strtr($str, $win1251utf8);
}
// ------------------ Функция преобразования в нижний регистр для UTF ------------------//
public static function rus_utf_tolower($str = NULL) {
if (function_exists('mb_strtolower')) return mb_strtolower($str, 'utf-8');
$arraytolower = array('А' => 'а', 'Б' => 'б', 'В' => 'в', 'Г' => 'г', 'Д' => 'д', 'Е' => 'е', 'Ё' => 'ё', 'Ж' => 'ж', 'З' => 'з', 'И' => 'и', 'Й' => 'й', 'К' => 'к', 'Л' => 'л', 'М' => 'м', 'Н' => 'н', 'О' => 'о', 'П' => 'п', 'Р' => 'р', 'С' => 'с', 'Т' => 'т', 'У' => 'у', 'Ф' => 'ф', 'Х' => 'х', 'Ц' => 'ц', 'Ч' => 'ч', 'Ш' => 'ш', 'Щ' => 'щ', 'Ь' => 'ь', 'Ъ' => 'ъ', 'Ы' => 'ы', 'Э' => 'э', 'Ю' => 'ю', 'Я' => 'я',
'A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'I' => 'i', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z');
return strtr($str, $arraytolower);
}
public static function kikt($t = NULL) {
$t2 = $t-core::$realtime;
if($t2>(60*60*24*30)) $t3 = round($t2/(60*60*24*30)).' месяцев';
else if($t2>(60*60*24)) $t3 = round($t2/(60*60*24)).' дней';
else if($t2>(60*60)) $t3 = round($t2/(60*60)).' часов';
else if($t2>60) $t3 = round($t2/60).' минут';
else $t3 = $t2.' секунд';
return $t3;
}
// ----------------------- Функция обрезки строки с условием -------------------------//
public static function subtok($string = NULL, $chr = NULL, $pos = NULL, $len = null) {
return implode($chr, array_slice(explode($chr, $string), $pos, $len));
}
// ------------------ Функция генерирования паролей --------------------//
public static function generate_password($length = NULL) {
if (empty($length)) {
$length = mt_rand(10, 12);
}
$salt = str_split('aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789');
$makepass = "";
for ($i = 0; $i < $length; $i++) {
$makepass .= $salt[array_rand($salt)];
}
return $makepass;
}
// ---------- Аналог функции substr для UTF-8 ---------//
public static function utf_substr($str = NULL, $offset = NULL, $length = null) {
if (function_exists('mb_substr')) return mb_substr($str, $offset, $length, 'utf-8');
if (function_exists('iconv_substr')) return iconv_substr($str, $offset, $length, 'utf-8');
$str = self::utf_to_win($str);
$str = substr($str, $offset, $length);
return self::win_to_utf($str);
}
// ---------------------- Аналог функции strlen для UTF-8 -----------------------//
public static function utf_strlen($str = NULL) {
if (function_exists('mb_strlen')) return mb_strlen($str, 'utf-8');
if (function_exists('iconv_strlen')) return iconv_strlen($str, 'utf-8');
if (function_exists('utf8_decode')) return strlen(utf8_decode($str));
return strlen(self::utf_to_win($str));
}
// ---------- Аналог функции wordwrap для UTF-8 ---------//
public static function utf_wordwrap($str = NULL, $width = 75, $break = ' ', $cut = 1) {
$str = self::utf_to_win($str);
$str = wordwrap($str, $width, $break, $cut);
return self::win_to_utf($str);
}
// ----------------------- Функция определения кодировки ------------------------//
public static function is_utf($str = NULL) {
$c = 0;
$b = 0;
$bits = 0;
$len = strlen($str);
for($i = 0; $i < $len; $i++) {
$c = ord($str[$i]);
if ($c > 128) {
if (($c >= 254)) return false;
elseif ($c >= 252) $bits = 6;
elseif ($c >= 248) $bits = 5;
elseif ($c >= 240) $bits = 4;
elseif ($c >= 224) $bits = 3;
elseif ($c >= 192) $bits = 2;
else return false;
if (($i + $bits) > $len) return false;
while ($bits > 1) {
$i++;
$b = ord($str[$i]);
if ($b < 128 || $b > 191) return false;
$bits--;
}
}
}
return true;
}
// ----------------------- Функция отправки письма по e-mail ------------------------//
public static function addmail($usermail = NULL, $subject = NULL, $msg = NULL, $mail = NULL, $name = NULL) {
if ($mail == "") {
$mail = core::$set['emails'];
$name = core::$set['nickname'];
}
/* $subject = self::utf_to_win($subject);
$msg = self::utf_to_win($msg);
$name = self::utf_to_win($name);
$subject = convert_cyr_string($subject, 'w', 'k');
$msg = convert_cyr_string($msg, 'w', 'k');
$name = convert_cyr_string($name, 'w', 'k');*/
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
$adds = "From: =?UTF-8?B?".base64_encode($name)."?= <".$mail.">n";
$adds .= "X-sender: =?UTF-8?B?".base64_encode($name)."?= <".$mail.">n";
$adds .= "Content-Type: text/plain; charset=utf-8n";
$adds .= "MIME-Version: 1.0n";
$adds .= "Content-Transfer-Encoding: 8bitn";
$adds .= "X-Mailer: PHP v.".phpversion()."n";
$adds .= "Date: ".date("r")."n";
return mail($usermail, $subject, $msg, $adds);
}
// Вывод времени
public static function times($times=NULL)
{
if((core::$realtime-$times)<=1){
$timesp = 'только что';
return $timesp;
}else
if((core::$realtime-$times)<=60){
$timesp = self::slova(((core::$realtime-$times)),'секунду','секунды','секунд').' назад';
return $timesp;
}else if((core::$realtime-$times)<=3600){$timesp = self::slova(((core::$realtime-$times)/60),'минуту','минуты','минут').' назад';
return $timesp;
}else{
$today = date("j M Y", core::$realtime);
$today = date("j M Y", core::$realtime);
$yesterday = date("j M Y", strtotime("-1 day"));
$timesp=date("j M Y в H:i", $times);
$timesp = str_replace($today, 'Сегодня', $timesp);
$timesp = str_replace($yesterday, 'Вчера', $timesp);
$timesp = strtr($timesp, array ("Jan" => "Янв","Feb" => "Фев","Mar" => "Марта","May" => "Мая","Apr" => "Апр","Jun" => "Июня","Jul" => "Июля","Aug" => "Авг","Sep" => "Сент","Oct" => "Окт","Nov" => "Ноября","Dec" => "Дек",));
return $timesp;
}
}
// Вывод времени (старый)
public static function times_old($times=NULL)
{
$today = date("j M Y", core::$realtime);
$today = date("j M Y", core::$realtime);
$yesterday = date("j M Y", strtotime("-1 day"));
$timesp=date("j M Y в H:i", $times);
$timesp = strtr($timesp, array ("Jan" => "Янв","Feb" => "Фев","Mar" => "Марта","May" => "Мая","Apr" => "Апр","Jun" => "Июня","Jul" => "Июля","Aug" => "Авг","Sep" => "Сент","Oct" => "Окт","Nov" => "Ноября","Dec" => "Дек",));
return $timesp;
}
public static function timecount($var = NULL) {
if ($var < 0) $var = 0;
$day = ceil($var / 86400);
if ($var > 345600) return $day . ' дней';
elseif ($var >= 172800) return $day . ' дня';
elseif ($var >= 86400) return '1 день';
else return gmdate('G:i:s', $var);
}
// --------------------- Функция шифровки Email-адреса ------------------------//
public static function crypt_mail($mail = NULL) {
$output = "";
$strlen = strlen($mail);
for ($i = 0; $i < $strlen; $i++) {
$output .= '&#' . ord($mail[$i]) . ';';
}
return $output;
}
/*public static function utf_strlens($str)
{
$rus=array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
return strlen(str_replace($rus, '0', $str));
}
*/
public static function tr_loads($in = NULL)
{
return preg_replace('#[^a-z0-9_-.()]+#ui', '_', $in);
}
public static function retranslit($in = NULL)
{
$trans1= array("'",'`',',',' ',"Ё","Ж","Ч","Ш","Щ","Э","Ю","Я","ё","ж","ч","ш","щ","э","ю","я","А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ь","Ы","а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы");
$trans2= array('_','_','_','_',"JO","ZH","CH","SH","SCH","Je","Jy","Ja","jo","zh","ch","sh","sch","je","jy","ja","A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","C","","Y","a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","c","","y");
return str_replace($trans1,$trans2,$in);
}
/* Транслитерация с Русского в латиницу */
public static function rus_lat($str = NULL) {
$str = strtr($str, array (
'а' => 'a',
'б' => 'b',
'в' => 'v',
'г' => 'g',
'д' => 'd',
'е' => 'e',
'ё' => 'e',
'ж' => 'j',
'з' => 'z',
'и' => 'i',
'й' => 'i',
'к' => 'k',
'л' => 'l',
'м' => 'm',
'н' => 'n',
'о' => 'o',
'п' => 'p',
'р' => 'r',
'с' => 's',
'т' => 't',
'у' => 'u',
'ф' => 'f',
'х' => 'h',
'ц' => 'c',
'ч' => 'ch',
'ш' => 'sh',
'щ' => 'sch',
'ъ' => "",
'ы' => 'y',
'ь' => "",
'э' => 'ye',
'ю' => 'yu',
'я' => 'ya'
));
return $str;
}
/* Транслитерация текста */
public static function translit($str = NULL)
{
$replace = array(
'a' => 'а',
'b' => 'б',
'v' => 'в',
'g' => 'г',
'd' => 'д',
'e' => 'е',
'yo' => 'ё',
'zh' => 'ж',
'z' => 'з',
'i' => 'и',
'j' => 'й',
'k' => 'к',
'l' => 'л',
'm' => 'м',
'n' => 'н',
'o' => 'о',
'p' => 'п',
'r' => 'р',
's' => 'с',
't' => 'т',
'u' => 'у',
'f' => 'ф',
'h' => 'х',
'c' => 'ц',
'ch' => 'ч',
'w' => 'ш',
'sh' => 'щ',
'q' => 'ъ',
'y' => 'ы',
'x' => 'э',
'yu' => 'ю',
'ya' => 'я',
'A' => 'А',
'B' => 'Б',
'V' => 'В',
'G' => 'Г',
'D' => 'Д',
'E' => 'Е',
'YO' => 'Ё',
'ZH' => 'Ж',
'Z' => 'З',
'I' => 'И',
'J' => 'Й',
'K' => 'К',
'L' => 'Л',
'M' => 'М',
'N' => 'Н',
'O' => 'О',
'P' => 'П',
'R' => 'Р',
'S' => 'С',
'T' => 'Т',
'U' => 'У',
'F' => 'Ф',
'H' => 'Х',
'C' => 'Ц',
'CH' => 'Ч',
'W' => 'Ш',
'SH' => 'Щ',
'Q' => 'Ъ',
'Y' => 'Ы',
'X' => 'Э',
'YU' => 'Ю',
'YA' => 'Я'
);
return strtr($str, $replace);
}
public static function page($k_page=1){ // Выдает текущую страницу
$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
if (isset($_GET['page'])){
if ($_GET['page']=='end')$page=intval($k_page);elseif(is_numeric($_GET['page'])) $page=intval($_GET['page']);}
if ($page<1)$page=1;
if ($page>$k_page)$page=$k_page;
return $page;}
public static function k_page($k_post=0,$k_p_str=10){ // Высчитывает количество страниц
if ($k_post!=0){$v_pages=ceil($k_post/$k_p_str);return $v_pages;}
else return 1;}
public static function str($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if ($page<1)$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
echo $divnav;
if ($page>1)echo '<a href="'.$link.'page='.($page-1).'"><< Назад</a> ';
else echo "<< Назад ";
echo " | ";
if ($page<$k_page)echo ' <a href="'.$link.'page='.($page+1).'" >Вперед >></a>';
else echo " Вперед >>";
echo "<br /> ";
if ($page!=1)echo "<a href="".$link."page=1" >1</a>";else echo "<b>1</b>";
for ($ot=-3; $ot<=3; $ot++){
if ($page+$ot>1 && $page+$ot<$k_page){
if ($ot==-3 && $page+$ot>2)echo " ..";
if ($ot!=0)echo "|<a href="".$link."page=".($page+$ot)."" >".($page+$ot)."</a>";else echo "|<b>".($page+$ot)."</b>";
if ($ot==3 && $page+$ot<$k_page-1)echo "|..";}}
if ($page!=$k_page)echo "|<a href="".$link."page=end" >$k_page</a>";elseif ($k_page>1)echo "|<b>$k_page</b>";
echo $div9;
}
public static function navf($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if ($page<1)$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
echo '<div class="nav">';
//if ($page!=1)echo "<a href="".$link."/1"><<</a> ";
if ($page>1)echo "<a href="".$link."/".($page-1).""><< Назад</a> ";
else echo "<< Назад ";
echo " | ";
if ($page<$k_page)echo " <a href="".$link."/".($page+1)."" >Вперед >></a>";
else echo " Вперед >>";
//if ($page!=$k_page)echo " <a href="".$link."/end">>></a>";
echo "<br /> ";
if ($page!=1)echo "<a href="".$link."/1" >1</a>";else echo "<b>1</b>";
for ($ot=-3; $ot<=3; $ot++){
if ($page+$ot>1 && $page+$ot<$k_page){
if ($ot==-3 && $page+$ot>2)echo " ..";
if ($ot!=0)echo "|<a href="".$link."/".($page+$ot)."" >".($page+$ot)."</a>";else echo "|<b>".($page+$ot)."</b>";
if ($ot==3 && $page+$ot<$k_page-1)echo "|..";}}
if ($page!=$k_page)echo "|<a href="".$link."/end" >$k_page</a>";elseif ($k_page>1)echo "|<b>$k_page</b>";
echo '</div>';
}
public static function nav($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if ($page<1)$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
echo '<div class="nav">';
if ($page>1)echo '<a href="'.$link.'page='.($page-1).'"><< Назад</a> ';
else echo "<< Назад ";
echo " | ";
if ($page<$k_page)echo ' <a href="'.$link.'page='.($page+1).'" >Вперед >></a>';
else echo " Вперед >>";
echo "<br /> ";
if ($page!=1)echo "<a href="".$link."page=1" >1</a>";else echo "<b>1</b>";
for ($ot=-3; $ot<=3; $ot++){
if ($page+$ot>1 && $page+$ot<$k_page){
if ($ot==-3 && $page+$ot>2)echo " ..";
if ($ot!=0)echo "|<a href="".$link."page=".($page+$ot)."" >".($page+$ot)."</a>";else echo "|<b>".($page+$ot)."</b>";
if ($ot==3 && $page+$ot<$k_page-1)echo "|..";}}
if ($page!=$k_page)echo "|<a href="".$link."page=end" >$k_page</a>";elseif ($k_page>1)echo "|<b>$k_page</b>";
echo '</div>';
}
public static function pagination($link='?',$k_page=1,$page=1){ // Вывод номеров страниц для диза на Bootstrap
if ($page<1)$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
echo '<div class="pagination"><ul class="pagination">';
if ($page>1){
echo '<li class="control"><a href="'.$link.'page=1">Первая</a></li>';
echo '<li class="control"><a href="'.$link.'page='.($page-1).'">«</a></li>';
}else{
echo '<li class="disabled"><span>Первая</span></li>';
echo '<li class="disabled"><span>«</span></li>';
}
if ($page!=1)echo '<li><a href="'.$link.'page=1">1</a></li>';
else
echo '<li class="active"><a href="'.$link.'page=1">1</a></li>';
for ($ot=-3; $ot<=3; $ot++){
if ($page+$ot>1 && $page+$ot<$k_page){
if ($ot!=0)echo '<li><a href="'.$link.'page='.($page+$ot).'">'.($page+$ot).'</a></li>';
else
echo '<li class="active"><a href="'.$link.'page='.($page+$ot).'">'.($page+$ot).'</a></li>';
}
}
if ($page!=$k_page){
echo '<li class="control"><a href="'.$link.'page=end">'.$k_page.'</a></li>';
echo '<li class="control"><a href="'.$link.'page='.($page+1).'">»</a></li>';
echo '<li class="control"><a href="'.$link.'page=end">Последняя</a></li>';
}else{
echo '<li class="active"><a href="'.$link.'page=end">'.$page.'</a></li>';
echo '<li class="disabled"><span>»</span></li>';
echo '<li class="disabled"><span>Последняя</span></li>';
}
echo '</ul></div>';
}
public static function otkuda($ref = NULL)
{
if (eregi('^/forum/',$ref))
$mesto='Форум';
elseif (eregi('^/exit.php',$ref))
$mesto='Выход';
elseif (eregi('^/in.php',$ref))
$mesto='Авторизация';
elseif (eregi('^/??$',$ref))
$mesto='На главной';
elseif (eregi('^/user/',$ref))
$mesto='Личный Кабинет';
elseif (eregi('^/info/',$ref))
$mesto='Смотрит анкету';
elseif (eregi('^/rules.php',$ref))
$mesto='Правила';
elseif (eregi('^/onl.php',$ref))
$mesto='Kтo онлайн?';
elseif (eregi('^/onl.php',$ref))
$mesto='Kтo онлайн?';
//
elseif (eregi('^/news.php',$ref))
$mesto='Новости';
elseif (eregi('^/gbook.php',$ref))
$mesto='Гостевая книга';
elseif (eregi('^/down/',$ref))
$mesto='Архив файлов';
elseif (eregi('^/usscripts/',$ref))
$mesto='Скрипты Пользователей';
elseif (eregi('^/fo/',$ref))
$mesto='Обменник файлов';
elseif (eregi('^/wm_infa/',$ref))
$mesto='Информация Wap-мастеру';
elseif (eregi('^/votes.php',$ref))
$mesto='Голосования';
elseif (eregi('^/akcyi.php',$ref))
$mesto='Акции';
elseif (eregi('^/konkurs.php',$ref))
$mesto='Конкурсы';
elseif (eregi('^/objavs.php',$ref))
$mesto='Объявление';
elseif (eregi('^/messages.php',$ref))
$mesto='Смотрит приват';
elseif (eregi('^/board.php',$ref))
$mesto='Доска почета';
elseif (eregi('^/stat.php',$ref))
$mesto='Статистика сайта';
elseif (eregi('^/faq.php',$ref))
$mesto='Информация/FAQ';
else
$mesto=false;
return $mesto;
}
//////////////////////////////////
public static function posts_min($nk = NULL, $ref = NULL)
{
$us = core:: $db -> queryFetch("SELECT * FROM `users` WHERE `id`=? LIMIT 1;", array($nk));
if($ref=='forum'){
$us['postsf']--;
$us['posts']--;
/*$us['dayp']--;*/
}
if($ref=='komm'){
$us['postsk']--;
$us['posts']--;
/*$us['dayp']--;*/
}
if($ref=='guest'){
$us['postsg']--;
$us['posts']--;
/*$us['dayp']--;*/
}
if($ref=='chat'){
$us['postsc']--;
$us['posts']--;
/*$us['dayp']--;*/
}
mysql_query("UPDATE `users` SET `posts` = '$us[posts]', dayp = '$us[dayp]', postsf = '$us[postsf]', postsk = '$us[postsk]', postsg = '$us[postsg]', postsc = '$us[postsc]' WHERE `id` = '$us[id]';");
}
//////////////////////////////////
public static function posts_add($ref = NULL)
{
if (isset(core::$user['id']))
{
if($ref=='forum'){core::$user['postsf']++;
core::$user['posts']++;
core::$user['dayp']++;
}
if($ref=='komm'){core::$user['postsk']++;
core::$user['posts']++;
core::$user['dayp']++;
}
if($ref=='guest'){core::$user['postsg']++;
core::$user['posts']++;
core::$user['dayp']++;
}
if($ref=='chat'){core::$user['postsc']++;
core::$user['posts']++;
core::$user['dayp']++;
}
mysql_query("UPDATE `users` SET `posts` = '".core::$user['posts']."', dayp = '".core::$user[dayp]."', postsf = '".core::$user[postsf]."', postsk = '".core::$user[postsk]."', postsg = '".core::$user[postsg]."', postsc = '".core::$user[postsc]."' WHERE `id` = '".core::$user[id]."';");
}
}
public static function forum_new() {
//WHERE `forum_t`.`close` != '1' AND Только открытые
$cmac = core:: $db -> querySingle("select count(id) as num from `forum_t` LEFT JOIN `forum_rdm` ON `forum_t`.`id` = `forum_rdm`.`t_id` AND `forum_rdm`.`user_id` = '" . core::$user['id'] . "' WHERE `forum_t`.`levels` <= '" . core::$level . "' AND (`forum_rdm`.`t_id` Is Null OR `forum_t`.`time` > `forum_rdm`.`time`)");
return $cmac;
}
// Функция вывода аватара пользователя//
public static function user_avatars($ref = NULL) {
if (core::$user['forum_ava']==1){
if($ref=== '0')return '<img src="'.H2.'avatars/273.gif" width="32" height="32" alt="" /> ';
if($ref=== '01')return '<img src="'.H2.'avatars/273.gif" width="32" height="32" alt="" /> ';
if($ref=== '02')return '<img src="'.H2.'avatars/273.gif" width="32" height="32" alt="" /> ';
if($ref=== '03')return '<img src="'.H2.'avatars/273.gif" width="32" height="32" alt="" /> ';
if(user::user_inf($ref,'myavatar')){
return '<img src="/'.user::user_inf($ref,'myavatar').'" width="32" height="32" alt="" /> ';
}else return '<img src="'.H2.'avatars/noavatar.gif" width="32" height="32" alt="" /> ';
}
}
//Функция вывода пользовательских тегов
public static function quickcode() {
}
// Функция вывода быстрых смайлов
public static function quicksmiles() {
}
//Вспомогательная функция быстрой вставки
public static function quickpaste($form = NULL) {
echo '<script language="JavaScript" type="text/javascript">
function tag(text1, text2) {
if ((document.selection)) {
document.form.' . $form . '.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else if(document.forms['form'].elements['' . $form . ''].selectionStart!=undefined) {
var element = document.forms['form'].elements['' . $form . ''];
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.form.' . $form . '.value += text1+text2;
}
</script>';
echo 'BB-код<br />';
echo '<a href="#form" onclick="javascript:tag('[url=]', '[/url]');"><img src="' . H2 . 'img/editor/a.gif" alt="url" /></a>';
echo '<a href="#form" onclick="javascript:tag('[b]', '[/b]');"><img src="' . H2 . 'img/editor/b.gif" alt="b" /></a>';
echo '<a href="#form" onclick="javascript:tag('[big]', '[/big]');"><img src="' . H2 . 'img/editor/big.gif" alt="big" /></a>';
echo '<a href="#form" onclick="javascript:tag('[small]', '[/small]');"><img src="' . H2 . 'img/editor/small.gif" alt="small" /></a>';
echo '<a href="#form" onclick="javascript:tag('[i]', '[/i]');"><img src="' . H2 . 'img/editor/i.gif" alt="i" /></a>';
echo '<a href="#form" onclick="javascript:tag('[u]', '[/u]');"><img src="' . H2 . 'img/editor/u.gif" alt="u" /></a>';
echo '<a href="#form" onclick="javascript:tag('[q]', '[/q]');"><img src="' . H2 . 'img/editor/q.gif" alt="q" /></a>';
echo '<a href="#form" onclick="javascript:tag('[del]', '[/del]');"><img src="' . H2 . 'img/editor/del.gif" alt="del" /></a>';
echo '<a href="#form" onclick="javascript:tag('[img]', '[/img]');"><img src="' . H2 . 'img/editor/img.gif" alt="hide" /></a>';
echo '<a href="#form" onclick="javascript:tag('[code]', '[/code]');"><img src="' . H2 . 'img/editor/code.gif" alt="code" /></a>';
echo '<a href="#form" onclick="javascript:tag('[spoiler]', '[/spoiler]');"><img src="' . H2 . 'img/editor/spoiler.gif" alt="code" /></a>';
echo '<a href="#form" onclick="javascript:tag('[red]', '[/red]');"><img src="' . H2 . 'img/editor/red.gif" alt="red" /></a>';
echo '<a href="#form" onclick="javascript:tag('[green]', '[/green]');"><img src="' . H2 . 'img/editor/green.gif" alt="green" /></a>';
echo '<a href="#form" onclick="javascript:tag('[blue]', '[/blue]');"><img src="' . H2 . 'img/editor/blue.gif" alt="blue" /></a>';
echo '<br />';
echo 'Смайлы<br />';
echo '<a href="#form" onclick="javascript:tag(' :-) ', '');"><img src="' . H2 . 'smiles/smile.gif" alt=":)" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :-( ', '');"><img src="' . H2 . 'smiles/sad.gif" alt=":(" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :-D ', '');"><img src="' . H2 . 'smiles/biggrin.gif" alt=":E" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' =)) ', '');"><img src="' . H2 . 'smiles/biggrin2.gif" alt=":E" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :-] ', '');"><img src="' . H2 . 'smiles/dovolen.gif" alt="hello" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' 8-) ', '');"><img src="' . H2 . 'smiles/poh.gif" alt="cry" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' ;-) ', '');"><img src="' . H2 . 'smiles/wink.gif" alt="obana" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :-/ ', '');"><img src="' . H2 . 'smiles/hm.gif" alt="infat" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :ok: ', '');"><img src="' . H2 . 'smiles/ok.gif" alt="krut" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :apl: ', '');"><img src="' . H2 . 'smiles/apl.gif" alt="klass" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :kul: ', '');"><img src="' . H2 . 'smiles/kul.gif" alt="vtopku" /></a> ';
echo '<a href="#form" onclick="javascript:tag(' :ploho: ', '');"><img src="' . H2 . 'smiles/ploho.gif" alt="vtopku" /></a> ';
echo '<br />';
}
//Функция жалобы на спам
public static function spam($mesto = NULL, $userid = NULL, $spam_id = NULL, $msgs = NULL, $msg_id = NULL, $msg_t = NULL, $komment = NULL, $msg_razd_id = NULL)
{
$r = mysql_query("Select * from `spam` WHERE `msg_id` = '".$msg_id."' AND `msg_t` = '".$msg_t."'");
if (mysql_affected_rows()==0){
$spam = user::user_inf($spam_id,'antispam')+1;
mysql_query("UPDATE `users` SET `antispam` = '".$spam."' WHERE `id` = '".$spam_id."'");
// если включен банн
/*if (core::$set['antispam']==1){
$mesg = 'На вас поступило(а) [b]'.$spam.'[/b] жалоб(а) на спам! После [b]5-ти[/b] жалоб, вы будете автоматически забаннены!';
//mysql_query ("INSERT INTO privat (user,user_id,to_user,to_id,time,msg) VALUES ('<b>system</b>','0','".user::user_inf($spam_id,'user')."','".user::user_inf($spam_id,'id')."','core::$realtime','$mesg')");
// Если спамер не в бане, исправляем это гг
if($spam>=5 && user::user_inf($spam_id,'bann')<core::$realtime){
$na = core::$realtime+60*60*24;
mysql_query('UPDATE `users` SET `bann` = "'.$na.'", `whobann` = "'.core::$user['id'].'", `whybann` = "Неоднократный спам!", `antispam` = "0" WHERE `id` = "'.user::user_inf($spam_id,'id').'" LIMIT 1');
$messs = '[b]Система[/b] забаннила пользователя [b]'.user::user_inf($spam_id,'user').'[/b] на [b]'.self::kikt($na).'[/b]<br /> Причина: [b]Неоднократный спам![/b]';
//mysql_query ("INSERT INTO logs (sid,log,msg,time) VALUES ('".user::user_inf($spam_id,'sid')."','ban','$messs','core::$realtime')");
}
// если бан отключен, просто информируем о жалобе
}else{*/
$mesg = 'На вас поступило(а) [b]'.$spam.'[/b] жалоб(а) на спам!';
//mysql_query ("INSERT INTO privat (sid,user,user_id,to_user,to_id,time,msg) VALUES ('".user::user_inf($spam_id,'sid')."','<b>".chat_inf(user::user_inf($spam_id,'sid'),'system')."</b>','0','".user::user_inf($spam_id,'user')."','".user::user_inf($spam_id,'id')."','core::$realtime','$mesg')");
//}
// вычисляем админа чата и сообщаем о жалобе
//$uss=mysql_fetch_assoc(mysql_query ("Select * from users WHERE `sid` = '".user::user_inf($spam_id,'sid')."' and `level` = '9' order by id asc LIMIT 1"));
$mesg2 = 'На пользователя с ником [b]'.user::user_inf($spam_id,'user').'[/b] (ID: '.user::user_inf($spam_id,'id').') поступила жалоба на спам '.$mesto.'. Советуем принять меры! Жалобы на спам можете посмотреть [url=/admin/index?mod=spam]здесь[/url]';
//mysql_query ("INSERT INTO privat (sid,user,user_id,to_user,to_id,time,msg) VALUES ('".user::user_inf($spam_id,'sid')."','<b>".chat_inf(user::user_inf($spam_id,'sid'),'system')."</b>','0','".$uss['user']."','".$uss['id']."','core::$realtime','$mesg2')");
mysql_query ("INSERT INTO spam (user_id,spam_id,mesto,time,msg,komment,msg_t,msg_id,msg_razd_id) VALUES ('$userid','$spam_id','$mesto','".core::$realtime."','$msgs','$komment','$msg_t','$msg_id','$msg_razd_id')");
return $div4.'Администрация уведомлена о спаме! Спасибо...'.$div9;
}else return $div4.'Администрация уже уведомлена о этом спаме!<br />'.$div9;
include_once (H.'shaxty/foot.php');
}
// Функция пинка
public static function spamer()
{
$query = core::$db->query("Select * FROM `spamer` WHERE `user_id`=? and `code`=?", array(core::$user['id'],1));
if ($query->fetchColumn() > 0){
echo '<div align="center">';
if(!isset($_POST['kod'])){
echo "<b>Вы привысили лимит активности!</b><br />Подтвердите, что вы не робот<br /> Введите код с картинки в поле ниже";
echo '<form action="?'.$_SERVER['QUERY_STRING'].'" method="post" enctype="multipart/form-data">';
echo '<img src="/shaxty_code.php?r='.rand(1000, 9999).'" alt="Проверочный код"/><br />';
echo '<b>Код с картинки:</b><br/><input type="text" size="5" maxlength="5" name="kod"/><br />';
echo '<br /><input type="submit" class="ibutton" value="Подтвердить"/></form><br /><br />';
}else{
$reg_kod = isset($_POST['kod']) ? self::checkin($_POST['kod']) : '';
// Проверка кода CAPTCHA
$err = 0;
if (empty($reg_kod) || self::utf_strlen($reg_kod) < 4){$err = 1;}
if ($reg_kod != $_SESSION['code']){$err = 1;}
if($err != 0){
header("Location: ?".$_SERVER['QUERY_STRING']);
}else{
$delspamer = core::$db -> prepare("DELETE FROM `spamer` WHERE `user_id`=?");
$delspamer -> execute(core::$user['id']);
header("Location: ?".$_SERVER['QUERY_STRING']);
}
}
echo "</div>";
echo '<br />';
include_once (H.'/shaxty/foot.php');
}
}
// Функция пинка
public static function spamer_on($sp_m=NULL, $p_t=NULL)
{
if(isset($sp_m)) $sp_m=self::checkin($sp_m);
if(isset($p_t)) $p_t=self::checkin($p_t);
$dbi = core::$db -> prepare("INSERT INTO `spamer` SET `user_id`=?, `spam_m`=?, `post_time`=?, `code`=?");
$dbi -> execute(core::$user['id'],$sp_m,$p_t,1);
}
/* функция вывода города, региона, страны*/
function cities($c=NULL,$w=NULL,$i=NULL) {
if($w==1){
$crc = 'cities';
$crc2 = 'city_id';
$crc3 = 'city_rus';
}else if($w==2){
$crc = 'regions';
$crc2 = 'region_id';
$crc3 = 'region_rus';
}else if($w==3){
$crc = 'country';
$crc2 = 'country_id';
$crc3 = 'country_rus';
}
$cities = core:: $db -> queryFetch("SELECT * FROM `".$crc."` WHERE `".$crc2."`=? LIMIT 1;", array($c));
if($i==NULL)return $cities[$crc3];
else return $cities[$crc2];
}
public static function opovesh($mod = '',$msg = '', $link = '')
{
if(isset($mod)) $mod=self::checkin($mod);
/*$title = 'Ошибка';
$align = 'left';
$head = 'Ошибка';
include_once (H.'shaxty/head.php');*/
$op= core:: $db -> query("SELECT * FROM `opovesh` WHERE `user_id`=? AND `mod`=? AND `read`=? LIMIT 1;", array(core::$user_id, $mod, 1));
$opn = $op -> fetch();
if ($opn == 0) {
echo '<p>'.$msg.'</p></div>'.(!empty($link) ? '<p>' . $link . '</p>' : '');
$dbr = core::$db -> prepare("INSERT INTO `opovesh` SET `user_id`=?, `mod`=?, `read`=?;");
$dbr -> execute(core::$user_id, $mod, 1);
echo '<br />';
include_once (H.'shaxty/foot.php');
exit;
}
}
}