function restapi_user_get_user_tokens_by_username($username) { $ret = array(); if (!function_exists('setup_userman')) { return $ret; } $user = setup_userman()->getUserByUsername($username); if (empty($user)) { return $ret; } return restapi_user_get_user_tokens($user['id']); }
/** * @verb GET * @returns - a userman user * @uri /userman/extensions/:id */ function get_extension_id($params) { if ($params['id'] == 'none') { /* Don't do that. */ return false; } $userman = setup_userman(); if ($userman) { $user = $userman->getUserByDefaultExtension($params['id']); if ($user) { $user['assigned'] = $userman->getAssignedDevices($user['id']); } return $user; } return false; }
function userman_configprocess() { $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null; $extension = isset($_REQUEST['extdisplay']) ? $_REQUEST['extdisplay'] : null; $userman = setup_userman(); //if submitting form, update database switch ($action) { case "add": $extension = isset($_REQUEST['extension']) ? $_REQUEST['extension'] : null; if (isset($_REQUEST['userman|assign']) && !empty($extension)) { if ($_REQUEST['userman|assign'] == 'add') { $username = !empty($_REQUEST['userman_username_cb']) && !empty($_REQUEST['userman_username']) ? $_REQUEST['userman_username'] : $extension; $displayname = !empty($_REQUEST['name']) ? $_REQUEST['name'] : $extension; $email = !empty($_REQUEST['email']) ? $_REQUEST['email'] : ''; $password = $_REQUEST['userman|password']; $ret = $userman->addUser($username, $password, $extension, _('Autogenerated user on new device creation'), array('email' => $email, 'displayname' => $displayname)); if ($ret['status']) { $userman->setGlobalSettingByID($ret['id'], 'assigned', array($extension)); if (!empty($email)) { $userman->sendWelcomeEmail($username, $password); } } } elseif ($_REQUEST['userman|assign'] != 'none') { $user = $userman->getUserByID($_REQUEST['userman|assign']); //run this last so that hooks to other modules get the correct information $userman->updateUser($user['username'], $user['username'], $extension); } } break; case "edit": if (isset($_REQUEST['userman|assign']) && $_REQUEST['userman|assign'] == 'add') { $userO = $userman->getUserByDefaultExtension($extension); $username = !empty($_REQUEST['userman_username_cb']) && !empty($_REQUEST['userman_username']) ? $_REQUEST['userman_username'] : $extension; $displayname = !empty($_REQUEST['name']) ? $_REQUEST['name'] : $extension; $email = !empty($_REQUEST['email']) ? $_REQUEST['email'] : ''; $password = $_REQUEST['userman|password']; $ret = $userman->addUser($username, $password, $extension, _('Autogenerated user on new device creation'), array('email' => $email, 'displayname' => $displayname)); if ($ret['status'] && !empty($userO)) { $userman->setGlobalSettingByID($ret['id'], 'assigned', array($extension)); $userman->updateUser($userO['username'], $userO['username'], 'none'); if (!empty($email)) { $userman->sendWelcomeEmail($username, $password); } } } elseif (isset($_REQUEST['userman|assign']) && $_REQUEST['userman|assign'] != 'none') { $userO = $userman->getUserByDefaultExtension($extension); if (!empty($userO['id']) && $userO['id'] != $_REQUEST['userman|assign']) { $assigned = $userman->getGlobalSettingByID($userO['id'], 'assigned'); $assigned = array_diff($assigned, array($extension)); $userman->setGlobalSettingByID($userO['id'], 'assigned', $assigned); //run this last so that hooks to other modules get the correct information $userman->updateUser($userO['username'], $userO['username'], 'none'); $ret = $userman->getUserById($_REQUEST['userman|assign']); $assigned = $userman->getGlobalSettingByID($ret['id'], 'assigned'); if (is_array($assgined) && !in_array($extension, $assigned)) { $assigned[] = $extension; $userman->setGlobalSettingByID($ret['id'], 'assigned', $assigned); } elseif (!is_array($assigned) || empty($assigned)) { $userman->setGlobalSettingByID($ret['id'], 'assigned', array($extension)); } //run this last so that hooks to other modules get the correct information $userman->updateUser($ret['username'], $ret['username'], $extension); } elseif (empty($userO['id'])) { $user = $userman->getUserByID($_REQUEST['userman|assign']); //run this last so that hooks to other modules get the correct information $ret = $userman->updateUser($user['username'], $user['username'], $extension); if ($ret['status']) { $userman->setGlobalSettingByID($ret['id'], 'assigned', array($extension)); } } //Set to none so remove the extension as a default from this user //also remove extension from assigned devices, since we probably did it } elseif (isset($_REQUEST['userman|assign']) && $_REQUEST['userman|assign'] == 'none') { $userO = $userman->getUserByDefaultExtension($extension); if (!empty($userO['id'])) { $assigned = $userman->getGlobalSettingByID($userO['id'], 'assigned'); $assigned = array_diff($assigned, array($extension)); $userman->setGlobalSettingByID($userO['id'], 'assigned', $assigned); //run this last so that hooks to other modules get the correct information $userman->updateUser($userO['username'], $userO['username'], 'none'); } } break; case "del": $userO = $userman->getUserByDefaultExtension($extension); if (!empty($userO['id'])) { $assigned = $userman->getGlobalSettingByID($userO['id'], 'assigned'); if (!empty($assigned)) { $assigned = array_diff($assigned, array($extension)); $userman->setGlobalSettingByID($userO['id'], 'assigned', $assigned); } //run this last so that hooks to other modules get the correct information $userman->updateUser($userO['username'], $userO['username'], 'none'); } break; } }
<?php $userman = setup_userman(); //pre-boostrap styles if (version_compare(getVersion(), '12.0', '<')) { ?> <style> .alert { width: 80%; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert-success { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; } .alert-danger { color: #b94a48; background-color: #f2dede; border-color: #ebccd1; } </style> <?php } echo $userman->myShowPage();