]> source.dussan.org Git - nextcloud-server.git/commitdiff
Contacts: Fix adding/updating address book with empty name.
authorThomas Tanghus <thomas@tanghus.net>
Mon, 20 Feb 2012 14:24:54 +0000 (15:24 +0100)
committerThomas Tanghus <thomas@tanghus.net>
Mon, 20 Feb 2012 14:24:54 +0000 (15:24 +0100)
apps/contacts/ajax/createaddressbook.php
apps/contacts/ajax/updateaddressbook.php
apps/contacts/js/contacts.js
apps/contacts/js/interface.js

index fbd70bae583ac0760014108f40a98fc203781515..28944fe864c8de48a602f2c92cb921869adcdbb6 100644 (file)
@@ -13,7 +13,13 @@ OC_JSON::checkLoggedIn();
 OC_JSON::checkAppEnabled('contacts');
 
 $userid = OC_User::getUser();
-$bookid = OC_Contacts_Addressbook::add($userid, strip_tags($_POST['name']), null);
+$name = trim(strip_tags($_POST['name']));
+if(!$name) {
+       OC_JSON::error(array('data' => array('message' => OC_Contacts_App::$l10n->t('Cannot add addressbook with an empty name.'))));
+       OC_Log::write('contacts','ajax/createaddressbook.php: Cannot add addressbook with an empty name: '.strip_tags($_POST['name']), OC_Log::ERROR);
+       exit();
+}
+$bookid = OC_Contacts_Addressbook::add($userid, $name, null);
 if(!$bookid) {
        OC_JSON::error(array('data' => array('message' => OC_Contacts_App::$l10n->t('Error adding addressbook.'))));
        OC_Log::write('contacts','ajax/createaddressbook.php: Error adding addressbook: '.$_POST['name'], OC_Log::ERROR);
index b43b5b93a32293a8140746355abe1b4d13c15b15..211df84b1d18811964964475fb76c4898e496464 100644 (file)
@@ -15,7 +15,14 @@ OC_JSON::checkAppEnabled('contacts');
 $bookid = $_POST['id'];
 OC_Contacts_App::getAddressbook($bookid); // is owner access check
 
-if(!OC_Contacts_Addressbook::edit($bookid, $_POST['name'], null)) {
+$name = trim(strip_tags($_POST['name']));
+if(!$name) {
+       OC_JSON::error(array('data' => array('message' => OC_Contacts_App::$l10n->t('Cannot update addressbook with an empty name.'))));
+       OC_Log::write('contacts','ajax/updateaddressbook.php: Cannot update addressbook with an empty name: '.strip_tags($_POST['name']), OC_Log::ERROR);
+       exit();
+}
+
+if(!OC_Contacts_Addressbook::edit($bookid, $name, null)) {
        OC_JSON::error(array('data' => array('message' => $l->t('Error updating addressbook.'))));
        OC_Log::write('contacts','ajax/updateaddressbook.php: Error adding addressbook: ', OC_Log::ERROR);
        //exit();
index d33f983a429a9d03281e3579c541f6198d6aa304..0e06b650a18afbb405aba6ee6a3dea5780642888 100644 (file)
@@ -1043,13 +1043,13 @@ Contacts={
                                        return false;
                                }else{
                                        $.post(OC.filePath('contacts', 'ajax', 'deletebook.php'), { id: bookid},
-                                         function(data) {
-                                               if (data.status == 'success'){
+                                         function(jsondata) {
+                                               if (jsondata.status == 'success'){
                                                        $('#chooseaddressbook_dialog').dialog('destroy').remove();
                                                        Contacts.UI.Contacts.update();
                                                        Contacts.UI.Addressbooks.overview();
                                                } else {
-                                                       Contacts.UI.messageBox(t('contacts', 'Error'), data.message);
+                                                       Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
                                                        //alert('Error: ' + data.message);
                                                }
                                          });
@@ -1059,10 +1059,14 @@ Contacts={
                                Contacts.UI.notImplemented();
                        },
                        submit:function(button, bookid){
-                               var displayname = $("#displayname_"+bookid).val();
+                               var displayname = $("#displayname_"+bookid).val().trim();
                                var active = $("#edit_active_"+bookid+":checked").length;
                                var description = $("#description_"+bookid).val();
-
+                               
+                               if(displayname.length == 0) {
+                                       Contacts.UI.messageBox(t('contacts', 'Error'), t('contacts', 'Displayname cannot be empty.'));
+                                       return false;
+                               }
                                var url;
                                if (bookid == 'new'){
                                        url = OC.filePath('contacts', 'ajax', 'createaddressbook.php');
@@ -1070,12 +1074,14 @@ Contacts={
                                        url = OC.filePath('contacts', 'ajax', 'updateaddressbook.php');
                                }
                                $.post(url, { id: bookid, name: displayname, active: active, description: description },
-                                       function(data){
-                                               if(data.status == 'success'){
+                                       function(jsondata){
+                                               if(jsondata.status == 'success'){
                                                        $(button).closest('tr').prev().html(data.page).show().next().remove();
+                                                       Contacts.UI.Contacts.update();
+                                               } else {
+                                                       Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
                                                }
                                        });
-                               Contacts.UI.Contacts.update();
                        },
                        cancel:function(button, bookid){
                                $(button).closest('tr').prev().show().next().remove();
index fe58a46d24720a7a433dca261bbf5f0451440562..5908dd767a27d03511157d63ccc8847c66ae3314 100644 (file)
@@ -124,12 +124,14 @@ Contacts={
                                        url = OC.filePath('contacts', 'ajax', 'updateaddressbook.php');
                                }
                                $.post(url, { id: bookid, name: displayname, active: active, description: description },
-                                       function(data){
-                                               if(data.status == 'success'){
+                                       function(jsondata){
+                                               if(jsondata.status == 'success'){
                                                        $(button).closest('tr').prev().html(data.page).show().next().remove();
+                                                       Contacts.UI.Contacts.update();
+                                               } else {
+                                                       Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
                                                }
                                        });
-                               Contacts.UI.Contacts.update();
                        },
                        cancel:function(button, bookid){
                                $(button).closest('tr').prev().show().next().remove();