5D3L2151

花莲是个小城市,几个小时就从头走到尾了。
这里在台湾都算是闭塞的地方,但是美食遍地,物美价廉。

兼容IE6,IE7,IE8,Firefox,Maxthon,Safari,Opera.

functions.js

[code=’js’]
/* 存储参数 */
var links = new Array();
var imgs = new Array();
var titles = new Array();

/* 显示参数 */
var imageWidth = 457;//图片宽度
var imageHeight = 210;//图片高度
var loading = “http://www.zainanfang.com/wp-content/themes/zainanfang/images/loading.png”;//加载中图片
var hightColor = “#CF9262”;//高亮色彩
var lowColor = “#F5F8F3”;//低亮色彩
var titleColor = “#000”;//题目文字色彩

/* 控制参数 */
var count = 4;//图片个数
var changeTime = 2000;//切换时间,单位毫秒

/* 初始化容器 */
for(var i = 1; i <= count; i++) { imgs[i] = new Image(); imgs[i].src = loading; titles[i] = ""; links[i] = "#";} /* 插入CSS代码 */ var str = "

“;
str += “

“;
str += “

“;

/* 添加图片 */
str += “

“;
for(var i = 1; i <= count; i++) { str += "
“+i+”

“;
}
str += “

“;
str += “

“;

function SetAlpha(){if(document.all){if(oi.filters &amp;amp;&amp;amp; oi.filters.Alpha) oi.filters.Alpha.opacity = opacity;}else{oi.style.MozOpacity = ((opacity >= 100)? 99:opacity) / 100;}}
function ImgSwitch(id, p){if(p){pause = true;opacity = 100;SetAlpha();}oi.src = imgs[id].src;document.getElementById(“dlink”).href = links[id];document.getElementById(“it” + lastid).className = “off”;document.getElementById(“it” + id).className = “on”;document.getElementById(“titnv”).innerHTML = “” + titles[id] + ““;curid = lastid = id;}
function ScrollImg(){if(pause &amp;amp;&amp;amp; opacity >= 100) return;if(sw == 0){opacity += 2;if(opacity > delay){ opacity = 100; sw = 1; }}if(sw == 1){opacity -= 3;if(opacity < 10){ opacity = 10; sw = 3; }}SetAlpha();if(sw != 3) return;sw = 0;curid++; if(curid > count) curid = 1;ImgSwitch(curid, false);}
function Pause(s){pause = s;}
function StartScroll(){setInterval(ScrollImg, speed);}
function CheckLoad(){if (imgs[1].complete == true &amp;amp;&amp;amp; imgs[2].complete == true) {clearInterval(checkid);setTimeout(StartScroll, changeTime);}}
[/code]

index.php

[code=’js’]


[/code]

最近在忙什么?很久没写文字了吧~
这几天一连接了两个网站项目来做,成功地都变成了WordPress后台.为WordPress开发模板真的是一件只能用惬意来形容的事情.一旦习惯了WordPress的”方言”,强大的功能实现起来并不是一个梦.
整体感觉起来,WordPress中提供对每篇文章的自定义域是最强大的功能,简直提供了一个小型数据库,你可以定义成任何东西!

zainanfang

上图就是最近一直在做的一个网站,在南方,是一个诗社.

什么是 Google 数据 API?

Google 数据 API 提供用于在网络上读写数据的简单标准协议。
这些 API 可以使用基于 XML 的两种标准联合格式:Atom 或 RSS。它们还具有一个供稿发布系统,其中包括 Atom 发布协议和用于处理查询的一些扩展功能(使用 Atom 的标准扩展模型)。
许多 Google 服务都支持 Google 数据 API 协议。以下数据 API 可以使您的客户端应用程序与 Google 服务进行互动:

动机

这几天我在做自己的一个网站制作及托管服务的网站,牵涉到一些客户信息的管理什么的,最好是能做成OA之类的形式,就像Google Docs里的SpreadSheet一样,在线编辑,在线显示。不过我实在没时间去自己做这种东西,于是我在想是不是能直接通过API把Google Docs里的SpreadSheet直接嵌入我自己写的网页里去。不见得需要编辑功能,估计Google也不会提供,不然Google Docs不就变成带有后门的网站留言文本编辑器了么…(所谓带有后门,是指与一般留言文本编辑器不同,不是把数据存储在本地网站,而是存储在另一个服务器,在这里就是Google Docs服务器上)

php_google_docs1

站在巨人的肩上,感谢Lim Jiunn Haur写的WordPress插件Inline Google Docs早就提供了这个功能,我把这个插件拆开,去掉多余的,为我所用了。

php_google_docs2

使用方法

用法很简单,后面的相关下载中提供了一个RAR包,当中包含两个文件夹,styles里包含了一个CSS,用于修饰SpreadSheet表格显示的效果,这里的风格基本上是白灰风格,如上图所示。鉴于保密需求我做了模糊处理,反正就那么个意思。你需要在你的网站中加入这个CSS或者将这个集成到你的CSS中,或者干脆不要,自己写。
includes文件夹是库,其中Zend是Google Data API库,由Google发布。gdocs是本文所述的库。加载Google Data API库的代码在gdocs下gdocs.php中,你可能需要做一点路径修改之类。至少在你的全局include库的地方加入Zend的位置,并include gdocs.php这个文件。

[code=’php’]
/* Add Zend library to path */
$path = dirname (__FILE__) . “/includes”;
set_include_path (get_include_path () . PATH_SEPARATOR . $path);
[/code]

另有一个全局配置文件config.php,我并没有给出,你自己要补上。示例如下:

[code=’php’]
/* Site Configuration */
define(‘SITE_URL’, ‘http://www.yourdomain.com/’);

/* Google Docs Settings */
define(‘GOOGLE_DOMAIN’, ‘yourdomain.com’);
define(‘GOOGLE_USERNAME’, ‘username@yourdomain.com’);
define(‘GOOGLE_PASSWORD’, ‘YourGooglePassword’);
define(‘PROXY_HOST’, ”);
define(‘PROXY_PORT’, ”);
define(‘PROXY_USERNAME’, ”);
define(‘PROXY_PASSWORD’, ”);
[/code]

调用显示Google Docs中包含的文档时,PHP代码如下:
[code=’php’]
gdocs_list();
[/code]
具体的显示风格请自行修改includes的gdocs下,gdisplay.php文件。

调用显示某一个具体的SpreadSheet的时候,$atts[‘type’]置’spreadsheet’,st_id为SpreadSheet的ID,例如’pNrLCrMF9srEYeIRCLO5kEF’,wt_id为工作表ID,例如’od6’,PHP代码如下:
[code=’php’]
$atts[‘type’] = $_GET[‘type’];
$atts[‘st_id’] = $_GET[‘st_id’];
$atts[‘wt_id’] = $_GET[‘wt_id’];
$atts[‘style’] = ‘googledocs’;
$atts[‘headings’] = NULL;

gdocs_display($atts);
[/code]

注意事项

  • 按照原作者Lim Jiunn Haur代码中的声明,本作品源代码依旧遵循GNU Public License
  • 修改之后的代码示例只包含了必要的我能用到的功能,就是对Google Docs中Document和SpreadSheet的列表,以及SpreadSheet的显示功能,其他功能并未写出实例,但是包含的Google Data API是完整的,应该可以写出进一步功能的代码,这里留给读者去自行研究吧。

相关下载

参考资料