作者Dinsam.bbs@ccudream.twbbs.org (前世.. o.O) 看板: plan
標題BLog for itoc-maple 安裝補充
時間中正築夢園 (Fri, 26 Sep 2003 20:17:24 +0800) Updated: 2005/10/07
SnowWolf所提供的code是使用個人精華
如果你要改成看板精華區
請改 gem.c:BlogMain() 及 gem.c:gem_blog()
static void
BlogMain(brdname, num)
char *brdname;
int num;
{
char cmd[256], hash[35];
vs_bar("部落格");
move(1, 0);
outs("請選擇您要執行的重作:\n"
"0.回到上一層\n"
"1.製作部落格樣板格式\n"
" 使用新的 config 目錄下樣板資料\n"
" 通常在第一次使用部落格或樣板更新的時候使用\n"
"\n"
"2.重新製作部落格\n"
" 只在部落格資料整個亂掉的時候才使用\n"
"\n"
"3.將本文加入部落格\n"
" 將游標所在位置的文章加入部落格\n"
"\n"
"4.刪除迴響\n");
while (1)
{
switch (vans("請選擇(0-3)?[0] "))
{
case '1':
sprintf(cmd, "bin/builddb.pl -c %s", brdname);
system(cmd);
break;
case '2':
sprintf(cmd, "bin/builddb.pl -a %s", brdname);
system(cmd);
break;
case '3':
sprintf(cmd, "bin/builddb.pl -f -n %d %s", num, brdname);
system(cmd);
break;
case '4':
if (vget(16, 0, "請輸入該篇的雜湊值:", hash, sizeof(hash), DOECHO) &&
vans(msg_del_ny) == 'y')
{
sprintf(cmd, "bin/bmysql %s %s", hash, brdname);
if (!strchr(cmd, ';')) /* security reason */
system(cmd);
}
break;
default:
return;
}
}
static int
gem_blog(xo)
XO *xo;
{
char cmd[256], brdname[IDLEN + 1], *dir, *str;
if (!(xo->key & GEM_W_BIT))
return XO_NONE;
/* 由 xo->dir 找出目前在哪一個板的精華區 */
dir = xo->dir;
/* 只限看板精華區使用 */
if (dir[0] != 'g' || dir[4] != 'b')
return XO_NONE;
dir += 8; /* 跳過 "gem/brd/" */
if (str = strchr(dir, '/'))
{
*str = '\0';
strcpy(brdname, dir);
*str = '/';
}
switch (vans("1)做部落格 2)更新部落格?[N] "))
{
case '1':
BlogMain(brdname, xo->pos);
break;
case '2':
str_lower(userid, cuser.userid);
sprintf(cmd, "bin/builddb.pl -f -n %d %s", xo->pos, brdname);
system(cmd);
vmsg("資料更新完成");
break;
}
return XO_FOOT;
}
-------------------------------------------------------------------
LocalVars.pm放在web目錄下的請不要用LocalVars.pm當檔名
因為這個檔案是可以被下載的
裡面的BLOGdbpasswd資訊很容易被竊取
如果系統上很多地方要密碼登入你卻習慣用同一組密碼的話 那就......
可以用一個比較特別的檔名 例如xxx.pm
那 xxx.pm 裡面的 修改
-package LocalVars;
+package xxx;
require Exporter;
index.pl、blog.pl、builddb.pl裡面的 修改
-use LocalVars;
+use xxx;
use DB_File;
--
* Origin: 中正築夢園 (CcuDream.twbbs.org) ★ From: 218.171.104.101