SupportSuite version 3.11.01 stable
This modification will let you see more information about a user account, as well as putting the currently unused 'phone' field to use (see your database, check out the [prefix]users table (default: swusers), you'll notice a couple of interesting things

).
Basically, this will let you:
- See and alter a user's phone number (only 1 allowed per user, if you need more, you're gonna need to use contacts or hack this up better)
- See a user's current password (this may break in future if Kayako stops storing the user's password in plain text in the database - a good idea!)
Changes
/path/to/kayako/modules/core/staff_users.php:
line ~685, change from:
PHP Code:
updateUserStaffCP($_user["userid"], $_POST["password"], $_POST["usergroupid"], $_POST["fullname"], iif($_POST["ismanager"]==1, true, false));
to:
PHP Code:
updateUserStaffCP($_user["userid"], $_POST["password"], $_POST["usergroupid"], $_POST["fullname"], $_POST["phone"], iif($_POST["ismanager"]==1, true, false));
(This is the bit that allows you to set and update a phone number for a user)
/path/to/includes/functions_users.php:
(in diff format as there's a few changes and I'm too lazy to write it out by hand)
Code:
$ cat functions_users.diff
*** /home/deeps/kayako/trunk/upload/includes/functions_users.php 2007-09-18 09:06:10.000000000 +0200
--- includes/functions_users.php 2007-09-18 17:30:09.000000000 +0200
***************
*** 225,231 ****
/**
* Update Existing User
*/
! function updateUserStaffCP($userid, $password, $usergroupid, $fullname, $ismanager)
{
global $dbCore, $_SWIFT;
--- 225,231 ----
/**
* Update Existing User
*/
! function updateUserStaffCP($userid, $password, $usergroupid, $fullname, $phone, $ismanager)
{
global $dbCore, $_SWIFT;
***************
*** 236,242 ****
unset($passwordsql);
}
! $dbCore->query("UPDATE `". TABLE_PREFIX ."users` SET `usergroupid` = '". intval($usergroupid) ."', `fullname` = '". $dbCore->escape($fullname) ."', `ismanager` = '". iif($ismanager==true, "1", "0") ."'". $passwordsql ." WHERE `userid` = '". intval($userid) ."';");
return true;
}
--- 236,242 ----
unset($passwordsql);
}
! $dbCore->query("UPDATE `". TABLE_PREFIX ."users` SET `usergroupid` = '". intval($usergroupid) ."', `fullname` = '". $dbCore->escape($fullname) ."', `phone` = '". $dbCore->escape($phone) ."', `ismanager` = '". iif($ismanager==true, "1", "0") ."'". $passwordsql ." WHERE `userid` = '". intval($userid) ."';");
return true;
}
***************
*** 699,704 ****
--- 699,707 ----
}
printTextRow("fullname", $_SWIFT["language"]["usrfullname"], $_SWIFT["language"]["desc_usrfullname"], "text", $_POST["fullname"]);
+ printTextRow("phone", "Phone number", "Enter the user's phone number for alerts", "text", $_POST["phone"]);
+ printDefaultRow('<span class="tabletitle">Current Password</span><BR /><span class="tabledescription">User\'s current password</span>', $_POST["userpasswordtxt"]);
+
if ($type == INSERT)
{
Almost all of that is relating to updating the user's phone number. Only the last bit includes a line for viewing the current password. If that's all you want, just add that line to your functions_users.php.
Again, not thoroughly tested, but I'm violating various rules and assuming this trivial change wont break anything horribly - it hasn't for me, your mileage may vary.
Deeps.