PMDF popstore & MessageStore Manager's Guide


Previous Next Contents Index

4.3.4.13 modify_user Command: modify a user account

The modify_user command changes settings for one or more user accounts. Parameter names and associated values accepted by the command are listed in Table 4-17.

Table 4-17 modify_user command parameters
parameter=value   Description
flag=fvalue
flag0=fvalue
flag1=fvalue
flag2=fvalue
flag3=fvalue
flag4=fvalue
flag5=fvalue
Optional Usage flags for the account. fvalue must be one of pop, imap, dismail, nodismail, disuser, nodisuser, lockpwd, nolockpwd, migrated, nomigrated, pwd_elsewhere, or nopwd_elsewhere. The flag0, flag1, ... parameters are provided for use in instances in HTML where the same parameter name cannot be used more than once in the same form.
group=name Optional Restrict the modifications to accounts contained within the specified management group and subgroups thereof. The group name, name, can not contain wild card characters. This parameter should only be used when the value supplied with the username parameter contains wild cards.
group_name=name Optional Name of the management group, name, to move the account to. The account can only be moved to a group to which the manager modifying the account has access to.
last_connect=0 Optional Resets the recorded last connect time to indicate that no connection has yet been made.
last_disconnect=0 Optional Resets the recorded last connect time to indicate that no connection has yet been made.
log=bvalue Optional Boolean value, 0 or 1. When bvalue is 1, then a status message will be output indicating a successful operation. The default is bvalue=0. Note that errors are always reported.
message_count=count Optional Set the account's stored message count to the specified value, count. If the account's current stored message count, c_count, exceeds this value, then the oldest c_count - count messages are deleted.
on_error=file-spec Required Name of the formatting file to use to format the results when the command fails.
on_success=file-spec Required Name of the formatting file to use to format the results when the command succeeds.
overdraft=qvalue Optional Amount of storage overdraft quota to allow the account. qvalue is a non-negative, floating point value.
overdraft_orig=string Optional See text.
overdraft_units=qunits Optional Storage units in which the overdraft quota qvalue is expressed. Must be one of b (bytes), kb (kilobytes), mb (megabytes), or gb (gigabytes). If this parameter is not specified, storage units of kb are assumed.
owner=string Optional Name of the owner of the account. string has a maximum length of 40 bytes.
password=string Optional The account password. string has a maximum length of 32 bytes. A zero-length password allows anyone to access the account.
past_block_days=value Optional Set the past block days to the specified value, value, and clear the past block days remainder field. value is a non-negative integer.
pre_expire=pevalue Optional Used to mark the account as pre-expired or not. If the account is marked as pre-expired, the last_pwd_change value is set to "No time recorded". If the account is marked as not pre-expired the last_pwd_changefield is set to the current time. pevalue must be one of dont-change, pre-expire, or un-pre-expire.
private=string Optional Data to store in the account's site-defined private data area. string has a maximum length of 64 bytes.
quota=qvalue Optional Primary message storage quota for the account. A qvalue of zero grants the account unlimited storage quota. If the quota_units parameter is not specified, then units of kilobytes are assumed. qvalue is a non-negative, floating point number.
quota_orig=string Optional See text.
quota_units=qunits Optional Storage units in which the quota qvalue is expressed. Must be one of b (bytes), kb (kilobytes), mb (megabytes), or gb (gigabytes).
received_bytes=rvalue Optional Cumulative count of received message bytes. If the received_bytes parameter is not specified, then units of kilobytes are assumed. rvalue is a non-negative, floating point number.
received_bytes_orig=string Optional See text.
received_byte_units=runits Optional Storage units in which the received bytes rvalue is expressed. Must be one of b (bytes), kb (kilobytes), mb (megabytes), or gb (gigabytes).
received_messages=mvalue Optional Cumulative count of received messages. mvalue is a non-negative, integer.
total_connect=tvalue Optional Set the total connect time to the specified value, tvalue. If units are not specified with the total_connect_units parameter, units of seconds are assumed. tvalue is a non-negative, floating point value.
total_connect_orig=string Optional See text.
total_connect_units=tunits Optional Time units in which the total connect tvalue is expressed. Must be one of s (seconds), m (minutes), h (hours), or d (days).
total_connections=value Optional Set the cumulative count of connections to the value, value.
username=string Required Username of the account to modify. This string has a maximum length of 32 bytes and can contain wild card characters.

When multiple instances of the username parameter are provided, each of the associated accounts are modified. When the value specified with a username parameter contains wild card characters, the operation will be confined to any matching user names within the management group and subgroups of the manager requesting the operation. If a group name is also specified, then the operation will be further confined to that group and subgroups.

One important usage model for the modify_user command involves presenting a manager with a form whose input fields display an account's current settings. The manager is then free to change the values in only a few of the fields and then post the form to the management CGI via a submit button. The posted form will, however, carry values for every field: both those values which were and were not changed by the manager. Thus, the CGI will set every account field. This is acceptable in those cases where the displayed value reflects exactly the actual value stored for the account. However, this is not the case for those values which are displayed as fixed precision, floating point numbers. Specifically, the quota, overdraft quota, received bytes, and total connect time fields.

Hence the parameters overdraft_orig, quota_orig, received_bytes_orig, and total_connect_orig. The string values for these parameters should be the original string representation of the value presented in the form along with a unit specifier. For instance, suppose an account has a quota of 500,000 bytes and this is displayed in a form as 0.5 megabytes (524,288 bytes). If the manager doesn't change the quota field, then the CGI will see a request to change the quota to 0.5 megabytes and thus to increase the account's quota by 24,288 bytes. To avoid this mistake, the quota_orig parameter should be supplied:


quota_orig=0.5m 
When the management CGI receives a quota_orig parameter, it compares the parameter value to that specified with the quota and quota_units parameters. If the two values are identical, then the account's quota field is not changed.

Thus, the values of the overdraft_orig, quota_orig, received_bytes_orig, and total_connect_orig parameters should be, respectively, representations of the overdraft, quota, received_bytes, and total_connect values initially presented in a form. The values should immediately be followed by a unit specifier: b (bytes), k (kilobytes), m (megabytes), g (gigabytes), or s (seconds), m (minutes), h (hours), d (days). For example, a HTML form might appear as


 
<FORM ACTION="/popstore/" METHOD="POST"> 
<INPUT TYPE="hidden" NAME="quota_orig" VALUE="0.5m"> 
<INPUT TYPE="text" NAME="quota" VALUE="0.5"> 
<SELECT NAME="quota_units" SIZE=1> 
  <OPTION>bytes<OPTION>kbytes<OPTION SELECTED>mbytes 
</SELECT> 
<ENDFORM> 
 


Previous Next Contents Index