苦候 Minstrel 的 BlogStatistic 外掛多時,還是沒等到。所以只好先自力救濟了。
BBClone 自 0.46 之後就已經支援 UTF-8 的關鍵字顯示,所以從其他搜尋引擎或是網站連過來的關鍵字呢,會自動轉為 UTF-8 編碼,不會再是一堆的亂碼了,但是前提是你的主機必須支援 iconv 或是 mb_string。如果不支援呢?沒關係,你還是可以使用 BBClone,只是關鍵字可能還是會有亂碼出現。
另外,我也修改了原本的整合方式,1.0 版的整合可以完全適用於一般網址、簡潔網址與自訂網址,而二級域名的部分,我就不確定了,因為沒這樣的環境可以測試。
有興趣的人請依照下面的步驟來安裝:
- 到 BBClone 網站下載最新的 BBClone 程式,目前是 0.48a 版,記得要下載給 UTF-8 專用的版本。
- 把檔案解壓縮後,上傳到你的 pLog 安裝目錄下,例如 /plog/bbclone 。
- 首先要修改 /plog/index.php ,使得所有 pLog 的動作都會被 BBClone 記錄下來。把下面這一段程式,加到 SessionManager::init(); 這一行 (大概是第 30 行) 後面:
define("_BBCLONE_DIR", PLOG_CLASS_PATH."bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if(!isset($_COOKIE["stats_cookie_nolog"])) {
$articles =& new Articles();
if(!empty($_REQUEST['articleId'])) {
$article = $articles->getUserArticle($_REQUEST['articleId']);
$pageName = $article->getTopic();
} elseif(!empty($_REQUEST['articleName'])) {
if(!empty($_REQUEST['blogId'])) {
$blogId = $_REQUEST['blogId'];
} else {
$blogs =& new Blogs();
$blogInfo = $blogs->getBlogInfoByName($_REQUEST['blogName']);
$blogId = $blogInfo->getId();
}
$article = $articles->getBlogArticleByTitle($_REQUEST['articleName'], $blogId);
$pageName = $article->getTopic();
} else {
$pageName = 'index';
}
define("_BBC_PAGE_NAME", $pageName);
if (is_readable(COUNTER)) include_once(COUNTER);
}
- 再來我們要修改 /plog/admin.php ,使得如果是網誌的擁有者自己點入的連結,就不做任何紀錄,以免自己灌水。把下面這一段程式加到,加到 SessionManager::init(); 這一行 (大概是第 25 行) 後面:
$session = HttpVars::getSession();
if(!is_null($session["SessionInfo"]->getValue("userInfo")))
setcookie("stats_cookie_nolog", 1, time()+60*60*24*30);
- 然後我們要修改 BBClone 的程式,讓他可以正確的轉換中文。修改 /plog/bbclone/constants.php ,把
下面的程式
$BBC_SEP = char(173);
改為
$BBC_SEP = "@@@@";
- 最後我們要修改 BBClone 連結的紀錄方式,讓他可以正確的紀錄被訪問的網頁連結。修改 /plog/bbclone/lib/marker.php 把
下面的程式
$REQUEST_URI = $this->filter_uri($filename, $PATH_INFO , $PHP_SELF);
改為
$REQUEST_URI = $_SERVER['REQUEST_URI'];
- 最後記得要把 /plog/bbclone/var 中的 *.inc 與 *.php 權限改為 777,.htalock 的權限改為 666 就可以了。因為這樣 BBClone 才有辦法把網頁紀錄寫入。
這樣應該就安裝完畢了。你可以透過 http://your-site/plog/bbclone 來看 BBClone 的統計頁面。
好!再來,就是如何使用 BBClone 所收集的資料了:
- 把下面程式剪下後,貼到文字編輯器上,另存成一個新的檔案,我們把它命名為 pluginbbclone.class.php。然後把它上傳到 /plog/plugins/bbclone 的目錄中。
<?php
include_once( PLOG_CLASS_PATH."class/plugin/pluginbase.class.php" );class pluginBBClone extends PluginBase {
var $bbcloneHome;
function pluginBBClone() {
$this->PluginBase();
$this->desc = "Integrates BBClone stats into pLog";
$this->author = "Palantir, netpalantir@altervista.org";
$this->id = "bbclone";
$this->bbcloneHome = _BBCLONE_DIR;
}
function get($varName) {
require($this->bbcloneHome . "var/access.php");
return $access["stat"][$varName];
}
}
?>
- 把下面的程式貼到你的模版中,就可以顯示出你的參觀人數與人次了。
<!--Visitors-->
<h2> 訪客統計 </h2>
<ul>
<li>參觀人次:{$bbclone->get("totalvisits")}</li>
<li>參觀人數:{$bbclone->get("totalcount")}</li>
</ul>
完工!簡單嗎?其實是有點複雜。所以我把需要修改的檔案全都包在一起了放在這裡 plog-hack-bbclone-20050506.zip,請自行下載。記得喔,裡面只有我修改過的程式,你還是必須自行下載 BBClone 的完整程式。
真實引用網址:
http://blog.markplace.net/trackback.php?id=4
迴響 ↓
回覆: 整合 pLog 與 BBClone
btfans 發表於 07/05/2005, 04:19
正看到新版的 bbclone, 謝謝 Mark 整合....
mark's復活
桑吉爾夫 發表於 07/05/2005, 04:45
可惜第一篇被搶走了(不自覺的又回到a網的習慣),差點忘了這裡是blog
oh~~~ya~~mark's重生了,趕快加入書籤
回覆: 整合 pLog 與 BBClone
btfans 發表於 07/05/2005, 04:56
不知何故..下面的在 Linux Fedora Core 3 總是 hang 了..唯有放 bbclone 的 link!
參觀人次:{$bbclone->get("totalvisits")}
參觀人數:{$bbclone->get("totalcount")}
回覆: 整合 pLog 與 BBClone
btfans 發表於 07/05/2005, 08:02
解決了..忘了下面歩驟:
到 "外掛中心" refresh 一次,
看見bbclone
便成功。
回覆: 整合 pLog 與 BBClone
ajer001 發表於 14/05/2005, 06:08
不好意思...想請問一下
文章中..有另外一個圖案底色的那種效果
要怎麼弄出來呢
另外
1.0之後的編輯器好像變簡單了
有辦法加強嗎
希望能幫我一下
感激不盡
那是用 blockquote
Mark 發表於 20/05/2005, 00:30
那是用 blockquote 的方式來做的,只要你用的模版有定義 blockquote 的 CSS,你就可以有這樣的效果。
Mark
回覆: 整合 pLog 與 BBClone
阿駕 發表於 08/10/2005, 13:10
回報一下
sub-domain 部份也是正常的
轉貼一下這篇教學 ^^
Catseyes 發表於 09/11/2005, 03:59
Mark 兄 ^^ 這篇寫的太好了!!
我把他轉貼到我的 pLog 上去了...可以嘛!?
當然 ^^ 原作者還是你囉!!!
回覆: 整合 pLog 與 BBClone
Tony 發表於 15/11/2005, 22:49
Mark,
每隔一段時間,我都會遇上這個問題? 目前有解嗎?
Parse error: parse error, unexpected T_STRING, expecting ')' in /usr/local/apache2/htdocs/html/plog/bbclone/var/access.php on line 28
Thanks!
Tony
請問這段是加到模板中的那一個檔案中呢?
monster 發表於 24/11/2005, 07:27
我是用grey的模板
訪客統計
參觀人次:{$bbclone->get("totalvisits")}
參觀人數:{$bbclone->get("totalcount")}
回覆: 整合 pLog 與 BBClone
btfans 發表於 23/05/2006, 11:24
整合 pLifetype 1.0.4 與 BBClone ?
有人試過成功嗎?
回覆: 整合 pLog 與 BBClone
btfans 發表於 23/05/2006, 11:24
整合 Lifetype 1.0.4 與 BBClone ?
有人試過成功嗎?
回覆: 整合 pLog 與 BBClone
jay 發表於 11/07/2006, 23:32
請問一下我做到前面所有步驟都成功,但是到要加入外掛,使它顯示在模板上出現嚴重錯誤,就是我在模板上有放上大頭貼,但是它似乎與檔案中心有衝突,當我開啟此外掛,檔案中心的資料就莫名的讀不到了,資料都在但是就是顯示不出來,請問這是什麼原因有得解嗎?
請問
ch 發表於 22/07/2006, 10:04
參觀人次:
參觀人數:請問這參觀人數是目前瀏覽人數還是今日累計人數
回覆: 整合 pLog 與 BBClone
ponpon 發表於 19/03/2007, 19:01
我也有疑問,我掛上bbclone之後,authimage的圖片和檔案中心上傳的圖片就不見了,這是為什麼?和樓上的jay的問題一模一樣。要怎麼解決呢?感謝您的回答。