白色iphone 4 ipad2 香港正式發售

香港iphone 4 27號正式發售,個大電話供應商包括three, smart tone ,csl 都推出,smart tone 凌晨開始在中環戲院裡發售。

個人感覺只是換了個殼,OS版本為4.3.1,iphone 4 黑色貨源充足,不值得入貨炒。

蘋果新聞稿http://www.apple.com/pr/library/2011/04/27iphone.html

 

另外,ipad 2也29號開始發售,蘋果新聞稿:http://www.apple.com/pr/library/2011/04/27ipad.html

discuz x1.5 facebook connect

本人很懶很笨,一直想做discuz x1.5 的facebook connect都沒做,已經有UTF8,繁體和簡體版,十分支持開源!(雖然有風險)

主要討論地方都在這裡:http://www.discuz.net/thread-2108176-1-1.html

繁體http://www.alan888.com/Discuz/thread-189876-1-1.html

經過測試,此插件還有一些問題,並不是真正的facebook connect,而是一個帳號綁定,判斷也是根據uid 和facebook id,沒有像sina那樣,使用oauth來認證,還是要註冊,其實引用discuz x1.5 ucenter的機制是可以不用註冊的,不過還是可以用的,我用它來學習學習,還是有點用處的。

其實,這個插件被多人修改,各個都掛上自己的名字。

我第一次見到這個插件是在http://www.siamdiscuz.com作者positron.th@gmail.com,網站倒閉了,然後見到xileguo.com,把這個插件修改後用來賣錢。現在就出現這個版本,基本上內容都相似,但不是我想要的那種。

http://bbs.qxinnet.com/thread-41559-1-1.html

smarty 使用心得

近些時間都是自己在開發php 程序,沒有用一些常見的CMS來改造,自己開發的程式在外觀上難免不好看,或者是要花大段時間去做修飾,所以選用上smarty 作為界面來輔助開發,感覺是相當方便的,假如有自己製作過一些著名CMS的主題,應該會很容易上手,我想理論是差不多的。

smarty現在已經出到3了,但我還是用2的,因為php版本的關係吧。但2對我來說已經足夠。如何開始使用smarty,也許官方網站的說明幫到你,有豐富的例子說明,對我來說幫助很大。但對於我這初學者來說,最大的問題就是不知道某些function的存在,導致在php那邊花了很多時間。

用上了smarty,基本上在php只是傳值就可以,在每個php文件上,把要傳到template的value都打上就可以

$smarty->assign(‘template調用的值’, ‘php的值’);
$smarty->display(‘index.tpl’); //這個就是調用的template文件

我基本上用得最多的就是section,它是一個循環,在database上while loop調用的值,都裝到一個array上,然後就可以在template上用{section}{/section}來調用值,而且section 有很多屬性,有name, start, loop, step,這些都很方便,name可以像javascript那樣取得這個section的一些值,例如$smarty.section.foo.index,foo就是name的名稱,index就是循環到哪了。start就是開始的index,loop循環次數,step就是每次間隔index,假如寫再php,也許要for loop,而且還要$i+2 之類,現在只要改一個數字就可以,十分方便。

接著用得最多還是{if}{elseif}{/if},可以用來判斷值,例如在section中判斷{if $smarty.section.foo.index eq 2}do something{/if},eq 就是等於的意思,這個我常用來作為修飾一些默認取值。十分好用

{foreach}也用的更多,用法和section 差不多,直接可以來輸出array值.

在php 中經常用到表單form,這裡會有很多值,還有不同的方式GET,POST, smarty也可以取得form傳輸的值:{$smarty} reserved variable,例如form傳出的值是page,方式用get,那麼就可以直接$smarty.get.page得到傳出的值,還可以用session來判斷,可以說很方便。

由於某些特殊的需要,要把一堆string換成array,雖然php 有explode,但是explode出來只是為了方便看,smarty應該有相關的方法,沒錯,{assign var=foo value=”,”|explode:$config.siteUrl} 這樣就可以把值存到foo中,在表單中得到multi selection時就會用上。

smarty的確很強大,我也看了3版本的介紹,應該是更加方便和標準化,有空再繼續研究。

Php NCR 轉換

將BIG5-HKSCS 轉unicode 符號可以解決好多香港特殊字體問題。

NCR 其實就是一堆符號,舉例,

香港 = 香港

如何將這些進行轉換,php 裡面有函數可以轉換

// convert UTF-8 string to NCR

mb_convert_encoding($utf8_str, ‘HTML-ENTITIES’, ‘utf-8’);

 

// convert NCR back to UTF-8

mb_convert_encoding($ncr_str, ‘utf-8’, ‘HTML-ENTITIES’);

 

不過要注意的是,確保所以字再轉換前已經是同一種編碼,因為有些字是簡體,繁體裡沒有,可能就會出現問題,最好再輸入後,先把所有字轉成utf8,再進行轉換,可以確保不同編碼問題

Centos 雙網卡設定

很多時候伺服器需要安裝兩張網卡network interface card(NIC),一張給公眾public,一張給內聯(local),這樣做可以在去public那裡加防火牆等,不過兩張網卡應該如何設定才避免衝突,本人一開始以為插上網卡,設定好ip, dns, gateway就完成,但是一開始沒問題,到了重新開機時就出了問題。

Public eth0 10.100.1.5

Local eth1 192.168.2.4

我遇到問題是當開啟eth1後,伺服器就找不到任何網絡,ping 不到其他網絡,一關閉內網eth1,網絡即刻恢復正常。因此估計與網卡eth1有問題,但不會是硬件,應該是設定問題。

本人用centos 進行以下設定修復了雙網卡『衝突』問題

首先,在/etc/sysconfig/network 中加入

GATEWAYDEV=eth0

這是將默認gateway設定用對外網卡

然後修改/etc/sysconfig/networking/devices/ifcfg-eth0

這張是對外網卡,因此其需要gateway,BOOTPROTO 也需要設定,設定為none (static應該也一樣,假如是dhcp就用dhcp)

接著修改第二張網卡/etc/sysconfig/networking/devices/ifcfg-eth1,

在第二張網卡,不需要gateway,也不用BOOTPROTO

最後修改/etc/resolv.conf,把dns ip 打進去

重新啟動network,就解決了問題