summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/bbs.c9
-rw-r--r--mbbsd/record.c1
2 files changed, 8 insertions, 2 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c
index 659e6544..49f62ae2 100644
--- a/mbbsd/bbs.c
+++ b/mbbsd/bbs.c
@@ -1656,16 +1656,21 @@ recommend(int ent, fileheader_t * fhdr, char *direct)
return FULLUPDATE;
}
if (!(currmode & MODE_POST) || bp->brdattr & BRD_VOTEBOARD || fhdr->filemode & FILE_VOTE) {
- vmsg("您因權限不足!");
+ vmsg("您權限不足, 無法推薦!");
return FULLUPDATE;
}
+#ifdef SAFE_ARTICLE_DELETE
+ if( fhdr->filename[0] == '.' ){
+ vmsg("本文已刪除");
+ return FULLUPDATE;
+ }
+#endif
if( fhdr->filemode & FILE_BID){
return do_bid(ent, fhdr, bp, direct, ptime);
}
setdirpath(path, direct, fhdr->filename);
-
if (fhdr->recommend == 0 && strcmp(cuser.userid, fhdr->owner) == 0){
vmsg("警告! 本人不能推薦第一次!");
return FULLUPDATE;
diff --git a/mbbsd/record.c b/mbbsd/record.c
index c28a0c6d..e1388abe 100644
--- a/mbbsd/record.c
+++ b/mbbsd/record.c
@@ -408,6 +408,7 @@ safe_article_delete(int ent, fileheader_t *fhdr, char *direct)
memcpy(&newfhdr, fhdr, sizeof(fileheader_t));
sprintf(newfhdr.title, "(本文已被刪除)");
strcpy(newfhdr.filename, ".deleted");
+ strcpy(newfhdr.owner, "-");
substitute_record(direct, &newfhdr, sizeof(newfhdr), ent);
return 0;
}