Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖

[HACK][原创]自定义IFRAME尺寸

[复制链接]
mmcatv 发表于 2005-5-26 15:06:46 | 显示全部楼层
这样做不太安全,后台关闭不了.
回复

使用道具 举报

conanwchen 发表于 2005-8-7 01:32:36 | 显示全部楼层
支持原创
回复

使用道具 举报

heakermm 发表于 2005-9-2 01:56:47 | 显示全部楼层
说实话,我真没找到那些代码,所以无法进行操作,
于是我按自己瞎搞。结果出了一些状况,请高手解决
我在:"/\[swf\]\s*([^\[]+?)\s*\[\/swf\]/ies",
下加入:
                                "/\[iframe=(\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/iframe\]/ies",
在:"bbcodeurl('\\1', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\"> <a href=\"%s\" target=\"_blank\">Flash: %s</a> ')",
下加入:                       
        "bbcodeurl('\\3', '<iframe width=\"\\1\" height=\"\\2\" src=\"%s\" frameborder=\"0\" border=\"0\"></iframe>')",

结果调用是:[iframe=x,y]http://abc.com[/iframe]
结果是一进入该贴子,它就在当前页面打开了http://abc.com
现在该怎么办?
回复

使用道具 举报

 楼主| oytktk 发表于 2005-9-2 09:17:21 | 显示全部楼层
把你的DISCUZCODE.PHP给我.
回复

使用道具 举报

漂亮聊 发表于 2005-9-25 14:49:07 | 显示全部楼层
我也没找到帮我改吗?
  1. <?php

  2. /*
  3. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  4. :: [DISCUZ!]  Crossday Discuz! Board                                    ::
  5. :: (c) 2001-2005 Comsenz Technology Ltd (www.discuz.com)                ::
  6. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  7. :: Author:  Crossday (tech@discuz.com) Cnteacher (cnteacher@discuz.com) ::
  8. :: Version: 2.5F   2004/10/01 05:15                                     ::
  9. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  10. */

  11. if(!defined('IN_DISCUZ')) {
  12.         exit('Access Denied');
  13. }

  14. $searcharray=$replacearray= array();
  15. $post_codecount = $post_phpcodecount = -1;
  16. $codecount = 0 ;

  17. function censor($message) {
  18.         global $_DCACHE;

  19.         require_once(DISCUZ_ROOT.'/forumdata/cache/cache_censor.php');
  20.         return empty($_DCACHE['censor']) ? $message : @preg_replace($_DCACHE['censor']['find'], $_DCACHE['censor']['replace'], $message);
  21. }

  22. function credithide($creditsrequire, $message) {
  23.         if($GLOBALS['credit'] < $creditsrequire && !$GLOBALS['ismoderator'] && !$GLOBALS['iscreditfree']) {
  24.                 return "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<class="smalltxt"></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all"><center>***** 只有积分大于 $creditsrequire 才可以浏览,请核实你的权限 *****</td></tr></table></td></tr></table></center><br>";
  25.         } else {
  26.                 return "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<class="smalltxt"></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">$message</td></tr></table></td></tr></table></center><br>";
  27.                
  28.                

  29.         }
  30. }

  31. function codedisp($code) {
  32.         global $thisbg, $codecount, $post_codecount, $codehtml;
  33.         $post_codecount++;
  34.         $code = htmlspecialchars(str_replace('\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
  35.         $codehtml[$post_codecount] = "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<b>CODE:</b>&nbsp;&nbsp;<a href="###" class="smalltxt" onclick="copycode(findobj('code$codecount'));">[复制]</a></td></tr><tr><td colspan="2"><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all" id="code$codecount">$code</td></tr></table></td></tr></table></center><br>";

  36.         $codecount++;
  37.         return "[\tDISCUZ_CODE_$post_codecount\t]";
  38. }


  39. //[HACK]自动解析图片URL By Bob Gao
  40. function parseurl($message) {
  41.         return preg_match("/\[code\].+?\[\/code\]/is", $message) ? $message :
  42.                 preg_replace(        array(
  43.                                         "/(?<=[^\]a-z0-9-="'\\/])((https?|ftp|gopher|news|telnet|mms|rtsp):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)(.jpg|.png|.gif)/i",
  44.                                         "/(?<=[^\]a-z0-9-="'\\/])((https?|ftp|gopher|news|telnet|mms|rtsp):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)/i",
  45.                                         "/(?<=[^\]a-z0-9\/\-_.~?=:.])([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/i"
  46.                                 ), array(
  47.                                         "[img]\\0[/img]",
  48.                                         "[url]\\1\\3[/url]",
  49.                                         "[email]\\0[/email]"
  50.                                 ), ' '.$message);
  51. }
  52. //[HACK]自动解析图片URL By Bob Gao

  53. function postify($message, $smileyoff, $bbcodeoff, $allowsmilies = 1, $allowhtml = 0, $allowbbcode = 1, $allowimgcode = 1) {
  54.         global $credit, $tid, $discuz_uid, $discuz_user, $codehtml, $post_codecount, $thisbg, $highlight, $table_posts, $db, $searcharray, $replacearray, $sellmessage,$ismoderator,$post_sellcount,$phpcodehtml,$post_phpcodecount;
  55.         $post_sellcount=0;
  56.         $post_codecount = -1;
  57.         $post_phpcodecount = -1;
  58.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "postsell(\\1,'\\2')", $message);

  59.         if(!$bbcodeoff && $allowbbcode) {
  60.                 $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
  61.             $message = preg_replace("/\s*\[php\](.+?)\[\/php\]\s*/ies", "phpcodedisp('\\1')", $message);
  62.         }

  63.         if ( !strstr($message,'[watermarkoff]') && !$bbcodeoff && $allowbbcode){
  64.                 $message = preg_replace("/\s*\[watermark\](.+?)\[\/watermark\]\s*/ies", "watermark('\\1')", $message);
  65.                 $watermarkon=true;
  66.         }else{
  67.                                 $message = preg_replace("/\[watermarkoff\]/i", '', $message);
  68.                 $watermarkon=false;
  69.         }

  70.         if(!$allowhtml) {
  71.                 $message = dhtmlspecialchars($message);
  72.         }

  73.         if(!$smileyoff && $allowsmilies) {

  74.                 if(is_array($GLOBALS['_DCACHE']['smilies'])) {
  75.                         foreach($GLOBALS['_DCACHE']['smilies'] as $smiliey) {
  76.                                 $message = str_replace($smiliey['code'], "<img src="".SMDIR."/$smiliey[url]" align="absmiddle" border="0">",$message);
  77.                         }
  78.                 }
  79.         }

  80.         if(!$bbcodeoff && $allowbbcode) {

  81.                 if(empty($searcharray['bbcode_regexp']) || empty($replacearray['bbcode_regexp']) || empty($searcharray['bbcode_str']) || empty($replacearray['bbcode_str'])) {
  82.                         $searcharray['bbcode_regexp'] = array(
  83.                                 "/\s*\[quote\][\n\r]*(.+?)[\n\r]*\[\/quote\]\s*/is",
  84.                                 "/(\[box=(#[0-9A-F]{6}|[a-z]+)\])[\n\r]*(.+?)[\n\r]*(\[\/box\])/is",
  85.                                 "/\[url\]\s*(www.|https?:\/\/|ftp:\/\/|gopher:\/\/|news:\/\/|telnet:\/\/|rtsp:\/\/|mms:\/\/){1}([^\["']+?)\s*\[\/url\]/ie",
  86.                                 "/\[url=www.([^\["']+?)\](.+?)\[\/url\]/is",
  87.                                 "/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/is",
  88.                                 "/\[email\]\s*([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_]+[.][A-Za-z0-9\-_.]+)\s*\[\/email\]/i",
  89.                                 "/\[email=([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_]+[.][A-Za-z0-9\-_.]+)\](.+?)\[\/email\]/is",
  90.                                 "/\[color=([#0-9a-zA-Z]{3,10})\]/i",
  91.                                 "/\[size=([\-0-9]{1,2})\]/i",
  92.                                 "/\[font=([^\[]+?)\]/i",
  93.                                 "/\[align=(left|right|center)\]/i",
  94.                                 "/\[center\]/i"
  95.                         );
  96.                         $replacearray['bbcode_regexp'] = array(
  97.                                 "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<b>QUOTE:</b></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">\\1</td></tr></table></td></tr></table></center><br>",
  98.                                 "<blockquote style="background-color: \\2 ;"><span class="bold">$title</span>\\3</blockquote>",
  99.                                 "cuturl('\\1\\2')",
  100.                                 "<a href="http://www.\\1" target="_blank">\\2</a>",
  101.                                 "<a href="\\1://\\2" target="_blank">\\3</a>",
  102.                                 "<a href="mailto:\\1@\\2">\\1@\\2</a>",
  103.                                 "<a href="mailto:\\1@\\2">\\3</a>",
  104.                                 "<font color="\\1">",
  105.                                 "<font size="\\1">",
  106.                                 "<font face="\\1">",
  107.                                 "<p align="\\1">",
  108.                                 "<p align="center">"
  109.                         );

  110.                         if($GLOBALS['_DCACHE']['bbcodes']) {
  111.                                 $searcharray['bbcode_regexp'] = array_merge($searcharray['bbcode_regexp'], $searcharray['bbcode_regexp'], $GLOBALS['_DCACHE']['bbcodes']['searcharray']);
  112.                                 $replacearray['bbcode_regexp'] = array_merge($replacearray['bbcode_regexp'], $replacearray['bbcode_regexp'], $GLOBALS['_DCACHE']['bbcodes']['replacearray']);
  113.                                 unset($GLOBALS['_DCACHE']['bbcodes']);
  114.                         }

  115.                         $searcharray['bbcode_str'] = array(
  116.                                 '[/color]', '[/size]', '[/font]', '[/align]', '[b]', '[/b]',
  117.                                 '[i]', '[/i]', '[u]', '[/u]', '[list]', '[list=1]', '[list=a]',
  118.                                 '[list=A]', '[*]', '[/list]','[/center]','[/watermark]','[watermark]'
  119.                         );

  120.                         $replacearray['bbcode_str'] = array(
  121.                                 '</font>', '</font>', '</font>', '</p>', '<b>', '</b>', '<i>',
  122.                                 '</i>', '<u>', '</u>', '<ul>', '<ol type=1>', '<ol type=a>',
  123.                                 '<ol type=A>', '<li>', '</ul></ol>','</p>','</watermark>','<watermark>'
  124.                         );      
  125.                 }               

  126.                 @$message = str_replace($searcharray['bbcode_str'], $replacearray['bbcode_str'],
  127.                                 preg_replace($searcharray['bbcode_regexp'], $replacearray['bbcode_regexp'], $message));

  128.                 if(preg_match("/\[hide=?\d*\].+?\[\/hide\]/is", $message)) {
  129.                         if(stristr($message, '[hide]')) {
  130.                                 $query = $db->query("SELECT pid FROM $table_posts WHERE tid='$tid' AND authorid='$discuz_uid' LIMIT 1");
  131.                                 if($ismoderator || $GLOBALS['ishidefree'] || $db->result($query, 0)) {
  132.                                         $message = preg_replace("/\[hide\]\s*(.+?)\s*\[\/hide\]/is", "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">\\1</td></tr></table></td></tr></table></center><br>",$message);  
  133.                                 } else {
  134.                                         $message = preg_replace("/\[hide\](.+?)\[\/hide\]/is", "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all"><center>***** 必须回复才可以浏览 *****</center></td></tr></table></td></tr></table></center><br>",$message);
  135.                                         }
  136.                         }
  137.                         $message = preg_replace("/\[hide=(\d+)\]\s*(.+?)\s*\[\/hide\]/ies", "credithide(\\1,'\\2')", $message);
  138.                 }

  139.         }

  140.         if(!$bbcodeoff && $allowimgcode) {
  141.                 if(empty($searcharray['imgcode']) || empty($replacearray['imgcode'])) {
  142.                         $searcharray['imgcode'] = array(
  143.                                 "/\[swf\]\s*([^\[]+?)\s*\[\/swf\]/ies",
  144.                                 "/\[img\]\s*([^\[]+?)\s*\[\/img\]/ies",
  145.                                 "/\[img=([A-Za-z]+)\]\s*([^\[]+?)\s*\[\/img\]/ies", //简单图文混排 by Btaoto
  146.                                 "/\[wmv\]\s*(.+?)\s*\[\/wmv\]/ies",
  147.         "/\[rm\]\s*(.+?)\s*\[\/rm\]/ies",
  148.         "/\[wmv=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/wmv\]/ies",
  149.         "/\[rm=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/rm\]/ies",
  150.                                 "/\[img=(\d{1,3})[x|\,](\d{1,3})\]\s*([^\[]+?)\s*\[\/img\]/ies"
  151.                         );
  152.                         $replacearray['imgcode'] = array(
  153.                                 "bbcodeurl('\\1', ' <img src="images/attachicons/flash.gif" align="absmiddle"> <a href="%s" target="_blank">Flash: %s</a> ')",
  154.                                 "bbcodeurl('\\1', '<img src="%s" border="0" onload="if(this.width>screen.width*0.50) {this.resized=true; this.width=screen.width*0.50; this.alt=\'点击查看全图\\nCTRL+鼠标滚轮缩/放\';}" onmouseover="if(this.resized) this.style.cursor=\'hand\';" onclick="if(!this.resized) {return true;} else {window.open(\'%s\');}" onmousewheel="return imgzoom(this);" onerror="src=\'images/common/nopic.gif\';alt=\'园片连接地址已经失效,请稍后再试!\'">')",
  155. //简单图文混排 by Btaoto
  156.                 "bbcodeurl('\\2', '<img src="%s" border="0" align="\\1" hspace="5" vspace="5" onload="if(this.width>screen.width-333) {this.width=screen.width-333;this.alt=\'Click Here to Open New Window\';}" onmouseover="if(this.alt) this.style.cursor=\'hand\';" onclick="if(this.alt) window.open(\'%s\');">')",
  157. //End
  158. "bbcodeurl('\\1', '<object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="480" height="360" ><PARAM NAME="AutoStart" VALUE="0" ><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="mp" src="%s" width="480" height="360"></embed></object>')",
  159.         "bbcodeurl('\\1', '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="Player" width="480" height="360" viewastext><param name="Autostart" value="0"><param name="CONTROLS" value="ImageWindow"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width=480 VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="0"><param name="LOOP" value="0"><param name="CENTER" value="0"><param name="BACKGROUNDCOLOR" value="#000000"><param name="SRC" value="\\1"></object>')",
  160.                                 "bbcodeurl('\\4', '<br><object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="\\1" height="\\2" ><PARAM NAME="AutoStart" VALUE="\\3" ><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" width="\\1" height="\\2"></embed></object>')",
  161.                                 "bbcodeurl('\\4', '<br><br><object width="\\1" height="\\2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="Player" viewastext><param name="Autostart" value="\\3"><param name="CONTROLS" value="ImageWindow"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width="\\1" VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="\\3"><param name="LOOP" value="-1"><param name="CENTER" value="0"><param name="SRC" value="%s"></object>')",
  162.                                 "bbcodeurl('\\3', '<img width="\\1" height="\\2" src="%s" border="0">')"
  163.                         );
  164.                 }
  165.                 $message = preg_replace($searcharray['imgcode'], $replacearray['imgcode'], $message);
  166.         }

  167. for($si = 0; $si <= $post_sellcount; $si++) {
  168.   $message = str_replace("|\tDISCUZ_SELL_$si\t|", $sellmessage[$si], $message);
  169. }
  170. unset ($sellmessage);

  171.         for($i = 0; $i <= $post_codecount; $i++) {
  172.                 if ($watermarkon){
  173.                         $codehtml[$i] = preg_replace("/\s*\[watermark\](.+?)\[\/watermark\]\s*/ies", "watermarkbbcode('\\1')", $codehtml[$i]);
  174.                 }
  175.                 $message = str_replace("[\tDISCUZ_CODE_$i\t]", $codehtml[$i], $message);
  176.         }

  177.         if($highlight) {
  178.                 foreach(explode('+', $highlight) as $ret) {
  179.                         if($ret) {
  180.                                 $message = preg_replace("/(?<=[\s"\]>()]|[\x7f-\xff]|^)(".preg_quote($ret, '/').")(([.,:;-?!()\s"<\[]|[\x7f-\xff]|$))/siU", "<u><b><font color="#FF0000">\\1</font></b></u>\\2", $message);
  181.                         }
  182.                 }
  183.         }
  184.         for($i = 0; $i <= $post_phpcodecount; $i++) {
  185.                         $message = str_replace("|\tDISCUZ_PHPCODE_$i\t|", $phpcodehtml[$i], $message);
  186.             }

  187.         $message = nl2br(str_replace(
  188.                                                         array("\t", '   ', '  '),
  189.                                                         array('&nbsp; &nbsp; &nbsp; &nbsp; ', '&nbsp; &nbsp;', '&nbsp;&nbsp;')
  190.                                                         , $message)
  191.                                         );

  192.         return $message;

  193. }

  194. function cuturl($url) {
  195.         $length = 65;
  196.         $urllink = "<a href="".(substr(strtolower($url), 0, 4) == 'www.' ? "http://$url" : $url).'" target="_blank">';
  197.         if(strlen($url) > $length) {
  198.                 $url = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
  199.         }
  200.         $urllink .= $url.'</a>';
  201.         return $urllink;
  202. }

  203. function bbcodeurl($url, $tags) {
  204.         if(!preg_match("/<.+?>/s",$url)) {
  205.                 if(!in_array(strtolower(substr($url, 0, 6)), array('http:/', 'https:', 'ftp://', 'rtsp:/', 'mms://'))) {
  206.                         $url = 'http://'.$url;
  207.                 }
  208.                 return str_replace('submit', '', sprintf($tags, $url, $url));
  209.         } else {
  210.                 return '&nbsp;'.$url;
  211.         }
  212. }

  213. function phpcodedisp($code) {
  214.         global $thisbg, $codecount, $post_phpcodecount, $phpcodehtml,$post;
  215.         $post_phpcodecount++;
  216.         $phpcode = phphighlite(str_replace("\\"", """, $code));
  217.                 $phpcodeid ="pcode_$post[pid]_$post_phpcodecount";
  218.                 $phpcodehtml[$post_phpcodecount] = "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<b>PHP:</b>&nbsp;&nbsp;<a href="###" class="smalltxt" onclick="copycode(findobj('$phpcodeid'));">[复制]</a></td></tr><tr><td colspan="2"><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all" id="$phpcodeid">$phpcode</td></tr></table></td></tr></table></center><br>";
  219.         $phpcodecount++;
  220.         return "|\tDISCUZ_PHPCODE_$post_phpcodecount\t|";
  221. }

  222. function phphighlite($code) {
  223.         if(!strpos($code,"&lt;?\n") && !strpos($code,'&lt;?') &&  substr($code,0,2)!='&lt;?'){
  224.                 $code='<'.'?'.trim($code).' ?'.'>';
  225.                 $addedtags=1;
  226.         }
  227.         ob_start();
  228.         $oldlevel=error_reporting(0);
  229.         highlight_string($code);
  230.         error_reporting($oldlevel);
  231.         $buffer = ob_get_contents();
  232.         ob_end_clean();
  233.         if ($addedtags) {
  234.                 $openingpos = strpos($buffer,'&lt;?');
  235.                 $closingpos = strrpos($buffer, '?');
  236.                 $buffer=substr($buffer, 0, $openingpos).substr($buffer, $openingpos+5, $closingpos-($openingpos+5)).substr($buffer, $closingpos+5);
  237.         }
  238.         $buffer = str_replace("&quot;", """, $buffer);
  239.         $buffer = str_replace("\n", "", $buffer);
  240.         $buffer = str_replace("<br />", '', $buffer);
  241.         return $buffer;
  242. }

  243. function clear_bbcode($code){
  244.         $rep = array('[', ']', ':', '(', ')');
  245.         for ($x = 0; $x < count($rep); $x++) {
  246.                 $code = str_replace($rep[$x], '&#'.ord($rep[$x]).';', $code);
  247.         }
  248.         return $code;
  249. }

  250. function watermark($code) {
  251.         global $postcolor,$sitename;
  252.                        $code = str_replace("\\"", """, preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code));
  253.         if(!$postcolor) $postcolor= ALTBG2;
  254.         $pieces = explode('<br />', nl2br($code));
  255.         unset ($code);
  256.         foreach ($pieces as $key => $value) {
  257.                         $newmessage .=$value."[color=$postcolor]◎$sitename 版权所有,拒绝转载◎".random(10).'[/color]';
  258.         }
  259.         return $newmessage;
  260. }

  261. function watermarkbbcode($code) {
  262.         global $sitename;
  263.         $code = str_replace("\\"", """, preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code));
  264.         $pieces = explode('<br />', nl2br($code));
  265.         unset ($code);
  266.         foreach ($pieces as $key => $value) {
  267.                         $newmessage .=$value."<font color='".ALTBG2."'>◎$sitename 版权所有,拒绝转载◎".random(10)."</font>";
  268.         }
  269.         return $newmessage;
  270. }

  271. function postsell($price, $message) {
  272.     global $thisbg, $post_sellcount,$db,$post, $sellmessage,$tid,$table_posts,$hacktable_postpay,$discuz_user,$issupermod,$ismoderator,$isadmin,$usermoney,$page,$issellfree;
  273.     //$message=stripslashes($message);
  274. $message = str_replace("\\"", """, preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1",
  275. $message));
  276.     $post_sellcount++;
  277.     $price=abs(intval($price));
  278.     $post['needmoney']=$post['needmoney']+$price;
  279.     $query = $db->query("SELECT COUNT(*) FROM $hacktable_postpay WHERE pid='$post[pid]' AND sellcount='$post_sellcount' ");
  280.     $payusercount=$db->result($query, 0);
  281.     if ($discuz_user){
  282.         if ($usermoney >= $price){
  283.             $paymessage="你的现金是:$usermoney ,可以<a href="postpay.php?action=pay&tid=$tid&pid=$post[pid]&sellcount=$post_sellcount&money=$price&page=$page">[<font color=red>立即付费</font>]</a>。";
  284.         }else{
  285.             $paymessage="你的现金是:$usermoney ,无法付费。去[<a href='plugins.php?p=bank'><font color=red>银行</font></a>]取款或者卖些积分吧。";
  286.         }
  287.     }else{
  288.             $paymessage= "非本站会员无权购买,请您 <a href='logging.php?action=login'>[<font color=red>登陆</font>]</a> 或者 <a href='register.php'>[<font color=red>注册</font>]</a>";
  289.     }
  290.      
  291. $sm1="<br><br><table class='tableborder' cellSpacing='1' cellPadding='4' width='70%' border='0' align='center'><tr class='header'><td width='100%' colSpan='4'>&nbsp;付款证明</td></tr><tr bgColor='#ffffff'><td width='15%'>&nbsp;编号:</td><td width='35%'><span class='small'>&nbsp;<input type='text' name='p101' value='$tid-$post[pid]-$post[postcount]'></span></td><td width='15%'>&nbsp;价格:</td><td width='35%'><img src='images/common/money0.gif'><span class='small'>&nbsp;<input type=text name=p102 value='$price 个' size=6>金币</span></td></tr><tr bgColor='#ffffff'><td><span class='small'>&nbsp;名单:</span></td><td><span class='small'>&nbsp;请付费后再查看!</span></td><td><span class='small'>&nbsp;人数:</span></td><td><span class='smalltxt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=p103 value='$payusercount' size=6></span></td></tr><tr bgColor='#ffffff'><td align='middle' width='100%' colSpan='4'><font color ='#000000'>请付费察看本帖隐藏内容,</font>$paymessage</td></tr></table><br>";

  292. $sm2="<br><br><table class='tableborder' cellSpacing='1' cellPadding='4' width='70%' border='0' align='center'><tr class='header'><td width='100%' colSpan='4'>&nbsp;付款证明</td></tr><tr bgColor='#ffffff'><td width='15%'>&nbsp;编号:</td><td width='35%'><span class='small'>&nbsp;<input type='text' name='p101' value='$tid-$post[pid]-$post[postcount]'></span></td><td width='15%'>&nbsp;价格:</td><td width='35%'><img src='images/common/money0.gif'><span class='small'>&nbsp;<input type=text name=p102 value='$price 个' size=6>金币</span></td></tr><tr bgColor='#ffffff'><td><span class='small'>&nbsp;名单:</span></td><td><span class='small'>&nbsp;<a href='postpay.php?action=showpayuser&tid=$tid&pid=$post[pid]&sellcount=1'>查看</a></span></td><td><span class='small'>&nbsp;人数:</span></td><td><span class='smalltxt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=p103 value='$payusercount' size=6></span></td></tr><tr bgColor='#ffffff'><td align='middle' width='100%' colSpan='4'><font color=red>感谢您的付费!你可以观看以下付费内容了。如发现非法敛财,可以投诉给斑竹。</font></td></tr></table><br>";

  293. $sm3="<br><br><table class='tableborder' cellSpacing='1' cellPadding='4' width='70%' border='0' align='center'><tr class='header'><td width='100%' colSpan='4'>&nbsp;付款证明</td></tr><tr bgColor='#ffffff'><td width='15%'>&nbsp;编号:</td><td width='35%'><span class='small'>&nbsp;<input type='text' name='p101' value='$tid-$post[pid]-$post[postcount]'></span></td><td width='15%'>&nbsp;价格:</td><td width='35%'><img src='images/common/money0.gif'><span class='small'>&nbsp;<input type=text name=p102 value='$price 个' size=6>金币</span></td></tr><tr bgColor='#ffffff'><td><span class='small'>&nbsp;名单:</span></td><td><span class='small'>&nbsp;<a href='postpay.php?action=showpayuser&tid=$tid&pid=$post[pid]&sellcount=1'>查看</a></span></td><td><span class='small'>&nbsp;人数:</span></td><td><span class='smalltxt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=p103 value='$payusercount' size=6></span></td></tr><tr bgColor='#ffffff'><td align='middle' width='100%' colSpan='4'><font color ='green'>您有查看及下载特权,但也可完成提交支付。</font>$paymessage</td></tr></table><br>";


  294.     if ($discuz_user){
  295.         $query = $db->query("SELECT COUNT(*) FROM $table_posts WHERE pid='$post[pid]' AND author='$discuz_user'");
  296.         $isauthor = $db->result($query, 0);
  297.         if($issupermod || $ismoderator || $isadmin || $isauthor ){
  298.             $post['paymoney']=$post['needmoney'];
  299.             $post['payed']=2;
  300.             $sellmessage[$post_sellcount]=$sm2;
  301. } elseif($issupermod || $ismoderator || $isadmin || $issellfree) {
  302.                 $post['paymoney'] = $post['needmoney'];
  303.                 $post['payed'] = 2;
  304.                 $sellmessage[$post_sellcount] = $sm3;
  305.         } else {
  306.             $query = $db->query("SELECT COUNT(*) FROM $hacktable_postpay WHERE pid='$post[pid]' AND  sellcount='$post_sellcount' and money='$price' and username='$discuz_user'");
  307.             if($db->result($query, 0)) {
  308.                 $post['paymoney']=$post['paymoney']+$price;
  309.                 $post['payed']=2;
  310.                 $sellmessage[$post_sellcount]=$sm2;
  311.             }else{
  312.                 $post['payed']=1;
  313.                 $message='';
  314.                 $sellmessage[$post_sellcount]=$sm1;
  315.             }   
  316.         }
  317.     }else{
  318.         $post['payed']=1;
  319.         $message='';
  320.         $sellmessage[$post_sellcount]=$sm1;
  321.     }
  322.     return "|\tDISCUZ_SELL_$post_sellcount\t| ".$message;
  323. }

  324. ?>
复制代码

[ 本帖最后由 漂亮聊 于 2005-9-25 14:50 编辑 ]
回复

使用道具 举报

 楼主| oytktk 发表于 2005-9-25 17:17:56 | 显示全部楼层


  1. <?php

  2. /*
  3. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  4. :: [DISCUZ!]  Crossday Discuz! Board                                    ::
  5. :: (c) 2001-2005 Comsenz Technology Ltd (www.discuz.com)                ::
  6. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  7. :: Author:  Crossday (tech@discuz.com) Cnteacher (cnteacher@discuz.com) ::
  8. :: Version: 2.5F   2004/10/01 05:15                                     ::
  9. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  10. */

  11. if(!defined('IN_DISCUZ')) {
  12.         exit('Access Denied');
  13. }

  14. $searcharray=$replacearray= array();
  15. $post_codecount = $post_phpcodecount = -1;
  16. $codecount = 0 ;

  17. function censor($message) {
  18.         global $_DCACHE;

  19.         require_once(DISCUZ_ROOT.'/forumdata/cache/cache_censor.php');
  20.         return empty($_DCACHE['censor']) ? $message : @preg_replace($_DCACHE['censor']['find'], $_DCACHE['censor']['replace'], $message);
  21. }

  22. function credithide($creditsrequire, $message) {
  23.         if($GLOBALS['credit'] < $creditsrequire && !$GLOBALS['ismoderator'] && !$GLOBALS['iscreditfree']) {
  24.                 return "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<class="smalltxt"></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all"><center>***** 只有积分大于 $creditsrequire 才可以浏览,请核实你的权限 *****</td></tr></table></td></tr></table></center><br>";
  25.         } else {
  26.                 return "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<class="smalltxt"></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">$message</td></tr></table></td></tr></table></center><br>";
  27.                
  28.                

  29.         }
  30. }

  31. function codedisp($code) {
  32.         global $thisbg, $codecount, $post_codecount, $codehtml;
  33.         $post_codecount++;
  34.         $code = htmlspecialchars(str_replace('\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
  35.         $codehtml[$post_codecount] = "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<b>CODE:</b>&nbsp;&nbsp;<a href="###" class="smalltxt" onclick="copycode(findobj('code$codecount'));">[复制]</a></td></tr><tr><td colspan="2"><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all" id="code$codecount">$code</td></tr></table></td></tr></table></center><br>";

  36.         $codecount++;
  37.         return "[\tDISCUZ_CODE_$post_codecount\t]";
  38. }


  39. //[HACK]自动解析图片URL By Bob Gao
  40. function parseurl($message) {
  41.         return preg_match("/\[code\].+?\[\/code\]/is", $message) ? $message :
  42.                 preg_replace(        array(
  43.                                         "/(?<=[^\]a-z0-9-="'\\/])((https?|ftp|gopher|news|telnet|mms|rtsp):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)(.jpg|.png|.gif)/i",
  44.                                         "/(?<=[^\]a-z0-9-="'\\/])((https?|ftp|gopher|news|telnet|mms|rtsp):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)/i",
  45.                                         "/(?<=[^\]a-z0-9\/\-_.~?=:.])([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/i"
  46.                                 ), array(
  47.                                         "[img]\\0[/img]",
  48.                                         "[url]\\1\\3[/url]",
  49.                                         "[email]\\0[/email]"
  50.                                 ), ' '.$message);
  51. }
  52. //[HACK]自动解析图片URL By Bob Gao

  53. function postify($message, $smileyoff, $bbcodeoff, $allowsmilies = 1, $allowhtml = 0, $allowbbcode = 1, $allowimgcode = 1) {
  54.         global $credit, $tid, $discuz_uid, $discuz_user, $codehtml, $post_codecount, $thisbg, $highlight, $table_posts, $db, $searcharray, $replacearray, $sellmessage,$ismoderator,$post_sellcount,$phpcodehtml,$post_phpcodecount;
  55.         $post_sellcount=0;
  56.         $post_codecount = -1;
  57.         $post_phpcodecount = -1;
  58.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "postsell(\\1,'\\2')", $message);

  59.         if(!$bbcodeoff && $allowbbcode) {
  60.                 $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
  61.             $message = preg_replace("/\s*\[php\](.+?)\[\/php\]\s*/ies", "phpcodedisp('\\1')", $message);
  62.         }

  63.         if ( !strstr($message,'[watermarkoff]') && !$bbcodeoff && $allowbbcode){
  64.                 $message = preg_replace("/\s*\[watermark\](.+?)\[\/watermark\]\s*/ies", "watermark('\\1')", $message);
  65.                 $watermarkon=true;
  66.         }else{
  67.                                 $message = preg_replace("/\[watermarkoff\]/i", '', $message);
  68.                 $watermarkon=false;
  69.         }

  70.         if(!$allowhtml) {
  71.                 $message = dhtmlspecialchars($message);
  72.         }

  73.         if(!$smileyoff && $allowsmilies) {

  74.                 if(is_array($GLOBALS['_DCACHE']['smilies'])) {
  75.                         foreach($GLOBALS['_DCACHE']['smilies'] as $smiliey) {
  76.                                 $message = str_replace($smiliey['code'], "<img src="".SMDIR."/$smiliey[url]" align="absmiddle" border="0">",$message);
  77.                         }
  78.                 }
  79.         }

  80.         if(!$bbcodeoff && $allowbbcode) {

  81.                 if(empty($searcharray['bbcode_regexp']) || empty($replacearray['bbcode_regexp']) || empty($searcharray['bbcode_str']) || empty($replacearray['bbcode_str'])) {
  82.                         $searcharray['bbcode_regexp'] = array(
  83.                                 "/\s*\[quote\][\n\r]*(.+?)[\n\r]*\[\/quote\]\s*/is",
  84.                                 "/(\[box=(#[0-9A-F]{6}|[a-z]+)\])[\n\r]*(.+?)[\n\r]*(\[\/box\])/is",
  85.                                 "/\[url\]\s*(www.|https?:\/\/|ftp:\/\/|gopher:\/\/|news:\/\/|telnet:\/\/|rtsp:\/\/|mms:\/\/){1}([^\["']+?)\s*\[\/url\]/ie",
  86.                                 "/\[url=www.([^\["']+?)\](.+?)\[\/url\]/is",
  87.                                 "/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/is",
  88.                                 "/\[email\]\s*([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_]+[.][A-Za-z0-9\-_.]+)\s*\[\/email\]/i",
  89.                                 "/\[email=([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_]+[.][A-Za-z0-9\-_.]+)\](.+?)\[\/email\]/is",
  90.                                 "/\[color=([#0-9a-zA-Z]{3,10})\]/i",
  91.                                 "/\[size=([\-0-9]{1,2})\]/i",
  92.                                 "/\[font=([^\[]+?)\]/i",
  93.                                 "/\[align=(left|right|center)\]/i",
  94.                                 "/\[center\]/i"
  95.                         );
  96.                         $replacearray['bbcode_regexp'] = array(
  97.                                 "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<b>QUOTE:</b></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">\\1</td></tr></table></td></tr></table></center><br>",
  98.                                 "<blockquote style="background-color: \\2 ;"><span class="bold">$title</span>\\3</blockquote>",
  99.                                 "cuturl('\\1\\2')",
  100.                                 "<a href="http://www.\\1" target="_blank">\\2</a>",
  101.                                 "<a href="\\1://\\2" target="_blank">\\3</a>",
  102.                                 "<a href="mailto:\\1@\\2">\\1@\\2</a>",
  103.                                 "<a href="mailto:\\1@\\2">\\3</a>",
  104.                                 "<font color="\\1">",
  105.                                 "<font size="\\1">",
  106.                                 "<font face="\\1">",
  107.                                 "<p align="\\1">",
  108.                                 "<p align="center">"
  109.                         );

  110.                         if($GLOBALS['_DCACHE']['bbcodes']) {
  111.                                 $searcharray['bbcode_regexp'] = array_merge($searcharray['bbcode_regexp'], $searcharray['bbcode_regexp'], $GLOBALS['_DCACHE']['bbcodes']['searcharray']);
  112.                                 $replacearray['bbcode_regexp'] = array_merge($replacearray['bbcode_regexp'], $replacearray['bbcode_regexp'], $GLOBALS['_DCACHE']['bbcodes']['replacearray']);
  113.                                 unset($GLOBALS['_DCACHE']['bbcodes']);
  114.                         }

  115.                         $searcharray['bbcode_str'] = array(
  116.                                 '[/color]', '[/size]', '[/font]', '[/align]', '[b]', '[/b]',
  117.                                 '[i]', '[/i]', '[u]', '[/u]', '[list]', '[list=1]', '[list=a]',
  118.                                 '[list=A]', '[*]', '[/list]','[/center]','[/watermark]','[watermark]'
  119.                         );

  120.                         $replacearray['bbcode_str'] = array(
  121.                                 '</font>', '</font>', '</font>', '</p>', '<b>', '</b>', '<i>',
  122.                                 '</i>', '<u>', '</u>', '<ul>', '<ol type=1>', '<ol type=a>',
  123.                                 '<ol type=A>', '<li>', '</ul></ol>','</p>','</watermark>','<watermark>'
  124.                         );      
  125.                 }               

  126.                 @$message = str_replace($searcharray['bbcode_str'], $replacearray['bbcode_str'],
  127.                                 preg_replace($searcharray['bbcode_regexp'], $replacearray['bbcode_regexp'], $message));

  128.                 if(preg_match("/\[hide=?\d*\].+?\[\/hide\]/is", $message)) {
  129.                         if(stristr($message, '[hide]')) {
  130.                                 $query = $db->query("SELECT pid FROM $table_posts WHERE tid='$tid' AND authorid='$discuz_uid' LIMIT 1");
  131.                                 if($ismoderator || $GLOBALS['ishidefree'] || $db->result($query, 0)) {
  132.                                         $message = preg_replace("/\[hide\]\s*(.+?)\s*\[\/hide\]/is", "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">\\1</td></tr></table></td></tr></table></center><br>",$message);  
  133.                                 } else {
  134.                                         $message = preg_replace("/\[hide\](.+?)\[\/hide\]/is", "<br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td></td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all"><center>***** 必须回复才可以浏览 *****</center></td></tr></table></td></tr></table></center><br>",$message);
  135.                                         }
  136.                         }
  137.                         $message = preg_replace("/\[hide=(\d+)\]\s*(.+?)\s*\[\/hide\]/ies", "credithide(\\1,'\\2')", $message);
  138.                 }

  139.         }

  140.         if(!$bbcodeoff && $allowimgcode) {
  141.                 if(empty($searcharray['imgcode']) || empty($replacearray['imgcode'])) {
  142.                         $searcharray['imgcode'] = array(
  143.                                 "/\[swf\]\s*([^\[]+?)\s*\[\/swf\]/ies",
  144.                                 "/\[img\]\s*([^\[]+?)\s*\[\/img\]/ies",
  145.                                 "/\[iframe=(\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/iframe\]/ies",
  146.                                 "/\[img=([A-Za-z]+)\]\s*([^\[]+?)\s*\[\/img\]/ies", //简单图文混排 by Btaoto
  147.                                 "/\[wmv\]\s*(.+?)\s*\[\/wmv\]/ies",
  148.         "/\[rm\]\s*(.+?)\s*\[\/rm\]/ies",
  149.         "/\[wmv=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/wmv\]/ies",
  150.         "/\[rm=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/rm\]/ies",
  151.                                 "/\[img=(\d{1,3})[x|\,](\d{1,3})\]\s*([^\[]+?)\s*\[\/img\]/ies"
  152.                         );
  153.                         $replacearray['imgcode'] = array(
  154.                                 "bbcodeurl('\\1', ' <img src="images/attachicons/flash.gif" align="absmiddle"> <a href="%s" target="_blank">Flash: %s</a> ')",
  155.                                 "bbcodeurl('\\1', '<img src="%s" border="0" onload="if(this.width>screen.width*0.50) {this.resized=true; this.width=screen.width*0.50; this.alt=\'点击查看全图\\nCTRL+鼠标滚轮缩/放\';}" onmouseover="if(this.resized) this.style.cursor=\'hand\';" onclick="if(!this.resized) {return true;} else {window.open(\'%s\');}" onmousewheel="return imgzoom(this);" onerror="src=\'images/common/nopic.gif\';alt=\'园片连接地址已经失效,请稍后再试!\'">')",
  156.                                 "bbcodeurl('\\3', '<iframe width="\\1" height="\\2" src="%s" frameborder="0" border="0"></iframe>')",
  157. //简单图文混排 by Btaoto
  158.                 "bbcodeurl('\\2', '<img src="%s" border="0" align="\\1" hspace="5" vspace="5" onload="if(this.width>screen.width-333) {this.width=screen.width-333;this.alt=\'Click Here to Open New Window\';}" onmouseover="if(this.alt) this.style.cursor=\'hand\';" onclick="if(this.alt) window.open(\'%s\');">')",
  159. //End
  160. "bbcodeurl('\\1', '<object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="480" height="360" ><PARAM NAME="AutoStart" VALUE="0" ><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="mp" src="%s" width="480" height="360"></embed></object>')",
  161.         "bbcodeurl('\\1', '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="Player" width="480" height="360" viewastext><param name="Autostart" value="0"><param name="CONTROLS" value="ImageWindow"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width=480 VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="0"><param name="LOOP" value="0"><param name="CENTER" value="0"><param name="BACKGROUNDCOLOR" value="#000000"><param name="SRC" value="\\1"></object>')",
  162.                                 "bbcodeurl('\\4', '<br><object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="\\1" height="\\2" ><PARAM NAME="AutoStart" VALUE="\\3" ><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" width="\\1" height="\\2"></embed></object>')",
  163.                                 "bbcodeurl('\\4', '<br><br><object width="\\1" height="\\2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="Player" viewastext><param name="Autostart" value="\\3"><param name="CONTROLS" value="ImageWindow"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width="\\1" VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="\\3"><param name="LOOP" value="-1"><param name="CENTER" value="0"><param name="SRC" value="%s"></object>')",
  164.                                 "bbcodeurl('\\3', '<img width="\\1" height="\\2" src="%s" border="0">')"
  165.                         );
  166.                 }
  167.                 $message = preg_replace($searcharray['imgcode'], $replacearray['imgcode'], $message);
  168.         }

  169. for($si = 0; $si <= $post_sellcount; $si++) {
  170.   $message = str_replace("|\tDISCUZ_SELL_$si\t|", $sellmessage[$si], $message);
  171. }
  172. unset ($sellmessage);

  173.         for($i = 0; $i <= $post_codecount; $i++) {
  174.                 if ($watermarkon){
  175.                         $codehtml[$i] = preg_replace("/\s*\[watermark\](.+?)\[\/watermark\]\s*/ies", "watermarkbbcode('\\1')", $codehtml[$i]);
  176.                 }
  177.                 $message = str_replace("[\tDISCUZ_CODE_$i\t]", $codehtml[$i], $message);
  178.         }

  179.         if($highlight) {
  180.                 foreach(explode('+', $highlight) as $ret) {
  181.                         if($ret) {
  182.                                 $message = preg_replace("/(?<=[\s"\]>()]|[\x7f-\xff]|^)(".preg_quote($ret, '/').")(([.,:;-?!()\s"<\[]|[\x7f-\xff]|$))/siU", "<u><b><font color="#FF0000">\\1</font></b></u>\\2", $message);
  183.                         }
  184.                 }
  185.         }
  186.         for($i = 0; $i <= $post_phpcodecount; $i++) {
  187.                         $message = str_replace("|\tDISCUZ_PHPCODE_$i\t|", $phpcodehtml[$i], $message);
  188.             }

  189.         $message = nl2br(str_replace(
  190.                                                         array("\t", '   ', '  '),
  191.                                                         array('&nbsp; &nbsp; &nbsp; &nbsp; ', '&nbsp; &nbsp;', '&nbsp;&nbsp;')
  192.                                                         , $message)
  193.                                         );

  194.         return $message;

  195. }

  196. function cuturl($url) {
  197.         $length = 65;
  198.         $urllink = "<a href="".(substr(strtolower($url), 0, 4) == 'www.' ? "http://$url" : $url).'" target="_blank">';
  199.         if(strlen($url) > $length) {
  200.                 $url = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
  201.         }
  202.         $urllink .= $url.'</a>';
  203.         return $urllink;
  204. }

  205. function bbcodeurl($url, $tags) {
  206.         if(!preg_match("/<.+?>/s",$url)) {
  207.                 if(!in_array(strtolower(substr($url, 0, 6)), array('http:/', 'https:', 'ftp://', 'rtsp:/', 'mms://'))) {
  208.                         $url = 'http://'.$url;
  209.                 }
  210.                 return str_replace('submit', '', sprintf($tags, $url, $url));
  211.         } else {
  212.                 return '&nbsp;'.$url;
  213.         }
  214. }

  215. function phpcodedisp($code) {
  216.         global $thisbg, $codecount, $post_phpcodecount, $phpcodehtml,$post;
  217.         $post_phpcodecount++;
  218.         $phpcode = phphighlite(str_replace("\\"", """, $code));
  219.                 $phpcodeid ="pcode_$post[pid]_$post_phpcodecount";
  220.                 $phpcodehtml[$post_phpcodecount] = "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;<b>PHP:</b>&nbsp;&nbsp;<a href="###" class="smalltxt" onclick="copycode(findobj('$phpcodeid'));">[复制]</a></td></tr><tr><td colspan="2"><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all" id="$phpcodeid">$phpcode</td></tr></table></td></tr></table></center><br>";
  221.         $phpcodecount++;
  222.         return "|\tDISCUZ_PHPCODE_$post_phpcodecount\t|";
  223. }

  224. function phphighlite($code) {
  225.         if(!strpos($code,"&lt;?\n") && !strpos($code,'&lt;?') &&  substr($code,0,2)!='&lt;?'){
  226.                 $code='<'.'?'.trim($code).' ?'.'>';
  227.                 $addedtags=1;
  228.         }
  229.         ob_start();
  230.         $oldlevel=error_reporting(0);
  231.         highlight_string($code);
  232.         error_reporting($oldlevel);
  233.         $buffer = ob_get_contents();
  234.         ob_end_clean();
  235.         if ($addedtags) {
  236.                 $openingpos = strpos($buffer,'&lt;?');
  237.                 $closingpos = strrpos($buffer, '?');
  238.                 $buffer=substr($buffer, 0, $openingpos).substr($buffer, $openingpos+5, $closingpos-($openingpos+5)).substr($buffer, $closingpos+5);
  239.         }
  240.         $buffer = str_replace("&quot;", """, $buffer);
  241.         $buffer = str_replace("\n", "", $buffer);
  242.         $buffer = str_replace("<br />", '', $buffer);
  243.         return $buffer;
  244. }

  245. function clear_bbcode($code){
  246.         $rep = array('[', ']', ':', '(', ')');
  247.         for ($x = 0; $x < count($rep); $x++) {
  248.                 $code = str_replace($rep[$x], '&#'.ord($rep[$x]).';', $code);
  249.         }
  250.         return $code;
  251. }

  252. function watermark($code) {
  253.         global $postcolor,$sitename;
  254.                        $code = str_replace("\\"", """, preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code));
  255.         if(!$postcolor) $postcolor= ALTBG2;
  256.         $pieces = explode('<br />', nl2br($code));
  257.         unset ($code);
  258.         foreach ($pieces as $key => $value) {
  259.                         $newmessage .=$value."[color=$postcolor]◎$sitename 版权所有,拒绝转载◎".random(10).'[/color]';
  260.         }
  261.         return $newmessage;
  262. }

  263. function watermarkbbcode($code) {
  264.         global $sitename;
  265.         $code = str_replace("\\"", """, preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code));
  266.         $pieces = explode('<br />', nl2br($code));
  267.         unset ($code);
  268.         foreach ($pieces as $key => $value) {
  269.                         $newmessage .=$value."<font color='".ALTBG2."'>◎$sitename 版权所有,拒绝转载◎".random(10)."</font>";
  270.         }
  271.         return $newmessage;
  272. }

  273. function postsell($price, $message) {
  274.     global $thisbg, $post_sellcount,$db,$post, $sellmessage,$tid,$table_posts,$hacktable_postpay,$discuz_user,$issupermod,$ismoderator,$isadmin,$usermoney,$page,$issellfree;
  275.     //$message=stripslashes($message);
  276. $message = str_replace("\\"", """, preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1",
  277. $message));
  278.     $post_sellcount++;
  279.     $price=abs(intval($price));
  280.     $post['needmoney']=$post['needmoney']+$price;
  281.     $query = $db->query("SELECT COUNT(*) FROM $hacktable_postpay WHERE pid='$post[pid]' AND sellcount='$post_sellcount' ");
  282.     $payusercount=$db->result($query, 0);
  283.     if ($discuz_user){
  284.         if ($usermoney >= $price){
  285.             $paymessage="你的现金是:$usermoney ,可以<a href="postpay.php?action=pay&tid=$tid&pid=$post[pid]&sellcount=$post_sellcount&money=$price&page=$page">[<font color=red>立即付费</font>]</a>。";
  286.         }else{
  287.             $paymessage="你的现金是:$usermoney ,无法付费。去[<a href='plugins.php?p=bank'><font color=red>银行</font></a>]取款或者卖些积分吧。";
  288.         }
  289.     }else{
  290.             $paymessage= "非本站会员无权购买,请您 <a href='logging.php?action=login'>[<font color=red>登陆</font>]</a> 或者 <a href='register.php'>[<font color=red>注册</font>]</a>";
  291.     }
  292.      
  293. $sm1="<br><br><table class='tableborder' cellSpacing='1' cellPadding='4' width='70%' border='0' align='center'><tr class='header'><td width='100%' colSpan='4'>&nbsp;付款证明</td></tr><tr bgColor='#ffffff'><td width='15%'>&nbsp;编号:</td><td width='35%'><span class='small'>&nbsp;<input type='text' name='p101' value='$tid-$post[pid]-$post[postcount]'></span></td><td width='15%'>&nbsp;价格:</td><td width='35%'><img src='images/common/money0.gif'><span class='small'>&nbsp;<input type=text name=p102 value='$price 个' size=6>金币</span></td></tr><tr bgColor='#ffffff'><td><span class='small'>&nbsp;名单:</span></td><td><span class='small'>&nbsp;请付费后再查看!</span></td><td><span class='small'>&nbsp;人数:</span></td><td><span class='smalltxt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=p103 value='$payusercount' size=6></span></td></tr><tr bgColor='#ffffff'><td align='middle' width='100%' colSpan='4'><font color ='#000000'>请付费察看本帖隐藏内容,</font>$paymessage</td></tr></table><br>";

  294. $sm2="<br><br><table class='tableborder' cellSpacing='1' cellPadding='4' width='70%' border='0' align='center'><tr class='header'><td width='100%' colSpan='4'>&nbsp;付款证明</td></tr><tr bgColor='#ffffff'><td width='15%'>&nbsp;编号:</td><td width='35%'><span class='small'>&nbsp;<input type='text' name='p101' value='$tid-$post[pid]-$post[postcount]'></span></td><td width='15%'>&nbsp;价格:</td><td width='35%'><img src='images/common/money0.gif'><span class='small'>&nbsp;<input type=text name=p102 value='$price 个' size=6>金币</span></td></tr><tr bgColor='#ffffff'><td><span class='small'>&nbsp;名单:</span></td><td><span class='small'>&nbsp;<a href='postpay.php?action=showpayuser&tid=$tid&pid=$post[pid]&sellcount=1'>查看</a></span></td><td><span class='small'>&nbsp;人数:</span></td><td><span class='smalltxt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=p103 value='$payusercount' size=6></span></td></tr><tr bgColor='#ffffff'><td align='middle' width='100%' colSpan='4'><font color=red>感谢您的付费!你可以观看以下付费内容了。如发现非法敛财,可以投诉给斑竹。</font></td></tr></table><br>";

  295. $sm3="<br><br><table class='tableborder' cellSpacing='1' cellPadding='4' width='70%' border='0' align='center'><tr class='header'><td width='100%' colSpan='4'>&nbsp;付款证明</td></tr><tr bgColor='#ffffff'><td width='15%'>&nbsp;编号:</td><td width='35%'><span class='small'>&nbsp;<input type='text' name='p101' value='$tid-$post[pid]-$post[postcount]'></span></td><td width='15%'>&nbsp;价格:</td><td width='35%'><img src='images/common/money0.gif'><span class='small'>&nbsp;<input type=text name=p102 value='$price 个' size=6>金币</span></td></tr><tr bgColor='#ffffff'><td><span class='small'>&nbsp;名单:</span></td><td><span class='small'>&nbsp;<a href='postpay.php?action=showpayuser&tid=$tid&pid=$post[pid]&sellcount=1'>查看</a></span></td><td><span class='small'>&nbsp;人数:</span></td><td><span class='smalltxt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=p103 value='$payusercount' size=6></span></td></tr><tr bgColor='#ffffff'><td align='middle' width='100%' colSpan='4'><font color ='green'>您有查看及下载特权,但也可完成提交支付。</font>$paymessage</td></tr></table><br>";


  296.     if ($discuz_user){
  297.         $query = $db->query("SELECT COUNT(*) FROM $table_posts WHERE pid='$post[pid]' AND author='$discuz_user'");
  298.         $isauthor = $db->result($query, 0);
  299.         if($issupermod || $ismoderator || $isadmin || $isauthor ){
  300.             $post['paymoney']=$post['needmoney'];
  301.             $post['payed']=2;
  302.             $sellmessage[$post_sellcount]=$sm2;
  303. } elseif($issupermod || $ismoderator || $isadmin || $issellfree) {
  304.                 $post['paymoney'] = $post['needmoney'];
  305.                 $post['payed'] = 2;
  306.                 $sellmessage[$post_sellcount] = $sm3;
  307.         } else {
  308.             $query = $db->query("SELECT COUNT(*) FROM $hacktable_postpay WHERE pid='$post[pid]' AND  sellcount='$post_sellcount' and money='$price' and username='$discuz_user'");
  309.             if($db->result($query, 0)) {
  310.                 $post['paymoney']=$post['paymoney']+$price;
  311.                 $post['payed']=2;
  312.                 $sellmessage[$post_sellcount]=$sm2;
  313.             }else{
  314.                 $post['payed']=1;
  315.                 $message='';
  316.                 $sellmessage[$post_sellcount]=$sm1;
  317.             }   
  318.         }
  319.     }else{
  320.         $post['payed']=1;
  321.         $message='';
  322.         $sellmessage[$post_sellcount]=$sm1;
  323.     }
  324.     return "|\tDISCUZ_SELL_$post_sellcount\t| ".$message;
  325. }

  326. ?>

复制代码
回复

使用道具 举报

xtggmm 发表于 2006-6-7 10:02:46 | 显示全部楼层
是这个吗?discuzcode.func.php
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-4-20 22:00 , Processed in 0.265598 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表