Drupal で、プログラム中からログアウトさせる方法

https://drupal.org/node/114992 のアーティクルが役にたつと思う(コードは以下)。
<?php

function my_user_logout() {
 
watchdog('user', t('Session closed for %name.', array('%name' => $user->name)));

 
// Destroy the current session:
 
session_destroy();
 
module_invoke_all('user', 'logout', NULL, $user);

 
// Load the anonymous user
 
$user = drupal_anonymous_user();

 
drupal_goto('node');
}

?>
https://drupal.org/node/114992 のアーティクルが役にたつと思う(コードは以下)。
<?php

function my_user_logout() {
 
watchdog('user', t('Session closed for %name.', array('%name' => $user->name)));

 
// Destroy the current session:
 
session_destroy();
 
module_invoke_all('user', 'logout', NULL, $user);

 
// Load the anonymous user
 
$user = drupal_anonymous_user();

 
drupal_goto('node');
}

?>

Drupal で、ログイン中のユーザー一覧を取得する方法

これを実現するダイレクトな API は用意されていない(と思う)ので、sessions テーブルから一覧を得ればよい。
<?php

...

function
_get_logged_in_users() {

 
$result = db_query("SELECT uid FROM {sessions}");
  while (
$uid = db_fetch_object($result)) {
   
$account user_load(array('uid' => $uid)); // $account に user オブジェクトが入る。
     // do something
 
}
}

...

?>
これを実現するダイレクトな API は用意されていない(と思う)ので、sessions テーブルから一覧を得ればよい。
<?php

...

function
_get_logged_in_users() {

 
$result = db_query("SELECT uid FROM {sessions}");
  while (
$uid = db_fetch_object($result)) {
   
$account user_load(array('uid' => $uid)); // $account に user オブジェクトが入る。
     // do something
 
}
}

...

?>

Drupal で、データベースから最大値を得る方法 (SELECT MAX...)

Drupal で、「ログから、あるタイプだけのデータから最新のデータを取得する」には、どうしたらいいだろうか?これをソースコード的に言い換えると、「ログ=『watchdog』 テーブルから、カラム 『type』 を絞り込んで、カラム 『timestamp』 の最大値を得る」ということになる。
Drupal で、「ログから、あるタイプだけのデータから最新のデータを取得する」には、どうしたらいいだろうか?これをソースコード的に言い換えると、「ログ=『watchdog』 テーブルから、カラム 『type』 を絞り込んで、カラム 『timestamp』 の最大値を得る」ということになる。

このサイトでもっとも注目されているエントリー

はてぶ」 をチェックしてみてください。
はてぶ」 をチェックしてみてください。