. * */ // Init owncloud require_once('../../../lib/base.php'); $id = $_GET['id']; $line = $_GET['line']; $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_Addressbook::findCard( $id ); if( $card === false ){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Can not find Contact!')))); exit(); } $addressbook = OC_Contacts_Addressbook::findAddressbook( $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 = Sabre_VObject_Reader::read($card['carddata']); if(md5($vcard->children[$line]->serialize()) != $checksum){ echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload page!')))); exit(); } $tmpl = new OC_Template('contacts','part.setpropertyform'); $tmpl->assign('id',$id); $tmpl->assign('checksum',$checksum); $tmpl->assign('property',OC_Contacts_Addressbook::structureProperty($vcard->children[$line],$line)); $page = $tmpl->fetchPage(); echo json_encode( array( 'status' => 'success', 'data' => array( 'page' => $page )));