@@ -41,6 +41,40 @@ function get_error($errmsg) {
4141 }
4242 }
4343
44+ /* Validator function for checking that the 'domain' is not already set as mail_domain */
45+ function validate_isnot_maildomain ($ field_name , $ field_value , $ validator ) {
46+ global $ app , $ conf ;
47+
48+ if (isset ($ app ->remoting_lib ->primary_id )) {
49+ $ id = $ app ->remoting_lib ->primary_id ;
50+ } else {
51+ $ id = $ app ->tform ->primary_id ;
52+ }
53+
54+ $ sql = "SELECT domain_id, domain FROM mail_domain WHERE domain = ? AND domain_id != ? " ;
55+ $ domain_check = $ app ->db ->queryOneRecord ($ sql , $ field_value , $ id );
56+
57+ if ($ domain_check ) return $ this ->get_error ('domain_is_maildomain ' );
58+
59+ }
60+
61+ /* Validator function for checking that the 'domain' is not already set as mail_transport */
62+ function validate_isnot_mailtransport ($ field_name , $ field_value , $ validator ) {
63+ global $ app , $ conf ;
64+
65+ if (isset ($ app ->remoting_lib ->primary_id )) {
66+ $ id = $ app ->remoting_lib ->primary_id ;
67+ } else {
68+ $ id = $ app ->tform ->primary_id ;
69+ }
70+
71+ $ sql = "SELECT transport_id, domain FROM mail_transport WHERE domain = ? AND transport_id != ? " ;
72+ $ domain_check = $ app ->db ->queryOneRecord ($ sql , $ field_value , $ id );
73+
74+ if ($ domain_check ) return $ this ->get_error ('domain_is_transport ' );
75+
76+ }
77+
4478 /* Validator function for checking the 'domain' of a mail transport */
4579 function validate_domain ($ field_name , $ field_value , $ validator ) {
4680 global $ app , $ conf ;
@@ -52,8 +86,8 @@ function validate_domain($field_name, $field_value, $validator) {
5286 }
5387
5488 // mail_transport.domain (could also be an email address) must be unique per server
55- $ sql = "SELECT transport_id, domain FROM mail_transport WHERE domain = ? AND server_id = ? AND transport_id != ? " ;
56- $ domain_check = $ app ->db ->queryOneRecord ($ sql , $ field_value , $ app -> tform_actions -> dataRecord [ ' server_id ' ], $ id );
89+ $ sql = "SELECT transport_id, domain FROM mail_transport WHERE domain = ? AND transport_id != ? " ;
90+ $ domain_check = $ app ->db ->queryOneRecord ($ sql , $ field_value , $ id );
5791
5892 if ($ domain_check ) return $ this ->get_error ('domain_error_unique ' );
5993 }
0 commit comments