#!/bin/sh

folders=".spam .junk"


for folder in $folders
do
  echo "Searching for '$folder' folders..."
  for domain in `find /home/* -maxdepth 0 -type d 2>/dev/null`
  do
    domain=`basename $domain`
    if [ ! -d /home/$domain/Maildir ]
    then
      continue
    fi
    echo " Processing domain '$domain'"
    for spamdir in `find /home/$domain/Maildir -maxdepth 1 -type d -iname $folder 2>/dev/null`
    do
      echo "  Learning from system user '$spamdir'..."
      #echo "   DEBUG: su - $domain -c \"sa-learn --spam --showdots $spamdir/cur/*\""
      #echo "   DEBUG: su - $domain -c \"sa-learn --spam --showdots $spamdir/new/*\""
      #echo "   DEBUG: rm -f $spamdir/cur/*"
      #echo "   DEBUG: rm -f $spamdir/new/*"
      su - $domain -c "sa-learn --spam --showdots $spamdir/cur/*"
      su - $domain -c "sa-learn --spam --showdots $spamdir/new/*"
      rm -f $spamdir/cur/*
      rm -f $spamdir/new/*
    done

    if [ ! -d /home/$domain/homes/ ]
    then
      continue
    fi
    for user in `find /home/$domain/homes/* -maxdepth 0 -type d 2>/dev/null`
    do
      user=`basename $user`
      if [ ! -d /home/$domain/homes/$user/Maildir ]
      then
        continue
      fi
      for spamdir in `find /home/$domain/homes/$user/Maildir -maxdepth 1 -type d -iname $folder 2>/dev/null`
      do
        username=`ls -la /home/$domain/homes/$user | grep $user | head -1 | awk -F\  '{print $3}'`
        echo "  Learning from domain user '$spamdir'..."
        #echo "   DEBUG: su - $username -c \"sa-learn --spam --showdots $spamdir/cur/*\""
        #echo "   DEBUG: su - $username -c \"sa-learn --spam --showdots $spamdir/new/*\""
        #echo "   DEBUG: rm -f $spamdir/cur/*"
        #echo "   DEBUG: rm -f $spamdir/new/*"
        su - $username -c "sa-learn --spam --showdots $spamdir/cur/*"
        su - $username -c "sa-learn --spam --showdots $spamdir/new/*"
        rm -f $spamdir/cur/*
        rm -f $spamdir/new/*
      done
    done
  done
done

