Высокоуровневые функции.

Описанные в этом разделе функции решают самые частые задачи не требуя от пользователя изучения протокола MMP и выполняют все необходимые действия связанные с отправкой команд и чтением ответов сервера.

Кроме ответа SUCCESS: при успешном выполнении и ERROR:code в случае ошибки, данные функции могут возвращать значение FAIL:text в случае отказа в выполнении команды сервером. Вызывающий сценарий может проанализировать строку после двоеточия для определения причин отказа.

Функция mmpQueryUser.

mmpQueryUser(handle,stem[,username])

Функция устанавливает свойства пользователя, имя которого задано аргументом username, который может быть псевдонимом. Если имя указано без доменной части - используется домен текущего пользователя сеанса handle. Если аргумент username опущен, подразумевается текущий пользователь сеанса handle.

При успешном выполнении функция возвращает строку SUCCESS: и заполняет переменную-основу (stem) REXX. Имя переменной задаётся вторым аргументом. После возврата переменная будет содержать:

stem.USER

Полное имя пользователя.

stem.FLAGS

Флаги пользователя разделённые пробелом.

stem.LIMIT

Ограничение ресурса пользователя на хранилище (в байтах).

stem.USED

Использованный объём ресурса пользователя на хранилище (в байтах).

stem.COPYTO

Адрес электронной почты на который будут отправляться входящие сообщения пользователя.

stem.DEPTHMAX

Ограничение на глубину вложенности папок (или почтовых ящиков в терминах IMAP) которые может создавать пользователь.

stem.LOGINTIME

Дата и время последней успешной аутентификации пользователя в формате YYYY-MM-DD HH:MM:SS, где: YYYY - год, MM - месяц, DD - день месяца, HH:MM:SS - время (часы:минуты:секунды).

Пользователи создавшие сеанс не имеющие флагов OPER или ADMIN могут запрашивать только собственные свойства. Операторы доменов могут запрашивать свойства пользователей только своего домена, если это не администраторы или операторы домена.

Функция mmpSetUser.

mmpSetUser(handle,stem[,username])

Функция устанавливает свойства пользователя, имя которого задано аргументом username, который может быть псевдонимом. Если имя указано без доменной части - используется домен текущего пользователя сеанса handle. Если аргумент username опущен, подразумевается текущий пользователь сеанса handle.

При успешном выполнении функция устанавливает свойства пользователя используя значения переменной-основы (stem) REXX, имя которой указано во втором аргументе, и возвращает строку SUCCESS:. Используются следующие значения переменной stem:

stem.PASSWORD

Пароль пользователя. Пароль должен удовлетворять требованиям к сложности заданным конфигурацией, в противном случае изменения не будут приняты и результатом выполнения функции будет строка FAIL:NO (TOO-WEAK-PSWD) "The password is not strong enough".

stem.FLAGS

Флаги пользователя разделённые пробелом. Операторы домена не могут указывать флаги ADMIN и OPER.

stem.LIMIT

Ограничение ресурса пользователя на хранилище (в байтах или с указанием размерности как в конфигурации).

stem.COPYTO

Адрес электронной почты на который будут отправляться входящие сообщения пользователя.

stem.DEPTHMAX

Ограничение на глубину вложенности папок (или почтовых ящиков в терминах IMAP) которые может создавать пользователь.

Пользователи не имеющие флагов OPER или ADMIN могут устанавливать только собственное свойство PASSWORD. Операторы домена могут устанавливать свойства пользователей только своего домена, если это не администраторы или операторы домена.

Функция mmpCreateUser.

mmpCreateUser(handle,[stem],username)

Функция создаёт нового пользователя с именем из username до "@" в домене, имя которого взято из доменной части username. Если имя указано без доменной части - используется имя username и домен текущего пользователя сеанса handle.

Если указан второй аргумент, он рассматривается как имя переменной-основы (stem) REXX, следующие её значения используются для установки свойств нового пользователя:

stem.PASSWORD

Пароль пользователя.

stem.FLAGS

Флаги пользователя разделённые пробелом. Операторы домена не могут указывать флаги ADMIN и OPER.

stem.LIMIT

Ограничение ресурса пользователя на хранилище (в байтах или с указанием размерности как в конфигурации).

stem.COPYTO

Адрес электронной почты на который будут отправляться входящие сообщения пользователя.

stem.DEPTHMAX

Ограничение на глубину вложенности папок (или почтовых ящиков в терминах IMAP) которые может создавать пользователь.

Операторы домена могут создавать пользователей только в своих доменах.

Функция mmpDeleteUser.

mmpDeleteUser(handle,username)

Функция удаляет пользователя с именем из username до "@" в домене с именем взятым из доменной части username. Если имя указано без доменной части - используется имя username и домен текущего пользователя сеанса handle.

Операторы домена могут удалять пользователей только в своих доменах и только тех, у которых не установлены флаги ADMIN или OPER.

Функция mmpQueryVCStem.

mmpQueryVCStem(handle,stem[,username])

Функция запрашивает личные данные пользователя username из vCard и заполняет соответствующие значения переменной-основы (stem) REXX, имя которой указано во втором аргументе:

stem.N_FAMILY

Фамилия.

stem.N_GIVEN

Имя.

stem.N_MID

Дополнительное/второе имя / отчество.

stem.N_PREF

Почтительные префиксы.

stem.N_SUFF

Почтительные суффиксы.

stem.ORG

Организация.

stem.ORG_DEP

Отдел.

stem.TEL_HOME

Номер телефона, домашний.

stem.TEL_WORK

Номер телефона, рабочий.

stem.TEL_CELL

Номер телефона, сотовый.

stem.FN

Полное имя / название.

stem.NICKNAME

Псевдоним.

stem.TITLE

Должность.

stem.EMAIL

Альтернативный адрес эл. почты.

stem.NOTE

Примечание.

Если имя пользователя опущено, используется текущий пользователь сессии handle.

Функция mmpSetVCStem.

mmpSetVCStem(handle,stem[,username])

Функция устанавливает личные данные пользователя username формируя vCard из соответствующих значений переменной-основы (stem) REXX, имя которой указано во втором аргументе. Переменная stem имеет те же значения что и для функции mmpQueryVCStem.

Обычные пользователи могут устанавливать vCard только для своей учётной записи и только если для пользователя установлен флаг VCARD. Операторы домена могут устанавливать vCard только для пользователей своего домена если они не являются операторами домена или администраторами.