<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>幻想曲.Net &#187; discuz</title>
	<atom:link href="http://yibin.us/tag/discuz/feed" rel="self" type="application/rss+xml" />
	<link>http://yibin.us</link>
	<description>曾经沧海难为水，除却巫山不是云</description>
	<lastBuildDate>Tue, 15 May 2012 14:31:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Discuz发帖机Python版</title>
		<link>http://yibin.us/archives/6804</link>
		<comments>http://yibin.us/archives/6804#comments</comments>
		<pubDate>Fri, 19 Mar 2010 01:54:19 +0000</pubDate>
		<dc:creator>幻想曲</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[discuz]]></category>

		<guid isPermaLink="false">http://yibin.us/?p=6804</guid>
		<description><![CDATA[流程： 1、获取logging.php?action=login页的源代码，分析得到fromhash 2、输入用户名与密码，POST至/logging.php?action=login&#38;loginsubmit=yes地址 3、得到cookie并保存 4、访问发帖页面并附带上cookie 直接源码吧 运行截图]]></description>
			<content:encoded><![CDATA[<p>流程：</p>
<p>1、获取logging.php?action=login页的源代码，分析得到fromhash</p>
<p>2、输入用户名与密码，POST至/logging.php?action=login&amp;loginsubmit=yes地址</p>
<p>3、得到cookie并保存</p>
<p>4、访问发帖页面并附带上cookie</p>
<p><span id="more-6804"></span></p>
<p>直接源码吧</p>
<pre class="brush: python; title: ; notranslate">
#-*-coding:utf-8-*-
from urllib import urlencode
import cookielib, urllib2,urllib
import os,sys
import re
from xml.dom.minidom import parse, parseString
import getpass
import time
from Queue import Queue
import threading

class Discuz:
    def __init__(self,uid,pwd,**param):
        self.username = uid
        self.password = pwd
        self.para = param
        self.regex = {
            'loginreg':'&lt;input\s*type=&quot;hidden&quot;\s*name=&quot;formhash&quot;\s*value=&quot;([\w\W]+?)&quot;\s*\/&gt;',
            'postreg':'&lt;input\s*type=&quot;hidden&quot;\s*name=&quot;formhash&quot;\s*id=&quot;formhash&quot;\s*value=&quot;([\w\W]+?)&quot;\s*\/&gt;'
        }
        self.opener = None
        self.request = None
        self.islogin = False
        self.donecount = 0
        self.__login()
        self.threadcount = 100    #总线程数
        self.count = 0
        self.totalcount = 100000   #发帖量
    def __login(self):
        try:
            loginPage = urllib2.urlopen(self.para['loginurl']).read()
            formhash = re.search(self.regex['loginreg'],loginPage)
            formhash = formhash.group(1)
            print formhash
            print 'start login......'
            cookiejar = cookielib.CookieJar()
            self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
            values = {
                         'formhash':formhash,
                         'username':self.username,
                         'password':self.password,
                         'loginsubmit':'true'
                     }
            data = urllib.urlencode(values)
            self.request = urllib2.Request(self.para['loginsubmiturl'], data)
            rq = self.opener.open(self.request)

            #print 'login success......'
            self.islogin = True

        except Exception ,e:
            print 'Loggin Error:%s' % e
    def Post(self,subject,wysiwyg,content):
        threads = []
        for i in range(self.threadcount):
            t = threading.Thread(target=self.__postTopic,kwargs={'_subject':subject,'_wysiwyg':wysiwyg,'_body':content})
            threads.append(t)
        for i in range(self.threadcount):
            threads[i].start()
        lst = threading.enumerate()
        for i in range(self.threadcount):
            threads[i].join()
        print 'done'
    def __postTopic(self,**para):
        if not self.islogin:
            print 'please login......'
            return
        while self.count &lt; self.totalcount:
            try:
                print 'current count %d:' % self.count
                print 'current thread name %s' % (threading.currentThread().getName())
                self.request = urllib2.Request(self.para['posturl'])
                rq = self.opener.open(self.request)
                data = rq.read()
                formhash = re.search(self.regex['postreg'],data)
                formhash =  formhash.group(1)
                postdata = {
                    'addtags':'+可用标签',
                    'checkbox':'0',
                    'formhash':formhash,
                    'iconid':'',
                    'message':para['_body'],
                    'subject':para['_subject'],
                    'tags':'',
                    'updateswfattach' : '0',
                    'wysiwyg' : para['_wysiwyg']
                }
                self.request = urllib2.Request(self.para['postsubmiturl'],urllib.urlencode(postdata))
                self.opener.open(self.request)
                self.donecount+=1
                print '%d done.....' % self.donecount
            except Exception,e:
                print e
            if para.has_key('sleep'):
                time.sleep(float(para['sleep']))
            self.count +=1

if __name__=='__main__':
    name = raw_input('username:').strip()
    password = getpass.getpass('password:').strip()
    dz = Discuz(name,password,
    loginurl='http://localhost/logging.php?action=login',
    loginsubmiturl='http://localhost/logging.php?action=login&amp;loginsubmit=yes',
    posturl='http://localhost/post.php?action=newthread&amp;fid=28',
    postsubmiturl='http://localhost/post.php?&amp;action=newthread&amp;fid=28&amp;extra=&amp;topicsubmit=yes',
    sleep='1'
    )
    content='''新手如何 练级更加快？？送极品装备！新手必看
绑定升级钻石账号方法超简单：
1 新用户：直接到推广页面[url=http://tg.sdo.com/38797039]http://tg.sdo.com/38797039[/url]注册账号时在“推广员账号”一栏填推广员号adaccount直接升级钻石账号。
2 已经注册盛.大通行证的玩家在这里绑定直接成为 钻石账号 玩家
第一步: 点此 预绑定用户认证 [url=http://178.sdo.com/web/ConsumerBindUser.aspx]http://178.sdo.com/web/ConsumerBindUser.aspx[/url]
第二步: 点此进行最终绑定确认 [url=http://gift.sdo.com/Consumer/AIONBindUser.aspx]http://gift.sdo.com/Consumer/AIONBindUser.aspx[/url]

推广员填:adaccount'''

    dz.Post('送极品装备！新手必看','1',content)
</pre>
<p>运行截图</p>
<p><a href="http://yibin.us/wp-content/uploads/2010/03/ScreenShot00094.jpg"><img class="alignnone size-full wp-image-6805" title="ScreenShot00094" src="http://yibin.us/wp-content/uploads/2010/03/ScreenShot00094.jpg" alt="" width="389" height="410" /></a></p>
<p><a href="http://yibin.us/wp-content/uploads/2010/03/ScreenShot00095.jpg"><img class="alignnone size-medium wp-image-6806" title="ScreenShot00095" src="http://yibin.us/wp-content/uploads/2010/03/ScreenShot00095-300x116.jpg" alt="" width="300" height="116" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yibin.us/archives/6804/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>我承认我在DZ上有RPWT</title>
		<link>http://yibin.us/archives/6325</link>
		<comments>http://yibin.us/archives/6325#comments</comments>
		<pubDate>Mon, 22 Jun 2009 08:13:02 +0000</pubDate>
		<dc:creator>幻想曲</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[discuz]]></category>

		<guid isPermaLink="false">http://yibin.us/?p=6325</guid>
		<description><![CDATA[操作cdb_sessions表，发现大量的locked，直接后果就是mysql无法响应WEB的请求，WEB无法响应浏览器端的请求。 太壮观： 最为BT的是，这些locked形成之后，必须重启mysql才行]]></description>
			<content:encoded><![CDATA[<p>操作cdb_sessions表，发现大量的locked，直接后果就是mysql无法响应WEB的请求，WEB无法响应浏览器端的请求。</p>
<p><a href="http://yibin.us/wp-content/uploads/2009/06/ScreenShot00019.jpg"><img class="alignnone size-medium wp-image-6326" title="ScreenShot00019" src="http://yibin.us/wp-content/uploads/2009/06/ScreenShot00019-300x203.jpg" alt="ScreenShot00019" width="300" height="203" /></a></p>
<p><a href="http://yibin.us/wp-content/uploads/2009/06/ScreenShot00020.jpg"><img class="alignnone size-medium wp-image-6327" title="ScreenShot00020" src="http://yibin.us/wp-content/uploads/2009/06/ScreenShot00020-300x197.jpg" alt="ScreenShot00020" width="300" height="197" /></a></p>
<p>太壮观：</p>
<pre class="brush: sql; title: ; notranslate">
+-------+------+-----------+--------+---------+------+--------+------------------------------------------------------------------------------------------------------+
| Id    | User | Host      | db     | Command | Time | State  | Info                                                                                                 |
+-------+------+-----------+--------+---------+------+--------+------------------------------------------------------------------------------------------------------+
| 84082 | root | localhost | discuz | Query   |   54 | update | INSERT INTO  cdb_sessions (sid, ip1, ip2, ip3, ip4, uid, username, groupid, styleid, invisible, acti |
| 84083 | root | localhost | discuz | Query   |   54 | Locked | DELETE FROM  cdb_sessions WHERE sid='Z71z19' OR lastactivity&lt;(1245657270-900) OR ('0'&lt;&gt;'0' AND uid=' |
| 84084 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84086 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84085 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84087 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84088 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84089 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84090 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84091 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84092 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84093 | root | localhost | discuz | Query   |   54 | Locked | DELETE FROM  cdb_sessions WHERE sid='wsX92s' OR lastactivity&lt;(1245657270-900) OR ('0'&lt;&gt;'0' AND uid=' |
| 84095 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84096 | root | localhost | discuz | Query   |   54 | Locked | DELETE FROM  cdb_sessions WHERE sid='Ra5ZqL' OR lastactivity&lt;(1245657270-900) OR ('0'&lt;&gt;'0' AND uid=' |
| 84094 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
| 84097 | root | localhost | discuz | Query   |   54 | Locked | SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, l |
| 84100 | root | localhost | discuz | Query   |   54 | Locked | SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, l |
| 84099 | root | localhost | discuz | Query   |   54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid &lt;&gt; 0 |
</pre>
<p><span style="color: #ff0000;"><strong>最为BT的是，这些locked形成之后，必须重启mysql才行</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://yibin.us/archives/6325/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>寻Apache2下Discuz高性能配置方案</title>
		<link>http://yibin.us/archives/6096</link>
		<comments>http://yibin.us/archives/6096#comments</comments>
		<pubDate>Tue, 28 Apr 2009 13:42:55 +0000</pubDate>
		<dc:creator>幻想曲</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[discuz]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://yibin.us/?p=6096</guid>
		<description><![CDATA[服务器品牌 DELL 服务器型号 PE1850 cpu类型 Intel Xeon 2.80GHz cpu个数 2 内存条类型 512M 内存条个数 2 硬盘类型1 36G 硬盘个数1 1 操作系统：Linux centos2 2.6.18-92.el5 Apache 2.0 PHP 5.2.9 目前300并发，持续时间1小时 测试截图: 已安装Discuz7.0版，目前论坛并无帖子。 下午进行LoadRunner测试， 100用户并发时，响应时间在1.5s左右。 400用户并发时，响应时间约为3s，但每秒连接数一直处于170左右，无法继续上升。 此时，web服务器CPU占用70%-80% Db服务器为2%，基本无压力。 在网上看到一些文章，Apache在配置正确的情况下基本上可以处理每秒2K的并发请求，但今天的测试让我大跌眼镜。 响应时间也不够理想，况且这次的测试只是测了首页的访问，而且首页是做了缓存处理的。 最开始是怀疑httpd.conf中最大连接数没有设置正确，改动后重启Apache依然如此。 最令人担忧的是居高不下的CPU占用率。 希望有在Apache下配置Discuz经验的大虾们能给一个合理的配置方案。]]></description>
			<content:encoded><![CDATA[<p>服务器品牌  DELL<br />
服务器型号  PE1850<br />
cpu类型  Intel Xeon 2.80GHz<br />
cpu个数  2<br />
内存条类型  512M<br />
内存条个数  2<br />
硬盘类型1  36G<br />
硬盘个数1  1</p>
<p>操作系统：Linux centos2 2.6.18-92.el5<br />
Apache 2.0<br />
PHP 5.2.9</p>
<p>目前300并发，持续时间1小时<br />
测试截图:</p>
<p><a class="thickbox" href="http://bbs.phpchina.com/attachments/month_0904/09042911287b8c1b085214064d.png"><img class="img" src="http://bbs.phpchina.com/attachments/month_0904/09042911287b8c1b085214064d.png" alt="" /></a><br />
已安装Discuz7.0版，目前论坛并无帖子。</p>
<p>下午进行LoadRunner测试，<br />
100用户并发时，响应时间在1.5s左右。<br />
400用户并发时，响应时间约为3s，但每秒连接数一直处于170左右，无法继续上升。<br />
此时，web服务器CPU占用70%-80%<br />
Db服务器为2%，基本无压力。</p>
<p>在网上看到一些文章，Apache在配置正确的情况下基本上可以处理每秒2K的并发请求，但今天的测试让我大跌眼镜。<br />
响应时间也不够理想，况且这次的测试只是测了首页的访问，而且首页是做了缓存处理的。<br />
最开始是怀疑httpd.conf中最大连接数没有设置正确，改动后重启Apache依然如此。<br />
最令人担忧的是居高不下的CPU占用率。</p>
<p>希望有在Apache下配置Discuz经验的大虾们能给一个合理的配置方案。</p>
]]></content:encoded>
			<wfw:commentRss>http://yibin.us/archives/6096/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Discuz中的同步登录</title>
		<link>http://yibin.us/archives/6084</link>
		<comments>http://yibin.us/archives/6084#comments</comments>
		<pubDate>Sun, 08 Mar 2009 04:40:56 +0000</pubDate>
		<dc:creator>幻想曲</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[discuz]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://yibin.us/?p=6084</guid>
		<description><![CDATA[依附于Discuz UCenter的子应用都会有一个选项： 意思很明白了，那它是如何实现的呢？ UC/Control/user.php中有一个onsynlogin方法，这里就是处理同步登录的。 当调用该方法时，实际上会去调用该应用下api/uc.php文件，将用户名、密码及时间戳做为参数传递。 以上是实现的第一步。 第二步，当应用接收到UC的请求后，会调用uc_note类中的synlogin方法，该方法的核心是送一个P3P的HTTP头，然后种下COOKIE。 对于Disucz这种基于COOKIE验证的应用来说，就实现了同步登录。]]></description>
			<content:encoded><![CDATA[<p>依附于Discuz UCenter的子应用都会有一个选项：<br />
<a class="thickbox" href="http://yibin.us/wp-content/uploads/20090308/2009-03-08_123353.png"><img class="img" src="http://yibin.us/wp-content/uploads/20090308/2009-03-08_123353.png" alt="" /></a><br />
意思很明白了，那它是如何实现的呢？<br />
UC/Control/user.php中有一个onsynlogin方法，这里就是处理同步登录的。</p>
<pre class="brush: php; title: ; notranslate">
function onsynlogin() {
$this-&gt;init_input();
$uid = $this-&gt;input('uid');
if($this-&gt;app['synlogin']) {
if($this-&gt;user = $_ENV['user']-&gt;get_user_by_uid($uid)) {
$synstr = '';
foreach($this-&gt;cache['apps'] as $appid =&gt; $app) {
if($app['synlogin'] &amp;&amp; $app['appid'] != $this-&gt;app['appid']) {
$synstr .= '&lt;script type=&quot;text/javascript&quot; src=&quot;'.$app['url'].'/api/uc.php?time='.$this-&gt;time.'&amp;code='.urlencode($this-&gt;authcode('action=synlogin&amp;username='.$this-&gt;user['username'].'&amp;uid='.$this-&gt;user['uid'].'&amp;password='.$this-&gt;user['password'].&quot;&amp;time=&quot;.$this-&gt;time, 'ENCODE', $app['authkey'])).'&quot; reload=&quot;1&quot;&gt;&lt;/script&gt;';
}
}
return $synstr;
}
}
return '';
}
</pre>
<p>当调用该方法时，实际上会去调用该应用下api/uc.php文件，将用户名、密码及时间戳做为参数传递。<br />
以上是实现的第一步。<br />
第二步，当应用接收到UC的请求后，会调用uc_note类中的synlogin方法，该方法的核心是送一个<span style="color: navy;">P3P的HTTP头</span>，然后种下COOKIE。</p>
<pre class="brush: php; title: ; notranslate">
$discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']);
header('P3P: CP=&quot;CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR&quot;');
$uid = intval($uid);
$query = $this-&gt;db-&gt;query(&quot;SELECT username, uid, password, secques FROM &quot;.$this-&gt;tablepre.&quot;members WHERE uid='$uid'&quot;);
if($member = $this-&gt;db-&gt;fetch_array($query)) {
_setcookie('sid', '', -86400 * 365);
_setcookie('cookietime', $cookietime, 31536000);
_setcookie('auth', _authcode(&quot;$member[password]t$member[secques]t$member[uid]&quot;, 'ENCODE', $discuz_auth_key), $cookietime);
} else {
_setcookie('cookietime', $cookietime, 31536000);
_setcookie('loginuser', $username, $cookietime);
_setcookie('activationauth', _authcode($username, 'ENCODE', $discuz_auth_key), $cookietime);
}
</pre>
<p>对于Disucz这种基于COOKIE验证的应用来说，就实现了同步登录。</p>
]]></content:encoded>
			<wfw:commentRss>http://yibin.us/archives/6084/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Discuz Ucenter短消息设计</title>
		<link>http://yibin.us/archives/6079</link>
		<comments>http://yibin.us/archives/6079#comments</comments>
		<pubDate>Wed, 25 Feb 2009 14:00:14 +0000</pubDate>
		<dc:creator>幻想曲</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[discuz]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[uc]]></category>

		<guid isPermaLink="false">http://yibin.us/?p=6079</guid>
		<description><![CDATA[UCenter中关于短消息这一块的数据表结构如下： 不大理解这里的delstatus/related二个字段的作用。 delstatus语义上应该是标识该消息的删除状态 related语义为关联， 现在试着以admin给yibin001发一件消息 所执行的SQL语句 以yibin001登录并回复短消息 sql语句 光看这部分有点晕，没看出delstatus/related二个字段的作用。]]></description>
			<content:encoded><![CDATA[<p>UCenter中关于短消息这一块的数据表结构如下：<br />
<a class="thickbox" href="http://yibin.us/wp-content/uploads/20090225/2009-02-25_215017.png"><img class="img" src="http://yibin.us/wp-content/uploads/20090225/2009-02-25_215017.png" alt="" /></a><br />
不大理解这里的delstatus/related二个字段的作用。<br />
delstatus语义上应该是标识该消息的删除状态<br />
related语义为关联，<br />
现在试着以admin给yibin001发一件消息<br />
<a class="thickbox" href="http://yibin.us/wp-content/uploads/20090225/2009-02-25_215451.png"><img class="img" src="http://yibin.us/wp-content/uploads/20090225/2009-02-25_215451.png" alt="" /></a><br />
所执行的SQL语句</p>
<pre class="brush: sql; title: ; notranslate">
SELECT count(*) FROM `ucenter`.uc_pms WHERE msgfromid='1' AND msgtoid='2' AND folder='inbox' AND related='0'
INSERT INTO `ucenter`.uc_pms (msgfrom,msgfromid,msgtoid,folder,new,subject,dateline,related,message,fromappid) VALUES ('admin','1','2','inbox','1','测试消息','1235570029','0','测试消息','1')
SELECT count(*) FROM `ucenter`.uc_pms WHERE msgfromid='2' AND msgtoid='1' AND folder='inbox' AND related='0'
INSERT INTO `ucenter`.uc_pms (msgfrom,msgfromid,msgtoid,folder,new,subject,dateline,related,message,fromappid) VALUES ('admin','2','1','inbox','0','测试消息','1235570029','0','测试消息','0')
INSERT INTO `ucenter`.uc_pms (msgfrom,msgfromid,msgtoid,folder,new,subject,dateline,related,message,fromappid) VALUES ('admin','1','2','inbox','1','测试消息','1235570029','1','测试消息','1')
REPLACE INTO `ucenter`.uc_newpm (uid) VALUES ('2')
</pre>
<p>以yibin001登录并回复短消息</p>
<p><a class="thickbox" href="http://yibin.us/wp-content/uploads/20090225/2009-02-25_215835.png"><img class="img" src="http://yibin.us/wp-content/uploads/20090225/2009-02-25_215835.png" alt="" /></a><br />
sql语句</p>
<pre class="brush: sql; title: ; notranslate">
SELECT count(*) FROM `ucenter`.uc_pms WHERE msgfromid='2' AND msgtoid='1' AND folder='inbox' AND related='0'
UPDATE `ucenter`.uc_pms SET subject='回复', message='回复', dateline='1235570298', new='1', fromappid='1' WHERE msgfromid='2' AND msgtoid='1' AND folder='inbox' AND related='0'
SELECT count(*) FROM `ucenter`.uc_pms WHERE msgfromid='1' AND msgtoid='2' AND folder='inbox' AND related='0'
INSERT INTO `ucenter`.uc_pms (msgfrom,msgfromid,msgtoid,folder,new,subject,dateline,related,message,fromappid) VALUES ('yibin001','2','1','inbox','1','回复','1235570298','1','回复','1')
REPLACE INTO `ucenter`.uc_newpm (uid) VALUES ('1')
</pre>
<p>光看这部分有点晕，没看出delstatus/related二个字段的作用。</p>
]]></content:encoded>
			<wfw:commentRss>http://yibin.us/archives/6079/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

