CONTENT MANAGEMENT SYSTEM
Blox Logo
Blox CMS — блочный метод сайтостроения
.
 
Blox Help

←→

Поле для идентификатора пользователя

В поле, отведенное для идентификатора пользователя с помощью параметра $params['userIdField'], будет автоматически записываться идентификатор пользователя всякий раз, когда этим пользователем создается новая запись.

$params['userIdField'] и $defaults[]

Если Вы добавите в дескриптор строку: $params['userIdField'] = 5; то в каждой новой записи блока поле 5 будет автоматически примать значение, равное идентификатору пользователя.

Впрочем, такого же результата можно было добиться, назначив этому полю значение по умолчанию с помощью строки: $defaults[5] = $_SESSION['userId'];

Если Вы случайно или специально примените одновременно обе строки, то есть, будете назначать какому-то полю значение, как с помощью параметра userIdField, так и с помощью массива $defaults, то сработает только последний способ, так как он имеет более высокий приоритет.

Это дает возможность делать записи от лица другого пользователя. Например, администратор может делать новые записи в персональном разделе пользователя X, но автором формально будет являться не администратор, а пользователь X.

Для этого в дескрипторе массиву $defaults через глобальную переменную ($GET или $_SESSION) нужно передать идентификатор нужно пользователя. Лучше это делать только в режиме администратора.

Такое поле нужно вводить в том случае, если вы хотите разграничить права пользователей в пределах одного блока, чтобы авторы имели право редактировать только собственные записи.

Поле для идентификатора пользователя желательно сделать скрытым от редактирования с помощью параметра $params['hiddenFields'].