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

Размер файла: 9.11Kb
  1. <?php
  2.  
  3. // Фильтрация цисловых данных
  4. function num($var)
  5. {
  6. return abs(intval($var));
  7. }
  8.  
  9. // Фильтрация текстовых данных
  10. function txt($var)
  11. {
  12. return htmlspecialchars(trim($var));
  13. }
  14.  
  15. // Фильтрация перед записью в базу данных
  16. function input($var)
  17. {
  18. return mysql_real_escape_string(trim($var));
  19. }
  20.  
  21. // Фильтрация для правильного вывода из базы данных
  22. function output($var)
  23. {
  24. return smiles(bbcode(nl2br($var)));
  25. }
  26.  
  27. // Шифрование пароля
  28. function encrypt($var)
  29. {
  30. return md5(base64_encode($var) .'SteamCMS');
  31. }
  32.  
  33. /*function key()
  34. {
  35. return md5(time());
  36. }*/
  37.  
  38. // Проверка длины русских символов
  39. function strlen_rus($var)
  40. {
  41. $rus_symbols = array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я');
  42.  
  43. return strlen(str_replace($rus_symbols, '0', $var));
  44. }
  45.  
  46. // Обработка времени
  47. function vtime($var)
  48. {
  49. # Если время не задано берем текущее
  50. if ($var == NULL) $var = time();
  51.  
  52. # Время + Дата
  53. $full_time = date('d.m.Y в H:i', $var);
  54.  
  55. # Дата
  56. $date = date('d.m.Y', $var);
  57.  
  58. # Время
  59. $time = date('H:i', $var);
  60.  
  61. # Если текущаяя дата совпадает с заданной
  62. if ($date == date('d.m.Y')) $full_time = date('Сегодня в H:i', $var);
  63.  
  64. # Вчерашняя дата
  65. if ($date == date('d.m.Y', time()-60*60*24)) $full_time = date('Вчера в H:i', $var);
  66.  
  67. return $full_time;
  68. }
  69.  
  70. # Получения настроек из базы данных
  71. $sql_system = mysql_query("SELECT * FROM `system`");
  72.  
  73. while ($var_system = mysql_fetch_array($sql_system))
  74. {
  75. $system[$var_system[0]] = $var_system[1];
  76. }
  77.  
  78. # IP адрес
  79. $system['ip'] = input($_SERVER['REMOTE_ADDR']);
  80.  
  81. # Браузер
  82. $system['browser'] = input($_SERVER['HTTP_USER_AGENT']);
  83. $system['browser'] = strtok($system['browser'], '/');
  84. $system['browser'] = strtok($system['browser'], '(');
  85. $system['browser'] = preg_replace('/[^a-z^0-9^\-^\.]/i', '', $system['browser']);
  86.  
  87. # Подключение файлов из папки /autoload/
  88. $dir = opendir(HOME .'/autoload/');
  89.  
  90. while ($file = readdir($dir))
  91. {
  92. if (preg_match('/\.php$/i', $file)) require_once(HOME .'/autoload/'. $file);
  93. }
  94.  
  95. // Подключение библиотек
  96. function require_lib($var)
  97. {
  98. if (file_exists(HOME .'/libs/'. $var)) require_once(HOME .'/libs/'. $var);
  99. else exit('Невозможно подключить библиотеку '. $var);
  100. }
  101.  
  102. // Вывод ошибок
  103. function error($var)
  104. {
  105. if (!empty($var)) echo '<div class="error">'. $var .'</div>';
  106. }
  107.  
  108. // Вывод уведомлений
  109. function message($var)
  110. {
  111. if (!empty($var)) echo '<div class="message">'. $var .'</div>';
  112. }
  113.  
  114. // обработка bb кодов
  115. function bbcode($str)
  116. {
  117. $bbcode = array(
  118. '~\[url=(.*?)?\](.*?)\[\/url\]~si' => '<a href="$1" target="_blank">$2</a>',
  119. '~\[img=(.*?)\](.*?)\[\/img\]~si' => '<img src="$1" alt="$2" />',
  120. '/\[b\](.+)\[\/b\]/isU' => '<b>$1</b>',
  121. '/\[u\](.+)\[\/u\]/isU' => '<span style="text-decoration:underline;">$1</span>',
  122. '/\[s\](.+)\[\/s\]/isU' => '<s>$1</s>',
  123. '/\[i\](.+)\[\/i\]/isU' => '<i>$1</i>',
  124. '/\[br\](.+)/isU' =>'<br />$1',
  125. '/\[hr\](.+)/isU' => '<hr />$1',
  126. '/\[big\](.+)\[\/big\]/isU' => '<span style="font-size:large;">$1</span>',
  127. '/\[small\](.+)\[\/small\]/isU' => '<span style="font-size:small;">$1</span>',
  128. '/\[red\](.+)\[\/red\]/isU' => '<span style="color:#ff0000;">$1</span>',
  129. '/\[yellow\](.+)\[\/yellow\]/isU' => '<span style="color:#ffff22;">$1</span>',
  130. '/\[green\](.+)\[\/green\]/isU' => '<span style="color:#00bb00;">$1</span>',
  131. '/\[blue\](.+)\[\/blue\]/isU' => '<span style="color:#0000bb;">$1</span>',
  132. '/\[white\](.+)\[\/white\]/isU' => '<span style="color:#fff;">$1</span>',
  133. '/\[color=(.+)\](.+)\[\/color\]/isU' => '<span style="color:#$1;">$2</span>',
  134. '/\[q\](.+)\[\/q\]/isU' => '<div class="q">Цитата: "$1"</div>',
  135. '/\[size=([0-9]+)\](.+)\[\/size\]/isU' => '<span style="font-size:$1px;">$2</span>',
  136. );
  137. $str = preg_replace(array_keys($bbcode), array_values($bbcode), $str); // заменяем коды на теги
  138.  
  139. return $str;
  140. }
  141.  
  142. function smiles($text) {
  143. $text = strtr($text, array(
  144. ':ангел:' => '<img src="/design/smiles/aa.gif" alt="smile" />',
  145. ':-)' => '<img src="/design/smiles/ab.gif" alt="smile" />',
  146. '=)' => '<img src="/design/smiles/ab.gif" alt="smile" />',
  147. ':улыбка:' => '<img src="/design/smiles/ab.gif" alt="smile" />',
  148. ':улыбка:' => '<img src="/design/smiles/ab.gif" alt="smile" />',
  149. ':грустный:' => '<img src="/design/smiles/ac.gif" alt="smile" />',
  150. ':подмигиваю:' => '<img src="/design/smiles/ad.gif" alt="smile" />',
  151. ':язык:' => '<img src="/design/smiles/ae.gif" alt="smile" />',
  152. ':крутой:' => '<img src="/design/smiles/af.gif" alt="smile" />',
  153. ':смех:' => '<img src="/design/smiles/ag.gif" alt="smile" />',
  154. ':смущение:' => '<img src="/design/smiles/ah.gif" alt="smile" />',
  155. ':удивление:' => '<img src="/design/smiles/ai.gif" alt="smile" />',
  156. ':поцелуй:' => '<img src="/design/smiles/aj.gif" alt="smile" />',
  157. ':слезы:' => '<img src="/design/smiles/ak.gif" alt="smile" />',
  158. ':секрет:' => '<img src="/design/smiles/al.gif" alt="smile" />',
  159. ':драка:' => '<img src="/design/smiles/am.gif" alt="smile" />',
  160. ':дурак?:' => '<img src="/design/smiles/an.gif" alt="smile" />',
  161. ':обида:' => '<img src="/design/smiles/ao.gif" alt="smile" />',
  162. ':хи-хи:' => '<img src="/design/smiles/ap.gif" alt="smile" />',
  163. ':дьявол:' => '<img src="/design/smiles/aq.gif" alt="smile" />',
  164. ':музыка:' => '<img src="/design/smiles/ar.gif" alt="smile" />',
  165. ':доволен:' => '<img src="/design/smiles/as.gif" alt="smile" />',
  166. ':тошнит:' => '<img src="/design/smiles/at.gif" alt="smile" />',
  167. ':засыпаю:' => '<img src="/design/smiles/au.gif" alt="smile" />',
  168. ':стоп:' => '<img src="/design/smiles/av.gif" alt="smile" />',
  169. ':целуются:' => '<img src="/design/smiles/aw.gif" alt="smile" />',
  170. ':цветок:' => '<img src="/design/smiles/ax.gif" alt="smile" />',
  171. ':молодец:' => '<img src="/design/smiles/ay.gif" alt="smile" />',
  172. ':пиво:' => '<img src="/design/smiles/az.gif" alt="smile" />',
  173. ':любовь:' => '<img src="/design/smiles/ba.gif" alt="smile" />',
  174. ':бомба:' => '<img src="/design/smiles/bb.gif" alt="smile" />',
  175. ':SOS:' => '<img src="/design/smiles/bc.gif" alt="smile" />',
  176. ':гангстер:' => '<img src="/design/smiles/bd.gif" alt="smile" />',
  177. ':запутался:' => '<img src="/design/smiles/be.gif" alt="smile" />',
  178. ':отлично:' => '<img src="/design/smiles/bf.gif" alt="smile" />',
  179. ':нигга:' => '<img src="/design/smiles/bg.gif" alt="smile" />',
  180. ':извиняюсь:' => '<img src="/design/smiles/bh.gif" alt="smile" />',
  181. ':хлоп-хлоп:' => '<img src="/design/smiles/bi.gif" alt="smile" />',
  182. ':ржу:' => '<img src="/design/smiles/bj.gif" alt="smile" />',
  183. ':невинность:' => '<img src="/design/smiles/bk.gif" alt="smile" />',
  184. ':нет:' => '<img src="/design/smiles/bl.gif" alt="smile" />',
  185. ':crazy:' => '<img src="/design/smiles/bm.gif" alt="smile" />',
  186. ':не знаю:' => '<img src="/design/smiles/bn.gif" alt="smile" />',
  187. ':танец:' => '<img src="/design/smiles/bo.gif" alt="smile" />',
  188. ':ура:' => '<img src="/design/smiles/bp.gif" alt="smile" />',
  189. ':аяй:' => '<img src="/design/smiles/bq.gif" alt="smile" />',
  190. ':силач:' => '<img src="/design/smiles/br.gif" alt="smile" />',
  191. ':пока:' => '<img src="/design/smiles/bs.gif" alt="smile" />',
  192. ':ржу нимагу:' => '<img src="/design/smiles/bv.gif" alt="smile" />',
  193. ':думаю:' => '<img src="/design/smiles/bw.gif" alt="smile" />',
  194. ));
  195. return $text;
  196. }
  197.  
  198. // Определение размера
  199. function size($var) {
  200. if ($var >= 1073741824) return round($var/1073741824, 2) .' гб';
  201. else if ($var >= 1048576) return round($var/1048576, 2) .' мб';
  202. elseif($var >= 1024) return round($var/1024, 2) .' кб';
  203. else return round($var) .' байт';
  204. }
  205.  
  206. // Рекурсивное удаление
  207. function rrmdir($dir) {
  208. if (is_dir($dir)) {
  209. $objects = scandir($dir);
  210. foreach ($objects as $object) {
  211. if ($object != "." && $object != "..") {
  212. if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
  213. }
  214. }
  215. reset($objects);
  216. rmdir($dir);
  217. }
  218. }
  219.  
  220. ?>