Файл: fnc/core.php
Строк: 218
<?php
/*
MonsterCMS 0.6
ICQ: 22-22-095
ВКонтакте: https://vk.com/robot_anton
By Phenomenal
*/
session_start();
ob_start();
define('TIME', time()); //время
require_once ('db.php');
$m_c = mysql_connect(DBHOST, DBUSER, DBPASS) or die('Ошибка подключения!');
mysql_select_db(DBNAME, $m_c) or die('Нет подключения!');
require ('mysqli.class.php');
$db = new mysql;
if($db->connect_errno){ die('Ошибка подключения '.$db ->connect_error);
exit();
}
$act = isset($_GET['act']) ? htmlspecialchars($_GET['act']) : '';
if(isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
$user = $db->query("SELECT * FROM `monstercms_account` WHERE `login` = '".text($_COOKIE['login'])."' && `password` = '".text($_COOKIE['password'])."' LIMIT 1") ->fetch_assoc();
$db->query("UPDATE `monstercms_account` SET `ip` = '$_SERVER[REMOTE_ADDR]' WHERE `id` = '$user[id]'");
$db->query("UPDATE `monstercms_account` SET `online` = '".time()."' WHERE `id` = '$user[id]'");
$db->query("UPDATE `monstercms_account` SET `browser`='".$_SERVER['USER_AGENT']."' WHERE `id`='".$user['id']."'");
}
function text($m){
$m = htmlspecialchars($m);
$m = mysql_escape_string($m);
return $m;
}
function num($m){
$m = intval($m);
$m = abs($m);
return $m;
}
function msg($sms){
echo '<div id="msg"> <center>'.$sms.'</center> </div>';
}
function error($sms){
echo '<div id="error"> <center>'.$sms.'</center> </div>';
}
function times($time) {
switch (date('j n Y', $time)) {
case date('j n Y'):
return 'Сегодня в ' . date('H:i', $time) .'';
break;
case date('j n Y', $_SERVER['REQUEST_TIME'] - 86400):
return 'Вчера в ' . date('H:i', $time).'';
break;
default:
return strtr(date('j M Y в H:i', $time), array('Jan' => 'Янв',
'Feb' => 'Фев',
'Mar' => 'Марта',
'Apr' => 'Апр',
'May' => 'Мая',
'Jun' => 'Июня',
'Jul' => 'Июля',
'Aug' => 'Авг',
'Sep' => 'Сент',
'Oct' => 'Окт',
'Nov' => 'Ноября',
'Dec' => 'Дек'));
break;
}
}
function page($k_page=1){ // Выдает текущую страницу
$page=1;
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;}
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;}
function str($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
echo '<div class="pages">';
if ($page<1)$page=1;
if ($page!=1)echo "<a class='str' href="".$link."page=1" title='Первая страница'><<</a> ";
if ($page!=1)echo "<a class='str' href="".$link."page=1" title='Страница №1'>1</a> ";else echo "<span class='nav_btn'>1</span> ";
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 class='str' href="".$link."page=".($page+$ot)."" title='Страница №".($page+$ot)."'>".($page+$ot)."</a> ";else echo "<b><span>".($page+$ot)."</span></b>";
if ($ot==3 && $page+$ot<$k_page-1)echo " ";}}
if ($page!=$k_page)echo "<a class='str' href="".$link."page=end" title='Страница №$k_page'>$k_page</a> ";elseif ($k_page>1)echo "<b><span>$k_page</span></b>";
if ($page!=$k_page)echo "<a class='str' href="".$link."page=end" title='Последняя страница'> >></a> ";
echo '</div><div class="razdel"></div>';
}*/
function account($id = 0) {
global $db;
$us = $db->query("SELECT * FROM `monstercms_account` WHERE `id` = '$id' LIMIT 1")->fetch_assoc();
$set = $db->super_query("SELECT * FROM `monstercms_site_setting` WHERE `id` = '1'");
if (isset($user['id']))
$style = $user['style'];
else
$style = $set['style'];
if (isset($user['id']))
$ico_size = $user['size_ico'];
else
$ico_size = $set['size_ico'];
if ($us['sex'] == 1)
$pol = 'user_on';
else
if ($us['sex'] == 2)
$pol = 'user_on';
$i = '<img src="/style/themes/'.$style.'/img/'.$ico_size.'/online.png">';
##определяем пол
if ($us['sex'] == 1)
{
if ($us['online'] > TIME - 360)
$p = $i;
else
$p = '<img src="/style/themes/'.$style.'/img/'.$ico_size.'/offline.png">';
} elseif ($us['sex'] == 2)
{
if ($us['online'] > TIME - 360)
$p = $i;
else
$p = '<img src="/style/themes/'.$style.'/img/'.$ico_size.'/offline.png">';
}
if($us['access'] == '1'){ $access='';}
elseif($us['access'] == '2'){ $access = '[<font color="blue">Мд</font>]'; }
elseif($us['access'] == '3'){ $access = '[<font color="orange">Адм</font>]'; }
elseif($us['access'] == '777'){ $access = '[<font color="red">Глава</font>]';}
return (empty($us)?'БОТ':' '.$p.' <a href="/id'.$us['id'].'"> <b>'.$us['nick'].'</b> '.$access.'</a>');
$us->close();
}
function usr($id = 0) {
global $db;
$us = $db->query("SELECT * FROM `monstercms_account` WHERE `id` = '$id' LIMIT 1")->fetch_assoc();
return (empty($us)?'БОТ':' '.$us['nick'].'');
}
function forum($id = 0) {
global $db;
$info = $db->query("SELECT * FROM `monstercms_forum_theme` WHERE `id` = '".$id."' LIMIT 1")->fetch_assoc();
if($info['status'] == '0'){ $s ='<img src="/images/forum/theme.gif" style="width: 14px; height: 14px;">';}//Открыт
elseif($info['status'] == '1'){ $s = '<img src="/images/forum/lock.png" style="width: 14px; height: 14px;">'; }//Закрыт
elseif($info['status'] == '2'){ $s = '<img src="/images/forum/secured.png" style="width: 14px; height: 14px;">'; }//Закреплен
elseif($info['status'] == '3'){ $s = '<img src="/images/forum/user_off.png" style="width: 14px; height: 14px;">';}
return (empty($info)?'No Themes':' '.$s.'');
$info->close();
}
function online($id = 0) {
global $db;
$us = $db->query("SELECT * FROM `monstercms_account` WHERE `id` = '$id' LIMIT 1")->fetch_assoc();
if ($us['sex'] == 1)
$pol = 'user_on';
else
if ($us['sex'] == 2)
$pol = 'user_on';
$i = 'В сети <b class="lvi mlvi"></b>';
##определяем пол
if ($us['sex'] == 1)
{
if ($us['online'] > TIME - 360)
$p = $i;
else
$p = 'Не в сети';
} elseif ($us['sex'] == 2)
{
if ($us['online'] > TIME - 360)
$p = $i;
else
$p = 'Не в сети';
}
return (empty($us)?'':' '.$p.'');
$us->close();
}
function avatar($id = 0) {
global $db;
$us = $db->query("SELECT * FROM `monstercms_account` WHERE `id` = '$id' LIMIT 1")->fetch_assoc();
return (empty($us)?'no.png':''.$us['avatar'].'');
$us->close();
}
function avatar_groups($id = 0) {
global $db;
$g = $db->query("SELECT * FROM `monstercms_groups` WHERE `id` = '$id' LIMIT 1")->fetch_assoc();
return (empty($g)?'no.png':''.$g['avatar'].'');
$g->close();
}
function br($msg,$br='<br />'){
return preg_replace("#((<br( ?/?)>)|n|r)+#i",$br, $msg);
} // переносы строк
function bb($str)
{
$msg = strip_tags(stripslashes(htmlspecialchars($str)));
$str=htmlentities($str, ENT_QUOTES, 'UTF-8');
// преобразуем все к нормальному перевариванию браузером
$str=eregi_replace("((https?|ftp|http)://[[:alnum:]_=/-]+(\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/%]*(\?[[:alnum:]?+&_=/%]*)?)?).(ru|org|net|info|org.ua|h2m.ru|wen.ru|com|mobi|me|us|in|su|ru.com|kiev.ua|com.ua|pp.ua|co.ua|biz.ua|kz|com.kz|org.kz|am|co.am|com.am|net.am|org.am|md|pw|cc|tv|name|tel|info|pro|xxx|fm|lt|ch|cz|be|at|li|pl|im|lu|co|mx|asia|ws|io)", "Тут была реклама", $msg);
$str = preg_replace('/[b](.+)[/b]/isU', '<b>$1</b>', $str);
$str = preg_replace('/[u](.+)[/u]/isU', '<span style="text-decoration:underline;">$1</span>', $str);
$str = preg_replace('/[s](.+)[/s]/isU', '<s>$1</s>', $str);
$str = preg_replace('/[c](.+)[/c]/isU', '<center>$1</center>', $str);
$str = preg_replace('/[i](.+)[/i]/isU', '<i>$1</i>', $str);
$str = preg_replace('/[big](.+)[/big]/isU', '<span style="font-size:large;">$1</span>', $str);
$str = preg_replace('/[small](.+)[/small]/isU', '<span style="font-size:small;">$1</span>', $str);
$str = preg_replace('/[color=(.+)](.+)[/color]/isU', '<span style="color:$1;">$2</span>', $str);
$str = preg_replace('/[link=(.+)](.+)[/link]/isU', '<img src="/design.files/world.png"> <a href="$1">$2</a>', $str);
$str = preg_replace('/[img](.+)[/img]/isU', '<img src=$1>', $str);
$str = preg_replace('/[input-text](.+)[/input-text]/isU', '<input type=text value=$1>', $str);
$str = preg_replace('/[marq](.+)[/marq]/isU', '<marquee>$1</marquee>', $str);
$str = preg_replace('/[code](.+)[/code]/is', '<code>$1</code>', $str);
//$str = preg_replace('/[urls?=s?(['"]?)(?:http://)?(.*?)1](.*?)[/url]/', ' <a href="http://$2/go.php?url=$2"> $3 </a> ', $str)
$str = preg_replace('/[urls?=s?(['"]?)(?:http://)?(.*?)1](.*?)[/url]/', ' <a href="http://'.$_SERVER['HTTP_HOST'].'/$2"> $3 </a> ', $str);
$str = str_replace('[br]','<br>',$str);
$str = str_replace('rn','<br>',$str);
$str=br($str); // переносы строк
return $str; // возвращаем обработанную строку
}
######## Размер файла #########
function fsize($file)
{
if (!file_exists($file))
return "Файл не найден";
$filesize = filesize($file);
$size = array(
'б',
'Кб',
'Мб',
'Гб');
if ($filesize > pow(1024, 3))
{
$n = 3;
} elseif ($filesize > pow(1024, 2))
{
$n = 2;
} elseif ($filesize > 1024)
{
$n = 1;
} else
{
$n = 0;
}
$filesize = ($filesize / pow(1024, $n));
$filesize = round($filesize, 1);
return $filesize.' '.$size[$n];
}
function super_query($query, $multi = false)
{
if(!$multi) {
$this->query($query);
$data = $this->get_row();
$this->free();
return $data;
} else {
$this->query($query);
$rows = array();
while($row = $this->get_row()) {
$rows[] = $row;
}
$this->free();
return $rows;
}
}
?>