Whups::getUserAttributes PHP Method

getUserAttributes() public static method

Returns a hash with user information.
public static getUserAttributes ( string $user = null ) : array
$user string A (Whups) user name, defaults to the current user.
return array An information hash with 'user', 'name', 'email', and 'type' values.
    public static function getUserAttributes($user = null)
    {
        if (is_null($user)) {
            $user = $GLOBALS['registry']->getAuth();
        }
        if (empty($user)) {
            return array('type' => 'user', 'user' => '', 'name' => '', 'email' => '');
        }
        if (isset(self::$_users[$user])) {
            return self::$_users[$user];
        }
        if (strpos($user, ':') !== false) {
            list($type, $user) = explode(':', $user, 2);
        } else {
            $type = 'user';
        }
        // Default this; some of the cases below might change it.
        self::$_users[$user]['user'] = $user;
        self::$_users[$user]['type'] = $type;
        switch ($type) {
            case 'user':
                if (substr($user, 0, 2) == '**') {
                    unset(self::$_users[$user]);
                    $user = substr($user, 2);
                    self::$_users[$user]['user'] = $user;
                    self::$_users[$user]['name'] = '';
                    self::$_users[$user]['email'] = '';
                    $addr_ob = new Horde_Mail_Rfc822_Address($user);
                    if ($addr_ob->valid) {
                        self::$_users[$user]['name'] = is_null($addr_ob->personal) ? '' : $addr_ob->personal;
                        self::$_users[$user]['email'] = $addr_ob->bare_address;
                    }
                } elseif ($user < 0) {
                    global $whups_driver;
                    self::$_users[$user]['user'] = '';
                    self::$_users[$user]['name'] = '';
                    self::$_users[$user]['email'] = $whups_driver->getGuestEmail($user);
                    $addr_ob = new Horde_Mail_Rfc822_Address(self::$_users[$user]['email']);
                    if ($addr_ob->valid) {
                        self::$_users[$user]['name'] = is_null($addr_ob->personal) ? '' : $addr_ob->personal;
                        self::$_users[$user]['email'] = $addr_ob->bare_address;
                    }
                } else {
                    $identity = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Identity')->create($user);
                    self::$_users[$user]['name'] = $identity->getName();
                    self::$_users[$user]['email'] = $identity->getDefaultFromAddress();
                }
                break;
            case 'group':
                try {
                    $group = $GLOBALS['injector']->getInstance('Horde_Group')->getData($user);
                    self::$_users[$user]['user'] = $group['name'];
                    self::$_users[$user]['name'] = $group['name'];
                    self::$_users[$user]['email'] = $group['email'];
                } catch (Horde_Exception $e) {
                    self::$_users['user']['name'] = '';
                    self::$_users['user']['email'] = '';
                }
                break;
        }
        return self::$_users[$user];
    }

Usage Example

Exemplo n.º 1
0
 * did not receive this file, see http://www.horde.org/licenses/bsdl.php.
 *
 * @author Jan Schneider <*****@*****.**>
 */
require_once __DIR__ . '/../lib/Application.php';
Horde_Registry::appInit('whups');
$vars = Horde_Variables::getDefaultVariables();
$ticket = Whups::getCurrentTicket();
$view = $injector->createInstance('Horde_View');
try {
    $files = $ticket->listAllAttachments();
} catch (Whups_Exception $e) {
    $notification->push($e);
}
if ($files) {
    $format = array($prefs->getValue('date_format'), $prefs->getValue('time_format'));
    $attachments = Whups::getAttachments($ticket->getId());
    $view->attachments = array();
    foreach ($files as $file) {
        $view->attachments[] = array_merge(array('timestamp' => $file['timestamp'], 'date' => strftime($format[0], $file['timestamp']) . ' ' . strftime($format[1], $file['timestamp']), 'user' => Whups::formatUser(Whups::getUserAttributes($file['user_id']), true, true, true)), Whups::attachmentUrl($ticket->getId(), $attachments[$file['value']], $ticket->get('queue')));
    }
}
Whups::addTopbarSearch();
Whups::addFeedLink();
$page_output->addLinkTag($ticket->feedLink());
$page_output->addScriptFile('tables.js', 'horde');
$page_output->header(array('title' => sprintf(_("Attachments for %s"), '[#' . $id . '] ' . $ticket->get('summary'))));
$notification->notify(array('listeners' => 'status'));
echo Whups::getTicketTabs($vars, $ticket->getId())->render('attachments');
echo $view->render('ticket/attachments');
$page_output->footer();
All Usage Examples Of Whups::getUserAttributes