分類
TatterTools

TatterTools中的Flash Upload安全性問題

由於 flash 在 10版之後, 透過 flash upload 的安全性有提升了, 不能使用 javascript 去呼叫 flash 的 select upload file dialog box, 所以在 TatterTools 中的發表文章的上傳組件就會因此失效.

解決的方式其實也就是把 browser 的 flash 降級成 flash 9 的版本, 但這個很怪, 因為有新版 flash 不用, 要去用舊的, 而若是升到 flash 10 又要能上傳的話, 一個是 disable browser 的 flash 功能, 但這個也很怪, 另一個則是修改一下 TatterTools 的編輯後台中的 upload module 讓 flash 失效即可.

其實 TatterTools 後台, 使用 flash upload 可以做多檔 upload, 但若沒有透過 flash 的話, 則是走 web upload , 一次只能上傳一個檔案, 雖然會比較麻煩, 不過也算是還可以的解決方案.

需要修改的地方有兩個, 一個是在新發表文章的 /blog/owner/entery/post/index.php 調查其中關鍵字: hasRightVersion , 全文是:

var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

在下面加一行 hasRightVersion = false; 即可.

另一個位置是在修改文章的 /blog/owner/entry/edit/item.php , 一樣調查關鍵字 hasRightVersion, 一樣在偵測 flash version 後, 把該變數設為 false 即可.

修改好後, 在文章編輯後台的上傳區就會是單檔上傳的介面, 如下:
這樣一來就可以順利使用單檔上傳, 也避開了 flash 10 版安全性問題了!

分類
TatterTools

重導用戶至手機網址插件

好一陣子沒寫 plugin 了, 用手機瀏覽 tattertools 的網頁, 本來就存在網址 https://diary.tw/tim/m 這個功能, 不過若是直接用手機瀏覽至文章的話, 例如: https://diary.tw/tim/494 , 應該要被 redirect 至 https://diary.tw/tim/m/494 . 這個功能一直很想實作, 卻沒時間也一直沒想法怎麼架構這個插件.

今天用手機上網找資料, 找到自己的網站, 連回來, 連到原來正常的網頁, 但實在太大又不方便, 雖然自己知道可以加上 /m 來改網址達到手機可觀看的版本, 但別人不見得會知道啊, 所以今天就來寫這個小插件.

架構上用了比較簡單的 tagname 方式實作這個插件, 所以要用的使用者, 麻煩就將 [ ##_MobileRedirect_## ] (注意要去除[]間的空白)放在 skin 上, (放在愈前面愈好, 最好是在 < head>之後, 或是 <body>之後, 如此才能快速作用(用javascript重導的).

判定的方式利用了 Russell Beattie’s Weblog (link) 的 Mobile Browser Detection in PHP 這篇文章內的判定手機方式來達成, 一共分為兩個步驟:

先判定 directive ($suri[“directive”]) 是 “/”, 也就是首頁或是內容頁(用數字版本的), 詳情可以參考: TT的$suri好用資訊 這篇文章.
接下來再判定是否為手機用戶, 這個就用 $isMobile 來判定

一旦兩者皆符合時, 就重導至 /m 的手機版本網頁.

請各位有空試看看, 若有任何問題或建議, 歡迎提出來哦!

插件下載:
MobileRedirect.zip

分類
TatterTools

真方便的CodeHighlight Plug-in

今天瞎逛了一下 tt 的plugin網站:

http://tattertools.com/ko/bbs/zboard.php?id=plugin

結果找到了一個還不錯用的 syntax highlighter plugin, 這個是利用之前介紹的 https://diary.tw/archives/341 這篇內容中的 dp.SyntaxHighlighter 功能整合實作出來的, 效果當然很不錯囉, 給有需要說明講解程式又在寫 tt 的人使用是再適合不過了, 使用方式相當容易, 就是用 [ code ] ~ [ /code ] (注意, 沒有空格) 包起來的 code 就可以被這個 plugin 辨識出來並加上 highlighter, 若要指定語法, 就是 [ code 語法 ] 這樣即可, 例如: [ code php ]~…[ / code ] 這樣子囉. 原始 plugin 網址在這裡: http://gendoh.tistory.com/2510878 給大家參考看看囉!

以下為幾個 sample:

分類
TatterTools

完成LoadAddComment插件

在 tattertools 中, 留言或回覆評論時, 有時候會因為網路速度較慢, 而 tt 又是使用 ajax 的方式回應, 而造成似乎沒有反應的狀況, 利用了 dynamic html 中的 div 及一個 loading 的小圖示, 開發了一個插件, 在留言或回覆評論時提示了等待的狀況, 目前尚為一個測試版本, 先給大家測試看看, 下個版本將會加入自訂訊息, 顏色邊框, 等待時間等功能, 敬請期待!

目前功能為出現在畫面正中央會有提示, 畫面如下:

分類
TatterTools

MailNotification0.5插件完成囉

網友Chieh需要一個能主動通知有新留言功能的插件, 順便實作一下在 1.1.1 的版本下, 有 configuration 功能的插件, 便著手開發了一個於文章留言及留言版留言的主動通知插件.

本插件利用了 configuration 介面可以進行是要對文章留言有效或是對留言版留言有效, 當然亦可同時設定有效, 介面如下:

只要發生了新的留言, 就會依照設定進行 mail 主動通知, 並會將留言者, 留言類型及是否為秘密留言, ip 等資訊一併寄出, 也將連回查看的網址附上, 功能很單純也十分方便, 歡迎大家多多利用!!

下載:
MailNotification0.5.zip

 

分類
TatterTools

升級1.1.1完成

下午由於網友安裝插件的問題, 我試著更新 tt 的版本至最新的 1.1.1 , 如同之前的安裝方式, 先用 mysql 備份資料庫, 再將 tt 1.0.6.1 目錄整個備份下來 (雖然有排每日備份, 但在升級前還是做一下最新的備份, 以防不時之需), 接下來就是將 1.1.1 整個目錄以覆蓋的方式蓋上原來的 tt 1.0.6.1 目錄.

接下來登入後台, 如以往一般, 會出現系統檢查, 完成後就順利地更新至 1.1.1 的版本, 繁中化的部分就直接用原來 languages 目錄下的 zh-CN.php 利用 convertz 建一個 zh-TW.php 出來即可順利完成, 很快地就能測試網友安裝本站插件的問題, 不過看起來似乎也沒有什麼大問題, 一切都很正常, 看起來都還 ok, 我也將後台的插件畫面抓下來給網友 Chieh 參考:

另外整理一下 1.1.1 和我之前用的 1.0.6.1 的差異處:

整體來說仍維持原來的相容性, 這個是我一直覺得 tattertools 做得還不錯的地方, 不過程式碼的彙整仍沒有進行, 也就是一個程式碼分散在多支程式的狀況仍沒有改變. skin 也都相容, 後台介面美化了不少, 接下來為分項描述:

分類
TatterTools

tt的trackback spam嚴重及改善方法

最近因為 tt 的 trackback spam 發生的愈來愈嚴重了, 雖然有 eolin 的 antispam 在背後努力著, 但是還是進來了一堆 trackback 的 spam.

最近發生的大多是這個網址來的: 9hxofreeporn.info 還有 9hwifreeporn.info , 不知他是如何躲過 eolin 的 antispam plugin 的咧. 不過無論如此, 針對這樣的特性, 索性想寫個 plugin 來自己 antispam 一下, 結果在實測時, 發生了小狀況.

分類
TatterTools 懶得分類

隨機文章列表RandomArticle 0.9

利用了 MySQL 的 rand() 函數, 將文章做出隨機列表, 內容相當簡單明瞭, 可以做為寫 plugin 的入門參考資料. (詳情參考 https://diary.tw/archives/372 這篇隨機資料取得)

由於在 {$database[‘prefix’]}Entries 要選出文章, 得有以下幾個條件:

  1. owner=$owner (使用者blog內的文章)
  2. visibility=2 (公開的)
  3. draft = 0 (非草稿)
  4. category >= 0 (非公告, 寫到這, 想到 TopView 有一些問題, 因為沒區分公告連結)
分類
TatterTools 懶得分類

TT的$suri好用資訊

在實作這麼多支 plugin 後, 因為網友在留言問了 RSS for Categories plugin 的問題, 於是找到了韓國 TT 官網上的 plugin 名稱為 Sub RSS (for TT 1.0.2), 接下來就測試, 也觀察這個 plugin 的實作方式及用法. (link)

因為都是韓文, 所以也就看不懂說明, 不過看 code 多少可以看得懂用法, 這個 plugin 是用來做在分類檢視(Category View)及標籤檢視(Tag View)下, 將 [ ##_SubRSS##_ ]這個代碼取代為一個 RSS 的圖案, 並含有在該分類檢視或標籤檢視下的 RSS 連結, 可以達成該網友問的問題的參考解答.

分類
TatterTools 懶得分類

TT實作閱讀統計資訊-ViewCounter1.1插件實作

由於 TatterTools 的文章閱讀方式, 和一般的 blog 有些差距, 大多數的 blog 是將文章(或稱article)”繼續閱讀” (“more…”) 這種放在另一個文章頁面裡, 也就是說, 將文章區分為兩個部分, 好讓集合的頁面只顯示前面(一般使用summary, abstract, first part來描述), 而整篇的內容則是用 content, body, article 來描述, 如此一來就將文章區分為兩塊.