星期五, 十月 31, 2008

Enlightment16

一直很喜欢E16,虽然也比较喜欢fluxbox(fluxbox的功能一点也不比E16差),但是因为E16在轻量级的情况下,还能体现一些动态效果,给人以愉悦的心情,所以还是安装了E16.

桌面当然是ubuntu,虽然arch或者其他miniLinux版本还要轻量一点,但是实在是懒得配置了──这里不得不说ubuntu的配置不错,无论是中文化还是其他的,另外重要的一点───ubuntu软件库很庞大。

E16中文问题,可以配置/usr/share/e16/config/下面的xft字体配置,之后就没什么问题了,安装了SIMSUN,开启了AA和rgb,显示不错。截个图,和win比较一下,俗称中文美化测试站点的中国雅虎:



显示的还算不赖。

星期三, 十月 29, 2008

ubuntu免费CD,以后尽量不再免费索取了

自从06年开始免费索取ubuntu的光盘,到现在,已经要了不少了,第一次索取的很多,后来渐渐少了,感觉多了没什么用,国外免费的东西,中国人很贪婪。我曾经看到有人索取的光盘有一大箱子,放在那里摆设,没用,浪费了ubuntu的钱。
* 10 CDs requested on 2006-07-19. 10 CDs were approved and sent to the shipping company on 2006-07-19. Please note requests usually take from 4 to 6 weeks to deliver, depending on the country of shipping.
* 10 CDs requested on 2006-07-21. This request was not approved, so no CDs were shipped.
* 10 CDs requested on 2006-09-01. This request was not approved, so no CDs were shipped.
* 3 CDs requested on 2007-04-16. 3 CDs were approved and sent to the shipping company on 2007-04-16. Please note requests usually take from 4 to 6 weeks to deliver, depending on the country of shipping.
* 3 CDs requested on 2007-05-05. This request was not approved, so no CDs were shipped.
* 1 CDs requested on 2007-10-10. 1 CDs were approved and sent to the shipping company on 2007-10-15. Please note requests usually take from 4 to 6 weeks to deliver, depending on the country of shipping.
* 1 CDs requested on 2008-04-27. 1 CDs were approved and sent to the shipping company on 2008-04-28. Please note requests usually take from 4 to 6 weeks to deliver, depending on the country of shipping.

今天ubuntu8.10又发布了,我再要一张留做纪念,以后就不再去免费索取了,毕竟wubi安装ubuntu更方便。

加速ubuntu/debian更新

使用apt固然不错,但其速度实在不敢令人恭维,偶尔会达到几字节每秒,令人发狂。
sudo apt-get -y --print-uris dist-upgrade > list.html

如上段落即可把列表显示出来
之后使用firefox插件flashget和downThemAll,打开列表文件(list.html),下载。然后链接debian包到var缓存,升级,ok。同理适用于其它apt-get获取命令。

星期一, 十月 27, 2008

关于wubi

对wubi对启动方式很感兴趣,类似colinux的启动模式:都是利用的ext3磁盘镜像,和swap磁盘镜像。不同的是colinux是在windows中引导的,colinux只有控制台(最多弄个vnc或者xming),而wubi几乎是全能的。
分析了一下wubi的启动原理,大体如下:
首先一个定制的内核,可以很轻松的启动到initramfs(busybox)模式,然后在此挂载ext3镜像所在的分区,你可以去掉root.disk的挂载,单独启动initrd.img镜像,启动到busybox后,你可以发现ext3镜像所在的分区已经挂载到/host了。
之后挂载ext3磁盘镜像到根目录,接下来就是正常的引导系统启动了。
当然wubi靠的是wubi.mbr(实际上就是一个类grub),利用windows的ntloader来引导的。

wubi的优点是显而易见的,不用分区,安装ubuntu就像是装了一个软件,安装和卸载都很容易。

我尝试利用ubuntu的内核来引导slitaz(一个法国的迷你linux系统),成功了。
我先是利用slitaz的liveCD将它系统安装到了一个空白的ext3格式的磁盘镜像中,之后利用ubuntu的内核引导它,可以很正常的启动这个磁盘镜像,而且可以打开X-window,不过因为内核不是定制的,另外slitaz是基于busybox的,和ubuntu启动方式不同,所以有许多错误,但总归来说是启动成功了。
这样看来,与wubi关系倒是不大了,关键是一个能够挂载ntfs分区,然后挂载ext3镜像到根目录的一个initrd了,之后再用grub来引导即可了。

ps:
网速实在是慢的要命,没法,用driverl来写了。

星期日, 十月 26, 2008

可以用wubi引导ext3磁盘镜像

wubi通过ntloader来使用wubi.mbr(类似grub)引导ubuntu的内核,然后模拟ext3磁盘镜像为硬盘块设备,挂载到根目录。

我用它的内核来引导了slitaz的ext3磁盘镜像,虽然成功启动系统并可以打开X,但一些设备都没有被正确挂载,所以如果是真正使用wubi方式启动其他linux版本的话,需要自己定制内核。

SlitazLinux On Colinux

曾经在colinux中安装过archLinux,然后今天又拿来slitaz这个轻量级linux安装进了colinux中。

其实与colinux没什么大关系,因为本来打算把slitaz安装到一个ext3的磁盘镜像中去的(想弄个wubi for slitaz),但是无法用grub引导它,所以试了一下colinux引导这个镜像,没想到竟然能启动了,而且还不错。配置一下网络后就能在colinux下上网了,不过就是没法启动X-window罢了,因为slitaz默认安装了xvesa,但是colinux只能靠Xming来启动X,而且效果也不理想。

没什么大的意义,就是轻量,对于安装slitaz到ext3的磁盘镜像,可以修改slitaz-installer脚本,将变量TARGET_ROOT改成挂载的ext3镜像目录即可。
还得继续搞类似wubi的镜像启动。

星期五, 十月 24, 2008

debian的“玩具总动员”版本代号

版本 代号 发布日期 玩具总动员的对应角色 注脚
0.01至0.91 1993年8月至1994年1月
0.93R5 1995年3月
0.93R6 1995年11月
1.1 Buzz 1996年6月17日 巴斯光年,电影主角之一的太空人 使用Linux内核2.0
1.2 Rex 1996年12月12日 暴龙
1.3 Bo 1997年6月2日 放羊的女孩
2.0 Hamm 1998年7月24日 小猪扑满
2.1 Slink 1999年3月9日 玩具狗 APT面世
2.2 Potato 2000年8月15日 Potato Head先生
3.0 Woody 2002年7月19日 胡迪,电影主角之一的牛仔
3.1 Sarge 2005年6月6日 绿色塑胶玩具士兵的首领
4.0 Etch 2007年4月8日发布 玩具黑板 目前的稳定版本
5.0 Lenny[7] 2008年9月(预计) 望远镜 目前的测试版本
?.? squeeze[8] 三只眼的外星人 下一个测试版
Sid 永远的不稳定版本 隔壁的男孩,玩具终结者 Sid也是英语Still In Development(仍在开发)的缩写

来源于debianWIKI

星期四, 十月 23, 2008

qnx实时操作系统

启动速度很快,运行速度也很快,不过对我来说没什么实际意义---只是对我来说而已。
ScreenShot005
界面看起来很酷,Photon microGUI。
ScreenShot003
支持中文输入,不过输入法超级难用。
ScreenShot006
注销时候的界面。

星期日, 十月 19, 2008

搭建小型邮件转发服务

ucenter home一直是靠着foxmail的邮件转发来实现的,这种方法的坏处就是,转发速度太慢。往往用户申请密码丢失等待几分钟后才能到邮箱中看到邮件,效果不好。
考虑到以后ucenter home的邮箱注册激活功能或许能实现,所以在家搭建了exim4,通过google的smtp来转发,果然,google的速度是一流的。现在把基本的配置记下来,以备后用。
服务器是debian,用apt-get安装exim4,exim4-config,exim4-daemon-light
之后配置/etc/exim4/update-exim4.conf.conf,配置文件如下:

dc_eximconfig_configtype='smarthost' #用smarthost发信;通过SMTP或fetchmail接收信件
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1' #只接收本机的SMTP请求,只在本机使用Exim4
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.gmail.com' #gmail的smtp主机
CFILEMODE='644'
dc_use_split_config='false' #不使用分散方式的配置文件
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

然后编辑/etc/mailname,也就是@后面的那一段了。
运行update-exim4.conf来检测配置段落是否有错误,没有的话就会生成/var/lib/exim4/config.autogenerated,之后用exim -bV来查看:
Exim version 4.63 #1 built 20-Jan-2007 10:40:39
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.3.29: (September 6, 2005)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated

测试一下外部发送邮件
exim4 -bt yoyoliyang@gmail.com
from:root
to:shouguang@shouguang.org
subject:local mail test
test will be ok.
.
LOG: MAIN
<= root@shouguang.org U=root P=local S=380
debian:/home/shouguang# delivering 1KrNb4-0006Rp-Uc
R: smarthost for shouguang@shouguang.org
T: remote_smtp_smarthost for shouguang@shouguang.org
Connecting to gmail-smtp-msa.l.google.com [209.85.143.111]:25 ... connected
SMTP<< 220 mx.google.com ESMTP 2sm3024427tif.0
SMTP>> EHLO debian.shouguang.org
SMTP<< 250-mx.google.com at your service, [221.1.80.22]
250-SIZE 35651584
250-8BITMIME
250-STARTTLS
250 ENHANCEDSTATUSCODES
SMTP>> STARTTLS
SMTP<< 220 2.0.0 Ready to start TLS
SMTP>> EHLO debian.shouguang.org
SMTP<< 250-mx.google.com at your service, [221.1.80.22]
250-SIZE 35651584
250-8BITMIME
250-AUTH LOGIN PLAIN
250 ENHANCEDSTATUSCODES
SMTP>> MAIL FROM: SIZE=1414
SMTP<< 530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 2sm3024427tif.0
SMTP>> QUIT
LOG: MAIN
** shouguang@shouguang.org R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM: SIZE=1414: host gmail-smtp-msa.l.google.com [209.85.143.111]: 530-5.5.1 Authentication Required. Learn more at\n530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 2sm3024427tif.0
LOG: MAIN
<= <> R=1KrNb4-0006Rp-Uc U=Debian-exim P=local S=1464
LOG: MAIN
Completed

实际上报错,这很正常,因为我们要经过smtp.gmail.com的用户验证。
修改/etc/exim4/passwd.client(仅root可看),按照举例添加smtp地址和用户名密码,google的smtp真实地址为:gmail-smtp-msa.l.google.com。
修改/etc/exim4/email-addresses,添加用户对应的外部地址。
root:user[at]gmail.com

如果对应的smtp服务器要求明文验证密码,需要更改/etc/exim4/exim4.conf.template,gmail不需要更改。
# clear text password authentication on all connections.
AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS = 1

之后重启exim4服务,可以顺便测试一下。

还没有结束,只是本地exim4服务搭建好了,另外因为ucenter home需要通过PHP函数的sendmail来发送邮件,所以还要修改php.ini,修改/etc/php5/apache2/php.ini:
sendmail_path = sendmail -t

好了。经密码找回测试,成功。

星期五, 十月 17, 2008

zenwalk5.2安装配置


下载core的iso镜像,因为没有刻录机,所以硬盘安装。提取iso中的内核bzImage和initrd.img镜像到fat32分区中,用grub来引导即可。
启动安装界面,选择键盘,之后分区,选择挂载点。因为硬盘安装,会提示你选择光盘或者是硬盘安装的目录,要把iso给挂载上(引导内核中无法挂载ntfs分区),注意不要挂载到mnt分区中。
之后会自己安装软件包,然后安装lilo,我没有安装它,还是用大grub for dos来引导的,注意内核版本。
然后重启,设置网络和开机启动服务之类不再赘述。
利用netpkg来升级整个系统,然后按照自己的要求来安装x-window。不再赘述。
ps:
netpkg 命令从网络下载安装软件包,比较简单的命令,不过镜像速度倒是不错。
netpkg package_name1 package_name2 (patterns)... 从网络安装包
netpkg install package1.tgz package2.tgz ... 安装本地包
netpkg upgrade|download 升级或者下载

利用removepkg来删除包。

中文化,我拷贝了STHeiti,效果还算可以。

星期三, 十月 15, 2008

slitaz安装配置

一直没有功夫来把slitaz配置好。今晚总算把它给弄好了。
slitaz是法国的一个linux版本,不支持中文,支持持法语和E文。非常小巧,仅25M的iso,启动速度很快。

这里就随便说说几点注意事项吧。有点累了,折腾了一晚上。
安装完毕后,利用tazpkg更新镜像,先把旧的包更新一遍。之后安装slitaz-dev-tool这个系列包,里面包含了基本的编译工具。
之后编译fcitx输入法。注意的时,在autogen时,会出现aulocal找不到,是因为没有安装autoconf和automake的缘故,从镜像安装即可。make完毕后,make install会出现权限错误,是因为install-sh这个脚本没有执行权限,加上即可。我安装到了/opt中,在profile中添加了路径。
fcitx编译成功了,然后再安装locale了,这个麻烦,我没有自己弄,而是下载了一个slitaz的中文包,这个包有点问题,直接安装后里面的sakura终端无法开启(貌似版本问题)。可以在google搜索“slitaz中文包”。我只是将其解开,然后把里面的locale文件拷贝过来了。其他的都没有装。
修改locale.conf,添加全局locale为utf8即可。
另外挂载也有问题,busybox中mount的bug,可以到kernel.org下载until-linux编译,将编译完成的mount 做个/usr/bin连接即可,用来替换busybox中的mount。之后挂载就没有问题了,可以写入到fstab中自动挂载了。
基本就是这样了,还有一些问题没解决,比方没有安装Xorg,而是用的Xvesa,另外键盘大小写好像也有问题,这些都是些小问题了。
不弄了,明天再说,睡觉了。这都几点了。

ps:tazpkg常用命令

tazpkg search packagename 搜索包
tazpkg get-install packagename 下载并安装包
tazpkg get packagename 仅下载包
tazpkg remove packagename 删除包
tazpkg packagename.tazpkg 安装tazpkg格式包

星期一, 十月 13, 2008

slitaz linux

发现硬盘里面有个空白分区,500Mb,然后就想找个迷你的linux版本来安装。找了几个版本,最后选择了slitaz(蜘蛛)。

是基于busybox的,iso才25mb,安装后不到300Mb。不支持中文,用的是slim+jwm+lxpanel+xVesa。里面软件倒是不少,因为是busybox的,所以命令太弱。不过启动速度还算不错,不到10秒钟,如果在我的台式机上面启动的话,估计5秒钟就可以进入X。

如何支持中文:拷贝simsun到font目录就可以显示中文了,输入法可以编译fcitx,设置一下xim就可以调用输入法了。因为编译依赖太多了,所以如果编译fcitx的话,我的磁盘就不够用了。有个slitaz的中文包可以直接安装。

用的是tazpkg包管理器,软件源里面的包太少,所以大部分要靠自己编译。

发现的几个问题:mount无法挂载ntfs分区,即便是装上了ntfs-3g和ntfsprog也只能靠ntfsmount来挂载,无法将其写入到fstab,只能添加脚本了。另外每次开机默认的dhcp服务启动后会把系统内默认的dns_server添加到resolv.conf中去,不得已,要修改/etc/init.d/network.sh脚本,添加dns地址。还有就是因为没有zh_cn的locale,挂载ntfs不会显示中文。

如何在fstab中添加ntfs以便自动挂载:安装until-linux,使用其中的mount命令来挂载而非busybox中的。这貌似是busybox的bug。

中文目录显示:肯定要添加中文locale了。

虽然不怎么特别实用,但是我很看好它的启动速度。

星期六, 十月 11, 2008

我离blog越来越远了

先声明一下,我一直很厌恶博客这个名词,但是后来习惯了,厌恶也没法,也就这么叫了。博客,部落格,等等。。。都是翻译、非原生的恶作剧。


从大一那年开始写博,到现在也算是个正儿八经的“博人”了吧。说实话我从高三才开始弄电脑的。在大舅那台破旧的电脑上什么都捣鼓,dreamweaver,flash,乱七八糟的,现在那台电脑早就废弃了,64MB的内存,当年怎么经得起我的折腾?


博客,这个名词,早就落伍了。之前刚兴起来的时候,每天都写,不论是什么东西,只要上网就写博客,把自己平常的事情都报告到了网络上面,web log,网络日记,平常都不写日记的,但是网络日记每天必写。连吃个饭,打个哈欠都要写上去。今晚我翻了翻以前的旧博客觉得挺有意思,相比现在写的东西真的要有意思的多了。


最早的博客落在opera的官方博客上,域名忘记了,从大一待在上面,写了半年。现在早就没有了,数据也没有导出来,毕竟不是正规的接口,想导也不行啊。

之后发觉opera太慢,然后傻瓜一样的去到网上找“馅饼”--免费的空间,安装blog源码。我用的最早的源码不是wordpress,而是dotclear。觉得挺好,用了不到一个月,免费空间挂掉了。记得当时还申请了个免费的二级域名,好像是:liyang.pxl.com之类,也懒得去查了。

后来才找到了著名的wordpress,那时的版本,真是好用啊,不像现在的,体积庞大了不说,速度也慢了,感觉很笨重。插件也懒得去研究了。那时候就是疯狂的修改模板,修改代码。

之后的半年时间,也就是到2006年上半年这段时间,我几乎是每天都在寻找php源码,最多的是blog的,论坛的也弄过。现在想想,当初买个域名做个论坛就好了,唉,没条件啊!穷学生,钱都花哪里去了?

到了06年下半年,我的博客生涯稳定了下来,开始在sohu的博客上面写博了,每天都在写,有什么写什么,反正当时我每天都上网,平常干什么,玩什么,都写在了上面。现在旧博客还保留着,不过因为后来转移地址到blogspot,里面的文章都被我用rss导入然后删除掉了。地址:yy-fish.blog.sohu.com。现在只有几个我拷贝的文章,一点实际意义都没有。

我的yy-fish.blog.sohu.com开博时间为2006-06-13。终止于2006-08-?。


之后我转移到了google的blogspot,于此同时我开始学习了linux,并进行了深入的研究,技术文章时代到来。在此期间因为blogspot多次因为GFW(长城防火墙)屏蔽--估计是那帮美国小子发黄图太多--期间我转移到了很多wordpress系统的博客服务商名下。好多都记不住了,不过数据也都保住了。一直到2007-04-03。

我的yoyoliyang.blogspot.com开博时间2006-08-22。终止于2007-04-03。


再后来我便搬家到了yo2,很稳定的博客托管,一直用到差不多现在了,不过期间因为yo2发广告太多了,乱七八糟的东西太啰嗦,我也同步更新着yang.wordpress.com.cn这个博客,都是wp的,数据导入方便。不过貌似它更容易被google搜到,评论较多。后来yo2的博客被我拿来做导入的试验,把数据全删掉了。反正数据现在都在shouguang.org/yang里面。

我的yoyoliyang.yo2.cn开博时间忘记了,终止时间现在。

也就是现在了,我把博客弄到了服务器上,起初的想法是增加google的搜索,把家园排行给提高。后来用不着了,也没怎么管它,写的东西是愈来愈少,几乎是不见更新了。令外发现我订阅的好多blog都是很久才更新一次的,都差不多了的样子,没什么东西可写了。普遍了,和往日记本上写东西一样,没什么好写的。

博客留着,旧博客都留着,或许搜搜以前的用户名还能发现什么。我以前的网名很多啊,比方yy-fish,幽火,隼龙龙,等等。

好久没写这么长的文章,不过还不痛快,还有一些没写的,哈哈。

MAC搬进了计算机,累死我?



不论是安装多么麻烦,还是使用上多么不方便。虽然很炫的桌面,很酷的动态效果--用起来真累啊!其实主要是眼睛太累,分辨率没有打上去啊,19寸显示器用着1024x768,哎。

但是操作起来还是比较方便的,一切都自然。

另外我发觉mac的好多东西都似曾相识,在linux和win中,linux最多。比方gnome的面板,另外pidgin的登陆界面。还有很多了。

在linux中使用awn等dock之类的会感觉十分不适,但是在osx中,原生的东东就是棒啊。在linux或windows中,无论把系统装扮的怎么像osx,但始终不如亲身操作osx。

osx很牛,不过现在因为显卡驱动没有装好,GMA3100的显卡貌似没有forMac的啊,所以显示器看起来太累眼睛了,受不了了,来到xp中发表日志咯。如果能装上显卡驱动就几近完美了,哈哈。

另外说一下我的安装方法和注意几点:

下载了leo4all3final,用的是mac硬盘安装助手,先把iso拷贝到移动硬盘,之后用tboot来引导安装的。如果你能用tboot引导起darwin的启动菜单,之后启动的时候出现重启的情况,那么可以禁掉双核。反正我是这么处理的,安装成功了。

驱动不要多选。我安装完毕后,系统进入的时候太慢了,估计有6分多钟。其他的一切正常。

发个截图,更多截图看这里


星期六, 十月 04, 2008

ucenter日志mp3插件

<div id="createMp3" class="eMenu" style="display:none;top:35px;left:26px;width:400px;font-size:12px">
请输入MP3音乐URL地址:<br/>
<select name="vmp3auto" id="vmp3auto">
<option value="0">自动播放</option>
<option value="1">手动播放</option>
</select>
<input type="text" id="mp3Url" name="mp3Url" value="http://" class="t_input" style="width: 190px;" /> <input type="button" onclick="createMp3();" name="createURL" value="确定" class="submit" /> <a href="javascript:;" onclick="fHide($('createMp3'));">取消</a>
</div>



风格看起来还是不错的,做了修改。



如上一段,可以适应ucenter1.5的风格,现在头有点大。可以看看我写的说明。
flashplayer文件,和flash执行脚本,以及editor_boolbar.gif,在这里下载。
位置:image/player.swf
image/audio-player.js
image/editor/editor_boolbar.gif

三个需要修改的文件
/www/editor.php,需要添加如下字段:

a.icoMp3{background-position:-580px 1px} //gif图标位置

<a href="javascript:;" class="icoMp3" id="icoMp3" onClick="createMp3(event, 1);return false;" title="插入音乐"></a> //执行脚本

<div id="createMp3" class="eMenu" style="display:none;top:35px;left:26px;width:400px;font-size:12px">
请输入MP3音乐URL地址:<br/>
<select name="vmp3auto" id="vmp3auto">
<option value="0">自动播放</option>
<option value="1">手动播放</option>
</select>
<input type="text" id="mp3Url" name="mp3Url" value="http://" class="t_input" style="width: 190px;" /> <input type="button" onclick="createMp3();" name="createURL" value="确定" class="submit" /> <a href="javascript:;" onclick="fHide($('createMp3'));">取消</a>
</div>

/var/www/image/editor/editor_base.js,添加如下:

icoMp3:"createMp3", //mp3图标和变量

fInObj(el, "createMp3") ||

/**
* 创建MP3
*/
function createMp3(e, show) {
if(typeof show == 'undefined') {
var mp3tag = '';
var mp30bj = $('mp3Url');
var sMp3 = mp30bj.value;
if ((sMp3!=null) && (sMp3!="http://")){
setCaret();
var sIsAuto = $('vmp3auto').value;
if(sIsAuto==1) {
mp3tag = '[mp3=auto]';
} else {
mp3tag = '[mp3]';
}
format("insertHTML", mp3tag + sMp3 + '[/mp3]');
}
fHide($('createMp3'));
mp3Obj.value = 'http://';
} else {
if(gIsIE){
var e = window.event;
}
getCaret();
var dvMp3Box = $("createMp3");
var iX = e.clientX;
var iY = e.clientY;
dvMp3Box.style.display = "";
dvMp3Box.style.left = (iX-300) + "px";
dvMp3Box.style.top = 33 + "px";
}
}

/www/source/space_blog.php,插入如下段落:

// 插入mp3标签处理
function blog_bbcode( $message )
{
$message = preg_replace( "/\\[flash\\=?(media|real)*\\](.+?)\\[\\/flash\\]/ie", "blog_flash(\"\\2\", \"\\1\")", $message );
$message = preg_replace( "/\\[mp3\\=?(auto)*\\](.+?)\\[\\/mp3\\]/ie","blog_mp3(\"\\2\", \"\\1\")",$message);
return $message;
}
//插入mp3
function blog_mp3( $mp3_url, $state )
{
$optauto = "";
if ( $state == "auto" )
{
$optauto = "&amp;autostart=yes";
}
$html = '<script language="JavaScript" src="image/audio-player.js"></script><object type="application/x-shockwave-flash" data="image/player.swf" id="_RANDOM_ID_" height="24" width="290"><param name="movie" value="image/player.swf"><param name="FlashVars" value="playerID=_RANDOM_ID_&amp;soundFile='.$mp3_url.$optauto.'"><param name="quality" value="high"><param name="menu" value="false"><param name="wmode" value="transparent"></object>';
return $html;
}