Archive for the 'Web Development' Category

集成Twitter到你的网站

如果你常用Twitter,想把tweets显示在你的网站或者Blog上,该怎么办?最简单的方式是用Twitter官方的一个JavaScript,可由于功夫网的缘故,在中国的用户无法使用它,如果你有自己的网站或者Blog,且位于墙外,下面的一段PHP代码可以达到你的目的:

// 读取Twitter的函数
function twitter_process($url)
{
    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_USERAGENT, 'super_man');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

    $response = curl_exec($ch);
    $response_info = curl_getinfo($ch);
    curl_close($ch);

    switch(intval($response_info['http_code']))
    {
        case 200:
        $json = json_decode($response);
        if ($json)
        return $json;
            return $response;
        case 401:
        default:
        // NOOP
    }
}

// 显示tweets在你的网站
$o = twitter_process("http://twitter.com/statuses/user_timeline/charry.json?count=5");

for ($i = 0; $i < count($o); $i++)
{
    $item = $o[$i];

    echo "<li>";
    echo $item->{‘text’};
    echo " – ".$item->{‘created_at’};
    echo "</li>";
}

[ad]

Tips to create your own OpenID

这是一篇修改过的blog,以前写的有错误(划线的为错误内容,大括号中为更新的内容),文章就不删除了,写点简单介绍吧:

“OpenID是一个单点登录的标准,它允许用户使用同一个“数字验证”去登录众多的网络服务”,这是来Wikipedia的描述。简而言之,有了OpenID,我们就可以使用一个类似网址的标示来登录网站,考虑如下的情况:

每每你中意一个ID,却发现已经有人捷足先登,把这个ID注册了,你只能注册类似foobar1234,foobar2008这样的很尴尬的账号,很是郁闷。还有,有一天你会发现注册了太多的账号,以至于你都想不起来你的账号名或者密码来了。

这些的问题OpenID都可以解决,它通过委托机制将目标网站的验证委托给一个OpenID服务网站,你可以Google OpenID查询更多信息,此处不在赘述。本问介绍一下如果用同一个域名创建多个OpenID,比如:

http://charry.org/openid 这个是我的御用OpenID,绑定到 https://charry.pip.verisignlabs.com,但是我还可以使用:

http://charry.org/openid2
http://charry.org/openid3

等标示。方法异常简单:

只要在http://charry.org 的首页面中判断被请求的路径是什么,如果是/openid就转向到 /openid,如果是/openid2就转向/openid2,如:

Header(“Location: http://charry.org/openid”);

{只要在根目录下创建多个目录,比如/openid, /openid2, /openid3,很多文章介绍,要在网站根目录所在的页面中加入OpenID的信息,其实有些误导,没有必要,诸如:http://charry.org/openid 这样的URL也可以作为OpenID,并非一定要http://charry.org 这样的URL。这样的话,我们就可以建立多个OpenID的URL了,理论上OpenID是为了解决登录账号过多的问题,我们有必要搞这么多的OpenID吗?其实这么做,是因为很多国外的OpenID服务商,比如VeriSignLabs,在国内访问起来很慢,所以常会导致无法登录的问题。所以我们可以建立两个OpenID,一个用于登录国外的网站(使用国外的OpenID服务商),一个用于登录国内的网站(使用国内的OpenID服务商)。}

拿其中一个URL做例子(/openid),只要在/openid下的页面中加入OpenID的信息:

<link rel=”openid.server” href=”http://pip.verisignlabs.com/server” />
<link rel=”openid.delegate” href=”http://charry.pip.verisignlabs.com/” />
<link rel=”openid2.provider” href=”http://pip.verisignlabs.com/server” />
<link rel=”openid2.local_id” href=”http://charry.pip.verisignlabs.com/” /

这样你登录的网站将会把 http://charry.org/openid 作为OpenID绑定。

目前支持OpenID的网站还不多,虽然此方法可以解决我们的一些烦恼,但我们还要等待它的普及,好在很多大的网站已经开始支持它了,比如Blogger,sf.net,yupoo.com等。

See also:http://en.wikipedia.org/wiki/OpenID

[ad]

本站加入Google Friend Connect

Google Friend Connect 可以将你的Blog或者website变成一个SNS站点,通过Google强大的影响力,你可以结交更多的朋友,在这个SNS风靡的时代,你难道不想尝尝鲜吗?

更多介绍:

[ad]

Add reCAPTCHA in WordPress

为了人类的文明的延续,本blog加入reCAPTCHA插件,虽然会引起comment不方便,但考虑到本人从人类文明这种高度看问题的态度,想必你能理解^_^(其实就是好玩)

从下面的链接你可以找到一些reCAPTCHA的内容:

http://recaptcha.net/ sign up to get a public key and a private key

http://wordpress.org/extend/plugins/wp-recaptcha/

http://code.google.com/p/recaptcha/

this is my email, you have to enter the words in the picture to see this email address: hi[at]charry.org

[ad]

A Chinese Version of HTML

貌似很强大,且据说是一个可以破墙而出的实现方式,使用reCAPTCHA(一石二鸟)技术,没有看太懂<反功夫网/>内的文字以何种方式表现(rendering),文字还是图片?如果是文字,那它的流还是经过‘墙’当然会被过滤,如果是图片,那就得有服务器支持才可以,那这样和浏览器有何关系?

http://code.google.com/p/chtml/

visit http://recaptcha.net/learnmore.html to get more info about reCAPTCHA

[ad]

Google Map API Example

Actually this API has been released for a long time, but I just start to play with it. really cool, demo page: http://charry.org/m/map. if you like, you can create more interesting pages with Google Map API. for the detailed references, just Google ‘Google Map API’. thanks to Google’s map servcies, we don’t need the commercial GIS apps anymore, at least, for me, it’s awesome.

i went thru the reference page, but didn’t find any article about how to add customed  maps, i do believe there’s a feature like this, ‘cause my co-worker showed me a website in which the map is an office layout.

A powerful timeline utility

推荐一款强大的时间轴工具:http://simile.mit.edu/timeline/。这是一个用起来简单,但是功能强大的类,由MIT开发,基于AJAX。如果你的应用在Internet上,你可以简单的把如下代码加入,然后再编写你的页面和数据源即可:

<script src="http://simile.mit.edu/timeline/api/timeline-api.js" type="text/javascript"></script>

但如果你的应用在Intranet,你可以去 http://simile-widgets.googlecode.com/svn/timeline/tags/2.0-on-static-simile/ 下载它的源码。下载后,把src\webapp\api\timeline-api的204行修改为:

“src/ajax/api/simile-ajax-api.js”;

然后把你的代码,比如:foo.html 和 foo.xml 放在和src同级的目录下即可。SVN上的最新版本和MIT在线提供的Timeline有些区别,比如:用在线版本的timeline,如果加入:

showEventText:  false,
trackHeight:    0.5,
trackGap:       0.2,
eventSource:    eventSource,

时间轴上的文字就消失,只会显示图,但是如果你用的是从SVN下载的版本,上面的代码就不起作用,文字还是会显示在轴上。是他们忘记了更新?也许是MIT有意为之。

WordPress, tinyMCE, realpath

昨,搭建一个WordPress,发现tinyMCE不能使用,原来是虚拟主机提供商为了安全起见,把realpath函数屏蔽了,realpath的安全漏洞令商家不得不这么做,而这样将导致WP的后台管理不能使用WYSIWYG编辑文章。下面是解决这个问题的方法,如有朋友遇到,也许对您有帮助:

  1. 取得你的虚拟主机目录的物理路径,方法有多种,一般主机提供商给你开通服务的时候,会告诉你,假设这里是 /home/www/imchina.net/
  2. 找到 wp-includesjstinymce 下的 tiny_mce_gzip.php
  3. 打开tiny_mce_gzip.php,搜索realpath,将第一个替换为:“$cachePath = “/home/www/imchina.net/wp-includes/js/tinymce/”;”,将第二个realpath替换为:“$path = “/home/www/imchina.net/wp-includes/js/tinymce/”.$path;”。

Switch to our mobile site