From 660fd32ad96b9763f7a93862c910679aaaf2beff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Mon, 26 Jun 2023 22:12:20 +0200 Subject: [PATCH] Check email equality between members and dokuwiki. --- src/brmember.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/brmember.scm b/src/brmember.scm index 7518e0a..307a93f 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -273,6 +273,17 @@ (define (brmember-in-dokuwiki? mr) (ldict-contains? mr 'dokuwiki)) + ;; Returns #t if this member email is the same as the one in dokuwiki + (define (brmember-dokuwiki-email-ok? mr) + (let ((dw (ldict-ref mr 'dokuwiki #f))) + (if (eq? dw #t) + #t + (if dw + (let ((email (brmember-info mr 'mail 0)) + (memail (ldict-ref dw 'email 1))) + (equal? email memail)) + #f)))) + ;; True if member record is OK (define (brmember-has-problems? mr) (or (member-has-errors? mr) @@ -281,6 +292,8 @@ (not (is-4digit-prime? (brmember-id mr))) (and (not (brmember-destroyed? mr)) (not (brmember-in-dokuwiki? mr))) + (and (not (brmember-destroyed? mr)) + (not (brmember-dokuwiki-email-ok? mr))) )) ;; Returns true if the member record represents non-existing