 
Поле для идентификатора пользователя
В поле, отведенное для идентификатора пользователя с помощью параметра $params['userIdField'] , будет автоматически записываться идентификатор пользователя всякий раз, когда этим пользователем создается новая запись.
$params['userIdField'] и $defaults[]
Если Вы добавите в дескриптор строку: $params['userIdField'] = 5;
то в каждой новой записи блока поле 5 будет автоматически примать значение, равное идентификатору пользователя.
Впрочем, такого же результата можно было добиться, назначив этому полю значение по умолчанию с помощью строки: $defaults[5] = $_SESSION['userId'];
Если Вы случайно или специально примените одновременно обе строки, то есть, будете назначать какому-то полю значение, как с помощью параметра userIdField, так и с помощью массива $defaults, то сработает только последний способ, так как он имеет более высокий приоритет.
Это дает возможность делать записи от лица другого пользователя.
Например, администратор может делать новые записи в персональном разделе пользователя X, но автором формально будет являться не администратор, а пользователь X.
Для этого в дескрипторе массиву $defaults через глобальную переменную ($GET или $_SESSION) нужно передать идентификатор нужно пользователя. Лучше это делать только в режиме администратора.
Такое поле нужно вводить в том случае, если вы хотите разграничить права пользователей в пределах одного блока, чтобы авторы имели право редактировать только собственные записи.
Поле для идентификатора пользователя желательно сделать скрытым от редактирования с помощью параметра $params['hiddenFields'] .
|