/[LeafOK_CVS]/lbbs/src/article_del.c
ViewVC logotype

Diff of /lbbs/src/article_del.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 by sysadm, Sun Jun 15 04:45:13 2025 UTC Revision 1.9 by sysadm, Tue Nov 4 14:58:56 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /* SPDX-License-Identifier: GPL-3.0-or-later */
2                                                  article_del.c  -  description  /*
3                                                           -------------------   * article_del
4          copyright            : (C) 2004-2025 by Leaflet   *   - user interactive feature to delete article
5          email                : leaflet@leafok.com   *
6   ***************************************************************************/   * Copyright (C) 2004-2025  Leaflet <leaflet@leafok.com>
7     */
 /***************************************************************************  
  *                                                                         *  
  *   This program is free software; you can redistribute it and/or modify  *  
  *   it under the terms of the GNU General Public License as published by  *  
  *   the Free Software Foundation; either version 3 of the License, or     *  
  *   (at your option) any later version.                                   *  
  *                                                                         *  
  ***************************************************************************/  
8    
9  #include "article_del.h"  #include "article_del.h"
10  #include "database.h"  #include "database.h"
 #include "log.h"  
11  #include "io.h"  #include "io.h"
12    #include "log.h"
13  #include "screen.h"  #include "screen.h"
14  #include "user_priv.h"  #include "user_priv.h"
15    #include <ctype.h>
16  #include <stdlib.h>  #include <stdlib.h>
17    
18  int article_del(const SECTION_LIST *p_section, const ARTICLE *p_article)  int article_del(const SECTION_LIST *p_section, const ARTICLE *p_article)
# Line 39  int article_del(const SECTION_LIST *p_se Line 32  int article_del(const SECTION_LIST *p_se
32                  log_error("NULL pointer error\n");                  log_error("NULL pointer error\n");
33          }          }
34    
35            if (p_article->excerption) // Delete is not allowed
36            {
37                    clearscr();
38                    moveto(1, 1);
39                    prints("该文章无法被删除,请联系版主。");
40                    press_any_key();
41    
42                    return 0;
43            }
44    
45          clearscr();          clearscr();
46          moveto(1, 1);          moveto(1, 1);
47          prints("Ҫɾ£(Y), (N) [N]: ");          prints("真的要删除文章?(Y)是, (N)否 [N]: ");
48          iflush();          iflush();
49    
50          for (ch = 0; !SYS_server_exit; ch = igetch_t(MAX_DELAY_TIME))          for (ch = 0; !SYS_server_exit; ch = igetch_t(MAX_DELAY_TIME))
51          {          {
52                  switch (toupper(ch))                  switch (toupper(ch))
53                  {                  {
54                    case KEY_NULL:
55                    case KEY_TIMEOUT:
56                            goto cleanup;
57                  case CR:                  case CR:
                         igetch_reset();  
58                  case KEY_ESC:                  case KEY_ESC:
59                  case 'N':                  case 'N':
60                          goto cleanup;                          return 0;
61                  case 'Y':                  case 'Y':
62                          break;                          break;
63                  default: // Invalid selection                  default: // Invalid selection
# Line 62  int article_del(const SECTION_LIST *p_se Line 67  int article_del(const SECTION_LIST *p_se
67                  break;                  break;
68          }          }
69    
70            if (SYS_server_exit) // Do not save data on shutdown
71            {
72                    goto cleanup;
73            }
74    
75          db = db_open();          db = db_open();
76          if (db == NULL)          if (db == NULL)
77          {          {
# Line 117  int article_del(const SECTION_LIST *p_se Line 127  int article_del(const SECTION_LIST *p_se
127    
128                  clearscr();                  clearscr();
129                  moveto(1, 1);                  moveto(1, 1);
130                  prints("ѱɾԺˢб");                  prints("该文章已被删除,请稍后刷新列表。");
131                  press_any_key();                  press_any_key();
132    
133                  goto cleanup;                  goto cleanup;
# Line 127  int article_del(const SECTION_LIST *p_se Line 137  int article_del(const SECTION_LIST *p_se
137          {          {
138                  clearscr();                  clearscr();
139                  moveto(1, 1);                  moveto(1, 1);
140                  prints("޷ɾϵ");                  prints("该文章无法被删除,请联系版主。");
141                  press_any_key();                  press_any_key();
142    
143                  goto cleanup;                  goto cleanup;
# Line 211  int article_del(const SECTION_LIST *p_se Line 221  int article_del(const SECTION_LIST *p_se
221    
222          clearscr();          clearscr();
223          moveto(1, 1);          moveto(1, 1);
224          prints("ɾɹ%dˢб", BBS_section_list_load_interval);          prints("删除成功,请在%d秒后刷新列表。", BBS_section_list_load_interval);
225          press_any_key();          press_any_key();
226          ret = 1; // Success          ret = 1; // Success
227    


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1