日志文章


2006-08-08

【笨笨出品】Hack——增强版评分显示!(last updated 08.21)

Hack名称:评分增强
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:简单
hack特点:美化评分显示界面,可显示评分时间及评分理由。较官方的好看。
增加表 :无
影响字段:随意。可选择修改pw_tmsgs和表pw_posts表中的ifmark字段为text字段。
增加文件:无
修改文件:
read.php
job.php
template/风格目录/read.htm(可能有多个)



请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。


为了防止评分多的时候不显示之前的评分记录,可以选择执行这句(这步可以不操作)

Copy code

ALTER TABLE `pw_posts` CHANGE `ifmark` `ifmark` TEXT;
ALTER TABLE `pw_tmsgs` CHANGE `ifmark` `ifmark` TEXT;




这两句sql,将ifmark字段类型改成text,这样就突破了255长度的限制。

然后开始将修改文件。请注意,在修改前请先做好备份!

1.打开job.php
找到
Copy code

$ifmark=$atc['ifmark']? $name.':'.$addpoint.'('.addslashes($windid).")\t".$atc['ifmark'] : $name.':'.$addpoint.'('.addslashes($windid).')';
  if(strlen($ifmark)>120){
    $ifmark=substr($ifmark,0,120);  
    $ifmark=substr($ifmark,0,strrpos($ifmark,"\t"));
  }



替换为
Copy code
  //add by 笨笨啊 评分增强
  $atc_content=str_replace("|","Ä",$atc_content);
  $ifmark=$atc['ifmark']? $name.':'.$addpoint.'('.addslashes($windid)."|$timestamp|".Char_cv($atc_content).")\t".$atc['ifmark'] : $name.':'.$addpoint.'('.addslashes($windid)."|$timestamp|".Char_cv($atc_content).')';
  //add by 笨笨啊 评分增强



2.打开template/模板目录/read.htm

找到:
Copy code

<table cellspacing=1 cellpadding=4 bgcolor=$tablecolor>
<tr><td align=center class=t_one>此帖被评分,最近评分记录<table>$read[mark]</table></td></tr></table>


替换为:

Copy code
<table cellspacing="1" cellpadding="4" width="98%" align="center" class='i_table'>
<tr align="center" class="head">
<td width="15%">评分者</td><td width="25%">时间</td><td width="15%">分数</td><td width="45%">理由</td></tr>
</tr>
$read[mark]
</table>



3.打开read.php
找到
Copy code


  if($read['ifmark']){
    $markdb=explode("\t",$read['ifmark']);
    $markinfo="<tr>";
    foreach($markdb as $key=>$value){
        $markinfo.='<td>'.$value.'</td>';
        $key++;
        if($key%3==0)$markinfo.='</tr><tr>';
    }
    $markinfo.='</tr>';
    $read['mark']=$markinfo;
  } else{
    $read['mark']='';
  }



替换为

Copy code

//add by 笨笨啊 评分增强
 
/*  
  if($read['ifmark']){
    $markdb=explode("\t",$read['ifmark']);
    $markinfo="<tr>";
    foreach($markdb as $key=>$value){
        $markinfo.='<td>'.$value.'</td>';
        $key++;
        if($key%3==0)$markinfo.='</tr><tr>';
    }
    $markinfo.='</tr>';
    $read['mark']=$markinfo;
  } else{
    $read['mark']='';
  }
*/
  if($read['ifmark']){
    $markdb=explode("\t",$read['ifmark']);
    foreach($markdb as $key=>$value){
        list($tmark_3,$tmark)=explode("(",$value); //得到评分的结果
        $tmark=str_replace(")","",$tmark);
        list($tmark_1,$tmark_2,$tmark_4)=explode("|",$tmark);         //得到评分人,评分时间,以及评分理由
        $tmark_4=str_replace("Ä","|",$tmark_4);
        $tmark_1="<a href='profile.php?action=show&username=$tmark_1' target=_blank>$tmark_1</a>";
        //因为之前的评分是没有时间的,所以要先加个判断
        if($tmark_2)
          {
          $tmark_2=get_date($tmark_2);
          }
        else
          {
          $tmark_2='unknow time';
          }
        if(!$tmark_4) $tmark_4=" ";
          $markinfo.="<tr align='center'>";
          $markinfo.="<td>$tmark_1</td>";
          $markinfo.="<td>$tmark_2</td>";
          $markinfo.="<td align='left'>$tmark_3</td>";
          $markinfo.="<td>$tmark_4</td>";
          $markinfo.="</tr>";
          }
    $markinfo.='</tr>';
    $read['mark']=$markinfo;
  } else{
    $read['mark']='';
  }

//add by 笨笨啊 评分增强


完成~

截图



===============华丽的分割线 For 0821更新=============
解决了不能显示2条以上评分问题:
1.如果需要显示所有的评分,请勿必要执行开头的两句sql,使得字段变成text,以防数据溢出
2.如果之前安装此hack的,请打开job.php,找到
Copy code
  if(strlen($ifmark)>120){
    $ifmark=substr($ifmark,0,120);  
    $ifmark=substr($ifmark,0,strrpos($ifmark,"\t"));
  }


替换为(其实就是注释掉)
Copy code
/*
  if(strlen($ifmark)>120){
    $ifmark=substr($ifmark,0,120);  
    $ifmark=substr($ifmark,0,strrpos($ifmark,"\t"));
  }
*/


OK~

上面的安装文档已更新主程序包(0821)
版主评分hack.rar


类别: 无分类 |  评论(57) |  浏览(5192) |  收藏
一共有 57 条评论
笨笨啊 2006-08-08 20:45 Says:
Quote:
引用第8楼jackeye2006-08-08 20:44发表的“Re:【笨笨出品】Hack--增强版评分显示!”:
这种插件还是不要用


又要增加资料表

.......


没有增加数据库的查询
也没有增加字段

可以自己决定是否更改ifmark字段的字段类型,不修改也不影响使用
Seac 2006-08-08 20:45 Says:
来顶了不错啊!
jackeye 2006-08-08 20:44 Says:
这种插件还是不要用


又要增加资料表

又查寻资料表

资料库会拖累
蕉雨琴Ⅲ 2006-08-08 20:44 Says:
不错哦~~谢谢
笨笨啊 2006-08-08 20:44 Says:
Quote:
引用第5楼greenrock2006-08-08 20:41发表的“”:
表格结构一个改进可能的压缩,演示图的表格太大了



可以在模板文件里修改表格的宽度

默认的是98%

可以调小,不同的风格可以不同的显示风格
greenrock 2006-08-08 20:41 Says:
表格结构一个改进可能的压缩,演示图的表格太大了
伊泽浩 2006-08-08 20:41 Says:
支持,好东西
3212556 2006-08-08 20:40 Says:
嘿嘿,没有板凳老~
cnfk 2006-08-08 20:40 Says:
看看抢到了啥。


慢了一拍,哈哈。。。。先来用用。
笨笨啊 2006-08-08 20:39 Says:
沙发自己坐
« 1 23» Pages: ( 1/3 total )