回精華區
作者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
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻