PageRenderTime 26ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/Quản lý website đọc truyện online PHP/website/db/bbcode.php

https://gitlab.com/phamngsinh/baitaplon_sinhvien
PHP | 199 lines | 163 code | 12 blank | 24 comment | 37 complexity | 190e67b09aaa4a923767c597cf32d72b MD5 | raw file
  1. <?php
  2. /*
  3. []------------------------------------------------------------------------------[]
  4. || #{Script Info}-----------------------------------------------------------# ||
  5. || #[*] Name Script : pekubu wapbuilder # ||
  6. || #[*] Version : 1.0 # ||
  7. || #[*] Type : Wapbuilder # ||
  8. || #[*] Language : PHP/MySQL # ||
  9. || #[*] Website : www.pekubu.net # ||
  10. || #[*] Release Date : 22/10/2012 # ||
  11. || #[*] Demo Script : http://www.infoviet.net # ||
  12. || ||
  13. || ||
  14. || #{Contact Us}------------------------------------------------------------# ||
  15. || #[*] Website : www.pekubu.net # ||
  16. || #[*] E-Mail : thi3nsu_tinhy3u@yahoo.com.vn - pekubu@gmail.com # ||
  17. || ********************************************************** # ||
  18. || ********************************************************** # ||
  19. []------------------------------------------------------------------------------[]
  20. */
  21. defined('_PKB_') or die('Error: restricted access');
  22. /*
  23. -----------------------------------------------------------------
  24. Обработка ссылок и тэгов BBCODE в тексте
  25. -----------------------------------------------------------------
  26. */
  27. function nickname($id) {
  28. $ban = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_ban_users` WHERE `user_id` = '" . $id . "' AND `ban_time` > '" . time() . "'"), 0);
  29. $user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '" . $id . "'"));
  30. if($ban > 0) {
  31. $out .= '<s><font color="black">' . $user['name'] . '</font></s>';
  32. } else {
  33. if($user['rights'] == 0) {$font = '<font color="black">';}
  34. if($user['rights'] == 1) {$font = '<font color="#9900FF">';}
  35. if($user['rights'] == 2) {$font = '<font color="#008000">';}
  36. if($user['rights'] == 3) {$font = '<font color="#008000">';}
  37. if($user['rights'] == 6) {$font = '<font color="#0000ff">';}
  38. if($user['rights'] == 7) {$font = '<font color="#FF0000">';}
  39. if($user['rights'] == 9) {$font = '<font color="red">';}
  40. if($user['rights'] == 10) {$font = '<font color="#8A2BE2">';}
  41. $out .= ''.$font.'' . $user['name'] . '</font>';
  42. }
  43. return $out;
  44. }
  45. function smileys($str, $adm = false)
  46. {
  47. global $rootpath;
  48. static $smileys_cache = array();
  49. if (empty($smileys_cache)) {
  50. $file = $rootpath . 'files/cache/smileys.dat';
  51. if (file_exists($file) && ($smileys = file_get_contents($file))
  52. !== false) {
  53. $smileys_cache = unserialize($smileys);
  54. return strtr($str, ($adm ? array_merge($smileys_cache
  55. ['usr'], $smileys_cache['adm']) : $smileys_cache['usr']));
  56. } else {
  57. return $str;
  58. }
  59. } else {
  60. return strtr($str, ($adm ? array_merge($smileys_cache ['usr'], $smileys_cache['adm']) : $smileys_cache['usr']));
  61. }
  62. }
  63. function tags($var = '') {
  64. global $login;
  65. $var = preg_replace(array('#\[php\](.*?)\[\/php\]#se'), array("''.highlight('$1').''"), str_replace("]\n", "]", $var));
  66. $var = preg_replace('#\[code\](.*?)\[/code\]#si', '<div class="bmenu">Mã</div><div class="quote">\1</div>', $var);
  67. $var = preg_replace('#\[text\](.*?)\[/text\]#si', 'TEXT:<br><textarea>\1</textarea><br>', $var);
  68. $var = preg_replace('#\[vblue\](.*?)\[/vblue\]#si', '<span style="text-shadow: 1px 3px 9px blue;">\1</span>', $var);
  69. $var = preg_replace('#\[vgreen\](.*?)\[/vgreen\]#si', '<span style="text-shadow: 1px 3px 9px green;">\1</span>', $var);
  70. $var = preg_replace('#\[vred\](.*?)\[/vred\]#si', '<span style="text-shadow: 1px 3px 9px red;">\1</span>', $var);
  71. $var = preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $var);
  72. $var = str_replace('[br]', '<br>', $var);
  73. $var = preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style:italic;">\1</span>', $var);
  74. $var = preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration:underline;">\1</span>', $var);
  75. $var = preg_replace('#\[s\](.*?)\[/s\]#si', '<span style="text-decoration: line-through;">\1</span>', $var);
  76. $var = preg_replace('#\[phai\](.+?)\[/phai\]#is', '<div align="right">\1</div>', $var );
  77. $var = preg_replace('#\[center\](.+?)\[/center\]#is', '<div align="center">\1</div>', $var );
  78. $var = preg_replace('#\[CENTER\](.+?)\[/CENTER\]#is', '<div align="center">\1</div>', $var );
  79. $var = preg_replace('#\[LEFT\](.+?)\[/LEFT\]#is', '<div align="left">\1</div>', $var );
  80. $var = preg_replace('#\[left\](.+?)\[/left\]#is', '<div align="left">\1</div>', $var );
  81. $var = preg_replace('#\[right\](.+?)\[/right\]#is', '<div align="right">\1</div>', $var );
  82. $var = preg_replace('#\[RIGHT\](.+?)\[/RIGHT\]#is', '<div align="right">\1</div>', $var );
  83. $var = preg_replace('#\[trai\](.+?)\[/trai\]#is', '<div align="left">\1</div>', $var );
  84. $var = preg_replace('#\[giua\](.+?)\[/giua\]#is', '<div align="center">\1</div>', $var );
  85. $var = preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:red">\1</span>', $var);
  86. $var = preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:green">\1</span>', $var);
  87. $var = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:blue">\1</span>', $var);
  88. $var = preg_replace('#\[c\](.*?)\[/c\]#si', '<div class="quote">\1</div>', $var);
  89. $var = preg_replace('#\[quote=(.*?)\](.*?)\[/quote\]#si', '<div class="quote">\1 đã viết</div><div class="quote">\2</div>', $var);
  90. $var = preg_replace('#\[img=(.+?)\]#is', '<center><div><a href="http://\1"><img src="http://\1" alt="' . $textl . '" width="80%" /></a></div></center>', $var);
  91. $var = preg_replace('#\[img](.+?)\[/img]#is', '<center><div><a href="http://\1"><img src="http://\1" alt="' . $textl . '" width="80%" /></a></div></center><br/>', $var);
  92. $var = preg_replace('#\[url](.+?)\[/url]#is', '\1<br/>', $var);
  93. $var = preg_replace('#\[img=(.+?)\][/img]#is', '<center><div><a href="http://\1"><img src="http://\1" alt="' . $textl . '" width="80%" /></a></div></center>', $var);
  94. $var = preg_replace('#\[COLOR=(.+?)\](.+?)\[/COLOR\]#is', '<font style="color:\1;">\2</font>', $var );
  95. $var = preg_replace('#\[color=(.+?)\](.+?)\[/color\]#is', '<font style="color:\1;">\2</font>', $var );
  96. $var = preg_replace('#\[SIZE=(.+?)\](.+?)\[/SIZE\]#is', '<font style="font-size:\1;">\2</font>', $var );
  97. $var = preg_replace('#\[size=(.+?)\](.+?)\[/size\]#is', '<font style="font-size:\1;">\2</font>', $var );
  98. $var = preg_replace('#\[FONT=(.+?)\](.+?)\[/FONT\]#is', '<font face="\1">\2</font>', $var );
  99. $var = preg_replace('#\[font=(.+?)\](.+?)\[/font\]#is', '<font face="\1">\2</font>', $var );
  100. $var = preg_replace("#\[url=(.+?)\](.+?)\[/url\]#is", "".("<b><a href=\"http://\\1\">\\2</a></b>")."", $var );
  101. $var = preg_replace("#\[URL=(.+?)\](.+?)\[/URL\]#is", "".("<b><a href=\"http://\\1\">\\2</a></b>")."", $var );
  102. if($user_id){
  103. $var = str_replace('[you]', $login, $var);
  104. }else{
  105. $var = str_replace('[you]', Khách, $var);
  106. }
  107. return $var;
  108. }
  109. function url($var)
  110. {
  111. if (!function_exists('process_url')) {
  112. function process_url($url)
  113. {
  114. if (!isset($url[3])) {
  115. $tmp = parse_url($url[1]);
  116. if ('http://' . $tmp['host'] == core::$system_set['homeurl'] || isset(core::$user_set['direct_url']) && core::$user_set['direct_url']) {
  117. return '<a href="' . $url[1] . '">' . $url[2] . '</a>';
  118. } else {
  119. return '<a href="' . core::$system_set['homeurl'] . '/go.php?url=' . base64_encode($url[1]) . '">' . $url[2] . '</a>';
  120. }
  121. } else {
  122. $tmp = parse_url($url[3]);
  123. $url[3] = str_replace(':', '&#58;', $url[3]);
  124. if (preg_match('|.png|',$url[3])|| preg_match('|.jpg|',$url[3])|| preg_match('|.bmp|',$url[3])|| preg_match('|.gif|',$url[3])) {
  125. return '<center><div><a href="' . $url[3] . '"><img src="' . $url[3] . '" alt="' . $textl . '" width="80%"/></a></div></center>';
  126. } elseif ('http://' . $tmp['host'] == core::$system_set['homeurl'] || isset(core::$user_set['direct_url']) && core::$user_set['direct_url']) {
  127. return '<a href="' . $url[3] . '">' . $url[3] . '</a>';
  128. } else {
  129. return '<a href="' . core::$system_set['homeurl'] . '/go.php?url=' . base64_encode($url[3]) . '">' . $url[3] . '</a>';
  130. }
  131. }
  132. }
  133. }
  134. $var = str_replace('[img=http://', '[img=', $var);
  135. $var = str_replace('[IMG=http://', '[IMG=', $var);
  136. $var = str_replace('[url=http://', '[url=', $var);
  137. $var = str_replace('[URL=http://', '[URL=', $var);
  138. $var = str_replace('[img]http://', '[img]', $var);
  139. $var = str_replace('[IMG]http://', '[IMG]', $var);
  140. return preg_replace_callback('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'process_url', $var);
  141. }
  142. function notags($var = '') {
  143. $var = strtr($var, array (
  144. '[you]' => '',
  145. '[green]' => '',
  146. '[/green]' => '',
  147. '[/vgreen]' => '',
  148. '[/vred]' => '',
  149. '[/vblue]' => '',
  150. '[vgreen]' => '',
  151. '[vred]' => '',
  152. '[vblue]' => '',
  153. '[red]' => '',
  154. '[/red]' => '',
  155. '[blue]' => '',
  156. '[/blue]' => '',
  157. '[b]' => '',
  158. '[/b]' => '',
  159. '[i]' => '',
  160. '[/i]' => '',
  161. '[u]' => '',
  162. '[/u]' => '',
  163. '[s]' => '',
  164. '[/s]' => '',
  165. '[c]' => '',
  166. '[/c]' => ''
  167. ));
  168. return $var;
  169. }
  170. function highlight($php) {
  171. $php = strtr($php, array (
  172. '<br />' => '',
  173. '\\' => 'slash_JOHNCMS'
  174. ));
  175. $php = html_entity_decode(trim($php), ENT_QUOTES, 'UTF-8');
  176. $php = substr($php, 0, 2) != "<?" ? $php = "<?php\n" . $php . "\n?>" : $php;
  177. $php = highlight_string(stripslashes($php), true);
  178. $php = strtr($php, array (
  179. 'slash_JOHNCMS' => '&#92;',
  180. ':' => '&#58;',
  181. '[' => '&#91;',
  182. '&nbsp;' => ' '
  183. ));
  184. return '<div class="phpcode">' . $php . '</div>';
  185. }
  186. ?>