|
@@ -180,7 +180,7 @@ function add_to_mailing_list {
|
180
|
180
|
--msgbox $"$LIST_NAME list was added" 6 40
|
181
|
181
|
}
|
182
|
182
|
|
183
|
|
-function email_rule {
|
|
183
|
+function email_rule_address {
|
184
|
184
|
data=$(tempfile 2>/dev/null)
|
185
|
185
|
trap "rm -f $data" 0 1 2 5 15
|
186
|
186
|
dialog --backtitle $"Freedombone User Control Panel" \
|
|
@@ -229,6 +229,50 @@ function email_rule {
|
229
|
229
|
--msgbox $"Email rule for $RULE_EMAIL was added" 6 40
|
230
|
230
|
}
|
231
|
231
|
|
|
232
|
+function email_rule_subject {
|
|
233
|
+ data=$(tempfile 2>/dev/null)
|
|
234
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
235
|
+ dialog --backtitle $"Freedombone User Control Panel" \
|
|
236
|
+ --title $"Create an email rule" \
|
|
237
|
+ --form "\n" 9 65 4 \
|
|
238
|
+ $"When email arrives with subject containing:" 1 1 "" 1 35 24 28 \
|
|
239
|
+ $"Move to folder:" 2 1 "" 2 35 24 28 \
|
|
240
|
+ $"Public:" 3 1 $"no" 3 35 4 25 \
|
|
241
|
+ 2> $data
|
|
242
|
+ sel=$?
|
|
243
|
+ case $sel in
|
|
244
|
+ 1) return;;
|
|
245
|
+ 255) return;;
|
|
246
|
+ esac
|
|
247
|
+ RULE_SUBJECT=$(cat $data | sed -n 1p)
|
|
248
|
+ RULE_FOLDER=$(cat $data | sed -n 2p)
|
|
249
|
+ RULE_PUBLIC=$(cat $data | sed -n 3p)
|
|
250
|
+
|
|
251
|
+ if [ ${#RULE_PUBLIC} -lt 1 ]; then
|
|
252
|
+ RULE_PUBLIC='no'
|
|
253
|
+ fi
|
|
254
|
+ if [[ $RULE_PUBLIC == $'y' || $RULE_PUBLIC == $'Y' || $RULE_PUBLIC == $'true' || $RULE_PUBLIC == $'True' || $RULE_PUBLIC == $'yes' || $RULE_PUBLIC == $'Yes' || $RULE_PUBLIC == $'YES' ]]; then
|
|
255
|
+ RULE_PUBLIC='yes'
|
|
256
|
+ else
|
|
257
|
+ RULE_PUBLIC='no'
|
|
258
|
+ fi
|
|
259
|
+ if [ ${#RULE_SUBJECT} -lt 2 ]; then
|
|
260
|
+ dialog --title $"Create an email rule" \
|
|
261
|
+ --msgbox $"No subject text was given" 6 40
|
|
262
|
+ return
|
|
263
|
+ fi
|
|
264
|
+ if [ ${#RULE_FOLDER} -lt 2 ]; then
|
|
265
|
+ dialog --title $"Create an email rule" \
|
|
266
|
+ --msgbox $"No folder name was given" 6 40
|
|
267
|
+ return
|
|
268
|
+ fi
|
|
269
|
+
|
|
270
|
+ ${PROJECT_NAME}-addemail -u $USER -s "$RULE_SUBJECT" \
|
|
271
|
+ -g "$RULE_FOLDER" --public $RULE_PUBLIC
|
|
272
|
+ dialog --title $"Create an email rule" \
|
|
273
|
+ --msgbox $"Email rule for subject '$RULE_SUBJECT' was added" 6 40
|
|
274
|
+}
|
|
275
|
+
|
232
|
276
|
function block_unblock_email {
|
233
|
277
|
blockstr=$"Block or unblock emails from a given address"
|
234
|
278
|
data=$(tempfile 2>/dev/null)
|
|
@@ -307,13 +351,14 @@ function menu_email {
|
307
|
351
|
trap "rm -f $data" 0 1 2 5 15
|
308
|
352
|
dialog --backtitle $"Freedombone User Control Panel" \
|
309
|
353
|
--title $"Change Email Filtering Rules" \
|
310
|
|
- --radiolist $"Choose an operation:" 13 70 6 \
|
|
354
|
+ --radiolist $"Choose an operation:" 14 70 7 \
|
311
|
355
|
1 $"Add yourself to a mailing list" off \
|
312
|
356
|
2 $"Remove yourself from a mailing list" off \
|
313
|
|
- 3 $"Add an email rule" off \
|
314
|
|
- 4 $"Block or unblock an email address" off \
|
315
|
|
- 5 $"Block or unblock email with subject text" off \
|
316
|
|
- 6 $"Back to main menu" on 2> $data
|
|
357
|
+ 3 $"Add an email rule for an address" off \
|
|
358
|
+ 4 $"Add an email rule for a subject" off \
|
|
359
|
+ 5 $"Block or unblock an email address" off \
|
|
360
|
+ 6 $"Block or unblock email with subject text" off \
|
|
361
|
+ 7 $"Back to main menu" on 2> $data
|
317
|
362
|
sel=$?
|
318
|
363
|
case $sel in
|
319
|
364
|
1) break;;
|
|
@@ -322,10 +367,11 @@ function menu_email {
|
322
|
367
|
case $(cat $data) in
|
323
|
368
|
1) add_to_mailing_list;;
|
324
|
369
|
2) remove_user_from_mailing_list;;
|
325
|
|
- 3) email_rule;;
|
326
|
|
- 4) block_unblock_email;;
|
327
|
|
- 5) block_unblock_subject;;
|
328
|
|
- 6) break;;
|
|
370
|
+ 3) email_rule_address;;
|
|
371
|
+ 4) email_rule_subject;;
|
|
372
|
+ 5) block_unblock_email;;
|
|
373
|
+ 6) block_unblock_subject;;
|
|
374
|
+ 7) break;;
|
329
|
375
|
esac
|
330
|
376
|
done
|
331
|
377
|
}
|