function user_stats_login_count_update in User Stats 7
Same name and namespace in other branches
- 6 user_stats.module \user_stats_login_count_update()
Manage the login count of a given user.
Parameters
$uid: Unique id of the user who's record should be updated.
$op: Whether the user login count should be incremented, decremented, or reset. Possible values are:
- 'increment'
- 'decrement'
- 'reset'
2 calls to user_stats_login_count_update()
- user_stats_login_count_reset_action in ./
user_stats.module - Implementation of a Drupal action. Resets a user's login count.
- user_stats_user_login in ./
user_stats.module - Implements hook_user_login().
File
- ./
user_stats.module, line 717 - User Stats provides commonly requested user statistics for themers. These are:
Code
function user_stats_login_count_update($op, $uid) {
if (!is_numeric($uid)) {
return;
}
switch ($op) {
case 'increment':
if (user_stats_isset('login_count', $uid)) {
// Update existing value.
db_update('user_stats_values')
->expression('value', 'value + :value', array(
':value' => 1,
))
->condition('name', 'login_count')
->condition('uid', $uid)
->execute();
}
else {
// If there isn't a value insert it.
$id = db_insert('user_stats_values')
->fields(array(
'name' => 'login_count',
'uid' => $uid,
'value' => 1,
))
->execute();
}
break;
case 'decrement':
if (user_stats_isset('login_count', $uid)) {
// Update existing value.
$count = user_stats_cache_get('login_count', $uid) - 1;
db_update('user_stats_values')
->expression('value', 'value + :value', array(
':value' => 1,
))
->condition('name', 'login_count')
->condition('uid', $uid)
->execute();
}
else {
// If there isn't a value insert it.
$id = db_insert('user_stats_values')
->fields(array(
'name' => 'login_count',
'uid' => $uid,
'value' => 0,
))
->execute();
}
break;
case 'reset':
db_delete('user_stats_values')
->condition('name', 'login_count')
->condition('uid', $uid)
->execute();
break;
}
// Flush token cache.
//if (module_exists('token')) {
//token_get_values('user', NULL, TRUE);
//}
// Flush internal cache.
user_stats_cache_set('reset', $uid);
// Allow modules to react to a statistic change.
module_invoke_all('user_stats', 'login_count', $op, $uid, user_stats_get_stats('login_count', $uid));
}