笛声悠扬 Publish time 2006-4-30 22:11:18

我原来在用3.x时,调用一切正常,后来升级到4.3.2时,调用老是出现非法帖子,但能进入blog。后来发现,原来在news.php文件里:有这样一段://没有开通“静态目录”功能的朋友将“blog/htm/do_showone/”修改成“blog.php?do_showone/”
   $newlist .= "document.write(\"<a href=$forumurl/blog/htm/do_showone/tid_$threads.html
我在改写时,把下横线及一个/改为上横线,一切正常了。即:正确的修改为:“blog.php?do-showone-tid-$threads.html”

笛声悠扬 Publish time 2006-4-30 21:13:31

首页调用插件 for PW/blog 4x


<?php
/*
** 插件名称:首页调用插件 for PW/blog 4.x
** 原 作 者:bg9cx
** 修改:无言沙漠
** 最后更新:2005.12.25
** 使用说明:
** 1.把插件文件news.php复制到博客的根目录,根据你的情况设置$lockurl,$forumurl,$cachetime的值。
** 2.调用方法
** 在首页(也可是其他页面)里加入(里面的路径请根据实际情况修改)
** <script src="http://yourhost/blog/news.php?cidin=xx&orders=xx&info=xx&num=xx&length=xx&pre=xx"></script>
** 参数说明:
**   cidin(out):是调用博客的板块参数,整个博客调用 cidin=all,调用第一个板块:cidid=1;调用2,3板块:cidid=2_3;
**   不显示2和10两个博客的新帖cidout=2_10;依次类推,
**   orders(可选,默认为0):   新贴排序方式(0最后回复时间1点击2发表时间)
**   num(可选,默认为10):   调用新帖的数目
**   length(可选,默认为70):新贴标题长度限制
**   pre(可选,默认为1):   新贴标题显示前缀参数
**   info(可选):   新贴标题后增加显示信息(0)
** 例子:<script src="http://blog.5y6s.net/news.php?cidin=all&num=10&length=30&orders=2&pre=1&info=1"></script>
** 演示:http://blog.5y6s.net/news.htm
** 没有开通“静态目录”功能的朋友将“blog/htm/do_showone/”修改成“blog.php?do_showone/”
*/

$lockurl   = &#39;5y6s.net&#39;;   //允许调用网址,为空则不开放此功能.如果你的首页为www.5y6s.net则只需要修改为5y6s.net其他东西不要加
$forumurl   = &#39;http://blog.5y6s.net&#39;;   //博客地址。后面不要加&#39;/&#39;
$cachetime   = &#39;6&#39;;   //缓存文件更新时间单位秒

$headin   = &#39;<li>&#39;;// 标题前字符,可以用图片:<img src=http://localhost/20youth/forum/logo.gif border=0>
$headin   = &#39;◇ &#39;;      
$headin   = &#39;· &#39;;
$headin   = &#39;○ &#39;;
$headin   = &#39;● &#39;;
$headin   = &#39;&#39;;
$info_color = &#39;red&#39;;//标题后增加显示信息颜色,例如作者,时间,点击数


error_reporting(0);
set_magic_quotes_runtime(0);
if (!get_magic_quotes_gpc())
{
Add_S($_GET);
}
//if (trim($lockurl)==""||strpos($_SERVER[&#39;HTTP_REFERER&#39;],$lockurl)===false)
//{
//   exit("document.write(\"数据被保护,禁止被其他站点调用!或者你没有设置\$lockurl参数。\");");
//}
$cidin   = $_GET[&#39;cidin&#39;];
$cidout = $_GET[&#39;cidout&#39;];
$good   = $_GET[&#39;good&#39;];
$info   = $_GET[&#39;info&#39;];
$num   = $_GET[&#39;num&#39;] ? $_GET[&#39;num&#39;] : 10;
$length   = $_GET[&#39;length&#39;] ? $_GET[&#39;length&#39;] : 70;
$pre   = $_GET[&#39;pre&#39;] ? $headin[$_GET[&#39;pre&#39;]] : $headin;
$orders   = $_GET[&#39;orders&#39;] ? $_GET[&#39;orders&#39;] : 0;

if ($orders == 0)
{
$listorder=&#39;lastpost&#39;;
}
else if ($orders == 1)
{
$listorder=&#39;hits&#39;;   
}
else if ($orders == 2)
{
$listorder=&#39;postdate&#39;;
}
else if ($orders ==3 )
{
$listorder=&#39;lastpost&#39;;
}
else
{
$listorder=&#39;lastpost&#39;;
}
$cachefile = &#39;./data/cache/new_&#39;.md5("$cidin$cidout$orders$good$num$length$pre$info").&#39;.php&#39;;

if ((time() - @filemtime($cachefile) >= $cachetime))
{
require &#39;data/sql_config.php&#39;;
mysql_connect($dbhost, $dbuser, $dbpw);
mysql_select_db($dbname);

$forumadd = &#39;&#39;;
if($cidin != &#39;all&#39;)
{
   $cidin && $forumadd = &#39;WHERE cid IN (\&#39;&#39;.str_replace(&#39;_&#39;, &#39;\&#39;,\&#39;&#39;, $cidin).&#39;\&#39;)&#39;;
   $cidout&& $forumadd = &#39;WHERE cid NOT IN (\&#39;&#39;.str_replace(&#39;_&#39;, &#39;\&#39;,\&#39;&#39;, $cidout).&#39;\&#39;)&#39;;
}
if ($good == &#39;yes&#39; && $cidin != &#39;all&#39;)
{
   $forumadd .= "and digest>0";
}
if ($good == &#39;yes&#39; && $cidin == &#39;all&#39;)
{
   $forumadd = "where digest>0";
}

$query = mysql_query("SELECT tid,cid,icon,author,authorid,subject,postdate,hits FROM {$PW}blog $forumadd ORDER BY $listorder DESC LIMIT 0, $num") or die(mysql_error());
$newlist="";
while ($threads = mysql_fetch_array($query))
{
   $threads = substrs($threads, $length);
   //没有开通“静态目录”功能的朋友将“blog/htm/do_showone/”修改成“blog.php?do_showone/”
   $newlist .= "document.write(\"<a href=$forumurl/blog/htm/do_showone/tid_$threads.html target=_blank>$pre$threads</a>\");\n";
   switch($info)
   {
      case "1"://时间作者
         $posttime=date("Y-m-d H:i",$threads);
          $newlist.="document.write(\"(<font color=$info_color>$posttime</font>by<a href=http://$threads.5y6s.net/ target=_blank>$threads</a>)<br>\");\n";
          break;
      case "2"://时间
          $posttime=date("Y-m-d H:i",$threads);
          $newlist.="document.write(\"(<font color=$info_color>$posttime</font>)<br>\");\n";
          break;
      case "3"://作者
          $newlist.="document.write(\"(<a href=http://$threads.5y6s.net/ target=_blank><font color=$info_color>$threads</font></a>)<br>\");\n";
          break;
      case "4"://点击
          $newlist.="document.write(\"(<font color=$info_color>$threads</font>)<br>\");\n";
          break;
      default:
      $newlist.="document.write(\"<br>\");\n";
    }
}
echo $newlist;
@writeover($cachefile,$newlist);
}
else
{
@include($cachefile);
}
/**
*函数列表
*/
function writeover($filename,$data,$method="rb+",$iflock=1){
touch($filename);
$handle=fopen($filename,$method);
if($iflock){
   flock($handle,LOCK_EX);
}
fputs($handle,$data);
if($method=="rb+") ftruncate($handle,strlen($data));
fclose($handle);
}
function substrs($content,$length) {
if(strlen($content)>$length){
   $num=0;
   for($i=0;$i<$length-3;$i++) {
      if(ord($content[$i])>0xa0)$num++;
   }
   $num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
   $content.=&#39; ...&#39;;
}
return $content;
}
function Add_S(&$array){
foreach($array as $key=>$value){
    if(!is_array($value)){
       $array[$key]=addslashes($value);
    }else{
       Add_S($array[$key]);
    }
}
}
?>

Pages: [1]
View full version: 首页调用插件 for PW/blog 4x