diff --git a/apps/contacts/ajax/addcard.php b/apps/contacts/ajax/addcard.php
index 9d782246a0..54e4faa6ed 100644
--- a/apps/contacts/ajax/addcard.php
+++ b/apps/contacts/ajax/addcard.php
@@ -54,11 +54,24 @@ foreach( $add as $propname){
$value = $values[$propname];
if( isset( $parameters[$propname] ) && count( $parameters[$propname] )){
$prop_parameters = $parameters[$propname];
- }
else{
$prop_parameters = array();
}
- $vcard->addProperty($propname, $value, $prop_parameters);
+ $vcard->addProperty($propname, $value); //, $prop_parameters);
+ $line = count($vcard->children) - 1;
+ foreach ($prop_parameters as $key=>$element) {
+ if(is_array($element) && strtoupper($key) == 'TYPE') {
+ // FIXME: 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)){
+ $vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$e);
+ }
+ }
+ } else {
+ $vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$element);
+ }
+ }
}
$id = OC_Contacts_VCard::add($aid,$vcard->serialize());
diff --git a/apps/contacts/ajax/addproperty.php b/apps/contacts/ajax/addproperty.php
index 0122cf019c..0f76add3c9 100644
--- a/apps/contacts/ajax/addproperty.php
+++ b/apps/contacts/ajax/addproperty.php
@@ -48,6 +48,8 @@ foreach ($parameters as $key=>$element) {
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$e);
}
}
+ } else {
+ $vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$element);
}
}
diff --git a/apps/contacts/js/interface.js b/apps/contacts/js/interface.js
index 187c8941dc..4a27073c15 100644
--- a/apps/contacts/js/interface.js
+++ b/apps/contacts/js/interface.js
@@ -18,9 +18,6 @@
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see .
*
- * TODO:
- * If you add a contact, its thumbnail doesnt show in the list. But when you add another one it shows up, but not for the second contact added.
- * Place a new contact in correct alphabetic order
*/
@@ -31,6 +28,20 @@ Contacts={
$('#carddav_url').show();
$('#carddav_url_close').show();
},
+ messageBox:function(title, msg) {
+ var $dialog = $('
')
+ .html(msg)
+ .dialog({
+ autoOpen: true,
+ title: title,buttons: [
+ {
+ text: "Ok",
+ click: function() { $(this).dialog("close"); }
+ }
+ ]
+ }
+ );
+ },
Addressbooks:{
overview:function(){
if($('#chooseaddressbook_dialog').dialog('isOpen') == true){
@@ -85,7 +96,8 @@ Contacts={
Contacts.UI.Contacts.update();
Contacts.UI.Addressbooks.overview();
} else {
- alert('Error: ' + data.message);
+ Contacts.UI.messageBox('Error', data.message);
+ //alert('Error: ' + data.message);
}
});
}
@@ -114,37 +126,29 @@ Contacts={
}
},
Contacts:{
+ /**
+ * Reload the contacts list.
+ */
update:function(){
$.getJSON('ajax/contacts.php',{},function(jsondata){
if(jsondata.status == 'success'){
$('#contacts').html(jsondata.data.page);
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error',jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
- /*
- var contactlist = $('#contacts');
- var contacts = contactlist.children('li').get();
- //alert(contacts);
- contacts.sort(function(a, b) {
- var compA = $(a).text().toUpperCase();
- var compB = $(b).text().toUpperCase();
- return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
- })
- $.each(contacts, function(idx, itm) { contactlist.append(itm); });
- */
- setTimeout(Contacts.UI.Contacts.lazyupdate(), 500);
+ setTimeout(Contacts.UI.Contacts.lazyupdate, 500);
},
+ /**
+ * Add thumbnails to the contact list as they become visible in the viewport.
+ */
lazyupdate:function(){
- //alert('lazyupdate');
$('#contacts li').live('inview', function(){
if (!$(this).find('a').attr('style')) {
- //alert($(this).data('id') + ' has background: ' + $(this).attr('style'));
$(this).find('a').css('background','url(thumbnail.php?id='+$(this).data('id')+') no-repeat');
- }/* else {
- alert($(this).data('id') + ' has style ' + $(this).attr('style').match('url'));
- }*/
+ }
});
}
}
@@ -168,7 +172,8 @@ $(document).ready(function(){
$('#leftcontent li[data-id="'+jsondata.data.id+'"]').addClass('active');
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
return false;
@@ -183,7 +188,8 @@ $(document).ready(function(){
$('#rightcontent').empty();
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
return false;
@@ -197,7 +203,8 @@ $(document).ready(function(){
$('#contacts_addproperty').hide();
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
return false;
@@ -226,7 +233,8 @@ $(document).ready(function(){
$('#contacts_addpropertyform').before(jsondata.data.page);
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
}, 'json');
return false;
@@ -248,7 +256,8 @@ $(document).ready(function(){
.find('select').chosen();
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
return false;
@@ -277,7 +286,8 @@ $(document).ready(function(){
}
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
}, 'json');
return false;
@@ -291,7 +301,8 @@ $(document).ready(function(){
.find('select').chosen();
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
return false;
@@ -303,7 +314,8 @@ $(document).ready(function(){
$('.contacts_property[data-checksum="'+jsondata.data.oldchecksum+'"]').replaceWith(jsondata.data.page);
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
},'json');
return false;
@@ -317,7 +329,8 @@ $(document).ready(function(){
$('.contacts_property[data-checksum="'+checksum+'"]').remove();
}
else{
- alert(jsondata.data.message);
+ Contacts.UI.messageBox('Error', jsondata.data.message);
+ //alert(jsondata.data.message);
}
});
return false;
@@ -357,4 +370,5 @@ $(document).ready(function(){
$('.action').tipsy();
$('.button').tipsy();
+ //Contacts.UI.messageBox('Hello','Sailor');
});
diff --git a/apps/contacts/templates/index.php b/apps/contacts/templates/index.php
index 90143f25fa..24484231af 100644
--- a/apps/contacts/templates/index.php
+++ b/apps/contacts/templates/index.php
@@ -31,7 +31,4 @@ OC_Util::addStyle('contacts','formtastic');
-
- t("There was a fail, while parsing the file."); ?>
-