[РЕШЕНО]Запись ноды под определенным пользователем программным путем

Главные вкладки

Аватар пользователя aferuk aferuk 31 мая 2013 в 18:31

Здравствуйте.
Пытаюсь программно создать ноды. Задача у меня отпарсить xml и записать материалы как ноды.
Прописал нужные поля. Сохранил. Запись в базу произошла. Все поля как и должны быть заполнены.
Но пользователь всегда 0.
Что бы я не писал в $node->uid всегда 0.

$node = new stdClass();

node_object_prepare($node);

$node->title = 'title';
$node->body = '';
$node->type = 'my_type';
$node->filter = 1;
$node->status = 1;
$node->promote = 0;
$node->language = 'ru';
$node->uid = $uid;
if ($node = node_submit($node)) {
node_save($node);}

значение $uid перепроверял перед самым node_save. отличимые от 0.

Если кто-то сталкивался с подобной проблемой прошу помочь.
Спасибо.

Комментарии

Аватар пользователя sg85 sg85 3 июня 2013 в 0:38

Думаю у Вас проблема с node_submit, там получается что, если у пользователя есть право редактирования нод, то выставляется именно его uid(т.е. того пользователя, под которым происходит данная операция, или же, в случае если аккаунт текущего пользователя загрузить не удалось, выставляется uid = 0, кроме того, использование node_submit в данном случае необязательно.

Сейчас глянул, загрузка пользователя идет не от текущего, а от имени пользователя из $node->name, в случае неудачи выставляется 0