. * */ // Init owncloud require_once('../../../lib/base.php'); $id = $_GET['id']; $checksum = $_GET['checksum']; $l10n = new OC_L10N('contacts'); // Check if we are a user if( !OC_User::isLoggedIn()){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.')))); exit(); } $card = OC_Contacts_VCard::find( $id ); if( $card === false ){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.')))); exit(); } $addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] ); if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.')))); exit(); } $vcard = OC_Contacts_VCard::parse($card['carddata']); // Check if the card is valid if(is_null($vcard)){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('vCard could not be read.')))); exit(); } $line = null; for($i=0;$ichildren);$i++){ if(md5($vcard->children[$i]->serialize()) == $checksum ){ $line = $i; } } if(is_null($line)){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.')))); exit(); } unset($vcard->children[$line]); OC_Contacts_VCard::edit($id,$vcard->serialize()); echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id )));