====== User Editor (in-BBS) ======

The in-BBS user editor is a terminal-mode tool that the [[access:sysop|sysop]] uses to view and modify Synchronet user accounts during a logged-in session. It is reached with the '';UEDIT'' [[module:str_cmds|string command]] and presents a single-screen summary of the current user followed by a one-key command prompt.

This is distinct from the standalone [[util:uedit|uedit]] (UIFC console), [[util:useredit|useredit.exe]] (Win32 GUI), and [[util:gtkuseredit|gtkuseredit]] (Linux GTK GUI) utilities — each has its own interface.

===== Invoking =====

^ Where ^ How ^
| Main or Transfer prompt | '';UEDIT'' (optionally with a user number or name, e.g. '';UEDIT 20'' or '';UEDIT JANE'') |
| Reading Mail / Reading All Mail | ''U'' (loads the author of the current message as the current user) |
| Reading Messages (O)perator menu | ''U'' |

A remote sysop:
  * cannot raise any user's [[level|security level]] above their own
  * cannot grant [[flags]] or [[exemptions]] they don't themselves have
  * cannot edit any user with a higher security level (and that user's password, real name, and phone number are hidden)

===== User Edit Screen =====

<code>
Alias     : EXAMPLE                         Pass Jan01'20: ********
Real Name : Jane Q. Public                  Phone number : 555-555-1212
Address   : 123 Main St                     Age/Sex/BDay : 35 F 01/15/1990
Location  : Anytown, CA                     Zip Code     : 90210
Note      :                                 Handle       : Jane
Host Name : example.com                     Protocol     : Telnet
IP Addr   : 192.0.2.10
NetMail   : jane@example.com

First on  : Jan01'20  Expire    : never     Last on   : May03'26  15:24
Time on   : 12345     Today     : 0    480  Last call : 0    240  Extra : 0
Logons    : 250       Today     : 1     50  Posts     : 42     0  Today : 0
E-mails   : 5         To sysop  : 1         Waiting   : 0         Today : 0
Uploads   :         0 bytes in 0 files
Downloads :         0 bytes in 0 files
Credits   :         0 free: 50.0M (50.0M per day)
Minutes   :         0

Sec Level : 50
Flags #1  :                              Flags #3  :
Flags #2  :                              Flags #4  :
Exemption :                              Restricts :

User edit (?=Menu) (247 of 1457):
</code>

Notable indicators on the screen:
  * ''$'' after the ''Comment'' label (when present) — the user has an attached message file (view/edit with the ''$'' command)
  * ''+'' after the ''Comment'' label (when present) — the user has an [[#comments_defaults|extended comment]] (edit with the ''H'' command)
  * If the current user is //deleted// or //inactive//, that status appears on the first line and all other lines shift down

Date fields use the system [[config:system|short date format]]. The prompt at the bottom shows the current user number and the total number of user slots configured.

===== Commands =====

Press ''?'' at the prompt for an in-BBS menu of commands.

==== User Identity ====
^ Key ^ Name ^ Description ^
| ''A'' | Alias and Chat Handle | Edit the user's alias (must start with a non-numeric character) and chat handle. |
| ''B'' | Birthday | Edit birthday in the system's configured short date format. |
| ''C'' | Computer Description | Edit the computer/host description field. |
| ''L'' | Location | Edit address, location, and ZIP/postal code. |
| ''N'' | Note / Name | If aliases are allowed, edit the user's public note (shown next to the alias in user lists). If aliases are not allowed, edit the user's name. The first letter of each word in the name is forced uppercase. |
| ''O'' | Sysop Comment | Edit the private sysop-only comment about this user. |
| ''P'' | Phone Number | Edit the user's phone number. |
| ''R'' | Real Name | When aliases are allowed, edit the user's real name. The first letter of each word is forced uppercase. |
| ''S'' | Sex | Edit the single-character gender field (typically ''M'' or ''F'', any uppercase character allowed). |

==== Account & Access ====
^ Key ^ Name ^ Description ^
| ''D'' | Delete / Deactivate / Restore | For an active user: choose //delete// (the slot is held for a configured number of days since last logon, then released to new users) or //inactivate// (held indefinitely, never released). Both prompt to read any pending or sent mail first. For a deleted or inactive user: prompts to restore them to active. |
| ''E'' | [[exemptions|Exemption Flags]] | Toggle an exemption by typing its letter; ''?'' shows the menu of available exemptions; ''[ENTER]'' ends editing. |
| ''F'' | [[flags|Flags]] | Edit any of the four flag sets (1-4). The ''?'' menu reads from ''text/menu/FLAGS''//N//''.ASC''. |
| ''M'' | [[level|Security Level]] | Decimal 0-99. Higher = more access. Levels 90+ are considered [[sysop|sysops]]. Security level controls maximum time per day, time per call, logons per day, and message lines. |
| ''V'' | Quick-Validate User | Apply one of the ten Quick-Validation sets (0-9) configured in [[util:scfg|SCFG]] → System → Quick-Validation Values. Sets level, flags, exemptions, restrictions, expiration, and/or credits in a single step. |
| ''W'' | Password | Change the user's password. The password modification date is //not// changed by this command — use ''K'' to update that field. |
| ''Z'' | [[restrictions|Restriction Flags]] | Toggle a restriction by typing its letter; ''?'' shows the menu; ''[ENTER]'' ends editing. |

==== Comments & Defaults ====
^ Key ^ Name ^ Description ^
| ''H'' | Edit/Create Extended Comment | Free-form sysop notes attached to this user. Existence is indicated by ''+'' after the ''Comment:'' label. |
| ''I'' | Inspect/Edit User's Defaults | Edit the user's terminal defaults: ANSI emulation, screen length, screen pause, spinning cursor, auto new file scan, clear screen after messages, auto menu display, and default Quiet mode (if the user has the ''Q'' [[exemptions|exemption]]). |
| ''X'' | View Extended Comment | View the user's extended comment if one exists. |
| ''#'' | View SIF Questionnaire | View the user's answered [[custom:sif|SIF questionnaire]] if one is configured in [[util:scfg|SCFG]]. An //output// SIF is used for display if one is configured, otherwise the //input// SIF is used. |

==== Statistics ====
^ Key ^ Name ^ Description ^
| ''U'' | Upload/Download Stats | Edit total bytes/files uploaded and total bytes/files downloaded. |
| ''$'' | Edit Credits | Set the credits balance to a specific value. |
| ''+'' | Adjust Credits | Add or subtract credits. Suffix ''K'' multiplies by 1024, ''M'' multiplies by 1,048,576, ''$'' multiplies by the credits-per-dollar value from system config. Prefix ''-'' to subtract. |
| ''*'' | Adjust Minutes | Add or subtract from the user's minute bank. Suffix ''H'' multiplies by 60. Prefix ''-'' to subtract. |
| ''J'' | Edit Minutes | Set the user's minute bank to a specific value. |
| ''K'' | Edit Date Fields | Edit last logon, first logon, expiration, and password modification dates. |
| ''~'' | Set Leech Download Counter | Reset or set the suspected-leech download counter (shown on the Downloads line when non-zero). |

==== Navigation ====
^ Key ^ Name ^ Description ^
| //number// | Change to User Slot | Type a user slot number directly at the prompt. |
| ''G'' | Go to a User | Jump to a user by name (or partial name) or number. |
| ''['' or ←  | Go Down One Slot | Decrement current user; wraps from slot 1 to last. |
| '']'' or →  | Go Up One Slot | Increment current user; wraps from last to slot 1. |
| HOME | First User | Jump to user slot 1. |
| END | Last User | Jump to the last user slot. |
| ''/'' | Set ARS Search String | Set the [[requirements|ARS]] used by ''{'' / ''}''. |
| ''T'' | Set Text Search String | Set the substring used by ''{'' / ''}''. |
| ''}'' or '')'' | Search Forward | Search from current slot toward the last for users matching the ''/'' (ARS) or ''T'' (text) string. |
| ''{'' or ''('' | Search Backward | Search from current slot toward the first for users matching the ''/'' or ''T'' string. |
| ''Y'' | Copy User to Another Slot | Copy the current user's data to another slot, overwriting it. |
| ''Q'' | Quit | Exit the user editor and return to where the sysop was before invoking it. |

===== See Also =====
  * [[:access:|Access Control]] (level, flags, exemptions, restrictions, ARS)
  * [[:access:sysop|Sysop]]
  * [[:module:str_cmds|String Commands (;UEDIT)]]
  * [[:util:uedit]] — standalone UIFC user editor
  * [[:util:useredit]] — Win32 GUI user editor
  * [[:util:gtkuseredit|gtkuseredit]] — Linux GTK GUI user editor
  * [[:util:makeuser]] — non-interactive user creation
  * [[:monitor:umonitor]]

{{tag>access useredit sysop}}
