Просмотр файла system/inc/basic_settings.php

Размер файла: 20.68Kb
  1. <?
  2. /*
  3. =============================================
  4. Движок: SHCMS Engine
  5. =============================================
  6. Название файла: Основные настройки
  7. =============================================
  8. Official website: http://shcms.ru
  9. =============================================
  10. */
  11.  
  12. //Защищаем функции настроек от посторонне глаз
  13. defined('SHCMS') or die('Переход на данных раздел запрещено');
  14. session_name("SHCMS");
  15. session_start();
  16. // время запуска скрипта
  17. define('TIME_START', microtime(true));
  18.  
  19.  
  20. ini_set('magic_quotes_gpc', 0);
  21. ini_set('magic_quotes_runtime', 0);
  22.  
  23. // Корневой каталог
  24. define("H", $_SERVER["DOCUMENT_ROOT"].'/');
  25.  
  26. // Текущая страница
  27. define('URL', urlencode($_SERVER['REQUEST_URI']));
  28.  
  29. // Текущая страница
  30. define('IS_MAIN', $_SERVER ['SCRIPT_NAME'] == '/index.php');
  31.  
  32. //Код проверяет версию в PHP.
  33. version_compare(PHP_VERSION, '5.2','>')or die('Трубуется PHP >= 5.2');
  34.  
  35. // время жизни сессии
  36. define('SESSION_TIME_SHCMS', 600);
  37. // время жизни сессии
  38. ini_set('session.cache_expire', SESSION_TIME_SHCMS);
  39.  
  40.  
  41. //Время
  42. define('TIME', time());
  43.  
  44. //SHCMS
  45. define('SHCMS',true);
  46.  
  47. // Текущие сутки
  48. define('TODAY', mktime(0, 0, 0));
  49.  
  50.  
  51. // игнорировать повторяющиеся ошибки
  52. ini_set('ignore_repeated_errors', true);
  53.  
  54. define('H', $_SERVER ['DOCUMENT_ROOT']); // корневая директория сайта
  55.  
  56.  
  57. // показываем только фатальные ошибки
  58. ini_set('error_reporting', e_error);
  59.  
  60. //непосредственно, включаем показ ошибок
  61. ini_set('display_errors', true);
  62.  
  63. // Установка кодировки для mb_string
  64. if (function_exists('mb_internal_encoding')) { mb_internal_encoding('UTF-8'); }
  65.  
  66. //Установка кодировки для iconv
  67. if(function_exists('Iconv')) { iconv_set_encoding('internal_encoding','UTF-8'); }
  68. /* ---------------------- */
  69. /*
  70. -------------------------------
  71. Соединение с базой
  72. -------------------------------
  73. */
  74. include_once 'config.php';
  75.  
  76. $user_db = DBUSER;
  77. $user_user = DBNAME;
  78. $user_localhost = DBHOST;
  79. $user_pass = DBPASS;
  80. /*
  81. -------------------------------
  82. Функция автоматическая загрузка классов
  83. -------------------------------
  84. */
  85.  
  86. include_once''.H.'/system/inc/classes/uploads.class.php';
  87. include_once''.H.'/system/inc/classes/BBcodeParser.class.php';
  88. include_once''.H.'/system/inc/classes/smiles.class.php';
  89. include_once''.H.'/system/inc/classes/mysql.class.php';
  90. include_once''.H.'/system/inc/classes/navigation.class.php';
  91. include_once''.H.'/system/inc/classes/timedate.class.php';
  92. include_once''.H.'/system/inc/classes/text_list.class.php';
  93. include_once''.H.'/system/inc/classes/log.class.php';
  94. include_once''.H.'/system/inc/classes/smile.class.php';
  95. include_once''.H.'/system/inc/classes/ini.class.php';
  96. include_once''.H.'/system/inc/classes/users_position.class.php';
  97.  
  98.  
  99. if(DBPASS == false)
  100. {
  101. $db = mysql_connect(DBHOST, DBUSER,DBPASS);
  102. if (!$db) {die('Ошибка соединения: ' . mysql_error());}
  103. if (!mysql_select_db(DBNAME)) {die('Ошибка выбора базы данных: ' . mysql_error()); }}
  104. else{
  105. $db = mysql_connect(DBHOST, DBUSER, DBPASS);
  106. if (!$db) {die('Ошибка соединения: ' . mysql_error());}
  107.  
  108. if (!mysql_select_db(DBNAME)) {die('Ошибка выбора базы данных: ' . mysql_error()); }
  109. }
  110.  
  111.  
  112. /* --------------------------------- */
  113. if (substr(PHP_OS, 0, 3) == 'WIN') { define('OS_WINDOWS', true); define('OS_UNIX', false); define('PEAR_OS', 'Windows'); }
  114. else { define('OS_WINDOWS', false); define('OS_UNIX', true); define('PEAR_OS', 'Unix'); }
  115.  
  116.  
  117.  
  118. /*
  119. ---------------------
  120. Генератор пороля
  121. ---------------------
  122. */
  123. function conservation($max_valu=20, $trupe=3) {
  124. $shcms__="";
  125. $small_letters="abcdefghijklmnopqrstuvwxyz";
  126. $numbers="0123456789";
  127. mt_srand((double)microtime()*1000000);
  128. for ($i=0; $i<$max_valu; $i++) { $type=mt_rand(1,min($trupe,3));
  129. switch ($type):
  130. case '2': $shcms__.=$small_letters[mt_rand(0,25)]; break;
  131. case '1':$shcms__.=$numbers[mt_rand(0,9)]; break;
  132. endswitch;}
  133. return $shcms__;
  134. }$conservation=&conservation();
  135.  
  136. /*
  137. =
  138. */
  139.  
  140. @ob_start ();
  141. @ob_implicit_flush ( 0 );
  142.  
  143.  
  144. /*
  145. ------------------------
  146. Массивы с настройками
  147. ------------------------
  148. */
  149. $shcms_engine = array();
  150. $set=array();
  151.  
  152. define(DIR_SHCMS,'/shcms/',TRUE);
  153.  
  154. date_default_timezone_set('Europe/Moscow');
  155. $time_date = time() + $sdvigclock * 3600;
  156. $mon = date("m", $time_date);
  157. if (substr($mon, 0, 1) == 0) {
  158. $mon = str_replace("0", "", $mon);
  159. }$day = date("d", $time_date);
  160. if (substr($day, 0, 1) == 0) {
  161. $day = str_replace("0", "", $day);
  162. }
  163.  
  164.  
  165. $ip=false;
  166. if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='127.0.0.1' && ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$_SERVER['HTTP_X_FORWARDED_FOR']))
  167. {
  168. $ip2['xff']=$_SERVER['HTTP_X_FORWARDED_FOR'];
  169. $ipa[] = $_SERVER['HTTP_X_FORWARDED_FOR'];
  170. }
  171. if(isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='127.0.0.1' && ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$_SERVER['HTTP_CLIENT_IP']))
  172. {
  173. $ip2['cl']=$_SERVER['HTTP_CLIENT_IP'];
  174. $ipa[] = $_SERVER['HTTP_CLIENT_IP'];
  175. }
  176. if(isset($_SERVER['REMOTE_ADDR']) && ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$_SERVER['REMOTE_ADDR']))
  177. {
  178. $ip2['add']=$_SERVER['REMOTE_ADDR'];
  179. $ipa[] = $_SERVER['REMOTE_ADDR'];
  180. }
  181.  
  182. $ip=$ipa[0];
  183.  
  184. $iplong =ip2long($ip);
  185.  
  186. if (isset($_SERVER['HTTP_USER_AGENT']))
  187. {
  188. $ua=$_SERVER['HTTP_USER_AGENT'];
  189. $ua=strtok($ua, '/');
  190. $ua=strtok($ua, '(');
  191. $ua=eregi_replace('[^a-z_\./ 0-9\-]', null, $ua);
  192.  
  193. if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']) && ereg('Opera',$ua))
  194. {$ua_om=$_SERVER['HTTP_X_OPERAMINI_PHONE_UA'];
  195. $ua_om=strtok($ua_om, '/');
  196. $ua_om=strtok($ua_om, '(');
  197. $ua_om=eregi_replace('[^a-z_\. 0-9\-]', null, $ua_om);
  198. $ua='Opera Mini ('.$ua_om.')';}
  199. }else $ua='Нет данных';
  200.  
  201.  
  202. $id = isset ($_REQUEST['id']) ? abs(intval($_REQUEST['id'])) : false;
  203. $page = isset ($_REQUEST['page']) && $_REQUEST['page'] > 0 ? intval($_REQUEST['page']) : 1;
  204. $start = isset ($_GET['start']) ? abs(intval($_GET['start'])) : 0;
  205. $act = isset ($_GET['act']) ? trim($_GET['act']) : '';
  206. $secure_pass = isset($_GET['secure_pass']) ? trim($_GET['secure_pass']) : '';
  207. $do = isset ($_GET['do']) ? trim($_GET['do']) : '';
  208. $agn = htmlentities(substr($_SERVER['HTTP_USER_AGENT'], 0, 100), ENT_QUOTES);
  209.  
  210.  
  211.  
  212.  
  213.  
  214. class shcms_ip_ {
  215. public $ip;
  216. public $flood_chk = 1;
  217. public $flood_interval = '120';
  218. public $flood_limit = '50';
  219. public $flood_file = "SHCMS_Cache.tmp";
  220. private $requests;
  221.  
  222. function __construct() {
  223. $this->ip = ip2long($this->getip());
  224. // Проверка адреса IP на HTTP флуд
  225. if ($this->flood_chk) {
  226. $this->requests = $this->reqcount();
  227. }
  228. }
  229.  
  230. // Получаем реальный адрес IP
  231. private function getip() {
  232. if (isset ($_SERVER['HTTP_X_FORWARDED_FOR']) && $this->ip_valid($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  233. return $_SERVER['HTTP_X_FORWARDED_FOR'];
  234. }
  235. elseif ($_SERVER['REMOTE_ADDR']) {
  236. return $_SERVER['REMOTE_ADDR'];
  237. }
  238. else {
  239. die('Unknown IP');
  240. }
  241. }
  242.  
  243. // Счетчик числа обращений с данного IP
  244. private function reqcount() {
  245. global $rootpath;
  246. $tmp = array();
  247. $requests = 1;
  248. if (!file_exists('system/tmp/'. $this->flood_file))
  249. $in = fopen('system/tmp/'. $this->flood_file, "w+");
  250. else
  251. $in = fopen('system/tmp/'. $this->flood_file, "r+");
  252. $now = time();
  253. while ($block = fread($in, 8)) {
  254. $arr = unpack("Lip/Ltime", $block);
  255. if (($now - $arr['time']) > $this->flood_interval) {
  256. continue;
  257. }
  258. if ($arr['ip'] == $this->ip) {
  259. $requests++;
  260. }
  261. $tmp[] = $arr;
  262. }
  263. fseek($in, 0);
  264. ftruncate($in, 0);
  265. for ($i = 0; $i < count($tmp); $i++) {
  266. fwrite($in, pack('LL', $tmp[$i]['ip'], $tmp[$i]['time']));
  267. }
  268. fwrite($in, pack('LL', $this->ip, $now));
  269. fclose($in);
  270. return $requests;
  271. }
  272.  
  273. // Валидация IP адреса
  274. function ip_valid($ip = '') {
  275. $d = explode('.', $ip);
  276. for ($x = 0; $x < 4; $x++)
  277. if (!is_numeric($d[$x]) || ($d[$x] < 0) || ($d[$x] > 255))
  278. return false;
  279. return $ip;
  280. }
  281. }
  282.  
  283. $shcms_ip_ = new shcms_ip_();
  284. $vi_shcms = $shcms_ip_->ip;
  285. $ipp = long2ip($ipl);
  286. unset ($shcms_ip_);
  287.  
  288.  
  289.  
  290. /*
  291. --------------------------------
  292. Вывод коэффициента сжатия
  293. --------------------------------
  294. */
  295. function zipcount() {
  296. global $set;
  297. if ($set['gzip']) {
  298. $Contents = ob_get_contents();
  299. $gzib_file = strlen($Contents);
  300. $gzib_file_out = strlen(gzcompress($Contents, 9));
  301. $gzib_pro = round(100 - (100 / ($gzib_file / $gzib_file_out)), 1);
  302. echo '<div>Cжатие вкл. (' . $gzib_pro . '%)</div>';
  303. } else {
  304. echo '<div>Cжатие выкл.</div>';
  305. }
  306. }
  307.  
  308. /*
  309. ----------------------------
  310. Проверяем переменные
  311. ----------------------------
  312. */
  313.  
  314. function shcms_sh_shcms($engine_str) {
  315. $engine_str = htmlentities(trim($engine_str), ENT_QUOTES, 'UTF-8');
  316. $engine_str = nl2br($engine_str);
  317. $engine_str = strtr($engine_str, array (chr(0)=> '',chr(1)=> '',chr(2)=> '',chr(3)=> '',chr(4)=> '',chr(5)=> '',chr(6)=> '',chr(7)=> '',chr(8)=> '',chr(9)=> '',chr(10)=> '',chr(11)=> '',chr(12)=> '',chr(13)=> '',chr(14)=> '',chr(15)=> '',chr(16)=> '',chr(17)=> '',chr(18)=> '',chr(19)=> '',chr(20)=> '',chr(21)=> '',chr(22)=> '',chr(23)=> '',chr(24)=> '',chr(25)=> '',chr(26)=> '',chr(27)=> '',chr(28)=> '',chr(29)=> '',chr(30)=> '',chr(31)=> ''));
  318. $engine_str = str_replace("\'", "&#39;", $engine_str);
  319. $engine_str = str_replace('\\', "&#92;", $engine_str);
  320. $engine_str = mysql_real_escape_string($engine_str);
  321. return $engine_str;
  322. }
  323.  
  324. /*
  325. ------------------------------
  326. Функция сообщение об ошибках
  327. ------------------------------
  328. */
  329.  
  330. function error($errors = false, $links = '') {
  331. if ($errors) {$out = '';if (is_array($errors)) {foreach ($errors as $val)$out .= '<div>' . $val . '</div>';}
  332. else {$out .= '<br />' . $errors;}$out .= '<p>' . $links. '</p>';
  333. return $out;} else {return false;
  334. }}
  335.  
  336. function rus_lat($engine_str) {
  337.  
  338. $engine_str= strtr($engine_str, array (
  339. 'а' => 'a','б' => 'b','в' => 'v','г' => 'g','д' => 'd','е' => 'e','ё' => 'e','ж' => 'j','з' => 'z','и' => 'i','й' => 'i','к' => 'k','л' => 'l','м' => 'm',
  340. 'н' => 'n','о' => 'o','п' => 'p','р' => 'r','с' => 's','т' => 't','у' => 'u','ф' => 'f','х' => 'h','ц' => 'c','ч' => 'ch','ш' => 'sh','щ' => 'sch','ъ' => "",
  341. 'ы' => 'y','ь' => "",'э' => 'ye','ю' => 'yu','я' => 'ya'));
  342. return $engine_str;
  343. }
  344.  
  345. $method_logs = $_SERVER['REQUEST_METHOD'];
  346. $server_port =$_SERVER['SERVER_PORT'];
  347. /*
  348. -----------------------------------
  349. Авторизуемся по SESSION
  350. -----------------------------------
  351. */
  352. if (isset ($_SESSION['id_address']) && isset ($_SESSION['use_password'])) {
  353. $user_id = intval($_SESSION['id_address']);
  354. $user_ps = $_SESSION['use_password'];
  355. }
  356.  
  357. /*
  358. -----------------------------------
  359. Авторизуемся по COOKIE
  360. -----------------------------------
  361. */
  362. elseif (isset ($_COOKIE['ip_address']) && isset ($_COOKIE['use_password'])) {
  363. $user_id = intval(base64_decode($_COOKIE['ip_address']));
  364. $_SESSION['id_address'] = $user_id;
  365. $user_ps = md5($_COOKIE['use_password']);
  366. $_SESSION['use_password'] = $user_ps;
  367. $cookauth = true;
  368. }
  369. /*
  370. -----------------------------------
  371. Запрос в DB
  372. -----------------------------------
  373. */
  374. if ($user_id && $user_ps) {
  375. $req = mysql_query("SELECT * FROM `users` WHERE `id` = '$user_id' LIMIT 1");
  376. if (mysql_num_rows($req)) {
  377. $datauser = mysql_fetch_assoc($req);
  378. if ($user_ps === $datauser['password']) {
  379. $set_user = array();
  380. $set_user = unserialize($datauser['set_user']);
  381. if (empty ($set_user)) {$set_user['avatar'] = 1;$set_user['smileys'] = 1;$set_user['translit'] = 1;$set_user['quick_go'] = 1;$set_user['gzip'] = 1;
  382. $set_user['online'] = 1;$set_user['movings'] = 1;$set_user['digest'] = 1;$set_user['sdvig'] = 0;$set_user['kmess'] = 10;$set_user['skin'] = 'default';}
  383. $poster = (int) $set_user['kmess'];
  384. $login = $datauser['login'];
  385. $rights = $datauser['rights'];
  386.  
  387. if ($datauser['lastdate'] < ($time_date - 3600) && $set_user['digest'] && $headmod == 'mainpage')
  388. header('Location: ' . $home . '/index.php?act=digest&last=' . $datauser['lastdate']);
  389. }
  390. else {
  391. unset ($_SESSION['id_address']);
  392. unset ($_SESSION['use_password']);
  393. setcookie('cuid', '');
  394. setcookie('cups', '');
  395. $user_id = false;
  396. $user_ps = false;
  397. }
  398. }
  399. else {
  400. unset ($_SESSION['id_address']);
  401. unset ($_SESSION['use_password']);
  402. setcookie('cuid', '');
  403. setcookie('cups', '');
  404. $user_id = false;
  405. $user_ps = false;
  406. }
  407. }
  408. $users_nav = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id=".$user_id.""));
  409. /*
  410. ----------------------
  411. Для не авторизованных
  412. ----------------------
  413. */
  414.  
  415.  
  416. function registrat($link = NULL) {
  417. global $user_id;
  418. if (!isset($user_id))
  419. {
  420. if ($link==NULL)$link=H.'index.php?'.SID;
  421. header("Location: $link");exit;}}
  422.  
  423.  
  424. function unreg($unregi = "")
  425. {
  426. global $user_id;
  427. if (isset($user_id))
  428. {
  429. if ($unregi=="")$unregi='/';
  430. header("Location: $unregi");
  431. exit;
  432. }
  433. }
  434. function size($size) {
  435. if ($size >= 1073741824) {
  436. $size = round($size / 1073741824 * 100) / 100 . ' Gb';
  437. } elseif ($size >= 1048576) {
  438. $size = round($size / 1048576 * 100) / 100 . ' Mb';
  439. } elseif ($size >= 1024) {
  440. $size = round($size / 1024 * 100) / 100 . ' Kb';
  441. } else {
  442. $size = $size . ' b';
  443. }
  444. return $size;
  445. }
  446.  
  447.  
  448.  
  449.  
  450. /*
  451. ======================
  452. Генератор пороля 2
  453. ======================
  454. */
  455. function passgen($len = 32) {
  456. $password = '';
  457. $small = 'abcdefghijklmnopqrstuvwxyz';
  458. $large = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  459. $numbers = '1234567890';
  460. for ($i = 0; $i < $len; $i++) {
  461. switch (mt_rand(1, 3)) {
  462. case 3 :
  463. $password .= $large [mt_rand(0, 25)];
  464. break;
  465. case 2 :
  466. $password .= $small [mt_rand(0, 25)];
  467. break;
  468. case 1 :
  469. $password .= $numbers [mt_rand(0, 9)];
  470. break;
  471. }
  472. }
  473. return $password;
  474. }
  475. /*
  476. ----------------------------------
  477. Копирайт снимать запрещено
  478. ----------------------------------
  479. */
  480. class copyr
  481. {
  482. function copyright()
  483. {
  484. echo '<div class="copyright"><a title="Copyright SHCMS Engine" href="http://shcms.ru">© SHCMS Engine</a></div>';
  485. echo '
  486. <!-- Copyright (c) 2012, shcms.ru -->
  487. <!-- Powered by SHCMS Engine [ www.shcms.ru ] -->
  488. ';
  489. }
  490. }
  491. $object = new copyr;
  492.  
  493. class copyrweb
  494. {
  495. function copyrightweb()
  496. {
  497. echo '<a title="Copyright SHCMS Engine" href="http://shcms.ru">© SHCMS Engine</a>';
  498. echo '
  499. <!-- Copyright (c) 2012, shcms.ru -->
  500. <!-- Powered by SHCMS Engine [ www.shcms.ru ] -->
  501. ';
  502. }
  503. }
  504. $objectweb = new copyrweb;
  505. /*
  506. -----------------------------------------
  507. Обработка смайликов, тэгов.
  508. -----------------------------------------
  509. */
  510.  
  511. function handling_smileys($pag_smil,$bbcode_smiley_smiley=true,$parser=true,$smiles=true)
  512. {
  513. if ($bbcode_smiley_smiley==true)
  514. {
  515. $bb_c_s=$pag_smil;
  516. $pag_smil=bb_codes($pag_smil);
  517. }
  518. if ($parser==true)
  519. {
  520. $bb_c_s=$pag_smil;
  521. $BBcodeParser = new BBcodeParser;
  522. $pag_smil=$BBcodeParser->parserString($pag_smil);
  523. }
  524. if ($smiles==true)
  525. {
  526. $bb_c_s=$pag_smil;
  527. $smile_class = new Smiles;
  528. $pag_smil=$smile_class->Smileclass($pag_smil);
  529. }
  530. return $pag_smil;
  531. }
  532.  
  533. $titles_home= mysql_fetch_array(mysql_query("SELECT * FROM settings_shcms"));
  534. $title_homes = $titles_home['title'];
  535. function bbco($arr)
  536. {
  537. $arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');
  538. return '<div class="cit" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";
  539. }
  540. function link_list($link_linkes)
  541. {
  542. global $shcms_engine ;
  543. return '<a href="'.$link_linkes[1].'">'.$link_linkes[2].'</a>';
  544. }
  545. function link_spoiler($link_spoiler)
  546. {global $shcms_engine ;
  547. return '<div class="spoiler"><b>
  548. <a href="#" onclick="show_hide(\'#'.$link_spoiler[1].'\');">'.$link_spoiler[1].'</a></b>
  549. <div id="'.$link_spoiler[1].'" style="display: none; overflow: hidden; vertical-align: top;">'.$link_spoiler[2].'</div></div>';
  550. }
  551.  
  552. function bb_php_code($php_code) {
  553. $php_code = strtr($php_code, array ( '<br />' => '','\\' => 'SHCMS_ENGINE_/' ));
  554. $php_code = strtr($php_code, array('<br />' => '', '\\' => 'SHCMS_ENGINE_/'));
  555. $php_code = html_entity_decode(trim($php_code), ENT_QUOTES, 'UTF-8');
  556. $php_code = substr($php_code, 0, 2) != "<?" ? "<?php\n" . $php_code . "\n?>" : $php_code;
  557. $php_code = highlight_string(stripslashes($php_code), true);
  558. $php_code = strtr($php_code, array('SHCMS_ENGINE_/' => '&#92;', ':' => '&#58;', '[' => '&#91;'));
  559. return '<div class="codephp">' . $php_code . '</div>';
  560. }
  561. function hidden_text($link_hide)
  562. {
  563. global $user_id;
  564. if(isset($user_id))
  565. {
  566. $link_hide = '<div class="hide"><b>Скрытый текст </b><br/> '.$link_hide.'</div>';
  567. } else {
  568. $link_hide = '<div class="hide"><b>Скрытый текст</b> <br/>Для отображения текста необходимо пройти авторизацию на сайте.</div>';
  569. }
  570. return $link_hide;
  571. }
  572. /*
  573. -----------------------------------------
  574. Обработка ссылок и тэгов
  575. -----------------------------------------
  576. */
  577. function bb_codes($message = '') {
  578. $message = preg_replace('#\[small\](.*?)\[/small\]#si', '<div style="font-size: smaller;">\1</div>', $message);
  579. $message = preg_replace(array ('#\[php\](.*?)\[\/php\]#se'), array ("''.bb_php_code('$1').''"), str_replace("]\n", "]", $message));
  580. $message= preg_replace_callback('/\[url=(.+)\](.+)\[\/url\]/isU', 'link_list', $message);
  581. $message= preg_replace_callback('/\[spoiler=(.+)\](.+)\[\/spoiler\]/isU', 'link_spoiler', $message);
  582. $message = preg_replace('#\[img\](.*?)\[/img\]#si', '<img src="\1"/>', $message);
  583. $message = preg_replace('#\[hide\](.*?)\[/hide\]#ie', 'hidden_text("\1")', $message);
  584. return $message;
  585. }
  586. mysql_query("UPDATE users SET datelast=".time()." WHERE id=$user_id");
  587. include_once'array_name.php';
  588.  
  589.  
  590.  
  591. $user_them = mysql_query("SELECT * FROM users");
  592. $users_them = mysql_fetch_array($user_them);
  593.  
  594. $h_ua = str_replace('windows ce', '', strtolower($_SERVER['HTTP_USER_AGENT']));
  595. if (
  596. !$h_ua ||
  597. strpos($h_ua, 'windows') !== false ||
  598. strpos($h_ua, 'linux') !== false ||
  599. strpos($h_ua, 'bsd') !== false ||
  600. strpos($h_ua, 'x11') !== false ||
  601. strpos($h_ua, 'unix') !== false ||
  602. strpos($h_ua, 'macintosh') !== false ||
  603. strpos($h_ua, 'macos') !== false)
  604. {
  605. $brodilka = "web";
  606. } else {
  607. $brodilka = "wap";
  608. }
  609.  
  610. class adminka
  611. {
  612. function admin()
  613. {
  614. $admin_users = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id=".$user_id.""));
  615. if($admin_users['team'] == 6)
  616. {header("Refresh:1; url=/");
  617. include_once'../template/foot.php';
  618. exit;}
  619. }
  620. }
  621. $adminka = new adminka;
  622.  
  623.  
  624. $sys = mysql_fetch_array(mysql_query("SELECT * FROM online_guest"));
  625. if(!$user_id)
  626. {
  627. if($sys['ip'] == $vi_shcms)
  628. {
  629. mysql_query("UPDATE online_guest SET ip='$vi_shcms',time='$time_date',ua='$ua' WHERE ip = $sys[ip]");
  630. }
  631. else
  632. {
  633. mysql_query("INSERT INTO online_guest (ip,time,ua) VALUES('$vi_shcms','$time_date',ua='$ua')");
  634. }
  635. }
  636. mysql_query("DELETE FROM `online_guest` WHERE `time` < '".(time()-600)."' AND ip='$vi_shcms'");
  637. mysql_query("OPTIMIZE TABLE `online_guest`");
  638.  
  639. ?>