OC_Util::checkLoggedIn(); OC_Util::checkAppEnabled('contacts'); $id = $_GET['id']; $l10n = new OC_L10N('contacts'); $card = OC_Contacts_VCard::find($id); if ($card === false) { echo $l10n->t('Contact could not be found.'); exit; } $addressbook = OC_Contacts_Addressbook::find($card['addressbookid']); if ($addressbook === false || $addressbook['userid'] != OC_USER::getUser()) { echo $l10n->t('This is not your contact.'); // This is a weird error, why would it come up? (Better feedback for users?) exit; } $content = OC_Contacts_VCard::parse($card['carddata']); // invalid vcard if (is_null($content)) { echo $l10n->t('This card is not RFC compatible.'); exit; } // Photo :-) foreach ($content->children as $child) { if ($child->name == 'PHOTO') { $mime = 'image/jpeg'; foreach ($child->parameters as $parameter) { if ($parameter->name == 'TYPE') { $mime = $parameter->value; } } $photo = base64_decode($child->value);
* */ // Init owncloud require_once '../../../lib/base.php'; $id = $_GET['id']; $l10n = new OC_L10N('contacts'); // Check if we are a user OC_JSON::checkLoggedIn(); OC_JSON::checkAppEnabled('contacts'); $card = OC_Contacts_VCard::find($id); if ($card === false) { OC_JSON::error(array('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()) { OC_JSON::error(array('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)) { OC_JSON::error(array('data' => array('message' => $l10n->t('vCard could not be read.')))); exit; } $details = OC_Contacts_VCard::structureContact($vcard); $tmpl = new OC_Template('contacts', 'part.details'); $tmpl->assign('details', $details); $tmpl->assign('id', $id); $page = $tmpl->fetchPage(); OC_JSON::success(array('data' => array('id' => $id, 'page' => $page)));