DUVar 6.x-1.x-dev
Drupal User Variables
duvar.module File Reference

Go to the source code of this file.

Functions

 duvar_set ($var, $val)
 duvar_get ($var, $def)
 duvar_del ($var)
 duvar_ns ($ns)

Detailed Description

Drupal User Variables.

This module is enhanced by the DCache module.

See also:
https://sourceforge.net/u/earnie/dcache

Definition in file duvar.module.


Function Documentation

duvar_del ( var)

Delete the variable storage.

Parameters:
$var
  • The name of the variable.
Returns:
  • The result of the delete query.

Definition at line 80 of file duvar.module.

References duvar_ns().

                         {
  global $user;
  if ($user->uid == 0) {
    return FALSE;
  }
  $sql = "DELETE FROM `{duvariables}` WHERE `uid` = %d AND `name` = '%s'";
  if (function_exists('dcache_del')) {
    dcache_del(duvar_ns('duvar'), DCACHE_DRUPAL);
  }
  return db_query($sql, $user->uid, $var);
}
duvar_get ( var,
def 
)

Get the variable storage.

Parameters:
$var
  • The variable name for the value to get.
$def
  • The default value for the variable.
Returns:
  • The value of the stored variable or the default.

Definition at line 44 of file duvar.module.

References duvar_ns().

                               {
  static $cache = NULL;
  global $user;
  if ($user->uid == 0) {
    return $def;
  }
  if (!$cache && function_exists('dcache_get')) {
    $cache = dcache_get(duvar_ns('duvar'), DCACHE_DRUPAL);
  }
  if (isset($cache) && isset($cache[$var])) {
    return $cache[$var];
  }
  $sql = "SELECT `value` FROM `{duvariables}` WHERE `uid` = %d AND `name` = '%s'";
  $result = db_query($sql, $user->uid, $var);
  if ($result === FALSE) {
    $result = $def;
  }
  else {
    $result = db_fetch_object($result);
  }
  $cache[$var] = $result;
  if (function_exists('dcache_set')) {
    dcache_set(duvar_ns('duvar'), $cache, DCACHE_DRUPAL, TRUE);
  }
  return $cache[$var];
}
duvar_ns ( ns)

User specific namespace. This method is particularly useful for unique cache namespaces unique to the user.

Parameters:
$ns
  • The generic namespace to uniqueify for the user.
Returns:
  • The unique namespace string.

Definition at line 103 of file duvar.module.

Referenced by duvar_del(), duvar_get(), and duvar_set().

                       {
  global $user;
  return "{$ns}:{$user->uid}:";
}
duvar_set ( var,
val 
)

Set the variable storage.

Parameters:
$var
  • The variable name to store.
$val
  • The value to set.

Definition at line 20 of file duvar.module.

References duvar_ns().

                               {
  global $user;
  if ($user->uid == 0) {
    return FALSE;
  }
  $sql = "INSERT INTO `{duvariables}` (`uid`, `name`, `value`) VALUES (%d, '%s', '%s')";
  if (function_exists('dcache_del')) {
    dcache_del(duvar_ns('duvar'), DCACHE_DRUPAL);
  }
  return db_query($sql, $user->uid, $var, $val);
}
All Files Functions