| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- <?php
 
- /**
 
-  * @file
 
-  *
 
-  * Provide tokens for session limit.
 
-  */
 
- /**
 
-  * Implements hook_token_info().
 
-  *
 
-  * Create tokens for the current user.
 
-  */
 
- function session_limit_token_info() {
 
-   $type = array(
 
-     'name' => t('Session limit'),
 
-     'description' => t('Tokens related to session limit module.'),
 
-     'needs-data' => 'user',
 
-   );
 
-   $session_limit['default'] = array(
 
-     'name' => t('Default sessions'),
 
-     'description' => t('Maximum number of active sessions configured specific to the user.'),
 
-   );
 
-   $session_limit['max'] = array(
 
-     'name' => t('Maximum sessions'),
 
-     'description' => t('Maximum number of active sessions allowed, accounting for all configuration possibilities.'),
 
-   );
 
-   $session_limit['role'] = array(
 
-     'name' => t('Maximum sessions by role'),
 
-     'description' => t('Maximum number of active sessions allowed by role.'),
 
-   );
 
-   $session_limit['user'] = array(
 
-     'name' => t('Maximum sessions for user'),
 
-     'description' => t('Maximum number of active sessions configured specific to the user.'),
 
-   );
 
-   return array(
 
-     'types' => array('session_limit' => $type),
 
-     'tokens' => array('session_limit' => $session_limit),
 
-   );
 
- }
 
- /**
 
-  * Implements hook_tokens().
 
-  */
 
- function session_limit_tokens($type, $tokens, array $data = array(), array $options = array()) {
 
-   $replacements = array();
 
-   // The session limit variable does not need the user context.
 
-   if ($type == 'session_limit') {
 
-     foreach ($tokens as $name => $original) {
 
-       if ($name == 'default') {
 
-         $replacements[$original] = variable_get('session_limit_max', 1);
 
-       }
 
-     }
 
-   }
 
-   if ($type == 'session_limit' && !empty($data['user'])) {
 
-     $account = user_load($data['user']->uid);
 
-     foreach ($tokens as $name => $original) {
 
-       switch ($name) {
 
-         case 'max':
 
-           $replacements[$original] = session_limit_user_max_sessions($account);
 
-           break;
 
-         case 'role':
 
-           $replacements[$original] = session_limit_user_max_sessions_byrole($account);
 
-           break;
 
-         case 'user':
 
-           $replacements[$original] = empty($account->session_limit) ? 0 : check_plain($account->session_limit);
 
-           break;
 
-       }
 
-     }
 
-   }
 
-   return $replacements;
 
- }
 
 
  |