Tuesday, October 18, 2005

国内的PHP发展真快!- LAOGUI.COM

hg98 发表于 2005-7-17 18:36:00

记得2002年刚上网的时候,找个php文章系统都找不到,论坛也只有vb,phpbb几个国外的比较流行,而现在呢,php程序多的都数不清了,而且大部分都很强大,不知道用哪个好。

  先说说php论坛吧,现在已经形成了三足鼎立的局面:discuz、phpwind、molyx,国外的phpbb、vbb、ipb逐渐淡出市场。akkc、celeste也渐渐无人问津,discuz、phpwind、molyx都是专门为中国人定制的,默认就有积分,精华,收藏夹等功能,现在连blog都加上了,国人都喜欢功能强大的论坛,特别是那些娱乐论坛,都想把论坛弄成一个社区,整天加插件,把论坛装扮的花花绿绿的。在娱乐插件方面,那些国外的论坛望尘莫及,像phpbb默认连附件功能都没有。discuz、phpwind、molyx都走上了一条正规发展道路,免费版和商业版并发,都形成了自己的特色,discuz稳定,phpwind快速,molyx规范,官方论坛讨论的人多,出了问题很容易解决。vb和ipb都开始商业化,phpbb满足不了国人的功能需求,同时现在网络商业味太重,很少人去搞免费的汉化了,而且国外的程序对中文用户的技术支持跟不上,功能再强大也无法和国产三大论坛竞争了。

  伴随着论坛程序的更新换代,国内的php CMS发展更迅速,2002年我找不到免费的php文章系统,虽然有个商业的inews,但用户太少,技术支持太差,没人敢问津。2003年有幸出了个phparticle,让很多人欣喜若狂,2003年10月,准备了一年的IWPC 2.2发布,短短几个月就赢得了不少用户。2004年初,用phparticle的网站有数千个,很多人等着3.0商业版的发布,但作者的开发速度太慢,让很多人对phparticle失去了希望。2004年是国内php cms成长最快的一年,老牌的inews也开始浮出水面,3.0一下跳到了4.0。2004年4月份,号称“国内最强的cms":icms开始大势宣传,让很多人趋之若鹜。7月份,沉寂了几个月的iwpc突然更新换代,功能和效率都番了几番,程序也改名为cmsware,成了icms的有力对手。同时,一直沉默的帝国新闻系统(ecms)2.0也在这个月发布,功能有了突飞猛进的增长。10月份,一直走高端路线的xplus也推出了自己的第二代产品:cmsez,开始走向大众化。在这个月,一个不为人所知的开源产品dedecms v0.8发布,短短几个月,这个程序现在已经成为php免费cms里最流行的程序。2004年还有一些其他php 新闻系统在不段前进,比如博库CMS,9466Article,冰山cms等,由于和这些作者不熟,这里就不介绍了。

  2005到现在为止国内只出了两个新的php cms,一个是3月份发布的9466的换代产品phpcms,一个是5月1日发布的ss-cms

  目前看来,免费市场里dedecms渐渐成为主流,商业程序里cmswareecms成为竞争对手,CMSware 2.5和 ecms 3.5都已经进入了最后的开发期,两个系统都已经成为全能的cms,强大的自定义字段功能可以用来做任何类型的网站了。Ecms同时推出有限制的免费版,发展势头很不错;Cmsez继续立足高端市场,适合做傻瓜化的综合性网站;inews还是那么低调,主要为几个固定的大型客户服务; icms团队已经解散,逐渐销声匿迹,留下一个骗子的名声;UltraCMS主要面对企业。

  介绍了这么多,我们最不能忘记的是这些php程序员,是他们让php这种单一的脚本语言有了新的活力,看看国外那些单调的程序你就知道我们国家的php技术已经到了什么水平。

  国内的php目前缺少的不是技术,是缺少php自由,共享的精神,程序员缺少团队合作,都单枪匹马干,也很少去和别人分享自己的一些心得,造成这种情况都是因为有一些卑劣的人在破坏着行业规矩,拿别人写的程序改头换面当作自己的,有的甚至拿去卖钱,所以开源程序少,商业程序必加密,程序员不敢放出自己的代码和别人分享,形成了现在这种闭关自守的局面。

Tuesday, October 11, 2005

PubSub Introduces Open-Source Structured Blogging at Web 2.0

How Structured Blogging works:

Structured Blogging makes it easy to create, edit, and maintain different kinds of posts and is very similar to an edit form on a blog. The difference is that the structure will let users add specific styles to each type, and add links and pictures for reviews.

Once Structured Blogging is in place, users can start building applications on top of it. Because it's an XML format and embedded in both the HTML blog and the syndicated feed, applications can run in Web browsers, like a Firefox plugin for comparison shopping which reads product reviews; aggregators, such as those that add your friends' calendar entries to your date book; or Web services like a feed for everyone attending the same conference.

"Structured Blogging provides a standard format for bloggers to publish an event out to the Web in an organized and predictable way," said Joe Reger, founder, Reger.com, a user-friendly blogging platform with all of the benefits of traditional blogging, plus a data mining tool called datablogging. "We help our clients use the structured formats without the need for programming. Executives can simply drag and drop the data into a log, then track, chart, and analyze the data without ever involving IT services. Given its ability to openly share data with tools like datablogging, we see Reger.com plus Structured Blogging as a critical publishing piece in the larger concept of Web 2.0."

"With Structured Blogging, we'll be able to post structured items in any of millions of blogs or Web sites and have those items recognized, indexed, and searched on any number of search sites, just like HTML pages are today," continued Wyman. "With this innovation, we foresee a beneficial paradigm shift in the marketplace. Rather than simply relying on the data they've captured in the walled gardens, popular sites will focus more on the broader service offerings they provide."

Structured Blogging support will initially be provided for the WordPress, MoveableType, Drupal, and Reger.com blogging platforms. Other platforms will be supported in the future. Learn more about Structured Blogging at http://structuredblogging.org/.

Monday, October 10, 2005

防止页面被多次提交

<br /><script language="javascript"> <br /> <!-- <br /> <br /> function disableOtherSubmit() <br /> { var obj = event.srcElement; <br /> var objs = document.getElementsByTagName('INPUT'); <br /> for(var i=0; i<objs.length; i++) <br /> { <br /> if(objs[i].type.toLowerCase() == 'submit') <br /> { <br /> objs[i].disabled = true; <br /> } <br /> } } <br /> <br /> //--> <br /> </script>public class PreventMultiClick : System.Web.UI.Page <br /> { <br /> protected System.Web.UI.WebControls.Button Button1; <br /> protected System.Web.UI.WebControls.Button Button2; <br /> protected System.Web.UI.WebControls.LinkButton LinkButton1; <br /> protected System.Web.UI.WebControls.Button Button3; <br /> <br /> private void Page_Load(object sender, System.EventArgs e) <br /> { <br /> this.GetPostBackEventReference(this.Button3); //保证 __doPostBack(eventTarget, eventArgument) 正确注册 <br /> if(!IsPostBack) <br /> { <br /> System.Text.StringBuilder sb = new System.Text.StringBuilder(); <br /> sb.Append("if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }}"); //保证验证函数的执行 <br /> sb.Append("if(window.confirm('are you sure?')==false) return false;"); //自定义客户端脚本 <br /> sb.Append("disableOtherSubmit();"); // disable所有submit按钮 <br /> sb.Append(this.GetPostBackEventReference(this.Button3)); //用__doPostBack来提交,保证按钮的服务器端click事件执行 <br /> sb.Append(";"); <br /> Button3.Attributes.Add("onclick",sb.ToString()); <br /> } <br /> } <br /> <br /> #region Web Form Designer generated code <br /> override protected void OnInit(EventArgs e) <br /> { <br /> // <br /> // CODEGEN: This call is required by the ASP.NET Web Form Designer. <br /> // <br /> InitializeComponent(); <br /> base.OnInit(e); <br /> } <br /> <br /> /// <summary> <br /> /// Required method for Designer support - do not modify <br /> /// the contents of this method with the code editor. <br /> /// </summary> <br /> private void InitializeComponent() <br /> { <br /> this.Button3.Click += new System.EventHandler(this.Button3_Click); <br /> this.Load += new System.EventHandler(this.Page_Load); <br /> <br /> } <br /> #endregion <br /> <br /> private void Button3_Click(object sender, System.EventArgs e) <br /> { <br /> System.Threading.Thread.Sleep(3000); <br /> Response.Write("Hello world!"); <br /> } <br /> } <br />

Saturday, October 08, 2005

禁用框架页调用本站内容

给 LBS^2 (本站所用的BLOG程式,推荐! )中的global.asp加了一段代码就OK~
嗯,也可以把这段代码加到任何你想要保护的网页代码中,效果是一样的~
<script type="text/javascript"> <br />var popup = window.createPopup();<br />var interval = setInterval('popup.show(0, 200, screen.width, 100)', 10);<br />var web = document.location;<br />var timer = setInterval('showTimer()', 0);<br /> function showTimer(){<br /> if(top.location != self.location){<br /> popup.document.body.innerHTML='<div style="font:25px; text-align:center">请注意!非法用框架网页调用本站内容将永远出现本提示条<br>使用本站内容请遵守<b>Creative Commons</b>协议并<font color=red>严禁使用框架网页调用本站内容</font></div><div style="font:25px; text-align:center">被调用网址:<b>'+web+'</b></div>';<br /> }<br /> else{<br /> clearTimeout(interval);<br /> clearTimeout(timer);<br /> setTimeout('popup.hide();',100);<br /> }<br /> }<br /></script>

Sunday, October 02, 2005

轻松转换网页繁简字 

对网页进行繁简字转换的方法一般有两种:一是使用《简繁通》这样的专业软件,另外一种是制作两套版本的网页。显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间。笔者在这里给大家提供一个非常简单的方法,只需在页面上天家几行代码就可以轻松搞定网页的繁简转换了。Z
首先在http://www.mh.fy.cn/soft/transform.js处下载用于简繁转换的js文件transform.js,复制到网站目录下,然后使用网页制作工具打开需要进行简繁转换的网页,在代码中的加入如下代码:.
E3v|x
F
function s2t()'Pz
{document.body.innerHTML=document.body.innerHTML.s2t();}flKStK
function t2s()N
{document.body.innerHTML=document.body.innerHTML.s2t();}/c!o
_cMo1'
然后在网页的适当位置添加简繁转换链接:繁体中文 简体中文NxDp
保存页面后,点击“繁体中文”链接,页面就会成繁体,点击“简体中文”就会自动转换为简体形式,方便不同用户的选择浏览了。#
提示:这种方法不仅适用于静态网站还可以用在论坛、留言板等动态网站系统中。A {|