diff options
author | Thomas Tanghus <thomas@tanghus.net> | 2012-01-31 19:26:26 +0100 |
---|---|---|
committer | Thomas Tanghus <thomas@tanghus.net> | 2012-01-31 19:30:56 +0100 |
commit | 3f1486534f687fdcad219b97072ed71a2998de87 (patch) | |
tree | 62137ae8c829291bbc9daf137ad4f813724565ca | |
parent | db1f77e4f51b1172aabe12defdd8228e9dd3b93b (diff) | |
download | nextcloud-server-3f1486534f687fdcad219b97072ed71a2998de87.tar.gz nextcloud-server-3f1486534f687fdcad219b97072ed71a2998de87.zip |
- Fixed http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-93
Property was added multiple times.
- Fixed http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-8
"Missing "N" field: Contacts app not compatible with vcard 3.0 format"
- Almost sure I've fixed http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-27
"Full name in Contacts app doesn't sync to iOS 5 contacts" because it is caused by oc-8
-rw-r--r-- | apps/contacts/ajax/addcard.php | 23 | ||||
-rw-r--r-- | apps/contacts/ajax/addproperty.php | 23 | ||||
-rw-r--r-- | apps/contacts/ajax/deleteproperty.php | 5 | ||||
-rw-r--r-- | apps/contacts/ajax/setproperty.php | 6 | ||||
-rw-r--r-- | apps/contacts/ajax/showsetproperty.php | 5 | ||||
-rw-r--r-- | apps/contacts/css/styles.css | 58 | ||||
-rw-r--r-- | apps/contacts/lib/app.php | 5 | ||||
-rw-r--r-- | apps/contacts/templates/part.addcardform.php | 75 | ||||
-rw-r--r-- | apps/contacts/templates/part.details.php | 1 | ||||
-rw-r--r-- | apps/contacts/templates/part.property.N.php | 4 | ||||
-rw-r--r-- | apps/contacts/templates/part.setpropertyform.php | 81 |
11 files changed, 175 insertions, 111 deletions
diff --git a/apps/contacts/ajax/addcard.php b/apps/contacts/ajax/addcard.php index 7e47659d23b..140d6a48095 100644 --- a/apps/contacts/ajax/addcard.php +++ b/apps/contacts/ajax/addcard.php @@ -22,6 +22,11 @@ // Init owncloud require_once('../../../lib/base.php'); +function bailOut($msg) { + OC_JSON::error(array('data' => array('message' => $msg))); + OC_Log::write('contacts','ajax/addcard.php: '.$msg, OC_Log::DEBUG); + exit(); +} // Check if we are a user OC_JSON::checkLoggedIn(); @@ -31,12 +36,22 @@ $l=new OC_L10N('contacts'); $aid = $_POST['id']; $addressbook = OC_Contacts_App::getAddressbook( $aid ); -$fn = $_POST['fn']; +$fn = trim($_POST['fn']); $values = $_POST['value']; $parameters = $_POST['parameters']; $vcard = new OC_VObject('VCARD'); $vcard->setUID(); + +$n = isset($values['N'][0])?trim($values['N'][0]).';':';'; +$n .= isset($values['N'][1])?trim($values['N'][1]).';':';'; +$n .= isset($values['N'][2])?trim($values['N'][2]).';;':';;'; + +if(!$fn || ($n == ';;;;')) { + bailOut('You have to enter both the extended name and the display name.'); +} + +$vcard->setString('N',$n); $vcard->setString('FN',$fn); // Data to add ... @@ -58,6 +73,10 @@ foreach( $add as $propname){ } else { $prop_parameters = array(); } + if(is_array($value)){ + ksort($value); // NOTE: Important, otherwise the compound value will be set in the order the fields appear in the form! + $value = OC_VObject::escapeSemicolons($value); + } $vcard->addProperty($propname, $value); //, $prop_parameters); $line = count($vcard->children) - 1; foreach ($prop_parameters as $key=>$element) { @@ -77,7 +96,7 @@ foreach( $add as $propname){ $id = OC_Contacts_VCard::add($aid,$vcard->serialize()); if(!$id) { OC_JSON::error(array('data' => array('message' => $l->t('There was an error adding the contact.')))); - OC_Log::write('contacts','ajax/addcard.php: Recieved non-positive ID on adding card: '.$name, OC_Log::ERROR); + OC_Log::write('contacts','ajax/addcard.php: Recieved non-positive ID on adding card: '.$id, OC_Log::ERROR); exit(); } diff --git a/apps/contacts/ajax/addproperty.php b/apps/contacts/ajax/addproperty.php index a4b5c591197..c90af217c87 100644 --- a/apps/contacts/ajax/addproperty.php +++ b/apps/contacts/ajax/addproperty.php @@ -54,6 +54,21 @@ if(!is_array($value)){ } $parameters = isset($_POST['parameters']) ? $_POST['parameters'] : array(); +// Prevent setting a duplicate entry +$current = $vcard->select($name); +foreach($current as $item) { + $tmpvalue = (is_array($value)?implode(';', $value):$value); + if($tmpvalue == $item->value) { + OC_JSON::error(array('data' => array('message' => $l->t('Trying to add duplicate property: ').$name.': '.$tmpvalue))); + OC_Log::write('contacts','ajax/addproperty.php: Trying to add duplicate property: '.$name.': '.$tmpvalue, OC_Log::DEBUG); + exit(); + } +} + +if(is_array($value)) { + ksort($value); // NOTE: Important, otherwise the compound value will be set in the order the fields appear in the form! +} + $property = $vcard->addProperty($name, $value); //, $parameters); $line = count($vcard->children) - 1; @@ -74,14 +89,6 @@ foreach ($parameters as $key=>$element) { } $checksum = md5($vcard->children[$line]->serialize()); -/* FIXME: OC_Contacts_App::getPropertyLineByChecksum throws an OC_JSON error when doing this check. - Fix for v. 3.1 -if(!is_null(OC_Contacts_App::getPropertyLineByChecksum($id, $checksum))) { - OC_JSON::error(array('data' => array('message' => $l->t('Trying to add duplicate property.')))); - OC_Log::write('contacts','ajax/addproperty.php: Trying to add duplicate property: '.$name, OC_Log::DEBUG); - exit(); -} -*/ if(!OC_Contacts_VCard::edit($id,$vcard->serialize())) { OC_JSON::error(array('data' => array('message' => $l->t('Error adding contact property.')))); OC_Log::write('contacts','ajax/addproperty.php: Error updating contact property: '.$name, OC_Log::ERROR); diff --git a/apps/contacts/ajax/deleteproperty.php b/apps/contacts/ajax/deleteproperty.php index 89cf292f4f8..d745d3271db 100644 --- a/apps/contacts/ajax/deleteproperty.php +++ b/apps/contacts/ajax/deleteproperty.php @@ -33,6 +33,11 @@ $checksum = $_GET['checksum']; $vcard = OC_Contacts_App::getContactVCard( $id ); $line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum); +if(is_null($line)){ + $l=new OC_L10N('contacts'); + OC_JSON::error(array('data' => array( 'message' => $l->t('Information about vCard is incorrect. Please reload the page.')))); + exit(); +} unset($vcard->children[$line]); diff --git a/apps/contacts/ajax/setproperty.php b/apps/contacts/ajax/setproperty.php index cdc6d34c524..cf3fe582247 100644 --- a/apps/contacts/ajax/setproperty.php +++ b/apps/contacts/ajax/setproperty.php @@ -36,8 +36,9 @@ $line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum); // Set the value $value = $_POST['value']; if(is_array($value)){ - $value = OC_VObject::escapeSemicolons($value); + ksort($value); // NOTE: Important, otherwise the compound value will be set in the order the fields appear in the form! } +OC_Log::write('contacts','ajax/setproperty.php: setting: '.$vcard->children[$line]->name.': '.$value, OC_Log::DEBUG); $vcard->children[$line]->setValue($value); // Add parameters @@ -87,6 +88,9 @@ $phone_types = OC_Contacts_App::getTypesOfProperty('TEL'); if ($vcard->children[$line]->name == 'FN'){ $tmpl = new OC_Template('contacts','part.property.FN'); } +elseif ($vcard->children[$line]->name == 'N'){ + $tmpl = new OC_Template('contacts','part.property.N'); +} else{ $tmpl = new OC_Template('contacts','part.property'); } diff --git a/apps/contacts/ajax/showsetproperty.php b/apps/contacts/ajax/showsetproperty.php index e23fa21c56b..577230e4566 100644 --- a/apps/contacts/ajax/showsetproperty.php +++ b/apps/contacts/ajax/showsetproperty.php @@ -33,6 +33,11 @@ $checksum = $_GET['checksum']; $vcard = OC_Contacts_App::getContactVCard( $id ); $line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum); +if(is_null($line)){ + $l=new OC_L10N('contacts'); + OC_JSON::error(array('data' => array( 'message' => $l->t('Information about vCard is incorrect. Please reload the page.')))); + exit(); +} $adr_types = OC_Contacts_App::getTypesOfProperty('ADR'); $phone_types = OC_Contacts_App::getTypesOfProperty('TEL'); diff --git a/apps/contacts/css/styles.css b/apps/contacts/css/styles.css index 4fcd8fc1131..58e1bf6c93e 100644 --- a/apps/contacts/css/styles.css +++ b/apps/contacts/css/styles.css @@ -2,6 +2,7 @@ #leftcontent a { height: 23px; display: block; margin: 0 0 0 0; padding: 0 0 0 25px; } #chooseaddressbook {margin-right: 170px; float: right;} #contacts_details_name { font-weight:bold;font-size:1.1em;margin-left:25%;} +#contacts_details_name_n { font-size:0.8em;margin-left:25%;color:#666;} #contacts_details_photo { margin:.5em 0em .5em 25%; } #contacts_deletecard {position:absolute;top:15px;right:25px;} @@ -12,41 +13,15 @@ #contacts_details_list li p.contacts_property_data, #contacts_details_list li ul.contacts_property_data { width:72%;float:left; clear: right; } #contacts_setproperty_button { margin-left:25%; } -dl.form -{ - width: 100%; - float: left; - clear: right; - margin: 1em; - padding: 0; -} +#contacts_addcardform legend,label { font-weight: bold; width: 10em; overflow: ellipsis; } +#contacts_addcardform legend { padding-left: 3em; font-size:1.1em; } +#contacts_addcardform input[type="text"] { width: 25em; } +#contacts_addcardform input[type="email"] { width: 15em; } +#contacts_addcardform input[type="tel"] { width: 15em; } -.form dt -{ - display: table-cell; - clear: left; - float: left; - min-width: 10em; - margin: 0; - padding-top: 0.5em; - padding-right: 1em; - font-weight: bold; - text-align:right; - vertical-align: text-bottom; - bottom: 0px; -} - -.form dd -{ - display: table-cell; - clear: right; - float: left; - min-width: 20em; - margin: 0; - padding: 0; - white-space: nowrap; - top: 0px; -} +dl.form { width: 100%; float: left; clear: right; margin: 1em; padding: 0; } +.form dt { display: table-cell; clear: left; float: left; min-width: 10em; margin: 0; padding-top: 0.5em; padding-right: 1em;font-weight: bold; text-align:right; vertical-align: text-bottom; bottom: 0px; } +.form dd { display: table-cell; clear: right; float: left; min-width: 20em; margin: 0; padding: 0; white-space: nowrap; top: 0px; } .form input { position: relative; width: 20em; } .contacts_property_data ul, ol.contacts_property_data { list-style:none; } @@ -60,18 +35,3 @@ dl.form .chzn-container.chzn-container-active .chzn-choices { border-bottom-left-radius: 0;border-bottom-right-radius: 0; } .chzn-container .chzn-drop { border-bottom-left-radius: 0.5em;border-bottom-right-radius: 0.5em; } -/* Form setup ----------------------------------------------------------------*/ -/* .forme {} */ -/* .forme ul, .forme ol { list-style:none; } */ -/* .forme .inputs, .forme .buttons { overflow: hidden; } */ - -/* Labels --------------------------------------------------------------------*/ -/* .forme .input .label { width:25%; float:left; display:block; } */ - -/* Inputs --------------------------------------------------------------------*/ -/* .forme .stringish input { width:72%; } */ -/* .forme .text textarea { width:72%; } */ - -/* Buttons -------------------------------------------------------------------*/ -/* .forme .buttons { padding-left:25%; } */ -/* .forme .button { float:left; padding-left:0.5em; } */ diff --git a/apps/contacts/lib/app.php b/apps/contacts/lib/app.php index 39df497043b..580cc72d5eb 100644 --- a/apps/contacts/lib/app.php +++ b/apps/contacts/lib/app.php @@ -85,11 +85,6 @@ class OC_Contacts_App{ break; } } - // FIXME: I'm not sure this should throw a JSON error as it might just be used to check for dupes. /Tanghus. - if(is_null($line)){ - OC_JSON::error(array('data' => array( 'message' => self::$l10n->t('Information about vCard is incorrect. Please reload the page.')))); - exit(); - } return $line; } diff --git a/apps/contacts/templates/part.addcardform.php b/apps/contacts/templates/part.addcardform.php index 11457ff2697..17207d2ebcb 100644 --- a/apps/contacts/templates/part.addcardform.php +++ b/apps/contacts/templates/part.addcardform.php @@ -1,11 +1,14 @@ -<form class="formtastic" id="contacts_addcardform"> +<?php +$l=new OC_L10N('contacts'); +?> +<form id="contacts_addcardform"> <?php if(count($_['addressbooks'])==1): ?> <input type="hidden" name="id" value="<?php echo $_['addressbooks'][0]['id']; ?>"> <?php else: ?> <fieldset class="inputs"> <dl class="form"> <dt> - <label class="label" for="id"><?php echo $l->t('Addressbook'); ?></label> + <label for="id"><?php echo $l->t('Addressbook'); ?></label> </dt> <dd> <select name="id" size="1"> @@ -18,13 +21,37 @@ <fieldset class="inputs"> <dl class="form"> <dt> - <label class="label" for="fn"><?php echo $l->t('Name'); ?></label> + <label for="n1"><?php echo $l->t('Given name'); ?></label> </dd> <dd> - <input id="fn" type="text" name="fn" value=""><br> + <input id="n1" type="text" name="value[N][1]" value=""> </dd> <dt> - <label class="label" for="org"><?php echo $l->t('Organization'); ?></label> + <label for="n0"><?php echo $l->t('Family name'); ?></label> + </dd> + <dd> + <input id="n0" type="text" name="value[N][0]" value=""> + </dd> + <dt> + <label for="n2"><?php echo $l->t('Additional names'); ?></label> + </dd> + <dd> + <input id="n2" type="text" name="value[N][2]" value=""> + <input type="hidden" name="value[N][4]" value=""> + <input type="hidden" name="value[N][5]" value=""> + </dd> + </dl> + </fieldset> + <fieldset class="inputs"> + <dl class="form"> + <dt> + <label for="fn"><?php echo $l->t('Display name'); ?></label> + </dd> + <dd> + <input id="fn" type="text" name="fn" placeholder="<?php echo $l->t('How you want the name displayed in the list'); ?>" value=""> + </dd> + <dt> + <label for="org"><?php echo $l->t('Organization'); ?></label> </dt> <dd> <input id="org" type="text" name="value[ORG]" value=""> @@ -34,16 +61,16 @@ <fieldset class="inputs"> <dl class="form"> <dt> - <label class="label" for="email"><?php echo $l->t('Email'); ?></label> + <label for="email"><?php echo $l->t('Email'); ?></label> </dt> <dd> - <input id="email" type="text" name="value[EMAIL]" value=""> + <input id="email" type="email" name="value[EMAIL]" value=""> </dd> <dt> <label for="tel"><?php echo $l->t('Telephone'); ?></label> </dt> <dd> - <input type="phone" id="tel" name="value[TEL]" value=""> + <input type="tel" id="tel" name="value[TEL]" value=""> <select id="TEL" name="parameters[TEL][TYPE][]" multiple="multiple"> <?php echo html_select_options($_['phone_types'], 'CELL') ?> </select> @@ -54,7 +81,7 @@ <legend><?php echo $l->t('Address'); ?></legend> <dl class="form"> <dt> - <label class="label" for="adr_type"><?php echo $l->t('Type'); ?></label> + <label for="adr_type"><?php echo $l->t('Type'); ?></label> </dt> <dd> <select id="adr_type" name="parameters[ADR][TYPE]" size="1"> @@ -62,44 +89,48 @@ </select> </dd> <dt> - <label class="label" for="adr_pobox"><?php echo $l->t('PO Box'); ?></label> + <label for="adr_pobox"><?php echo $l->t('PO Box'); ?></label> </dt> <dd> - <input type="text" id="adr_pobox" name="value[ADR][0]" value=""> + <input type="text" id="adr_pobox" name="value[ADR][0]" placeholder="<?php echo $l->t('Post Office box'); ?>" value=""> </dd> <dd> - <dt> + <!-- dt> <label class="label" for="adr_extended"><?php echo $l->t('Extended'); ?></label> </dt> <dd> <input type="text" id="adr_extended" name="value[ADR][1]" value=""> - </dd> + </dd --> <dt> - <label class="label" for="adr_street"><?php echo $l->t('Street'); ?></label> + <label for="adr_street"><?php echo $l->t('Street'); ?></label> </dt> <dd> - <input type="text" id="adr_street" name="value[ADR][2]" value=""> + <input style="width: 12em;" type="text" id="adr_street" name="value[ADR][2]" placeholder="<?php echo $l->t('Street name and no.'); ?>" value=""> + <label for="adr_extended"><?php echo $l->t('Extended'); ?></label> + <input style="width: 7em;" type="text" id="adr_extended" name="value[ADR][1]" placeholder="<?php echo $l->t('Apart. no., floor'); ?>" value=""> </dd> <dt> - <label class="label" for="adr_city"><?php echo $l->t('City'); ?></label> + <label for="adr_city"><?php echo $l->t('City'); ?></label> </dt> <dd> - <input type="text" id="adr_city" name="value[ADR][3]" value=""> + <input style="width: 12em;" type="text" id="adr_city" name="value[ADR][3]" value=""> + <label for="adr_zipcode"><?php echo $l->t('Zipcode'); ?></label> + <input style="width: 5em;" type="text" id="adr_zipcode" name="value[ADR][5]" value=""> </dd> <dt> - <label class="label" for="adr_region"><?php echo $l->t('Region'); ?></label> + <label for="adr_region"><?php echo $l->t('Region'); ?></label> </dt> <dd> - <input type="text" id="adr_region" name="value[ADR][4]" value=""> + <input type="text" id="adr_region" name="value[ADR][4]" placeholder="<?php echo $l->t('E.g. state or province'); ?>" value=""> </dd> - <dt> + <!-- dt> <label class="label" for="adr_zipcode"><?php echo $l->t('Zipcode'); ?></label> </dt> <dd> <input type="text" id="adr_zipcode" name="value[ADR][5]" value=""> - </dd> + </dd --> <dt> - <label class="label" for="adr_country"><?php echo $l->t('Country'); ?></label> + <label for="adr_country"><?php echo $l->t('Country'); ?></label> </dt> <dd> <input type="text" id="adr_country" name="value[ADR][6]" value=""> diff --git a/apps/contacts/templates/part.details.php b/apps/contacts/templates/part.details.php index 679ae5ede2f..5badd816155 100644 --- a/apps/contacts/templates/part.details.php +++ b/apps/contacts/templates/part.details.php @@ -1,5 +1,6 @@ <?php if(array_key_exists('FN',$_['details'])): ?> <?php echo $this->inc('part.property.FN', array('property' => $_['details']['FN'][0])); ?> + <?php echo $this->inc('part.property.N', array('property' => $_['details']['N'][0])); ?> <a href="export.php?contactid=<?php echo $_['id']; ?>"><img class="svg action" id="contacts_downloadcard" src="<?php echo image_path('', 'actions/download.svg'); ?>" title="<?php echo $l->t('Download contact');?>" /></a> <img class="svg action" id="contacts_deletecard" src="<?php echo image_path('', 'actions/delete.svg'); ?>" title="<?php echo $l->t('Delete contact');?>" /> diff --git a/apps/contacts/templates/part.property.N.php b/apps/contacts/templates/part.property.N.php new file mode 100644 index 00000000000..73d599ad7b4 --- /dev/null +++ b/apps/contacts/templates/part.property.N.php @@ -0,0 +1,4 @@ +<p id="contacts_details_name_n" class="contacts_property" data-checksum="<?php echo $_['property']['checksum']; ?>"> + (<?php echo $_['property']['value'][0].', '.$_['property']['value'][1].' '.$_['property']['value'][2]; ?>) + <span style="display:none;" data-use="edit"><img class="svg action" src="<?php echo image_path('', 'actions/rename.svg'); ?>" /></span> +</p> diff --git a/apps/contacts/templates/part.setpropertyform.php b/apps/contacts/templates/part.setpropertyform.php index 3e0b8d49b52..49fa9662146 100644 --- a/apps/contacts/templates/part.setpropertyform.php +++ b/apps/contacts/templates/part.setpropertyform.php @@ -1,46 +1,79 @@ <form id="contacts_setpropertyform"> <input type="hidden" name="checksum" value="<?php echo $_['property']['checksum']; ?>"> <input type="hidden" name="id" value="<?php echo $_['id']; ?>"> - <?php if($_['property']['name']=='FN'): ?> + <?php if($_['property']['name']=='N'): ?> + <p class="contacts_property_name"> + <dl class="contacts_property_data form"> + <dt><label for="n1"><?php echo $l->t('Given name'); ?></label></dt> + <dd><input id="n1" type="text" name="value[1]" value="<?php echo $_['property']['value'][1]; ?>"></dd> + <dt><label for="n0"><?php echo $l->t('Family name'); ?></dt> + <dd><input id="n0" type="text" name="value[0]" value="<?php echo $_['property']['value'][0]; ?>"></dd> + <dt><label for="n2"><?php echo $l->t('Additional names'); ?></dt> + <dd><input id="n2" type="text" name="value[2]" value="<?php echo $_['property']['value'][2]; ?>"> + <input id="n3" type="hidden" name="value[3]" value="<?php echo $_['property']['value'][3]; ?>"> + <input id="n4" type="hidden" name="value[4]" value="<?php echo $_['property']['value'][4]; ?>"> + </dd> + </dl> + </p> + <?php elseif($_['property']['name']=='FN'): ?> <p class="contacts_property_data"><input id="fn" type="text" name="value" value="<?php echo $_['property']['value']; ?>"></p> <?php elseif($_['property']['name']=='ADR'): ?> <p class="contacts_property_name"><label for="adr_pobox"><?php echo $l->t('Address'); ?></label></p> - <ol class="contacts_property_data" id="contacts_addresspart"> - <li class="input"> + <dl class="contacts_property_data form" id="contacts_addresspart"> + <dt> <label class="label" for="adr_type"><?php echo $l->t('Type'); ?></label> + </dt> + <dd> <select id="adr_type" name="parameters[TYPE]" size="1"> <?php echo html_select_options($_['adr_types'], strtoupper($_['property']['parameters']['TYPE'])) ?> </select> - </li> - <li> + </dd> + <dt> <label for="adr_pobox"><?php echo $l->t('PO Box'); ?></label> + </dt> + <dd> <input id="adr_pobox" type="text" name="value[0]" value="<?php echo $_['property']['value'][0] ?>"> - </li> - <li> + </dd> + <!-- dt> <label for="adr_extended"><?php echo $l->t('Extended'); ?></label> - <input id="adr_extended" type="text" name="value[1]" value="<?php echo $_['property']['value'][1] ?>"> - </li> - <li> + </dt> + <dd> + <input style="width: 7em;" id="adr_extended" type="text" name="value[1]" value="<?php echo $_['property']['value'][1] ?>"> + </dd --> + <dt> <label for="adr_street"><?php echo $l->t('Street'); ?></label> - <input id="adr_street" type="text" name="value[2]" value="<?php echo $_['property']['value'][2] ?>"> - </li> - <li> + </dt> + <dd> + <input style="width: 12em;" id="adr_street" type="text" name="value[2]" value="<?php echo $_['property']['value'][2] ?>"> + <label for="adr_extended"><?php echo $l->t('Extended'); ?></label><input style="width: 7em;" id="adr_extended" type="text" name="value[1]" value="<?php echo $_['property']['value'][1] ?>"> + </dd> + <dt> <label for="adr_city"><?php echo $l->t('City'); ?></label> - <input id="adr_city" type="text" name="value[3]" value="<?php echo $_['property']['value'][3] ?>"> - </li> - <li> + </dt> + <dd> + <input style="width: 12em;" id="adr_city" type="text" name="value[3]" value="<?php echo $_['property']['value'][3] ?>"> + <label for="adr_zipcode"><?php echo $l->t('Zipcode'); ?></label> + <input style="width: 5em;" id="adr_zipcode" type="text" name="value[5]" value="<?php echo $_['property']['value'][5] ?>"> + </dd> + <dt> <label for="adr_region"><?php echo $l->t('Region'); ?></label> + </dt> + <dd> <input id="adr_region" type="text" name="value[4]" value="<?php echo $_['property']['value'][4] ?>"> - </li> - <li> + </dd> + <!-- dt> <label for="adr_zipcode"><?php echo $l->t('Zipcode'); ?></label> - <input id="adr_zipcode" type="text" name="value[5]" value="<?php echo $_['property']['value'][5] ?>"> - </li> - <li> + </dt> + <dd> + <input style="width: 7em;" id="adr_zipcode" type="text" name="value[5]" value="<?php echo $_['property']['value'][5] ?>"> + </dd --> + <dt> <label for="adr_country"><?php echo $l->t('Country'); ?></label> - <input id="adr_country" type="text" name="value[6]" value="<?php echo $_['property']['value'][6] ?>"> - </li> - </ol> + </dt> + <dd> + <input style="width: 25em;" id="adr_country" type="text" name="value[6]" value="<?php echo $_['property']['value'][6] ?>"> + </dd> + </dl> <?php elseif($_['property']['name']=='TEL'): ?> <p class="contacts_property_name"><label for="tel"><?php echo $l->t('Phone'); ?></label></p> <p class="contacts_property_data"><input id="tel" type="phone" name="value" value="<?php echo $_['property']['value'] ?>"> |