|  | @@ -37,10 +37,11 @@ export TEXTDOMAINDIR="/usr/share/locale"
 | 
	
		
			
			| 37 | 37 |  MYUSERNAME=$USER
 | 
	
		
			
			| 38 | 38 |  EMAILADDRESS=
 | 
	
		
			
			| 39 | 39 |  GROUP_NAME=
 | 
	
		
			
			|  | 40 | +PUBLIC='no'
 | 
	
		
			
			| 40 | 41 |  
 | 
	
		
			
			| 41 | 42 |  function show_help {
 | 
	
		
			
			| 42 | 43 |      echo ''
 | 
	
		
			
			| 43 |  | -    echo $"${PROJECT_NAME}-addemail -u [username] -e [email address] -g [group name]"
 | 
	
		
			
			|  | 44 | +    echo $"${PROJECT_NAME}-addemail -u [username] -e [email address] -g [group name] --public [yes|no]"
 | 
	
		
			
			| 44 | 45 |      echo ''
 | 
	
		
			
			| 45 | 46 |      exit 0
 | 
	
		
			
			| 46 | 47 |  }
 | 
	
	
		
			
			|  | @@ -65,6 +66,10 @@ case $key in
 | 
	
		
			
			| 65 | 66 |      shift
 | 
	
		
			
			| 66 | 67 |      GROUP_NAME="$1"
 | 
	
		
			
			| 67 | 68 |      ;;
 | 
	
		
			
			|  | 69 | +    -p|--public)
 | 
	
		
			
			|  | 70 | +    shift
 | 
	
		
			
			|  | 71 | +    PUBLIC="$1"
 | 
	
		
			
			|  | 72 | +    ;;
 | 
	
		
			
			| 68 | 73 |      *)
 | 
	
		
			
			| 69 | 74 |      # unknown option
 | 
	
		
			
			| 70 | 75 |      ;;
 | 
	
	
		
			
			|  | @@ -88,15 +93,27 @@ if [ ! -d "$LISTDIR" ]; then
 | 
	
		
			
			| 88 | 93 |  fi
 | 
	
		
			
			| 89 | 94 |  chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
 | 
	
		
			
			| 90 | 95 |  if ! grep -q "Email rule for $EMAILADDRESS -> $GROUP_NAME" $PM; then
 | 
	
		
			
			| 91 |  | -    if ! grep -q "\# encrypt" $PM; then
 | 
	
		
			
			|  | 96 | +    if [[ $PUBLIC != "yes" ]]; then
 | 
	
		
			
			|  | 97 | +        # private emails go after the encryption stage
 | 
	
		
			
			|  | 98 | +        echo '' >> $PM
 | 
	
		
			
			| 92 | 99 |          echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
 | 
	
		
			
			| 93 | 100 |          echo ":0" >> $PM
 | 
	
		
			
			| 94 | 101 |          echo "  * ^From:.*$EMAILADDRESS" >> $PM
 | 
	
		
			
			| 95 | 102 |          echo "$LISTDIR/new" >> $PM
 | 
	
		
			
			| 96 | 103 |          echo "# End of rule" >> $PM
 | 
	
		
			
			| 97 | 104 |      else
 | 
	
		
			
			| 98 |  | -        filter=$(echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME\n:0\n  * ^From:.*$EMAILADDRESS\n$LISTDIR/new\n# End of rule\n")
 | 
	
		
			
			| 99 |  | -        sed -i "/# encrypt/i ${filter}" $PM
 | 
	
		
			
			|  | 105 | +        # public emails are copied before hte encryption stage
 | 
	
		
			
			|  | 106 | +        if ! grep -q '# encrypt' $PM; then
 | 
	
		
			
			|  | 107 | +            echo '' >> $PM
 | 
	
		
			
			|  | 108 | +            echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
 | 
	
		
			
			|  | 109 | +            echo ":0" >> $PM
 | 
	
		
			
			|  | 110 | +            echo "  * ^From:.*$EMAILADDRESS" >> $PM
 | 
	
		
			
			|  | 111 | +            echo "$LISTDIR/new" >> $PM
 | 
	
		
			
			|  | 112 | +            echo "# End of rule" >> $PM
 | 
	
		
			
			|  | 113 | +        else
 | 
	
		
			
			|  | 114 | +            filter=$(echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME\n:0\n  * ^From:.*$EMAILADDRESS\n$LISTDIR/new\n# End of rule\n")
 | 
	
		
			
			|  | 115 | +            sed -i "/# encrypt/i ${filter}" $PM
 | 
	
		
			
			|  | 116 | +        fi
 | 
	
		
			
			| 100 | 117 |      fi
 | 
	
		
			
			| 101 | 118 |      chown $MYUSERNAME:$MYUSERNAME $PM
 | 
	
		
			
			| 102 | 119 |  fi
 |