Oct 20

原子弹的理论本身其实很简单:只要你拿到两堆正确的物质(通常是铀235或钸), 
然后把它们「紧 紧地」放在一起,这样维持一段够长的时间,其它的事情就不必我们操心 
了,原子弹爆炸的好戏会自然 上场。这篇文章的目的,就是告诉你怎样在家里做原子弹。 

准备工作: 
我们大约需要30磅的铀235,体积差不多有一个棒球的大小,再配合一些很容易到手的 
材料,这种 原子弹就能使1/3哩以内任何东西化为乌有;2/3哩以内的东西严重受损; 
在1。25哩半径内的人都会受到致命的辐射线;辐射尘随风飘扬,能使40哩内的人都致 
病。如果它在纽约市引爆,大概有2 5万人会死亡,还有40万人会受伤。这种效果恐怖 
份子应该会很满意;这种原子弹甚至在战场上也都能派上用场。 不过,要提醒各位: 
铀235的分量不要超过45磅,因为对这样多的铀,其引爆的技巧相当困难,单凭业余的 
机槭工匠,大概是无法适时且有效地把这些东西凑在一起。挺有可能你还没做 一半,它就 
在你面前爆炸了,那可就真浪费感情。我个人的偏好是用36磅或37磅的铀235,因为 
这样效果不差,而且,如果设计上出点小差错,也不致于有太严重的后果。 一旦把足够的 
材料紧聚在一起,我们最棘手的技术就是得使它们能紧聚在一起维持约半秒钟,这半秒钟 
的延迟就是技术上最主要的问题。原因是这样的:当这两堆物质靠太近时,会发生剧烈的 
反应而产生大量的能量,在瞬间(比一秒钟小很多)迫使这两堆物质分开。这样的结果和 
爆竹的效果差不多,几百尺外的人根本不知道有这回事。对一个稍有「自尊」的恐怖份子 
而言,是不会以此为满足的,对吗?所以,当务之急就是要设计出一套办法,使两堆 
铀235能聚得久一点,好让一些比较惊人的「大事」发生。 如果你这位恐怖份子有栋两 
层楼房(含地下室)、两根火药、15包水泥、20立方码的沙石,那么大约只要一个礼 
拜就可以完工了。全部的费用,除去房租不算,大概只要3,000美元就够了。根据当 
前汇率,折合原子弹民币大概就是25000元。最后的问题是怎样把铀23 5或钸弄到手,这 
留待后面再谈。 

开始动工: 
准备妥当后,第一件事就是把分批弄来的铀235分成二等分,用一对半球容器装起来, 
你或可用乙炔喷灯(AcetyleneTorch)来作。铀的熔点是414。2℃,而乙炔喷灯的燃 
点是526。4℃,因此理 论土来说,乙炔喷灯足以熔化铀235。也许你应该花几十块 
耐火砖作个窑,加上一个风箱,效果会此较好;不过如果你有耐心再加上一些运气(因为 
铀这东西燃烧会爆炸),乙炔喷灯应该是够用的了。 铀熔成液体后,流到半球状的洼槽 
(制陶瓷用的耐火泥就可派上用场),则第一个半球型作好冷却了, 再移开作第二个。有 
件事要注意:这时候,在这区域附近不能有人。因为,铀有对人不利的特性。如果铀熔化 
时你就在现场,那么,你总会吸进一点,嘿嘿…,其结果不是说你会少活几年,而是你只 
剩下 几个钟头好活了! 如果你这个恐怖份子确能置个人生死于度外,那当然就不必计较 
这些了,否则我建议你采用自动控制装置。当铀熔化时,和它相隔50尺,再用5吨铅隔 
离,这样应该足够安全了。将铀235分成两堆的工作完成后,你就应分别用铅箱装好。 
再从二楼挖个洞通到地下室,用一对黑铁管接起来,使总长约20尺左右。若能用6寸厚 
的水泥敷于管外可能稍好,不过如果地板够坚实,而且房子是建在岩石上,也可以不必这 
么麻烦。在放下管子之前,先把装铀的半球形容器的平面朝上放在水泥 上,再把管子放置 
妥当,原子弹就已完工一半了。为了不使铀散逸,地下室应该用沙、石、水泥和水混合填 
好,但因为这只要用一次就达到目的了,做得好不好看也无所谓啦。真正要注意的是,管 
子外面有足够的阻挡力量,使原子弹在爆炸前铀不致漏出。其实只要半液体状的沙泥混合物,就足以担当大任了。 如此这般,原子弹的接收部分就完工了。 
引爆部分比较难做,构想之一是将另一个半球容器放在管子的上端,引爆时,让它倒向下 
面的接收部分就可以了。原理上虽很简单,但有些技术上的困难不易解决,比如说,如果 
引爆用的半球容器放歪了一 点,它就会沿着管子滑下来,这样你想成为恐怖份子的美梦就 
落空了,因为这种死法不会让人觉得恐怖,只会成为茶余饭后的笑料罢了。 目前可能是最 
简单而有效的设计,把一个细线织成的罩子(就像 夏天防苍蝇的那种),放在管子的上端, 
再塞进管内,留约3~4寸在外面;这时再把另一段4尺长的管子焊在原来的管子上。若 
要使连接的部分更牢,可以在此部分钻几个洞,把铁钉插进去。然后拿3尺长的2。5寸 
铜管,里面装熔化的铅,将引爆的半球容器安在铅底座中一个吻合的凹槽里;另一根铁棍 
则凿入管子的另一端约一尺,这装置总重量是80~95磅。 最后,把有螺纹的盖子套在 
管子上头, 等到它能旋得松紧自如时,再将它拿下来,在它上面钻一个洞,使能容得下引 
爆的装置杆;装置杆则留 下6~8寸长露出洞口,杆上并恰留钻一个钉孔。将各种大小不 
同的钉子试着去配合,最恰当的大小是能合于整个引爆装置(当然,试着配合时暂不在接 
受管上端作,以免危险)。然后,将TNT或原子弹涂在一个碟子上(最好是咖啡壶中过滤器的 
底座),再塞进去,并插进一两个雷管。这放在引爆装置杆的四周,再由一两条引线连出 
来到外面,然后把它旋紧,原子弹就大功告成了。剩下的工作只是把引线接到定时器上, 
再把下端的安全针拔掉,然后离开这城市,约12小时后,这城市就离开这个世界了。 
定时器一旦引爆,其力量足使另一个安全针脱落,引爆装置就掉到接收部分去,即使不考 
虑爆炸产生的加速度,光是重力就足使95磅的物体由20尺高空掉下,产生8X10的 
十次方耳格/秒的动能。把爆炸所生的冲力考虑进去,则接触点有10的十二次方耳格/秒 
的动能,可使两个半球容器接触的时间够长,而产生令人满意的效果。 
防辐设备: 
为了要将所有重要的步骤交代清楚,应该再将几个小问题说明一下。例如,前文曾经简略 
地谈到,用乙炔喷灯时要考虑铀有发火燃烧的可能性。其实,应该说整个机械操作都要在 
「乳状液槽」中进行。对不太熟悉机械技术操作的人而言,所谓乳状液就是一种看来像牛 
乳一样的液体,和油有许多相似之处,可是不会发火燃烧。这种乳状液在一般机械工厂供 
货商处都很容易买到,而且不会有入问你买这种东西干什么?用了这种乳状液,可以使危 
险降到最低程度。事实上,若我们要溶解铀或对铀作机械处理,最好在纯氮的大气中才安 
全。可是如果你够小心,而且运气又好的话,那么也不必用这种极端安全的方法。 辐射的 
问题是比较麻烦的一点,镭的辐射量和重量成正比,但铀的辐射量和重量却是成指数关系 
(也是这种性质使它具有爆炸性)。因为每个半球所装的质量都超过了临界值的一半,所 
以和它们同在一间房子里非常地危险。只吸进去一点点含放射性尘埃的空气,就意味着你 
马上要离开这个世界。因此我建议所有的工作人员应有其它的氧气供应,每人口中含个氧 
气管或可解决这个问题。但要通盘解决辐射的问题可能比较麻烦,不过只要有决心,加上 
智能和运气,这问题还是可以克服的。 我还要建议采用一种用铅作成外壳而且有动力的 
轮椅,让操作员坐在里面可以安全地作业。上面只要开个小缝,用铅作的玻璃当窗户,操 
作员就可以看到外面。铅作的袖子和手套,可以用来作一些需要和铀碰触的机械动作。为 
了防止辐射外逸,整栋房子的墙壁、地板都需覆盖上一层铅;地下室的天花板也要加上一 
层铅板,以免接收部分产生辐射的问题。算起来起码要用上6~8吨的铅,以维持基本的 
安全问题。这么一来,又得多花工夫支撑地板,免得垮下来。这些工作都作好了,就可以开始动手制造原子弹。 
如果你想作一道「红烧兔子」大餐,打开食谱第一步就是要抓一只兔子来!同理,现在你 
也会问:「怎 样把铀235弄到手?」(铀235通常此钸容易拿到。)其实,你只要平 
时注意看报纸,应该不难知道,核能发电厂里就有。只要由电厂里偷根控制棒出来,把它 
熔了,再把其中没有用的铀238分离出来就成了。 要潜入一个核子反应炉,说起来并不 
是什么太难的事,尤其大学校园中的核子反应炉,都只有些马马虎虎的安全设施。一般设 
施就是些带刺铁丝网围墙,门口站了一两个警卫。事前可以作出误闯的样子来几次投石问 
路,看看有没有什么电子安全装置,大概结果都是根本没有的。可是我们偷偷摸摸的潜进 
去并没有什么用,因为铀非常的重,不要讲是一个人,就算是一队人马开进去,也搬不到 
足够的分量出来。尤其这批人马又身装铅甲以防辐射,就更不管用了。依我之见,干脆偷 
辆卡车和拖车(要那种特重型的,就是运三峡电站转子的那种),干掉警卫,代以自己人, 
然后就直闯进去拿你要的东西,很干脆,效率又高。 不过,反应器都是装在一个镍-铁合 
金的球状容器里,容器再浸在水中,通常,旁边会有千斤顶,以便修护时用,所以也可以 
顺便用来把整个反应炉心起出来放到卡车里。不过要注意一件事,搬动反应器时要拔出一 
些燃料棒,或是插进一些节制棒,否则你和整个反应器都要化为灰烬。建议你或可向当时 
被你挟制的人质请教这方面的技术,以便搬动炉心。 此外,整个反应器重约50吨,加上 
拖车需要6寸厚的铅板作防护,所以拖车如何拖动65吨的重量,还是颇伤脑筋的(所以 
前面要用特重型的拖车,要不然到了地,炉子也搬上车了,却发现拖不动,那不是面子都 
丢尽了)。或者,你觉得搬走整个反应器不切实际,也可以只带走约 1,200磅的备 
用燃料棒。不过千万也要带着石墨或铅,免得燃料棒因不断地反应生热而熔化了。如果 
你忘了这步骤,回家打开盖子,只会看到一堆熔化了的铀,而且四处散射,可能你当场 
就一命呜呼而遗笑万年。性命是小,这脸咱可丢不起,所以别忘记拿了1,200磅的 
燃料棒之后,要和15,000 磅的石墨或铅混合。反应器的铀大约含3%的铀235 
(自然界铀则只含0.5%的铀235),做原子弹的铀则需要97%的铀235,否则 
根本不爆炸。到手的1,200磅燃料棒,可以提炼出所需要约36磅的铀235,不过要 
有耐心和经验去分离它。如果你自知无法全部把铀235分离出来,就得多弄点燃料棒。 
一般说来,以目前的技术,要达到每次增加纯度25%并没有什么问题,所以你最少要 
弄到4,800磅的燃料棒,若能弄到9,600磅最好。把这些加上去,你总共要带 
15万磅(75 吨)的东西。其次还要找个地方放这些东西,我建议你租间仓库,如用原 
来那两层楼的建筑来分离铀似乎不太实际,因为这至少需要2万平方尺的空间。 

分离高招: 
下面就要考虑用什么方法来分离铀235。对恐怖份子来说,气体扩散法是好方法之一, 
这也是早期制造原子弹时所采用的,不但可靠又不必太复杂的技术。不过花费较多,而且 
所用的化学药品更是吓人。 首先,你要有约12哩长的特殊玻璃线钢管,并以60吨的氢 
氟酸(HF)形成六氟化铀,然后吹向一具有特殊小孔的膜。因为六氟化铀238较重, 
在经过这层膜时会被陷住而不易透过。每过一次可使铀235的成分增加0。5%,如此 
程序只要反复操作,所得六氟化铀235的成分就愈大,最后只要把六氟化铀中的氟分离 
出来就行了。因为氢氟酸很贵,而且不易取得所以最好是去偷一点来,要不然就先去偷个 
几百万美金也行。 如果你觉得此路不通,还有其它的办法。你可以在树林里建个滋生反 
应器 (BreederReactor),用铀来作钸,再用化学上的技术分离即可。至于如何建滋生 
反应器,也不是难事,随便一本大学教科书,都可以告诉你好几种方法。虽然在理论上没 
有困难,但是也有它实际上的难处。不过如果你刚好有私人用的小河,又有几火车的钠, 
数量可观的不锈钢管,一百亩与外界隔离的土地,那就没有间题。 如果对这两种方法你 
都没有兴趣,还有一些有趣的新技术可供参考。你可以先用一块低温磁铁(CryogenicMagnet), 
它在液态氦的温度(约零下270℃)下能保持20,000高斯的磁扬…不过,唔,不过下面 
的程序太复杂了…还有一法是用雷射,因为铀238较重,被激光束照射后, 运动的偏 
离角比铀235小。所以若在和雷射光垂直的平面上洒上一层铀,则铀235、铀238 
可藉其偏离角来分离。此法原理上简单可行,但时间上太慢。一天大概只能处理20磅的铀 
(含235和23 8),而分离的效率约12。5%,每处理一次可以产生约10%的铀 
235,所以要处理9次才能达到原子弹的标准。如此算来,从9,600磅磅的燃料棒 
中分离出36磅纯度97%的铀235,约需费时四年、。然而,它的辐射量又使你根本 
没有四年好活,所以还得找三两个志愿者来完成你的未竟之志。因此,若能有愚公移山之 
志,或可成功,祝你好运开始动手制造原子弹。 
如果你想作一道「红烧兔子」大餐,打开食谱第一步就是要抓一只兔子来!同理,现在你 
也会问:「怎 样把铀235弄到手?」(铀235通常此钸容易拿到。)其实,你只要平 
时注意看报纸,应该不难知道,核能发电厂里就有。只要由电厂里偷根控制棒出来,把它 
熔了,再把其中没有用的铀238分离出来就成了。 要潜入一个核子反应炉,说起来并不 
是什么太难的事,尤其大学校园中的核子反应炉,都只有些马马虎虎的安全设施。一般设 
施就是些带刺铁丝网围墙,门口站了一两个警卫。事前可以作出误闯的样子来几次投石问 
路,看看有没有什么电子安全装置,大概结果都是根本没有的。可是我们偷偷摸摸的潜进 
去并没有什么用,因为铀非常的重,不要讲是一个人,就算是一队人马开进去,也搬不到 
足够的分量出来。尤其这批人马又身装铅甲以防辐射,就更不管用了。依我之见,干脆偷 
辆卡车和拖车(要那种特重型的,就是运三峡电站转子的那种),干掉警卫,代以自己人, 
然后就直闯进去拿你要的东西,很干脆,效率又高。 不过,反应器都是装在一个镍-铁合 
金的球状容器里,容器再浸在水中,通常,旁边会有千斤顶,以便修护时用,所以也可以 
顺便用来把整个反应炉心起出来放到卡车里。不过要注意一件事,搬动反应器时要拔出一 
些燃料棒,或是插进一些节制棒,否则你和整个反应器都要化为灰烬。建议你或可向当时 
被你挟制的人质请教这方面的技术,以便搬动炉心。 此外,整个反应器重约50吨,加上 
拖车需要6寸厚的铅板作防护,所以拖车如何拖动65吨的重量,还是颇伤脑筋的(所以 
前面要用特重型的拖车,要不然到了地,炉子也搬上车了,却发现拖不动,那不是面子都 
丢尽了)。或者,你觉得搬走整个反应器不切实际,也可以只带走约 1,200磅的备 
用燃料棒。不过千万也要带着石墨或铅,免得燃料棒因不断地反应生热而熔化了。如果 
你忘了这步骤,回家打开盖子,只会看到一堆熔化了的铀,而且四处散射,可能你当场 
就一命呜呼而遗笑万年。性命是小,这脸咱可丢不起,所以别忘记拿了1,200磅的 
燃料棒之后,要和15,000 磅的石墨或铅混合。反应器的铀大约含3%的铀235 
(自然界铀则只含0.5%的铀235),做原子弹的铀则需要97%的铀235,否则 
根本不爆炸。到手的1,200磅燃料棒,可以提炼出所需要约36磅的铀235,不过要 
有耐心和经验去分离它。如果你自知无法全部把铀235分离出来,就得多弄点燃料棒。 
一般说来,以目前的技术,要达到每次增加纯度25%并没有什么问题,所以你最少要 
弄到4,800磅的燃料棒,若能弄到9,600磅最好。把这些加上去,你总共要带 
15万磅(75 吨)的东西。其次还要找个地方放这些东西,我建议你租间仓库,如用原 
来那两层楼的建筑来分离铀似乎不太实际,因为这至少需要2万平方尺的空间。 

分离高招: 
下面就要考虑用什么方法来分离铀235。对恐怖份子来说,气体扩散法是好方法之一, 
这也是早期制造原子弹时所采用的,不但可靠又不必太复杂的技术。不过花费较多,而且 
所用的化学药品更是吓人。 首先,你要有约12哩长的特殊玻璃线钢管,并以60吨的氢 
氟酸(HF)形成六氟化铀,然后吹向一具有特殊小孔的膜。因为六氟化铀238较重, 
在经过这层膜时会被陷住而不易透过。每过一次可使铀235的成分增加0。5%,如此 
程序只要反复操作,所得六氟化铀235的成分就愈大,最后只要把六氟化铀中的氟分离 
出来就行了。因为氢氟酸很贵,而且不易取得所以最好是去偷一点来,要不然就先去偷个 
几百万美金也行。 如果你觉得此路不通,还有其它的办法。你可以在树林里建个滋生反 
应器 (BreederReactor),用铀来作钸,再用化学上的技术分离即可。至于如何建滋生 
反应器,也不是难事,随便一本大学教科书,都可以告诉你好几种方法。虽然在理论上没 
有困难,但是也有它实际上的难处。不过如果你刚好有私人用的小河,又有几火车的钠, 
数量可观的不锈钢管,一百亩与外界隔离的土地,那就没有间题。 如果对这两种方法你 
都没有兴趣,还有一些有趣的新技术可供参考。你可以先用一块低温磁铁(CryogenicMagnet), 
它在液态氦的温度(约零下270℃)下能保持20,000高斯的磁扬…不过,唔,不过下面 
的程序太复杂了…还有一法是用雷射,因为铀238较重,被激光束照射后, 运动的偏 
离角比铀235小。所以若在和雷射光垂直的平面上洒上一层铀,则铀235、铀238 
可藉其偏离角来分离。此法原理上简单可行,但时间上太慢。一天大概只能处理20磅的铀 
(含235和23 8),而分离的效率约12。5%,每处理一次可以产生约10%的铀 
235,所以要处理9次才能达到原子弹的标准。如此算来,从9,600磅磅的燃料棒 
中分离出36磅纯度97%的铀235,约需费时四年、。然而,它的辐射量又使你根本 
没有四年好活,所以还得找三两个志愿者来完成你的未竟之志。因此,若能有愚公移山之 
志,或可成功,祝你好运

written by Toby \\ tags:

Oct 14

在文章页模版<body>和</body>之间粘贴一段代码如下:

<script type=”text/javascript”>
document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData(”text”); if (text) { text = text + “\r\n本篇文章来源于 中国SEO之家|www.chinaseohome.com 原文链接:”+location.href; clipboardData.setData(”text”, text); } }, 100 ) }
</script>

written by Toby \\ tags:

Oct 12

准备“中国SEO之家”已经近一个月了

考虑时间最多的是创意思路,服务特点,UI特色,和用户体验等问题。。。

前天的时候终于把所有的东西都敲定成功了,今天写下这篇日志也是一个鉴定-鉴定我做“SEO”的决心。

一定会把所有的精力都放到China SEO Home上,我们的目标只有一个:推动中国SEO行业的发展!

希望广大爱好SEO的朋友们能支持我们,在这里谢谢大家了。Toby与大家永远同在!!!

written by Toby \\ tags: ,

Aug 25

受朋友邀请,给他的新站做个链接

他的站百度总是不收录,到处问怎么办,实在没有办法,只能找些链接加加看了~

不知道该怎么写了,呵呵

下边是软文部分 PS:

铃声屋 www.lingshengwu.com

铃声站 www.lingshengzhan.com

呵呵,所谓软文就是取巧的方式来做链接或起到宣传的作用

我现在已经做完链接啦、也已经起到宣传的作用了

只不过作用小了一些而已,呵呵

如果这也算一篇软文的话,那么我估计没有比我这再简洁的软文了  :)

written by Toby \\ tags:

Aug 20

关于UCH中安装了投票后首页的FEED动态显示出现”feed_comment_”问题解决方案:

先下重新下载插件

送礼1.5版 下载地址: uch_gift_115_gbk (586.93 KB)

投票1.5版 下载地址: uch_vote_115 (21.12 KB)

问答1.5版 下载地址: uch_ask_115_gbk (14.05 KB)

然后复制下下面代码生成cp_comment.php文件 ,覆盖到source/cp_comment.php下即可

或直接下载  cp_comment (3.13KB)  直接覆盖。

演示地址:www.mdjlove.com

<?php
/*
 [UCenter Home] (C) 2007-2008 Comsenz Inc.
 $Id: cp_comment.php 8338 2008-08-04 06:09:51Z liguode $
*/

if(!defined(’IN_UCHOME’)) {
 exit(’Access Denied’);
}

include_once(S_ROOT.’./source/function_bbcode.php’);

//共用变量
$tospace = $pic = $blog = $album = $vote = array();

if(submitcheck(’commentsubmit’)) {

 if(!checkperm(’allowcomment’)) {
  showmessage(’no_privilege’);
 }
 //实名认证
 ckrealname(’comment’);

 //判断是否发布太快
 $waittime = interval_check(’post’);
 if($waittime > 0) {
  showmessage(’operating_too_fast’,”,1,array($waittime));
 }

 $message = getstr($_POST['message'], 0, 1, 1, 1, 2);
 if(strlen($message) < 2) {
  showmessage(’content_is_too_short’);
 }

 //摘要
 $summay = getstr($message, 150, 1, 1, 0, 0, -1);

 $id = intval($_POST['id']);

 //引用评论
 $cid = empty($_POST['cid'])?0:intval($_POST['cid']);
 $comment = array();
 if($cid) {
  $query = $_SGLOBAL['db']->query(”SELECT * FROM “.tname(’comment’).” WHERE cid=’$cid’ AND id=’$id’ AND idtype=’$_POST[idtype]‘”);
  $comment = $_SGLOBAL['db']->fetch_array($query);
  if($comment && $comment['authorid'] != $_SGLOBAL['supe_uid']) {
   //实名
   realname_set($comment['authorid'], $comment['author']);
   realname_get();
   
   $comment['message'] = preg_replace(”/\<div class=\”quote\”\>\<span class=\”q\”\>.*?\<\/span\>\<\/div\>/is”, ”, $comment['message']);
   //bbcode转换
   $comment['message'] = html2bbcode($comment['message']);
   $message = addslashes(”<div class=\”quote\”><span class=\”q\”><b>”.$_SN[$comment['authorid']].”</b>: “.getstr($comment['message'], 150, 0, 0, 0, 2).’</span></div>’).$message;
   if($comment['idtype']==’uid’) {
    $id = $comment['authorid'];
   }
  } else {
   $comment = array();
  }
 }

 //对输入的id、idtype进行检查
 checkcomment($id, $_POST['idtype']);

 //事件
 $fs = array();
 $fs['icon'] = ‘comment’;
 $fs['target_ids'] = $fs['friend'] = ”;

 switch ($_POST['idtype']) {
  case ‘uid’:
   //事件
   $fs['icon'] = ‘wall’;
   $fs['title_template'] = cplang(’feed_comment_space’);
   $fs['title_data'] = array(’touser’=>”<a href=\”space.php?uid=$tospace[uid]\”>”.$_SN[$tospace['uid']].”</a>”);
   $fs['body_template'] = ”;
   $fs['body_data'] = array();
   $fs['body_general'] = ”;
   $fs['images'] = array();
   $fs['image_links'] = array();
   break;
  case ‘picid’:
   //事件
   $fs['title_template'] = cplang(’feed_comment_image’);
   $fs['title_data'] = array(’touser’=>”<a href=\”space.php?uid=$tospace[uid]\”>”.$_SN[$tospace['uid']].”</a>”);
   $fs['body_template'] = ‘{pic_title}’;
   $fs['body_data'] = array(’pic_title’=>$pic['title']);
   $fs['body_general'] = $summay;
   $fs['images'] = array(mkpicurl($pic));
   $fs['image_links'] = array(”space.php?uid=$tospace[uid]&do=album&picid=$pic[picid]“);
   $fs['target_ids'] = $album['target_ids'];
   $fs['friend'] = $album['friend'];
   break;
  case ‘blogid’:
   //更新评论统计
   $_SGLOBAL['db']->query(”UPDATE “.tname(’blog’).” SET replynum=replynum+1 WHERE blogid=’$id’”);
   //事件
   $fs['title_template'] = cplang(’feed_comment_blog’);
   $fs['title_data'] = array(’touser’=>”<a href=\”space.php?uid=$tospace[uid]\”>”.$_SN[$tospace['uid']].”</a>”, ‘blog’=>”<a href=\”space.php?uid=$tospace[uid]&do=blog&id=$id\”>$blog[subject]</a>”);
   $fs['body_template'] = ”;
   $fs['body_data'] = array();
   $fs['body_general'] = ”;
   $fs['target_ids'] = $blog['target_ids'];
   $fs['friend'] = $blog['friend'];
   break;
  case ’sid’:
   //事件
   $fs['title_template'] = cplang(’feed_comment_share’);
   $fs['title_data'] = array(’touser’=>”<a href=\”space.php?uid=$tospace[uid]\”>”.$_SN[$tospace['uid']].”</a>”, ’share’=>”<a href=\”space.php?uid=$tospace[uid]&do=share&id=$id\”>”.cplang(’share’).”</a>”);
   $fs['body_template'] = ”;
   $fs['body_data'] = array();
   $fs['body_general'] = ”;
   break;
  //为了投票能使用系统评论而添加 1
  case ‘app_vote_id’: 
   //事件
   $fs['title_template'] = “{actor} 评论了”.$_POST['app_name'].” {touser}”;
   $fs['title_data'] = array(’touser’=>”<a href=\”".$_POST['refer'].”\”>{$_POST['app_title']}</a>”);
   $fs['body_template'] = ”;
   $fs['body_data'] = array();
   //$fs['body_general'] = ”;
   break; 
 }

 $setarr = array(
  ’uid’ => $tospace['uid'],
  ’id’ => $id,
  ’idtype’ => $_POST['idtype'],
  ’authorid’ => $_SGLOBAL['supe_uid'],
  ’author’ => $_SGLOBAL['supe_username'],
  ’dateline’ => $_SGLOBAL['timestamp'],
  ’message’ => $message,
  ’ip’ => getonlineip()
 );
 //入库
 $cid = inserttable(’comment’, $setarr, 1);

 switch ($_POST['idtype']) {
  case ‘uid’:
   $n_url = “space.php?uid=$tospace[uid]&do=wall&cid=$cid”;
   $note_type = ‘wall’;
   $note = cplang(’note_wall’, array($n_url));
   $q_note = cplang(’note_wall_reply’, array($n_url));
   if($comment) {
    $msg = ‘note_wall_reply_success’;
    $magvalues = array($_SN[$tospace['uid']]);
   } else {
    $msg = ‘do_success’;
    $magvalues = array();
   }
   $msgtype = ‘comment_friend’;
   break;
  case ‘picid’:
   $n_url = “space.php?uid=$tospace[uid]&do=album&picid=$id&cid=$cid”;
   $note_type = ‘piccomment’;
   $note = cplang(’note_pic_comment’, array($n_url));
   $q_note = cplang(’note_pic_comment_reply’, array($n_url));
   $msg = ‘do_success’;
   $magvalues = array();
   $msgtype = ‘photo_comment’;
   break;
  case ‘blogid’:
   //通知
   $n_url = “space.php?uid=$tospace[uid]&do=blog&id=$id&cid=$cid”;
   $note_type = ‘blogcomment’;
   $note = cplang(’note_blog_comment’, array($n_url, $blog['subject']));
   $q_note = cplang(’note_blog_comment_reply’, array($n_url));
   $msg = ‘do_success’;
   $magvalues = array();
   $msgtype = ‘blog_comment’;
   break;
  case ’sid’:
   //分享
   $n_url = “space.php?uid=$tospace[uid]&do=share&id=$id&cid=$cid”;
   $note_type = ’sharecomment’;
   $note = cplang(’note_share_comment’, array($n_url));
   $q_note = cplang(’note_share_comment_reply’, array($n_url));
   $msg = ‘do_success’;
   $magvalues = array();
   $msgtype = ’share_comment’;
   break;
  //为了投票能使用系统评论而添加 2
  case ‘app_vote_id’:
   $n_url = “app.php?do=vote&ac=view&id=$id&uid=$tospace[uid]“;
   $note_type = ‘app_comment’;
   $note = “评论了你的投票 <a href=’{$n_url}’ target=’_blank’>”.addslashes($_POST['app_title']).”</a>”;
   $q_note = “回复了你的投票 <a href=’{$n_url}’ target=’_blank’>”.addslashes($_POST['app_title']).”</a>”;
   $msg = ‘do_success’;
   $magvalues = array();
   $msgtype = ‘app_comment’;
   break; 
 }

 //发送邮件通知
 $msgtype = empty($comment)?$msgtype:$msgtype.’_reply’;
 $touid = empty($comment['authorid']) ? $tospace['uid'] : $comment['authorid'];
 addmailcron($touid, ”, cplang($msgtype, array($_SGLOBAL['supe_username'])), ”, $msgtype);

 if(empty($comment)) {
  //非引用评论
  if($tospace['uid'] != $_SGLOBAL['supe_uid']) {
   //事件发布
   if(ckprivacy(’comment’, 1)) {
    feed_add($fs['icon'], $fs['title_template'], $fs['title_data'], $fs['body_template'], $fs['body_data'], $fs['body_general'],$fs['images'], $fs['image_links'], $fs['target_ids'], $fs['friend']);
   }
   //发送通知
   notification_add($tospace['uid'], $note_type, $note);
   //留言发送短消息
   if($_POST['idtype'] == ‘uid’ && $tospace['updatetime'] == $tospace['dateline']) {
    include_once S_ROOT.’./uc_client/client.php’;
    uc_pm_send($_SGLOBAL['supe_uid'], $tospace['uid'], cplang(’wall_pm_subject’), cplang(’wall_pm_message’, array(addslashes(getsiteurl().$n_url))), 1, 0, 0);
   }
  }
 } elseif($comment['authorid'] != $_SGLOBAL['supe_uid']) {
  notification_add($comment['authorid'], $note_type, $q_note);
 }

 //积分
 if($tospace['uid'] != $_SGLOBAL['supe_uid']) {
  updatespacestatus(’get’, ‘comment’);
 }

 showmessage($msg, $_POST['refer'], 0, $magvalues);
}

$cid = empty($_GET['cid'])?0:intval($_GET['cid']);

//编辑
if($_GET['op'] == ‘edit’) {

 $query = $_SGLOBAL['db']->query(”SELECT * FROM “.tname(’comment’).” WHERE cid=’$cid’ AND authorid=’$_SGLOBAL[supe_uid]‘”);
 if(!$comment = $_SGLOBAL['db']->fetch_array($query)) {
  showmessage(’no_privilege’);
 }

 //提交编辑
 if(submitcheck(’editsubmit’)) {

  $message = getstr($_POST['message'], 0, 1, 1, 1, 2);
  if(strlen($message) < 2) showmessage(’content_is_too_short’);

  updatetable(’comment’, array(’message’=>$message), array(’cid’=>$comment['cid']));

  showmessage(’do_success’, $_POST['refer'], 0);
 }

 //bbcode转换
 $comment['message'] = html2bbcode($comment['message']);//显示用

} elseif($_GET['op'] == ‘delete’) {

 if(submitcheck(’deletesubmit’)) {
  include_once(S_ROOT.’./source/function_delete.php’);
  if(deletecomments(array($cid))) {
   showmessage(’do_success’, $_POST['refer'], 0);
  } else {
   showmessage(’no_privilege’);
  }
 }

} elseif($_GET['op'] == ‘reply’) {

 $query = $_SGLOBAL['db']->query(”SELECT * FROM “.tname(’comment’).” WHERE cid=’$cid’”);
 if(!$comment = $_SGLOBAL['db']->fetch_array($query)) {
  showmessage(’comments_do_not_exist’);
 }

} else {

 showmessage(’no_privilege’);
}

include template(’cp_comment’);

//检查
function checkcomment($id, $idtype) {
 global $_SGLOBAL;
 global $tospace, $pic, $blog, $album;

 switch ($idtype) {
  case ‘uid’:
   //检索空间
   $tospace = getspace($id);
   break;
  case ‘picid’:
   //检索图片
   $query = $_SGLOBAL['db']->query(”SELECT * FROM “.tname(’pic’).” WHERE picid=’$id’ LIMIT 1″);
   $pic = $_SGLOBAL['db']->fetch_array($query);
   //图片不存在
   if(empty($pic)) {
    showmessage(’view_images_do_not_exist’);
   }

   //检索空间
   $tospace = getspace($pic['uid']);

   //获取相册
   $album = array();
   if($pic['albumid']) {
    $query = $_SGLOBAL['db']->query(”SELECT * FROM “.tname(’album’).” WHERE albumid=’$pic[albumid]‘”);
    if(!$album = $_SGLOBAL['db']->fetch_array($query)) {
     updatetable(’pic’, array(’albumid’=>0), array(’albumid’=>$pic['albumid']));//相册丢失
    } else {
     if($album['target_ids']) {
      $album['target_ids'] .= “,$album[uid]“;
     }
    }
   }
   break;
  case ‘blogid’:
   //读取日志
   $query = $_SGLOBAL['db']->query(”SELECT b.*, bf.target_ids
    FROM “.tname(’blog’).” b
    LEFT JOIN “.tname(’blogfield’).” bf ON bf.blogid=b.blogid
    WHERE b.blogid=’$id’”);
   $blog = $_SGLOBAL['db']->fetch_array($query);
   //日志不存在
   if(empty($blog)) {
    showmessage(’view_to_info_did_not_exist’);
   }

   //是否允许评论
   if(!empty($blog['noreply'])) {
    showmessage(’do_not_accept_comments’);
   }
   if($blog['target_ids']) {
    $blog['target_ids'] .= “,$blog[uid]“;
   }
   //检索空间
   $tospace = getspace($blog['uid']);
   break;
  case ’sid’:
   //读取日志
   $query = $_SGLOBAL['db']->query(”SELECT * FROM “.tname(’share’).” WHERE sid=’$id’”);
   $share = $_SGLOBAL['db']->fetch_array($query);
   //日志不存在
   if(empty($share)) {
    showmessage(’sharing_does_not_exist’);
   }

   //检索空间
   $tospace = getspace($share['uid']);
   break;
  case ‘app_vote_id’:
   $cspace = array(’uid’=>$_POST['app_uid'], ‘username’=>$_POST['app_username'], ‘app_title’=>$_POST['app_title'], ‘app_link’ => $_POST['refer'], ‘app_name’ =>$_POST['app_name']);
   //检索空间
   $tospace = getspace($_POST['app_uid']);
   break;
  default:
   showmessage(’non_normal_operation’);
   break;
 }
 if(empty($tospace)) {
  showmessage(’space_does_not_exist’);
 }
 //黑名单
 if(isblacklist($tospace['uid'])) {
  showmessage(’is_blacklist’);
 }
}

?>

written by Toby \\ tags:

Aug 19

牡丹江交友第一门户 www.mdjlove.com

嘎嘎,虽然有点夸张,但是做为SNS来讲,确实是牡丹江暂时唯一的一个

插件和功能基本已经搞定了,剩下的就是模版还要弄的漂亮些。

现在放出来运营虽然有点牵强,但是也是没有办法的事。快2个月了,公司到现在为止还没有一个能拿的出手的网站,着急!

都处在半完成状态中,也许这就是所谓的假木桶定律吧~

管他呢~~~~最好自己的事,剩下的交给老天爷去安排吧。

下面简单的介绍下功能:

1.积分系统。通过上传照片,写日志,发言,评论,分享,改头像等功能积累积分。可用于发布“问答”“投票”“游戏”“送礼”等功能上。

2.风格模版自定义。系统有设计好的风格供选择替换,如果懂CSS的朋友可以选择自己编译风格。

3.强大的调用系统。首页调用,搜索调用,标签调用。

4.分享。分享网站,分享MP3,可能还会添加分享视频功能,只是怕影响网站访问速度,所以一直在考虑中。

再有就是可能会有公司出面定期举行聚会。呵呵

就到这吧,弄了半天QQ代理服务器还没弄明白。

written by Toby \\ tags: