]> source.dussan.org Git - nextcloud-server.git/commitdiff
Don't add address if none of the fields are filled out.
authorThomas Tanghus <thomas@tanghus.net>
Thu, 12 Jan 2012 01:34:22 +0000 (02:34 +0100)
committerThomas Tanghus <thomas@tanghus.net>
Thu, 12 Jan 2012 01:39:33 +0000 (02:39 +0100)
apps/contacts/ajax/addproperty.php

index 6e3ba3566c08de4e0006c516647034835d9f331d..0050f5f49aa115ddd04863880382ebb95562db9c 100644 (file)
@@ -35,10 +35,22 @@ $name = $_POST['name'];
 $value = $_POST['value'];
 if(!is_array($value)){
        $value = trim($value);
-       if(!$value && in_array($name, array('TEL', 'EMAIL'))) {
+       if(!$value && in_array($name, array('TEL', 'EMAIL', 'ORG'))) {
                OC_JSON::error(array('data' => array('message' => $l->t('Cannot add empty property.'))));
                exit();
        }
+} elseif($name === 'ADR') { // only add if non-empty elements.
+       $empty = true;
+       foreach($value as $part) {
+               if(trim($part) != '') {
+                       $empty = false;
+                       break;
+               }
+       }
+       if($empty) {
+               OC_JSON::error(array('data' => array('message' => $l->t('At least one of the address fields has to be filled out.'))));
+               exit();
+       }
 }
 $parameters = isset($_POST['parameters']) ? $_POST['parameters'] : array();
 
@@ -49,7 +61,7 @@ $line = count($vcard->children) - 1;
 // Apparently Sabre_VObject_Parameter doesn't do well with multiple values or I don't know how to do it. Tanghus.
 foreach ($parameters as $key=>$element) {
        if(is_array($element) && strtoupper($key) == 'TYPE') { 
-               // FIXME: Maybe this doesn't only apply for TYPE?
+               // NOTE: Maybe this doesn't only apply for TYPE?
                // And it probably shouldn't be done here anyways :-/
                foreach($element as $e){
                        if($e != '' && !is_null($e)){