$l10n = new OC_L10N('contacts'); // Check if we are a user OC_JSON::checkLoggedIn(); OC_JSON::checkAppEnabled('contacts'); $addressbook = OC_Contacts_Addressbook::find($aid); if ($addressbook === false || $addressbook['userid'] != OC_USER::getUser()) { OC_JSON::error(array('data' => array('message' => $l10n->t('This is not your addressbook.')))); // Same here (as with the contact error). Could this error be improved? exit; } $fn = $_POST['fn']; $values = $_POST['value']; $parameters = $_POST['parameters']; $vcard = new Sabre_VObject_Component('VCARD'); $vcard->add(new Sabre_VObject_Property('FN', $fn)); $vcard->add(new Sabre_VObject_Property('UID', OC_Contacts_VCard::createUID())); foreach (array('ADR', 'TEL', 'EMAIL', 'ORG') as $propname) { $value = $values[$propname]; if (isset($parameters[$propname])) { $prop_parameters = $parameters[$propname]; } else { $prop_parameters = array(); } OC_Contacts_VCard::addVCardProperty($vcard, $propname, $value, $prop_parameters); } $id = OC_Contacts_VCard::add($aid, $vcard->serialize()); $details = OC_Contacts_VCard::structureContact($vcard); $name = $details['FN'][0]['value']; $tmpl = new OC_Template('contacts', 'part.details'); $tmpl->assign('details', $details); $tmpl->assign('id', $id);