Вход Регистрация
Файл: api_core/apicms_system.php
Строк: 293
<?php

////////////////////////////////////////
///// Kyber ApiCMS 2013 apicms.ru //////
///// Запрещается продажа данной CMS ///
///// Автор Евгений Медянкин Kyber /////
///// ICQ 626-000-895 или 37-22-47 /////
////////////////////////////////////////
session_start();
@
error_reporting(E_ALL E_NOTICE);
@
ini_set('display_errors'false);
@
ini_set('html_errors'false);
@
ini_set('error_reporting'E_ALL E_NOTICE);
////////////////////////////////////////////////////////////////
include_once 'api_connect.php';
////////////////////////////////////////////////////////////////
// авторизация на сервере базы
if(!($db=@mysql_connect(DBHOSTDBUSERDBPASS))){
echo 
'<style>a, a:link, a:active, a:visited { color: #39728a; text-decoration: none; } a:hover { text-decoration: none; } body { background: #8ec1da url(/design/styles/default/style_images/bg.jpg) fixed; margin: 0 auto; max-width: 700px; font-size: 13px; color: #16223b; font-family: Arial; }.erors { color: #ffffff; padding:7px; background-color: #CC1559; text-align: center; border-top: 1px #ffffff solid; border-bottom: 1px #e8e8ea solid; display: block; }.apicms_menu{ background: #5790a1; color: #fff; padding: 10px; border-top: 1px solid #437e8f; border-bottom: 1px solid #6da1b0; }.apicms_comms { color: #39728a; padding:7px; background-color: #f5f5f5; border-top: 1px #ffffff solid; border-bottom: 1px #e8e8ea solid; display: block; }.loghead { padding: 12px; font-size: 12px; color: #ffffff; text-decoration: none; background: #326c85 url(/design/styles/default/style_images/foothover.gif) no-repeat top; } </style>';
echo 
'<title>APICMS - Система управления сайтом</title>';
echo 
'<div class=apicms_menu>Нет соединения с сервером базы!</div>
<div class=apicms_comms>Возможно на вашем хостинге локальный сервер базы данных не соответствует значению "localhost" уточните значение вашего сервера базы данных в хостинг-провайдера!</div>
<div class=apicms_comms>Так же возможно вы допустили ошибку при вводе данных базы. Проверьте еще раз точность введенных данных.</div>'
;
if (
file_exists(''.$_SERVER['DOCUMENT_ROOT'].'/install/')){
echo 
'<div class=apicms_menu>Действие</div><a class="apicms_comms" href=/install/> Перейти к установке ApiCMS.</a>';
}echo
"<div class=loghead><center><small><a href=http://apicms.ru><font color=FFFFFF> <strong>Управление сайтом ApiCMS</strong></font></a></small></center></div>";exit;}
if (!@
mysql_select_db(DBNAME,$db)){
echo 
'<style>a, a:link, a:active, a:visited { color: #39728a; text-decoration: none; } a:hover { text-decoration: none; } body { background: #8ec1da url(/design/styles/default/style_images/bg.jpg) fixed; margin: 0 auto; max-width: 700px; font-size: 13px; color: #16223b; font-family: Arial; }.erors { color: #ffffff; padding:7px; background-color: #CC1559; text-align: center; border-top: 1px #ffffff solid; border-bottom: 1px #e8e8ea solid; display: block; }.apicms_menu{ background: #5790a1; color: #fff; padding: 10px; border-top: 1px solid #437e8f; border-bottom: 1px solid #6da1b0; }.apicms_comms { color: #39728a; padding:7px; background-color: #f5f5f5; border-top: 1px #ffffff solid; border-bottom: 1px #e8e8ea solid; display: block; }.loghead { padding: 12px; font-size: 12px; color: #ffffff; text-decoration: none; background: #326c85 url(/design/styles/default/style_images/foothover.gif) no-repeat top; } </style>';
echo 
'<title>APICMS - Система управления сайтом</title>';
echo 
'<div class=apicms_menu>Нет соединения с базой данных!</div>
<div class=apicms_comms>Вы допустили ошибку при вводе пользователя базы данных!</div> <div class=apicms_comms>Пожалуйста проверьте правильность введенных вами данных</div>'
;
if (
file_exists(''.$_SERVER['DOCUMENT_ROOT'].'/install/')){
echo 
'<div class=apicms_menu>Действие</div><a class="apicms_comms" href=/install/> Перейти к установке ApiCMS.</a>';
}echo
"<div class=loghead><center><small><a href=http://apicms.ru><font color=FFFFFF> <strong>Управление сайтом ApiCMS</strong></font></a></small></center></div>";exit;}

$connect mysql_connect(DBHOSTDBUSERDBPASS) or die(mysql_error('Ошибка подключения, к пользователю Базы данных MySQL, либо не верно введен пароль! Проверьте параметры подключения!'));
mysql_query('SET NAMES `utf8`'$connect);
mysql_select_db(DBNAME$connect) or die('Ошибка подключения к Базе данных MySQL! Проверьте параметры подключения!');
/////////////////////////////////// общий фильтр
function apicms_filter($check){
$check htmlspecialchars(mysql_real_escape_string($check));
$search = array('|'''', '$', '\', '^', '%', '`', "", "x00", "x1A", "x0a", "x0d", "x1a");
$replace = array('&#124;', '&#39;', '&#36;', '&#92;', '&#94;', '&#37;', '&#96;', '', '', '', '', '', '');
$msg = str_replace($search$replace$msg);
$msg = stripslashes(trim($msg));
return 
$check;
}
////////////////////////////////////////делаем переменную с настройками
$api_settings = mysql_fetch_assoc(mysql_query("SELECT * FROM `settings`"));
///////////////////////////////////
if (isset(
$_COOKIE['userlogin']) && isset($_COOKIE['userpass'])) {
$userlogin = apicms_filter($_COOKIE['userlogin']);
$userpass = apicms_filter($_COOKIE['userpass']);
////////////////////////////////////////
if (isset(
$user['id'])) {
$config['onpage'] = $user['onpage'];
if (
$user['login'] != $userlogin or $user['pass'] != $userpass) {
setcookie('userlogin', '', time() - 86400*31);
setcookie('userpass', '', time() - 86400*31);
}
}
}
///////////////////////////////////    
$query = mysql_query("SELECT * FROM `users` WHERE `login` = '$userlogin' and `pass` = '$userpass' LIMIT 1");
$user = mysql_fetch_assoc($query);
///////////////////////////////////
$set['api_v'] = '3.0';               // определяем версию CMS
$set['site'] = $_SERVER['HTTP_HOST'];       // определяем сайт
$time = time();                             // создаем переменную на время
$ip = $_SERVER['REMOTE_ADDR'];              // определяем ip
define("H", 
$_SERVER["DOCUMENT_ROOT"].'/'); // домашний каталог
///////////////////////////////////

if (
$user['id']){
$api_design = $user['style'];
}else{
$api_design = $api_settings['style'];
}
// дополнительная проверка 
$_GET
foreach (
$_GET as $check_url) {
if (!is_string(
$check_url) || !preg_match('#^(?:[a-z0-9_-/]+|.+(?!/))*$#i', $check_url)) {
header ('Location: ../');
exit;


unset(
$check_url);
/////////////////////////////////// блокировка пользователя
if (isset(
$user['id']) && $user['block_time']>=time() && $_SERVER['PHP_SELF']!='/block.php'){
header ('Location: /block.php');
exit();
}
/////////////////////////////////// Анти Gues say

if (!isset(
$user['id']) && $_SERVER['PHP_SELF']!='/auth.php' && $_SERVER['PHP_SELF']!='/login.php' && $_SERVER['PHP_SELF']!='/lost_pass.php' && $_SERVER['PHP_SELF']!='/reg.php' && $_SERVER['PHP_SELF']!='/guest/index.php'){
unset(
$_POST);
}

/////////////////////////////////// активация почты пользователя
if (isset(
$user['id']) && $user['activ_mail']!='1' && $_SERVER['PHP_SELF']!='/mail_activate.php'){
header ('Location: /mail_activate.php');
exit();
}

if (
$api_settings['open_guest']==0){
/////////////////////////////////// закрываем доступ гостям
if (!isset(
$user['id']) && $_SERVER['PHP_SELF']!='/index.php' && $_SERVER['PHP_SELF']!='/auth.php' && $_SERVER['PHP_SELF']!='/login.php' && $_SERVER['PHP_SELF']!='/lost_pass.php' && $_SERVER['PHP_SELF']!='/err.php' && $_SERVER['PHP_SELF']!='/captcha.php' && $_SERVER['PHP_SELF']!='/reg.php' && $_SERVER['PHP_SELF']!='/install/index.php' && $_SERVER['PHP_SELF']!='/install/install.php' && $_SERVER['PHP_SELF']!='/install/ok.php'){
header ('Location: /index.php');
exit();
}
}
/////////////////////////////////// функция переноса строк
function apicms_br(
$br){
$br=str_replace("rn","</br>",$br);
return 
$br;
}
/////////////////////////////////// функция обработки BB-code
function apicms_bb_code(
$msg){
  
$msg = preg_replace('#[big](.*?)[/big]#si', '<big>1</big>', $msg);
  
$msg = preg_replace('#[b](.*?)[/b]#si', '<b>1</b>', $msg);
  
$msg = preg_replace('#[i](.*?)[/i]#si', '<i>1</i>', $msg);
  
$msg = preg_replace('#[u](.*?)[/u]#si', '<u>1</u>', $msg);
  
$msg = preg_replace('#[small](.*?)[/small]#si', '<small>1</small>', $msg);
  
$msg = preg_replace('#[img](.*?)[/img]#si', '<a href="1"><img src="1" width="100px"></a>', $msg);
  
$msg = preg_replace('#[red](.*?)[/red]#si', '<span style="color:#ff0000">1</span>', $msg);
  
$msg = preg_replace('#[green](.*?)[/green]#si', '<span style="color:#00cc00">1</span>', $msg);
  
$msg = preg_replace('#[blue](.*?)[/blue]#si', '<span style="color:#0000ff">1</span>', $msg);
  
$msg = preg_replace('#[yellow](.*?)[/yellow]#si', '<span style="color:#FFFF00">1</span>', $msg);
  
$msg = preg_replace('#[q](.*?)[/q]#si', '<div class="quote">1</div>', $msg);
  
$msg = preg_replace('#[del](.*?)[/del]#si', '<del>1</del>', $msg);
  
$msg = preg_replace('#[url=("|'|)(.*?)("|'|)](.*?)[/url]#si', '<a href="$2">$4</a>', $msg);
  
$msg = preg_replace('#[url](.*?)[/url]#si', '<a href="$1">$1</a>', $msg);
  return 
$msg;
}
/////////////////////////////////// функция генерации
function apicms_generate(
$number){
$arr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V','X','Y','Z','1','2','3','4','5','6','7','8','9','0');  
// Генерируем пароль  
$pass = '';  
for(
$i = 0; $i < $number$i++){
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];  
}
return 
$pass;  
}
/////////////////////////////////// функция формирования постраничной навигации
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){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if (
$page<1)$page=1;
if (
$page>1)echo " <a href="".$link."page=".($page-1)."" title='Предыдущая страница (№".($page-1).")'>назад</a> ";
if (
$page!=1)echo "<a href="".$link."page=1" title='Страница №1'>1</a>";else echo "<b>1</b>";
for (
$ot=-1; $ot<=1; $ot++){
if (
$page+$ot>1 && $page+$ot<$k_page){
if (
$ot==-1 && $page+$ot>2)echo " ..";
if (
$ot!=0)echo " <a href="".$link."page=".($page+$ot)."" title='Страница №".($page+$ot)."'>".($page+$ot)."</a>";else echo " <b>".($page+$ot)."</b>";
if (
$ot==1 && $page+$ot<$k_page-1)echo " ..";}}
if (
$page!=$k_page)echo " <a href="".$link."page=end" title='Страница №$k_page'>$k_page</a>";elseif ($k_page>1)echo " <b>$k_page</b>";
echo " ";
if (
$page<$k_page)echo " <a href="".$link."page=".($page+1)."" title='Следующая страница (№".($page+1).")'>вперед</a> ";
}
///////////////////////////////////// вывод времени с возможностью под сдвиг временной под часовые пояса (по надобности)
function apicms_data(
$time=NULL){
if (
$time==NULL)$time=time();
if (isset(
$user))$time=$time+$user['set_timesdvig']*60*60;
$timep="".date("jMY в H:i", $time)."";
$time_p[0]=date("jnY", $time);
$time_p[1]=date("H:i", $time);
if (
$time_p[0]==date("jnY"))$timep=date("H:i:s", $time);
if (isset(
$user)){
if (
$time_p[0]==date("jnY", time()+$user['set_timesdvig']*60*60))$timep=date("H:i:s", $time);
if (
$time_p[0]==date("jnY", time()-60*60*(24-$user['set_timesdvig'])))$timep="Вчера в $time_p[1]";}
else{
if (
$time_p[0]==date("jnY"))$timep=date("H:i:s", $time);
if (
$time_p[0]==date("jnY", time()-60*60*24))$timep="Вчера в $time_p[1]";}
$timep=str_replace("Jan",".01.",$timep);
$timep=str_replace("Feb",".02.",$timep);
$timep=str_replace("Mar",".03.",$timep);
$timep=str_replace("May",".04.",$timep);
$timep=str_replace("Apr",".05.",$timep);
$timep=str_replace("Jun",".06.",$timep);
$timep=str_replace("Jul",".07.",$timep);
$timep=str_replace("Aug",".08.",$timep);
$timep=str_replace("Sep",".09.",$timep);
$timep=str_replace("Oct",".10.",$timep);
$timep=str_replace("Nov",".11.",$timep);
$timep=str_replace("Dec",".12.",$timep);
return 
$timep;
}
//////////////////////////////////////// функция обработки смайлов
function apicms_smiles(
$msg){
$q=mysql_query("SELECT * FROM `smiles_list`");
while(
$post = mysql_fetch_array($q)){
$msg = str_replace($post['sim'], '<img src="/design/smiles/'.$post['name'].'.gif" alt="'.$post['name'].'"/>', $msg);
}
return 
$msg;
}
//////////////////////////////////////// функция вывода браузера
function browser(){
if ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'Firefox') ) $browser = 'firefox';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'Chrome') ) $browser = 'chrome';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'Safari') ) $browser = 'safari';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'Opera') ) $browser = 'opera';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') ) $browser = 'ie6';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') ) $browser = 'ie7';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0') ) $browser = 'ie8';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'Opera Mini') ) $browser = 'Opera Mini';
elseif ( stristr(
$_SERVER['HTTP_USER_AGENT'], 'ucweb') ) $browser = 'ucweb';
else 
$browser = 'Неизвестно'; 
return 
$browser;
}

function agent(
$user){
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$user'"));
if (
$user['browser']=='firefox' || $user['browser']=='chrome' || $user['browser']=='safari' || $user['browser']=='opera' || $user['browser']=='ie6' || $user['browser']=='ie7' || $user['browser']=='ie8'){
$user = ' <img src="/images/device_pc.png" alt="PC"> ';
}else{
$user = ' <img src="/images/device_mobile.png" alt="Моб."> ';
}
return 
$user;
}


/////////////////////////////////// функция обработки операционной системы + поисковые системы
function getOS(
$userAgent) {
// Создадим список операционных систем в виде элементов массива
$oses = array (
        'iPhone' => '(iPhone)',
        'Android' => '(android)',
        'iPad' => '(iPad)',
        'Blackberry OS' => '(rim)',
        'Windows 3.11' => 'Win16',
        'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
        'Windows 98' => '(Windows 98)|(Win98)',
        'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
        'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
        'Windows 2003' => '(Windows NT 5.2)',
        'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
        'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
        'Windows 8' => '(Windows NT 6.2)|(Windows 8)',
        'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
        'Windows ME' => 'Windows ME',
        'Open BSD'=>'OpenBSD',
        'Sun OS'=>'SunOS',
        'Linux'=>'(Linux)|(X11)',
        'Safari' => '(Safari)',
        'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
        'QNX'=>'QNX',
        'BeOS'=>'BeOS',
        'OS/2'=>'OS/2',
        'Google' => '(Googlebot)',
        'Yahoo! | AOL' => '(Slurp) | (Yahoo! Slurp) | (Yammybot)',
        'MSN | Live' => '(MSNBot)',
        'Ask' => '(Teoma)',
        'AltaVista' => '(Scooter)',
        'Alexa' => '(ia_archiver)',
        'Lycos' => '(Lycos)',
        'Яндекс' => '(Yandex)',
        'Рамблер' => '(StackRambler)',
        'Мэйл.ру' => '(Mail.Ru)',
        'Aport' => '(Aport)',
        'Search Bot'=>'(nuhk)|(Openbot)|(Slurp/cat)'
);
  
foreach(
$oses as $os=>$pattern){
if(eregi(
$pattern$userAgent)) { // Пройдемся по массиву $oses для поиска соответствующей операционной системы.
return 
$os;
}
}
return 'Unknown'; // Хрен его знает, чего у него на десктопе стоит.
}
$oc = getOS($_SERVER['HTTP_USER_AGENT']);


/////////////////////////////////// #64х64 ава
function avatar_path(
$id_user){
global 
$ava;
$ava=glob($_SERVER['DOCUMENT_ROOT'].'/files/ava/'.$id_user.'*');
if (
$ava)return str_replace($_SERVER['DOCUMENT_ROOT'],'',$ava[0]);
else
return false;
}
///////////////////////////////////
function apicms_ava64(
$users) {
$ava = avatar_path($users);
if (
$ava){
echo '<img src="'.
$ava.'" alt=""  width="64" height="64"/>';
}else{
#если ава не загружена то выводим эту
echo '<img src="/files/ava/0.png" width="64" height="64">';
}
}
///////////////////////////////////
function apicms_ava32(
$users) {
$ava = avatar_path($users);
if (
$ava){
echo '<img src="'.
$ava.'" alt=""  width="32" height="32"/>';
}else{
#если ава не загружена то выводим эту
echo '<img src="/files/ava/0.png" width="32" height="32">';
}
}
///////////////////////////////////
function apicms_ava40(
$users) {
$ava = avatar_path($users);
if (
$ava){
echo '<img src="'.
$ava.'" alt=""  width="40" height="40"/>';
}else{
#если ава не загружена то выводим эту
echo '<img src="/files/ava/0.png" width="40" height="40">';
}
}
///////////////////////////////////
#Вывод ошибок
function apicms_error(
$var){
if (!empty(
$var))echo '<div class="error"><a>'. $var .'</a></div>';
}

function status(
$user){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM 
`users` WHERE `id` = '$user' AND `activity` > '".(time()-600)."' LIMIT 1"),0)==1){
$user = ' онлайн ';
}else{
$user = ' оффлайн ';
}
return 
$user;
}

?>
Онлайн: 1
Реклама