回精華區
作者SnowWolf.bbs@xeon.tfcis.org (靜夜) 看板: plan
標題[文件] BLog for itoc-maple 程式修改----2
時間動力核心 (Sun, 07 Sep 2003 23:36:46 +0800 (CST)) Updated: 2004/03/11
: gem.c  新增下列程式在gem_toggle之後

static void
BlogMain(num)
  int num;
{
  char cmd[256], userid[IDLEN + 1], 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");

  str_lower(userid, cuser.userid);

  while (1)
  {
    switch (vans("請選擇(0-3)?[0] "))
    {
    case '1':
      sprintf(cmd, "bin/builddb.pl -c %s", userid);
      system(cmd);
      break;
    case '2':
      sprintf(cmd, "bin/builddb.pl -a %s", userid);
      system(cmd);
      break;
    case '3':
      sprintf(cmd, "bin/builddb.pl -f -n %d %s", num, userid);
      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, userid);
        if (!strchr(cmd, ';'))    /* security reason */
          system(cmd);
      }
      break;
    default:
      return;
    }
  }
}


static int
gem_blog(xo)
  XO *xo;
{
  char cmd[256], userid[IDLEN + 1];

  /* 只限個人精華區使用 */
  if (xo->dir[0] != 'u')
    return XO_NONE;

  switch (vans("1)做部落格 2)更新部落格?[N] "))
  {
  case '1':
    BlogMain(xo->pos);
    break;

  case '2':
    str_lower(userid, cuser.userid);
    sprintf(cmd, "bin/builddb.pl -f -n %d %s", xo->pos, userid);
    system(cmd);
    vmsg("資料更新完成");
    break;
  }

  return XO_FOOT;
}

: gem.c:gem_cb[]

static KeyFunc gem_cb[]
  'B', gem_toggle,
+ 'b', gem_blog,


: util/Makefile

EXE =   ... bmysql

.................

linux:
        @$(MAKE) CC=gcc CFLAGS="-O2 -pipe -I../include
 -fomit-frame-pointer -Wunused" LDFLAGS="-s -L../lib -ldao -lcrypt -lresolv
 -Lpath-to-the-mysql-library -lmysqlclient" $(EXE)

freebsd:
        @$(MAKE) CC=gcc CFLAGS="-O2 -pipe -I../include -fomit-frame-pointer
 -Wunused" LDFLAGS="-s -L../lib
 -L/usr/local/lib/mysql -lmysqlclient
 -ldao -lcrypt" $(EXE)

: util/bmysql.c  新增 bmysql.c 於 util/

#include <mysql/mysql.h>

/* JCWang:請各位大大依照自己的系統自行修改下面define */
#define BLOGDB_HOST   "localhost"
#define BLOGDB_USER   "root"
#define BLOGDB_PASSWD "yourpwd"
#define BLOGDB_DB     "blog"
#define BLOGDB_PORT   0
#define BLOGDB_SOCK   0 /* NULL */

int
main(argc, argv)
  int argc;
  char *argv[];
{
  MYSQL mysql;
  char cmd[256];

  sprintf(cmd, "delete from comment where hash='%s'&&brdname='%s'",
    argv[1], argv[2]);

  if (mysql_init(&mysql) &&
    mysql_real_connect(&mysql, BLOGDB_HOST, BLOGDB_USER, BLOGDB_PASSWD, BLOGDB_DB, BLOGDB_PORT, BLOGDB_SOCK, 0) &&
    !mysql_query(&mysql, cmd))
  {
    mysql_close(&mysql);
  }

  return 0;
}

--
=[:摃�◣�:Origin ]|[     O�processor.tfcis.org    ]|[�搟說:]=
=[:摃�╱�:Author ]|[     140.127.38.223                  ]|[�:]=
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻