Drupal のドキュメントは、すっごく整備されているようでいて内容を見ると実はよくわからないのがほとんどである。この hook_cron についても、
https://drupal.org の過去ログからやっと探し出したものだ。
ポイントは、node_delete を呼び出す前に必ず
<?php
global $user;
$user = user_load(array('uid' => $node->uid));
?>
と、global $user を $node のもの($node が持つ uid)にしてあげるということである。
Win32 プログラミングで CreateProcessAsUser の前に hTokenImpersonateUser が必要なのと同じようなノリなのだろう。以下の例は、30日以上前のノードを hook_cron (この例では example_cron) で処理する方法。
Drupal のドキュメントは、すっごく整備されているようでいて内容を見ると実はよくわからないのがほとんどである。この hook_cron についても、
https://drupal.org の過去ログからやっと探し出したものだ。
ポイントは、node_delete を呼び出す前に必ず
<?php
global $user;
$user = user_load(array('uid' => $node->uid));
?>
と、global $user を $node のもの($node が持つ uid)にしてあげるということである。
Win32 プログラミングで CreateProcessAsUser の前に hTokenImpersonateUser が必要なのと同じようなノリなのだろう。以下の例は、30日以上前のノードを hook_cron (この例では example_cron) で処理する方法。