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; }
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; }