#!/usr/bin/env rc
# usage: stalk [-l lastname] [-f firstname] [-n netid] [netid]
# Depends on ldapsearch(1), this is provided by the `ldap-utils` dpkg for ubuntu.
# You may only perform one operation at a time.
# Netid is the default but can be forced via the '-n' flag.

argv0=$0
fn usage {
	echo 'usage:' $argv0 '[-l lastname] [-f firstname] [-n netid] [netid]'
	exit 'usage'
}

# stalk(netid)
fn stalk {
	ldapsearch -h ldap.iastate.edu -s sub -x -b 'ou=people,dc=iastate,dc=edu' -LLL 'uid='^$1
	exit
}

# stalk(lastname)
fn stalklast {
	ldapsearch -h ldap.iastate.edu -s sub -x -b 'ou=people,dc=iastate,dc=edu' -LLL 'sn='^$1
	exit
}

# stalk(firstname)
fn stalkfirst {
	ldapsearch -h ldap.iastate.edu -s sub -x -b 'ou=people,dc=iastate,dc=edu' -LLL 'givenName='^$1
	exit
}

# Main
while(~ $1 -*)
	switch($1){
	case -l;
		shift
		stalklast $1
	case -f;
		shift
		stalkfirst $1
	case -n;
		shift
		stalk $1
	case -*;
		usage
	}

switch($#*){
case 0;
	usage
case *;
	stalk $1
}

