summaryrefslogtreecommitdiffstats
path: root/apps/contacts
diff options
context:
space:
mode:
authorThomas Tanghus <thomas@tanghus.net>2012-01-10 14:59:31 +0100
committerThomas Tanghus <thomas@tanghus.net>2012-01-10 14:59:31 +0100
commite316cddf650379b5b6cde600dd058d33169ddbb1 (patch)
treea061a682ef7e22783103fd39d79be3efdb966596 /apps/contacts
parent60653c05440121a149a2709d719060cf77c2c58d (diff)
downloadnextcloud-server-e316cddf650379b5b6cde600dd058d33169ddbb1.tar.gz
nextcloud-server-e316cddf650379b5b6cde600dd058d33169ddbb1.zip
More fixes on saving TYPE parameters.
Use jQuery Dialog for error messages instead of alert()
Diffstat (limited to 'apps/contacts')
-rw-r--r--apps/contacts/ajax/addcard.php17
-rw-r--r--apps/contacts/ajax/addproperty.php2
-rw-r--r--apps/contacts/js/interface.js76
-rw-r--r--apps/contacts/templates/index.php3
4 files changed, 62 insertions, 36 deletions
diff --git a/apps/contacts/ajax/addcard.php b/apps/contacts/ajax/addcard.php
index 9d782246a0a..54e4faa6ed9 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 0122cf019c7..0f76add3c9b 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 187c8941dcf..4a27073c156 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 <http://www.gnu.org/licenses/>.
*
- * 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 = $('<div></div>')
+ .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 90143f25fa6..24484231af4 100644
--- a/apps/contacts/templates/index.php
+++ b/apps/contacts/templates/index.php
@@ -31,7 +31,4 @@ OC_Util::addStyle('contacts','formtastic');
</div>
<!-- Dialogs -->
<div id="dialog_holder"></div>
-<div id="parsingfail_dialog" title="Parsing Fail">
- <?php echo $l->t("There was a fail, while parsing the file."); ?>
-</div>
<!-- End of Dialogs -->