lib/api
Aleksander Machniak
machniak at kolabsys.com
Tue Oct 23 19:38:59 CEST 2012
lib/api/kolab_api_service_form_value.php | 36 +++++++++++++++++--------------
1 file changed, 20 insertions(+), 16 deletions(-)
New commits:
commit de22f031a5aeff249d24ac0eaae1bb05f40436e9
Author: Aleksander Machniak <alec at alec.pl>
Date: Tue Oct 23 19:37:49 2012 +0200
Check user domain before getting all domains in _validate_email_address_in_any_of_my_domains() (#1138)
diff --git a/lib/api/kolab_api_service_form_value.php b/lib/api/kolab_api_service_form_value.php
index 9e213f6..1443a1b 100644
--- a/lib/api/kolab_api_service_form_value.php
+++ b/lib/api/kolab_api_service_form_value.php
@@ -959,7 +959,8 @@ class kolab_api_service_form_value extends kolab_api_service
}
}
- private function _highest_of_two($one, $two) {
+ private function _highest_of_two($one, $two)
+ {
if ($one > $two) {
return $one;
} elseif ($one == $two) {
@@ -1091,7 +1092,8 @@ class kolab_api_service_form_value extends kolab_api_service
return array('list' => $result);
}
- private function _validate_email_address($mail_address) {
+ private function _validate_email_address($mail_address)
+ {
$valid = true;
$at_index = strrpos($mail_address, "@");
@@ -1150,20 +1152,8 @@ class kolab_api_service_form_value extends kolab_api_service
return $valid;
}
- private function _validate_email_address_in_any_of_my_domains($mail_address) {
- $valid = false;
-
- $auth = Auth::get_instance();
- $conf = Conf::get_instance();
-
- $my_primary_domain = $_SESSION['user']->get_domain();
- $all_domains = $auth->list_domains();
- $all_domains = $all_domains['list'];
-
- $valid_domains = array();
-
- $dna = $conf->get('domain_name_attribute');
-
+ private function _validate_email_address_in_any_of_my_domains($mail_address)
+ {
$at_index = strrpos($mail_address, "@");
if (is_bool($at_index) && !$at_index) {
throw new Exception("Invalid email address: No domain name space", 235);
@@ -1171,6 +1161,20 @@ class kolab_api_service_form_value extends kolab_api_service
$email_domain = substr($mail_address, $at_index+1);
}
+ $my_primary_domain = $_SESSION['user']->get_domain();
+
+ if ($email_domain == $my_primary_domain) {
+ return true;
+ }
+
+ $auth = Auth::get_instance();
+ $conf = Conf::get_instance();
+ $all_domains = $auth->list_domains();
+ $all_domains = $all_domains['list'];
+ $valid_domains = array();
+ $dna = $conf->get('domain_name_attribute');
+ $valid = false;
+
Log::trace("_validate_email_address_in_any_of_mydomains(\$mail_address = " . var_export($mail_address, TRUE) . ")");
Log::trace("\$all_domains includes: " . var_export($all_domains, TRUE) . " (must include domain for \$mail_address)");
More information about the commits
mailing list