Beispiel #1
0
/**
 * Renders a list of users to add as subscribers, used to add subscribers from the objects view.
 * @param $object
 * @param $genid
 * @param $subscribers
 * @param $workspaces
 * @return html text
 */
function render_add_subscribers_select(ProjectDataObject $object, $genid = null, $subscribers = null, $workspaces = null)
{
    if (!isset($genid)) {
        $genid = gen_id();
    }
    $subscriberIds = array();
    if (is_array($subscribers)) {
        foreach ($subscribers as $u) {
            $subscriberIds[] = $u->getId();
        }
    } else {
        if ($object->isNew()) {
            $subscriberIds[] = logged_user()->getId();
        } else {
            foreach ($object->getSubscribers() as $u) {
                $subscriberIds[] = $u->getId();
            }
        }
    }
    if (!isset($workspaces)) {
        if ($object->isNew()) {
            $workspaces = array(active_or_personal_project());
        } else {
            $workspaces = $object->getWorkspaces();
        }
    }
    tpl_assign('type', get_class($object->manager()));
    tpl_assign('workspaces', $workspaces);
    tpl_assign('subscriberIds', $subscriberIds);
    tpl_assign('genid', $genid);
    return tpl_fetch(get_template_path('add_subscribers_list', 'object'));
}