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

Diff of /lbbs/src/user_list_display.c

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

Revision 1.24 by sysadm, Mon Nov 17 12:16:48 2025 UTC Revision 1.31 by sysadm, Sun Feb 8 15:43:32 2026 UTC
# Line 3  Line 3 
3   * user_list_display   * user_list_display
4   *   - user interactive list of (online) users   *   - user interactive list of (online) users
5   *   *
6   * Copyright (C) 2004-2025  Leaflet <leaflet@leafok.com>   * Copyright (C) 2004-2026  Leaflet <leaflet@leafok.com>
7   */   */
8    
9  #ifdef HAVE_CONFIG_H  #ifdef HAVE_CONFIG_H
# Line 75  static int user_list_draw_items(int page Line 75  static int user_list_draw_items(int page
75                  p_tm = gmtime(&tm_duration);                  p_tm = gmtime(&tm_duration);
76                  if (p_tm == NULL)                  if (p_tm == NULL)
77                  {                  {
78                          log_error("Invalid time duration\n");                          log_error("Invalid time duration");
79                          str_time_login[0] = '\0';                          str_time_login[0] = '\0';
80                  }                  }
81                  else if (p_tm->tm_year > 70)                  else if (p_tm->tm_year > 70)
# Line 135  static int user_online_list_draw_items(i Line 135  static int user_online_list_draw_items(i
135                  p_tm = gmtime(&tm_duration);                  p_tm = gmtime(&tm_duration);
136                  if (p_tm == NULL)                  if (p_tm == NULL)
137                  {                  {
138                          log_error("Invalid time duration\n");                          log_error("Invalid time duration");
139                          str_time_login[0] = '\0';                          str_time_login[0] = '\0';
140                  }                  }
141                  else if (p_tm->tm_yday > 0)                  else if (p_tm->tm_yday > 0)
# Line 158  static int user_online_list_draw_items(i Line 158  static int user_online_list_draw_items(i
158                  p_tm = gmtime(&tm_duration);                  p_tm = gmtime(&tm_duration);
159                  if (p_tm == NULL)                  if (p_tm == NULL)
160                  {                  {
161                          log_error("Invalid time duration\n");                          log_error("Invalid time duration");
162                          str_time_idle[0] = '\0';                          str_time_idle[0] = '\0';
163                  }                  }
164                  else if (p_tm->tm_min > 0)                  else if (p_tm->tm_min > 0)
# Line 218  static enum select_cmd_t user_list_selec Line 218  static enum select_cmd_t user_list_selec
218                  if (ch != KEY_NULL && ch != KEY_TIMEOUT)                  if (ch != KEY_NULL && ch != KEY_TIMEOUT)
219                  {                  {
220                          BBS_last_access_tm = time(NULL);                          BBS_last_access_tm = time(NULL);
221    
222                            // Refresh current action
223                            if (user_online_update(NULL) < 0)
224                            {
225                                    log_error("user_online_update(NULL) error");
226                            }
227                  }                  }
228    
229                  switch (ch)                  switch (ch)
230                  {                  {
231                  case KEY_NULL: // broken pipe                  case KEY_NULL: // broken pipe
232                          log_error("KEY_NULL\n");                          log_debug("KEY_NULL");
233                  case KEY_ESC:                  case KEY_ESC:
234                  case KEY_LEFT:                  case KEY_LEFT:
235                          return EXIT_LIST; // exit list                          return EXIT_LIST; // exit list
236                  case KEY_TIMEOUT:                  case KEY_TIMEOUT:
237                          if (time(NULL) - BBS_last_access_tm >= BBS_max_user_idle_time)                          if (time(NULL) - BBS_last_access_tm >= BBS_max_user_idle_time)
238                          {                          {
239                                  log_error("User input timeout\n");                                  log_debug("User input timeout");
240                                  return EXIT_LIST; // exit list                                  return EXIT_LIST; // exit list
241                          }                          }
242                          continue;                          continue;
# Line 358  int user_list_display(int online_user) Line 364  int user_list_display(int online_user)
364                  ret = query_user_online_list(page_id, online_users, &user_count, &page_count);                  ret = query_user_online_list(page_id, online_users, &user_count, &page_count);
365                  if (ret < 0)                  if (ret < 0)
366                  {                  {
367                          log_error("query_user_online_list(page_id=%d) error\n", page_id);                          log_error("query_user_online_list(page_id=%d) error", page_id);
368                          return -2;                          return -2;
369                  }                  }
370          }          }
# Line 367  int user_list_display(int online_user) Line 373  int user_list_display(int online_user)
373                  ret = query_user_list(page_id, users, &user_count, &page_count);                  ret = query_user_list(page_id, users, &user_count, &page_count);
374                  if (ret < 0)                  if (ret < 0)
375                  {                  {
376                          log_error("query_user_list(page_id=%d) error\n", page_id);                          log_error("query_user_list(page_id=%d) error", page_id);
377                          return -2;                          return -2;
378                  }                  }
379          }          }
# Line 384  int user_list_display(int online_user) Line 390  int user_list_display(int online_user)
390                          ret = user_online_list_draw_items(page_id, online_users, user_count);                          ret = user_online_list_draw_items(page_id, online_users, user_count);
391                          if (ret < 0)                          if (ret < 0)
392                          {                          {
393                                  log_error("user_online_list_draw_items(page_id=%d) error\n", page_id);                                  log_error("user_online_list_draw_items(page_id=%d) error", page_id);
394                                  return -3;                                  return -3;
395                          }                          }
396                  }                  }
# Line 393  int user_list_display(int online_user) Line 399  int user_list_display(int online_user)
399                          ret = user_list_draw_items(page_id, users, user_count);                          ret = user_list_draw_items(page_id, users, user_count);
400                          if (ret < 0)                          if (ret < 0)
401                          {                          {
402                                  log_error("user_list_draw_items(page_id=%d) error\n", page_id);                                  log_error("user_list_draw_items(page_id=%d) error", page_id);
403                                  return -3;                                  return -3;
404                          }                          }
405                  }                  }
# Line 407  int user_list_display(int online_user) Line 413  int user_list_display(int online_user)
413    
414                  if (user_online_update(online_user ? "USER_ONLINE" : "USER_LIST") < 0)                  if (user_online_update(online_user ? "USER_ONLINE" : "USER_LIST") < 0)
415                  {                  {
416                          log_error("user_online_update(%s) error\n",                          log_error("user_online_update(%s) error",
417                                            (online_user ? "USER_ONLINE" : "USER_LIST"));                                            (online_user ? "USER_ONLINE" : "USER_LIST"));
418                  }                  }
419    
# Line 423  int user_list_display(int online_user) Line 429  int user_list_display(int online_user)
429                                  ret = query_user_online_list(page_id, online_users, &user_count, &page_count);                                  ret = query_user_online_list(page_id, online_users, &user_count, &page_count);
430                                  if (ret < 0)                                  if (ret < 0)
431                                  {                                  {
432                                          log_error("query_user_online_list(page_id=%d) error\n", page_id);                                          log_error("query_user_online_list(page_id=%d) error", page_id);
433                                          return -2;                                          return -2;
434                                  }                                  }
435                          }                          }
# Line 432  int user_list_display(int online_user) Line 438  int user_list_display(int online_user)
438                                  ret = query_user_list(page_id, users, &user_count, &page_count);                                  ret = query_user_list(page_id, users, &user_count, &page_count);
439                                  if (ret < 0)                                  if (ret < 0)
440                                  {                                  {
441                                          log_error("query_user_list(page_id=%d) error\n", page_id);                                          log_error("query_user_list(page_id=%d) error", page_id);
442                                          return -2;                                          return -2;
443                                  }                                  }
444                          }                          }
# Line 460  int user_list_display(int online_user) Line 466  int user_list_display(int online_user)
466                          user_list_draw_screen(online_user);                          user_list_draw_screen(online_user);
467                          break;                          break;
468                  default:                  default:
469                          log_error("Unknown command %d\n", ret);                          log_error("Unknown command %d", ret);
470                  }                  }
471          }          }
472    
# Line 514  int user_list_search(void) Line 520  int user_list_search(void)
520                          moveto(3, 1);                          moveto(3, 1);
521                          clrtoeol();                          clrtoeol();
522                          prints("用户名格式非法");                          prints("用户名格式非法");
523                            press_any_key();
524                          continue;                          continue;
525                  }                  }
526    
# Line 523  int user_list_search(void) Line 530  int user_list_search(void)
530    
531                  if (ret < 0)                  if (ret < 0)
532                  {                  {
533                          log_error("query_user_info_by_username(%s) error\n", username);                          log_error("query_user_info_by_username(%s) error", username);
534                          return -1;                          return -1;
535                  }                  }
536                  else if (ret > 1)                  else if (ret > 1)
# Line 577  int user_list_search(void) Line 584  int user_list_search(void)
584                  {                  {
585                          if (query_user_info_by_uid(uid_list[0], &user_info, user_intro, sizeof(user_intro)) <= 0)                          if (query_user_info_by_uid(uid_list[0], &user_info, user_intro, sizeof(user_intro)) <= 0)
586                          {                          {
587                                  log_error("query_user_info_by_uid(uid=%d) error\n", uid_list[0]);                                  log_error("query_user_info_by_uid(uid=%d) error", uid_list[0]);
588                                  return -2;                                  return -2;
589                          }                          }
590                          else if (user_info_display(&user_info) < 0)                          else if (user_info_display(&user_info) < 0)
591                          {                          {
592                                  log_error("user_info_display(uid=%d) error\n", uid_list[0]);                                  log_error("user_info_display(uid=%d) error", uid_list[0]);
593                                  return -3;                                  return -3;
594                          }                          }
595                          return 1;                          return 1;


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

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