function.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. <?php
  2. /**
  3. * 圈子公共方法
  4. *
  5. * 公共方法
  6. *
  7. */
  8. defined('InShopNC') or exit('Access Invalid!');
  9. /**
  10. * 返回模板文件所在完整目录
  11. *
  12. * @param string $tplpath 模板文件名(不含扩展名)
  13. * @return string
  14. */
  15. function circle_template($tplpath){
  16. return BASE_PATH.'/templates/'.TPL_NAME.'/'.$tplpath.'.php';
  17. }
  18. function getRefUrl() {
  19. return urlencode('http://'.$_SERVER['HTTP_HOST'].request_uri());
  20. }
  21. /**
  22. * 成员身份
  23. */
  24. function memberIdentity($identity){
  25. switch (intval($identity)){
  26. case 1:
  27. return '<em class="c">'.L('circle_manager').'</em>';
  28. break;
  29. case 2:
  30. return '<em class="a">'.L('circle_administrate').'</em>';
  31. break;
  32. case 3:
  33. default:
  34. break;
  35. }
  36. }
  37. /**
  38. * 买家秀图像
  39. */
  40. function showImgUrl($param){
  41. return UPLOAD_SITE_URL.'/'.ATTACH_MALBUM.'/'.$param['member_id'].'/'.str_ireplace('.', '_240.', $param['ap_cover']);
  42. }
  43. /**
  44. * 根据会员id生成部分附件路径
  45. */
  46. function themePartPath($id){
  47. $a = $id%20;
  48. $b = $id%10;
  49. return $a.'/'.$b.'/'.$id;
  50. }
  51. /**
  52. * Inform Url link
  53. */
  54. function spellInformUrl($param){
  55. if($param['reply_id'] == 0) return $url = 'index.php?act=theme&op=theme_detail&c_id='.$param['circle_id'].'&t_id='.$param['theme_id'];
  56. $where = array();
  57. $where['circle_id'] = $param['circle_id'];
  58. $where['theme_id'] = $param['theme_id'];
  59. $where['reply_id'] = array('elt', $param['reply_id']);
  60. $count = Model()->table('circle_threply')->where($where)->count();
  61. $page = ceil($count/15);
  62. return $url = 'index.php?act=theme&op=theme_detail&c_id='.$param['circle_id'].'&t_id='.$param['theme_id'].'&curpage='.$page.'#f'.$param['reply_id'];
  63. }
  64. /**
  65. * Replace the UBB tag
  66. *
  67. * @param string $ubb
  68. * @param int $video_sign
  69. * @return string
  70. */
  71. function replaceUBBTag($ubb, $video_sign = 1){
  72. if($video_sign){
  73. $flash_sign = preg_match("/\[FLASH\](.*)\[\/FLASH\]/iU", $ubb);
  74. }
  75. $ubb = str_replace(array(
  76. '[B]', '[/B]', '[I]', '[/I]', '[U]', '[/U]', '[/FONT]', '[/FONT-SIZE]', '[/FONT-COLOR]'
  77. ), array(
  78. '', '', '', '', '', '', '', '', ''
  79. ), preg_replace(array(
  80. "/\[URL=(.*)\](.*)\[\/URL\]/iU",
  81. "/\[FONT=([A-Za-z ]*)\]/iU",
  82. "/\[FONT-SIZE=([0-9]*)\]/iU",
  83. "/\[FONT-COLOR=([A-Za-z0-9]*)\]/iU",
  84. "/\[SMILIER=([A-Za-z_]*)\/\]/iU",
  85. "/\[IMG\](.*)\[\/IMG\]/iU",
  86. "/\[FLASH\](.*)\[\/FLASH\]/iU",
  87. "<img class='pi' src=\"$1\"/>",
  88. ), array(
  89. '['.L('nc_link').']',
  90. "",
  91. "",
  92. "",
  93. "",
  94. '['.L('nc_img').']',
  95. ($video_sign == 1?'':'['.L('nc_video').']'),
  96. ""
  97. ), $ubb));
  98. if($video_sign && !empty($flash_sign)){
  99. $ubb .= "<span nctype=\"theme_read\"><img src=\"".CIRCLE_SITE_URL.'/templates/'.TPL_CIRCLE_NAME."/images/default_play.gif\"></span>";
  100. }
  101. return $ubb;
  102. }
  103. /**
  104. * tidy theme goods information
  105. *
  106. * @param array $array
  107. * @param string $key
  108. * @param int $deep 1 one-dimensional array 2 two dimension array
  109. * @param string $type
  110. * @return array
  111. */
  112. function tidyThemeGoods($array, $key, $deep=1, $type= 60){
  113. if (is_array($array)){
  114. $tmp = array();
  115. foreach ($array as $v) {
  116. if($v['thg_type'] == 0){
  117. $v['image'] = thumb($v, $type);
  118. $v['thg_url'] = urlShop('goods', 'index', array('goods_id'=>$v['goods_id']));
  119. }else{
  120. $v['image'] = $v['goods_image'];
  121. }
  122. if ($deep === 1){
  123. $tmp[$v[$key]] = $v;
  124. }elseif($deep === 2){
  125. $tmp[$v[$key]][] = $v;
  126. }
  127. }
  128. return $tmp;
  129. }else{
  130. return $array;
  131. }
  132. }
  133. /**
  134. * The editor
  135. *
  136. * @param string $cname The content of the editor 'id' and the 'name' of the name
  137. * @param string $content The editor content
  138. * @param string $type The toolbar type
  139. * @param array $affix The affix content
  140. * @param string $gname The name of the goods content
  141. * @param array $goods The goods content
  142. * @param array $readperm Optional permissions array
  143. * @param int $rpvalue Has chosen the permissions
  144. */
  145. function showMiniEditor($cname, $content = '', $type = 'all', $affix = array(), $gname = '', $goods = array(), $readperm = array(), $rpvalue = 0){
  146. switch ($type){
  147. case 'manage':
  148. $items = array('font', 'size', 'line', 'bold', 'italic', 'underline', 'color', 'line', 'url', 'flash', 'image', 'line', 'smilier');
  149. $return = '$__content.$__maffix.$__goods.$__readperm';
  150. break;
  151. case 'quickReply':
  152. $items = array('font', 'size', 'line', 'bold', 'italic', 'underline', 'color', 'line', 'url', 'flash', 'line', 'smilier');
  153. $return = '$__content';
  154. break;
  155. case 'hQuickReply':
  156. $items = array('font', 'size', 'line', 'bold', 'italic', 'underline', 'color', 'line', 'url', 'flash', 'line', 'smilier', 'highReply');
  157. $return = '$__content';
  158. break;
  159. default:
  160. $items = array('font', 'size', 'line', 'bold', 'italic', 'underline', 'color', 'line', 'affix', 'line', 'url', 'flash', 'image', 'goods', 'line', 'smilier');
  161. $return = '$__content.$__affix.$__goods.$__readperm';
  162. break;
  163. }
  164. // toolbar items
  165. $_line = "<span class=\"line\"></span>";
  166. $_font = "<a href=\"javascript:void(0);\" nctype=\"font-family\" class=\"font-family\">".L('nc_font')."
  167. <div class=\"ubb-layer font-family-layer\">
  168. <div class=\"arrow\"></div>
  169. <span class=\"ff01\" data-param=\"Microsoft YaHei\">".L('nc_Microsoft_YaHei')."</span><span class=\"ff02\" data-param=\"simsun\">".L('nc_simsun')."</span><span class=\"ff03\" data-param=\"simhei\">".L('nc_simhei')."</span><span class=\"ff04\" data-param=\"Arial\">Arial</span><span class=\"ff05\" data-param=\"Verdana\">Verdana</span><span class=\"ff06\" data-param=\"Helvetica\">Helvetica</span><span class=\"ff07\" data-param=\"Tahoma\">Tahoma</span>
  170. </div>
  171. </a>";
  172. $_size = "<a href=\"javascript:void(0);\" nctype=\"font-size\" class=\"font-size\">".L('nc_font_size')."
  173. <div class=\"ubb-layer font-size-layer\">
  174. <div class=\"arrow\"></div>
  175. <span class=\"s12\">12px</span><span class=\"s14\">14px</span><span class=\"s16\">16px</span><span class=\"s18\">18px</span><span class=\"s20\">20px</span><span class=\"s22\">22px</span><span class=\"s24\">24px</span>
  176. </div>
  177. </a>";
  178. $_bold = "<a href=\"javascript:void(0);\" nctype=\"b\" title=\"".L('nc_font_bold')."\"><i class=\"font-b\"></i></a>";
  179. $_italic= "<a href=\"javascript:void(0);\" nctype=\"i\" title=\"".L('nc_font_italic')."\"><i class=\"font-i\"></i></a>";
  180. $_underline = "<a href=\"javascript:void(0);\" nctype=\"u\" title=\"".L('nc_font_underline')."\"><i class=\"font-u\"></i></a>";
  181. $_color = "<a href=\"javascript:void(0);\" nctype=\"color\" title=\"".L('nc_font_color')."\" class=\"font-color-handle\"><i class=\"font-color\"></i>
  182. <div class=\"ubb-layer font-color-layer\">
  183. <div class=\"arrow\"></div>
  184. <span class=\"c-000000\"></span><span class=\"c-A0522D\"></span><span class=\"c-556B2F\"></span><span class=\"c-006400\"></span><span class=\"c-483D8B\"></span><span class=\"c-000080\"></span><span class=\"c-4B0082\"></span><span class=\"c-2F4F4F\"></span> <span class=\"c-8B0000\"></span><span class=\"c-FF8C00\"></span><span class=\"c-808000\"></span><span class=\"c-008000\"></span><span class=\"c-008080\"></span><span class=\"c-0000FF\"></span><span class=\"c-708090\"></span><span class=\"c-696969\"></span><span class=\"c-FF0000\"></span><span class=\"c-F4A460\"></span><span class=\"c-9ACD32\"></span><span class=\"c-2E8B57\"></span><span class=\"c-48D1CC\"></span><span class=\"c-4169E1\"></span><span class=\"c-800080\"></span><span class=\"c-808080\"></span><span class=\"c-FF00FF\"></span><span class=\"c-FFA500\"></span><span class=\"c-FFFF00\"></span><span class=\"c-00FF00\"></span><span class=\"c-00FFFF\"></span><span class=\"c-00BFFF\"></span><span class=\"c-9932CC\"></span><span class=\"c-C0C0C0\"></span><span class=\"c-FFC0CB\"></span><span class=\"c-F5DEB3\"></span><span class=\"c-FFFACD\"></span><span class=\"c-98FB98\"></span><span class=\"c-AFEEEE\"></span><span class=\"c-ADD8E6\"></span><span class=\"c-DDA0DD\"></span>
  185. </div>
  186. </a>";
  187. $_affix = "<div class=\"upload-btn\" title=\"".L('nc_upload_image_affix')."\">
  188. <span><i class=\"upload-img\"></i>
  189. <div class=\"upload-button\">".L('nc_upload_affix')."</div>
  190. </span>
  191. <input type=\"file\" name=\"test_file\" id=\"test_file\" multiple=\"multiple\" file_id=\"0\" class=\"upload-file\" size=\"1\" hidefocus=\"true\" maxlength=\"0\" style=\"cursor: pointer;\" />
  192. <input id=\"submit_button\" style=\"display:none\" type=\"button\" value=\"&nbsp;\" onClick=\"submit_form($(this))\" />
  193. </div>";
  194. $_url = "<a href=\"javascript:void(0);\" nctype=\"url\" title=\"".L('nc_insert_link_address')."\" class=\"mr5 url-handle\"><i class=\"url\"></i>".L('nc_line')."
  195. <div class=\"ubb-layer url-layer\" style=\"display: none;\">
  196. <div class=\"arrow\"></div>
  197. <label>".L('nc_link_content')."</label>
  198. <input name=\"content\" type=\"text\" class=\"text w180\" />
  199. <label>".L('nc_link_address')."</label>
  200. <input name=\"url\" type=\"text\" class=\"text w180\" placeholder=\"http://\" />
  201. <input name=\"".L('nc_submit')."\" type=\"submit\" class=\"button\" value=\"".L('nc_submit')."\"/>
  202. </div>
  203. </a>";
  204. $_flash = "<a href=\"javascript:void(0);\" nctype=\"flase\" title=\"".L('nc_video_address')."\" class=\"mr5 flash-handle\"><i class=\"flash\"></i>".L('nc_video')."
  205. <div class=\"ubb-layer flash-layer\" style=\"display: none;\">
  206. <div class=\"arrow\"></div>
  207. <label>".L('nc_video_address')."</label>
  208. <input name=\"flash\" type=\"text\" class=\"text w180\" placeholder=\"http://\" />
  209. <input name=\"".L('nc_submit')."\" type=\"submit\" class=\"button\" value=\"".L('nc_submit')."\"/>
  210. </div>
  211. </a>";
  212. $_image = "<a href=\"javascript:void(0);\" nctype=\"uploadImage\" title=\"".L('nc_insert_network_image')."\" class=\"mr5\"><i class=\"url-img\"></i>".L('nc_image')."</a>";
  213. $_goods = "<a href=\"javascript:void(0);\" nctype=\"chooseGoods\" title=\"".L('nc_insert_relevance_goods')."\"><i class=\"url-goods\"></i>".L('nc_goods')."</a>";
  214. $_smilier = "<a href=\"javascript:void(0);\" nctype=\"smilier\" title=\"".L('nc_insert_smilier')."\" class=\"smilier-handle\"><i class=\"smilier\"></i>".L('nc_smilier')."
  215. <div class=\"ubb-layer smilier-layer\">
  216. <div class=\"arrow\"></div>
  217. <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/adore.png\" data-param=\"adore\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/after_boom.png\" data-param=\"after_boom\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/ah.png\" data-param=\"ah\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/amazing.png\" data-param=\"amazing\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/anger.png\" data-param=\"anger\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/angry.png\" data-param=\"angry\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/baffle.png\" data-param=\"baffle\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/batman.png\" data-param=\"batman\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/beat_brick.png\" data-param=\"beat_brick\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/bigsmile.png\" data-param=\"bigsmile\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/bye_bye.png\" data-param=\"bye_bye\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/confuse.png\" data-param=\"confuse\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/cool.png\" data-param=\"cool\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/crazy.png\" data-param=\"crazy\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/crazy_rabbit.png\" data-param=\"crazy_rabbit\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/cry.png\" data-param=\"cry\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/dead.png\" data-param=\"dead\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/devil.png\" data-param=\"devil\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/diver.png\" data-param=\"diver\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/doubt.png\" data-param=\"doubt\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/evilgrin.png\" data-param=\"evilgrin\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/exciting.png\" data-param=\"exciting\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/flower_dead.png\" data-param=\"flower_dead\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/go.png\" data-param=\"go\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/greedy.png\" data-param=\"greedy\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/haha.png\" data-param=\"haha\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/hand_flower.png\" data-param=\"hand_flower\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/happy.png\" data-param=\"happy\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/horror.png\" data-param=\"horror\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/hypnotized.png\" data-param=\"hypnotized\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/kiss.png\" data-param=\"kiss\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/love.png\" data-param=\"love\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/mad.png\" data-param=\"mad\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/matrix.png\" data-param=\"matrix\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/misdoubt.png\" data-param=\"misdoubt\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/money.png\" data-param=\"money\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/nerd.png\" data-param=\"nerd\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/ninja.png\" data-param=\"ninja\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/nosebleed.png\" data-param=\"nosebleed\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/pirate.png\" data-param=\"pirate\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/question.png\" data-param=\"question\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/sad.png\" data-param=\"sad\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/shame.png\" data-param=\"shame\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/shocked.png\" data-param=\"shame\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/silent.png\" data-param=\"silent\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/sleep.png\" data-param=\"sleep\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/sweat.png\" data-param=\"sweat\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/star.png\" data-param=\"star\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/whist.png\" data-param=\"whist\"></span> <span><img src=\"".CIRCLE_TEMPLATES_URL."/images/smilier/surrender.png\" data-param=\"surrender\"></span>
  218. </div>
  219. </a>";
  220. $_highReply= "<a href=\"javascript:void(0);\" nctype=\"highReply\" class=\"high-reply\"><i class=\"high\"></i>".L('nc_advanced_reply')."</a>";
  221. // Spell the editor contents
  222. $__content = '';
  223. $__content .= "<div class=\"content\">
  224. <div class=\"ubb-bar\">";
  225. foreach ($items as $val){
  226. $val = '_'.$val;
  227. $__content .= $$val;
  228. }
  229. $__content .= "</div>
  230. <div class=\"textarea\">
  231. <textarea id=\"".$cname."\" name=\"".$cname."\">".$content."</textarea>
  232. </div>
  233. <div class=\"smilier\"></div>
  234. </div>";
  235. // The attachment part
  236. $__affix = '';
  237. $__affix .= "<div class=\"affix\">
  238. <h3><i></i>".L('nc_relevance_adjunct')."</h3>
  239. <div class=\"help\" nctype=\"affix\" ".(empty($affix)?"":"style=\"display: none;\"").">
  240. <p>".L('nc_relevance_adjunct_help_one')."</p>
  241. <p>".L('nc_relevance_adjunct_help_two')."</p>
  242. </div>
  243. <div id=\"scrollbar\">
  244. <ul>";
  245. if(!empty($affix)){
  246. foreach($affix as $val){
  247. $__affix .= "<li>
  248. <p><img src=\"".themeImageUrl($val['affix_filethumb'])."\"> </p>
  249. <div class=\"handle\"> <a data-param=\"".themeImageUrl($val['affix_filename'])."\" nctype=\"affix_insert\" href=\"javascript:void(0);\"><i class=\"c\"></i>".L('nc_insert')."</a> <a data-param=\"".$val['affix_id']."\" nctype=\"affix_delete\" href=\"javascript:void(0);\"><i class=\"d\"></i>".L('nc_delete')."</a> </div>
  250. </li>";
  251. }
  252. }
  253. $__affix .= "</ul>
  254. </div>
  255. </div>";
  256. $__maffix = str_replace("nctype=\"affix_delete\"", "nctype=\"maffix_delete\"", $__affix);
  257. // After insert part of goods
  258. $__goods = '';
  259. $__goods .= "<div class=\"insert-goods\" ".(empty($goods)?"style=\"display:none;\"":"").">
  260. <h3><i></i>".L('nc_select_insert_goods,nc_colon')."</h3>";
  261. if(!empty($goods)){
  262. foreach($goods as $val){
  263. $__goods .= "<dl>
  264. <dt class=\"goods-name\">".$val['goods_name']."</dt>
  265. <dd class=\"goods-pic\"><a href=\"javascript:void(0);\"><img src=\"".$val['image']."\"></a></dd>
  266. <dd class=\"goods-price\"><em>".$val['goods_price']."</em></dd>
  267. <dd class=\"goods-del\">".L('nc_delete')."</dd>
  268. <input type=\"hidden\" value=\"".$val['goods_id']."\" name=\"".$gname."[".$val['themegoods_id']."][id]\">
  269. <input type=\"hidden\" value=\"".$val['goods_name']."\" name=\"".$gname."[".$val['themegoods_id']."][name]\">
  270. <input type=\"hidden\" value=\"".$val['goods_price']."\" name=\"".$gname."[".$val['themegoods_id']."][price]\">
  271. <input type=\"hidden\" value=\"".$val['goods_image']."\" name=\"".$gname."[".$val['themegoods_id']."][image]\">
  272. <input type=\"hidden\" value=\"".$val['store_id']."\" name=\"".$gname."[".$val['themegoods_id']."][storeid]\">
  273. <input type=\"hidden\" value=\"".$val['thg_type']."\" name=\"".$gname."[".$val['themegoods_id']."][type]\">
  274. <input type=\"hidden\" value=\"".$val['thg_url']."\" name=\"".$gname."[".$val['themegoods_id']."][uri]\">
  275. </dl>";
  276. }
  277. }
  278. $__goods .= "</div>";
  279. // Part read permissions
  280. $__readperm = '';
  281. if(!empty($readperm)){
  282. $__readperm .= "<div class=\"readperm\"><span>".L('nc_read_perm,nc_colon')."</span><span><select name=\"readperm\">";
  283. foreach($readperm as $key=>$val){
  284. $__readperm .= "<option value=\"".$key."\" ".(($rpvalue == $key)?"selected=\"selected\"":"").">".$val."&nbsp;lv".$key."</option>";
  285. }
  286. $__readperm .= "</select></span></div>";
  287. }
  288. eval('$return = '.$return.';');
  289. return $return;
  290. }
  291. /**
  292. * Recently two voters
  293. */
  294. function recentlyTwoVoters($str){
  295. $str = explode(' ', $str, 3);
  296. $rs = '';
  297. if(isset($str[0]) && !empty($str[0])) $rs .= $str[0];
  298. if(isset($str[1]) && !empty($str[1])) $rs .= ', '.$str[1];
  299. return $rs;
  300. }
  301. /**
  302. * member rank html
  303. */
  304. function memberLevelHtml($param){
  305. return "<div class=\"member-rank member-rank-".$param['cm_level']."\" title=\"".L('circle_level_introduction_page')."\"><a href=\"".CIRCLE_SITE_URL."/index.php?act=group&op=level_intr&c_id=".$param['circle_id']."\" target=\"_blank\">".($param['cm_levelname'] == ''?L('circle_violation'):$param['cm_levelname'])."</a><i></i><em>".$param['cm_level']."</em></div>";
  306. }
  307. /**
  308. * 文本过滤
  309. * @param $param string $subject
  310. * @return string
  311. */
  312. function circleCenterCensor($subject){
  313. $replacement = '***';
  314. if(C('circle_wordfilter') == '') return $subject;
  315. $find = explode(',', C('circle_wordfilter'));
  316. foreach ($find as $val){
  317. if(preg_match('/^\/(.+?)\/$/', $val, $a)){
  318. $subject = preg_replace($val, $replacement, $subject);
  319. }else{
  320. $val = preg_replace("/\\\{(\d+)\\\}/", ".{0,\\1}", preg_quote($val, '/'));
  321. $subject = preg_replace("/".$val."/", $replacement, $subject);
  322. }
  323. }
  324. return $subject;
  325. }