当前位置:编程学习 > php >>

disucz代码分析

1.discuz/templates/default/viewthread_fastpost.htm :
表单中请求地址为action="post.php?action=reply&fid=$fid&tid=$tid&extra=$extra&replysubmit=yes<!--{if $ordertype != 1}-->&infloat=yes&handlekey=fastpost
看最后的handlekey=fastpost

2.discuz/post.php 引入了 bbs/include/newreply.inc.php
Php代码 
      
//file_put_contents(bbbb.txt,"viewthread.php?tid=$tid&pid=$pid&page=$page&extra=$extra#pid$pid");  
//viewthread.php?tid=1&pid=21&page=2&extra=page%3D1#pid21  
showmessage($replymessage, "viewthread.php?tid=$tid&pid=$pid&page=$page&extra=$extra#pid$pid"); 

  
 //file_put_contents(bbbb.txt,"viewthread.php?tid=$tid&pid=$pid&page=$page&extra=$extra#pid$pid");
 //viewthread.php?tid=1&pid=21&page=2&extra=page%3D1#pid21
 showmessage($replymessage, "viewthread.php?tid=$tid&pid=$pid&page=$page&extra=$extra#pid$pid");


3.discuz/include/global.func.php 中showmessage();
Php代码 
elseif($handlekey)   
{  
    $show_message = str_replace("", "", $show_message);  
    if($url_forward)   
    {  
        $show_message = "<script type="text/javascript" reload="1">  
                        if($(return_$handlekey)) $(return_$handlekey).className = onright;   
                        if(typeof submithandle_$handlekey ==function)   
                        {  
                            submithandle_$handlekey($url_forward, $show_message);  
                        }   
                        else   
                        {  
                            location.href=$url_forward;//这就是跳转回来提交页,在下面模板中被echo  
                        }   
                        </script>";  
    }   
    省略.....   
}    

 elseif($handlekey)
 {
  $show_message = str_replace("", "", $show_message);
  if($url_forward)
  {
   $show_message = "<script type="text/javascript" reload="1">
        if($(return_$handlekey)) $(return_$handlekey).className = onright;
       if(typeof submithandle_$handlekey ==function)
       {
        submithandle_$handlekey($url_forward, $show_message);
       }
       else
       {
        location.href=$url_forward;//这就是跳转回来提交页,在下面模板中被echo
       }
       </script>";
  }
  省略..... 
 } 


showmessage()最后
Php代码 
include template(showmessage); 

 include template(showmessage);


4.disucz/templates/default/showmessage.htm
Php代码 
{echo str_replace(array({lang return_search}), array({lang return_replace}), $show_message)}

补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,