From: Thomas Tanghus Date: Tue, 14 Feb 2012 09:34:52 +0000 (+0100) Subject: Added some check for when addinf deleting contacts. X-Git-Tag: v4.0.0beta~71^2~5^2~4^2~1 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ae426ad1151615dda9d492bb550de15b81f91216;p=nextcloud-server.git Added some check for when addinf deleting contacts. --- diff --git a/apps/contacts/ajax/loadintro.php b/apps/contacts/ajax/loadintro.php new file mode 100644 index 00000000000..d3249c19107 --- /dev/null +++ b/apps/contacts/ajax/loadintro.php @@ -0,0 +1,62 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see . + * + */ + +// Init owncloud +require_once('../../../lib/base.php'); +function bailOut($msg) { + OC_JSON::error(array('data' => array('message' => $msg))); + OC_Log::write('contacts','ajax/newcontact.php: '.$msg, OC_Log::DEBUG); + exit(); +} +function debug($msg) { + OC_Log::write('contacts','ajax/newcontact.php: '.$msg, OC_Log::DEBUG); +} +// foreach ($_POST as $key=>$element) { +// debug('_POST: '.$key.'=>'.$element); +// } + +// Check if we are a user +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('contacts'); + +// $addressbooks = OC_Contacts_Addressbook::all(OC_USER::getUser()); +// +// $upload_max_filesize = OC_Helper::computerFileSize(ini_get('upload_max_filesize')); +// $post_max_size = OC_Helper::computerFileSize(ini_get('post_max_size')); +// $maxUploadFilesize = min($upload_max_filesize, $post_max_size); +// +// $freeSpace=OC_Filesystem::free_space('/'); +// $freeSpace=max($freeSpace,0); +// $maxUploadFilesize = min($maxUploadFilesize ,$freeSpace); +// $adr_types = OC_Contacts_App::getTypesOfProperty('ADR'); +// $phone_types = OC_Contacts_App::getTypesOfProperty('TEL'); + +$tmpl = new OC_Template('contacts','part.no_contacts'); +// $tmpl->assign('uploadMaxFilesize', $maxUploadFilesize); +// $tmpl->assign('uploadMaxHumanFilesize', OC_Helper::humanFileSize($maxUploadFilesize)); +// $tmpl->assign('adr_types',$adr_types); +// $tmpl->assign('phone_types',$phone_types); +// $tmpl->assign('addressbooks',$addressbooks); +// $tmpl->assign('id',''); +$page = $tmpl->fetchPage(); + +OC_JSON::success(array('data' => array( 'page' => $page ))); diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js index d61489b63c3..6effbdd3ee4 100644 --- a/apps/contacts/js/contacts.js +++ b/apps/contacts/js/contacts.js @@ -132,7 +132,10 @@ Contacts={ $('#carddav_url_close').show(); }, messageBox:function(title, msg) { - //alert(msg); + if(msg.toLowerCase().indexOf('auth') > 0) { + // fugly hack, I know + alert(msg); + } if($('#messagebox').dialog('isOpen') == true){ // NOTE: Do we ever get here? $('#messagebox').dialog('moveToTop'); @@ -253,6 +256,50 @@ Contacts={ //$.get(OC.linkTo('contacts', 'export.php'),{'contactid':this.id},function(jsondata){ //}); }, + import:function(){ + Contacts.UI.notImplemented(); + }, + add:function(n, fn, aid){ // add a new contact + console.log('Add contact: ' + n + ', ' + fn + ' ' + aid); + $.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid }, + function(jsondata) { + if (jsondata.status == 'success'){ + $('#rightcontent').data('id',jsondata.data.id); + var id = jsondata.data.id; + $.getJSON('ajax/contactdetails.php',{'id':id},function(jsondata){ + if(jsondata.status == 'success'){ + Contacts.UI.loadHandlers(); + Contacts.UI.Card.loadContact(jsondata.data); + $('#leftcontent .active').removeClass('active'); + var item = '
  • '+Contacts.UI.Card.fn+'
  • '; + var added = false; + $('#leftcontent ul li').each(function(){ + if ($(this).text().toLowerCase() > Contacts.UI.Card.fn.toLowerCase()) { + $(this).before(item).fadeIn('fast'); + added = true; + return false; + } + }); + if(!added) { + $('#leftcontent ul').append(item); + } + + } + else{ + Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); + //alert(jsondata.data.message); + } + }); + $('#contact_identity').show(); + $('#actionbar').show(); + // TODO: Add to contacts list. + } + else{ + Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); + //alert(jsondata.data.message); + } + }); + }, delete:function() { $('#contacts_deletecard').tipsy('hide'); $.getJSON('ajax/deletecard.php',{'id':this.id},function(jsondata){ @@ -262,17 +309,31 @@ Contacts={ //$('#rightcontent').empty(); this.id = this.fn = this.fullname = this.shortname = this.famname = this.givname = this.addname = this.honpre = this.honsuf = ''; this.data = undefined; - // Load empty page. - var firstid = $('#contacts li:first-child').data('id'); - console.log('trying to load: ' + firstid); - $.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':firstid},function(jsondata){ - if(jsondata.status == 'success'){ - Contacts.UI.Card.loadContact(jsondata.data); - } - else{ - Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); - } - }); + // Load first in list. + if($('#contacts li').length > 0) { + var firstid = $('#contacts li:first-child').data('id'); + console.log('trying to load: ' + firstid); + $.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':firstid},function(jsondata){ + if(jsondata.status == 'success'){ + Contacts.UI.Card.loadContact(jsondata.data); + } + else{ + Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); + } + }); + } else { + // load intro page + $.getJSON('ajax/loadintro.php',{},function(jsondata){ + if(jsondata.status == 'success'){ + id = ''; + $('#rightcontent').data('id',''); + $('#rightcontent').html(jsondata.data.page); + } + else{ + Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); + } + }); + } } else{ Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); @@ -285,6 +346,7 @@ Contacts={ $('#contact_communication').hide(); this.data = jsondata; this.id = this.data.id; + $('#rightcontent').data('id',this.id); //console.log('loaded: ' + this.data.FN[0]['value']); this.populateNameFields(); this.loadPhoto(); @@ -397,47 +459,6 @@ Contacts={ $('#rightcontent').html(jsondata.data.page); Contacts.UI.Card.editName(); } - else{ - Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); - alert(jsondata.data.message); - } - }); - }, - add:function(n, fn, aid){ // add a new contact - console.log('Add contact: ' + n + ', ' + fn + ' ' + aid); - $.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid }, - function(jsondata) { - if (jsondata.status == 'success'){ - $('#rightcontent').data('id',jsondata.data.id); - var id = jsondata.data.id; - $.getJSON('ajax/contactdetails.php',{'id':id},function(jsondata){ - if(jsondata.status == 'success'){ - Contacts.UI.loadHandlers(); - Contacts.UI.Card.loadContact(jsondata.data); - $('#leftcontent .active').removeClass('active'); - var item = '
  • '+Contacts.UI.Card.fn+'
  • '; - var added = false; - $('#leftcontent ul li').each(function(){ - if ($(this).text().toLowerCase() > Contacts.UI.Card.fn.toLowerCase()) { - $(this).before(item).fadeIn('fast'); - added = true; - return false; - } - }); - if(!added) { - $('#leftcontent ul').append(item); - } - - } - else{ - Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); - //alert(jsondata.data.message); - } - }); - $('#contact_identity').show(); - $('#actionbar').show(); - // TODO: Add to contacts list. - } else{ Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message); //alert(jsondata.data.message); diff --git a/apps/contacts/templates/part.no_contacts.php b/apps/contacts/templates/part.no_contacts.php index ab6129cdde7..f58fdef09f0 100644 --- a/apps/contacts/templates/part.no_contacts.php +++ b/apps/contacts/templates/part.no_contacts.php @@ -2,7 +2,7 @@ You have no contacts in your list.
    - +
    \ No newline at end of file