示例#1
0
function snoop_find($plan, $remote = FALSE)
{
    if ($remote == FALSE) {
        $snoop_setter = $_SERVER['USER'];
    } else {
        $snoop_setter = $remote;
    }
    preg_match_all("/!([\\w@\\.\\-]+):[^!]+!/", $plan, $snooplist_one);
    preg_match_all("/!([\\w@\\.\\-]+)!/", $plan, $snooplist_two);
    $real_snoop_array = array_merge($snooplist_one[1], $snooplist_two[1]);
    $alias_list = user_list_aliases($snoop_setter);
    foreach ($real_snoop_array as $i => $snoop_item) {
        if ($snoop_item == 'http' || $snoop_item == 'link' || $snoop_item == '--ut') {
            unset($real_snoop_array[$i]);
        }
        if (isset($alias_list[$snoop_item])) {
            $real_snoop_array[$i] = $alias_list[$snoop_item];
        }
    }
    return $real_snoop_array;
}
示例#2
0
function plan_add_alias_links($plan, $planwriter, $remote = FALSE)
{
    $alias_array = user_list_aliases($planwriter);
    // don't bother if there aren't aliases to link
    if (is_array($alias_array)) {
        foreach ($alias_array as $alias => $item) {
            if (!$_SERVER['REMOTENODE']) {
                $planprefix = '/read/';
                $remoteaddition = '';
            } else {
                $planprefix = '?id=';
                if (!strstr($item, '@')) {
                    $remoteaddition = '@planwatch.org';
                } else {
                    $remoteaddition = '';
                }
            }
            $item = str_replace($_SERVER['REMOTENODE'], '', $item);
            if ($alias && strpos($plan, $alias) !== FALSE) {
                if (($_SERVER['OUTPUT_MODE'] == 'HTML' || $_SERVER['OUTPUT_MODE'] == 'IPHONE') && $_SERVER['USER'] && $_SERVER['USER'] != 'guest' || $planprefix == '/read/' && !plan_is_private($item) && !plan_is_registered_only($item)) {
                    $plan = str_replace("!{$alias}!", "<a target='_self' href='{$planprefix}{$item}{$remoteaddition}'>{$alias}</a>", $plan);
                    $plan = preg_replace("/!{$alias}:([^!]+)!/", "<a target='_self' href='{$planprefix}{$item}{$remoteaddition}'>\\1</a>", $plan);
                } else {
                    $plan = str_replace("!{$alias}!", "{$alias}", $plan);
                    $plan = preg_replace("/!{$alias}:([^!]+)!/", "\\1", $plan);
                }
            }
        }
    }
    profile('alias');
    return $plan;
}