| 1 |
<?php |
<?php |
| 2 |
// $Id: skypesupport.module,v 1.7 2006/05/23 05:50:53 stevemckenzie Exp $ |
// $Id: skypesupport.module,v 1.8 2006/05/23 18:22:44 stevemckenzie Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* w00t skype support |
* w00t skype support |
| 77 |
function skypesupport_user($op, &$edit, &$account, $category = NULL) { |
function skypesupport_user($op, &$edit, &$account, $category = NULL) { |
| 78 |
global $user; |
global $user; |
| 79 |
|
|
| 80 |
$access = user_access('provide skype support'); |
$access = user_access('provide skype support', $account); |
| 81 |
|
|
| 82 |
switch($op) { |
switch($op) { |
| 83 |
// handle permissions |
// handle permissions |
| 84 |
case 'insert': case 'after_update': case 'update': case 'login': case 'form': |
case 'form': |
| 85 |
$accounts = variable_get('skypesupport_users', NULL); |
$users = variable_get('skypesupport_users', NULL); |
| 86 |
$skype = skypesupport_check_user($account, true); |
$skype = skypesupport_check_user($account, true); |
| 87 |
if ($user->uid == $account->uid && $access) { |
if ($access) { |
| 88 |
if (!empty($accounts)) { |
if (!empty($users)) { |
| 89 |
if (!$skype) { |
if (!$skype) { |
| 90 |
$accounts[] = $account->uid; |
$users[] = $account->uid; |
| 91 |
variable_set('skypesupport_users', $accounts); |
variable_set('skypesupport_users', $users); |
| 92 |
} |
} |
| 93 |
} else { |
} else { |
| 94 |
variable_set('skypesupport_users', array($account->uid)); |
variable_set('skypesupport_users', array($account->uid)); |
| 95 |
} |
} |
|
} else { |
|
|
if (!empty($accounts)) { |
|
|
foreach ($accounts as $key => $uid) { |
|
|
if ($uid == $account->uid) { |
|
|
unset($accounts[$key]); |
|
|
variable_set('skypesupport_users', $accounts); |
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
| 96 |
} |
} |
| 97 |
break; |
break; |
| 98 |
// handle single user status if a support user |
// handle single user status if a support user |
| 120 |
$user = user_load(array('uid' => arg(1))); |
$user = user_load(array('uid' => arg(1))); |
| 121 |
$support_users = variable_get('skypesupport_users', NULL); |
$support_users = variable_get('skypesupport_users', NULL); |
| 122 |
if (!empty($support_users)) { |
if (!empty($support_users)) { |
| 123 |
foreach ($support_users as $key => $uid) { |
foreach ($support_users as $uid => $key) { |
| 124 |
if ($uid == $user->uid) { |
if ($uid == $user->uid) { |
| 125 |
$form['skype_info'] = array('#type' => 'fieldset', '#collapsible' => true, '#title' => t('Skype Information')); |
$form['skype_info'] = array('#type' => 'fieldset', '#collapsible' => true, '#title' => t('Skype Information')); |
| 126 |
$form['skype_info']['skype_name'] = array('#type' => 'textfield', |
$form['skype_info']['skype_name'] = array('#type' => 'textfield', |
| 301 |
|
|
| 302 |
function theme_skypesupport_user_status($user, $user_status) { |
function theme_skypesupport_user_status($user, $user_status) { |
| 303 |
if ($user->skype_name) { |
if ($user->skype_name) { |
| 304 |
return l($user->name, "user/$user->uid") .' is currently set to <img src="'. $user_status->getImagePath() .'" /> <em class="skype_support_user_status">'. $user_status->getText() .'</em>'; |
$language = ($user->language) ? '('. $user->language .')' : ''; |
| 305 |
|
return l($user->name, "user/$user->uid") .' is currently set to <img src="'. $user_status->getImagePath() .'" /> <em class="skype_support_user_status">'. $user_status->getText() .'</em> ' .$language; |
| 306 |
} |
} |
| 307 |
} |
} |