OCP\Util::writeLog('contacts', 'Import: Error unlinking OC_FilesystemView ' . '/' . $_POST['file'], OCP\Util::ERROR); } } exit; } foreach ($parts as $part) { try { $vcard = Sabre\VObject\Reader::read($part); } catch (Exception $e) { $failed += 1; OCP\Util::writeLog('contacts', 'Import: skipping card. Error parsing VCard: ' . $e->getMessage(), OCP\Util::ERROR); continue; // Ditch cards that can't be parsed by Sabre. } try { OCA\Contacts\VCard::add($id, $vcard); $imported += 1; } catch (Exception $e) { OCP\Util::writeLog('contacts', 'Error importing vcard: ' . $e->getMessage() . $nl . $vcard, OCP\Util::ERROR); $failed += 1; } } //done the import writeProgress('100'); sleep(3); OC_Cache::remove($progresskey); if (isset($_POST['fstype']) && $_POST['fstype'] == 'OC_FilesystemView') { if (!$view->unlink('/imports/' . $_POST['file'])) { OCP\Util::writeLog('contacts', 'Import: Error unlinking OC_FilesystemView ' . '/' . $_POST['file'], OCP\Util::ERROR); } }
OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('contacts'); OCP\JSON::callCheck(); require_once __DIR__ . '/../loghandler.php'; $aid = isset($_POST['aid']) ? $_POST['aid'] : null; if (!$aid) { $addressbooks = OCA\Contacts\Addressbook::all(OCP\User::getUser(), true, false); if (count($addressbooks) === 0) { bailOut(OCA\Contacts\App::$l10n->t('You have no addressbooks.')); } else { $aid = $addressbooks[0]['id']; } } $isnew = isset($_POST['isnew']) ? $_POST['isnew'] : false; $vcard = Sabre\VObject\Component::create('VCARD'); $uid = substr(md5(rand() . time()), 0, 10); $vcard->add('UID', $uid); $id = null; try { $id = OCA\Contacts\VCard::add($aid, $vcard, null, $isnew); } catch (Exception $e) { bailOut($e->getMessage()); } if (!$id) { bailOut('There was an error adding the contact.'); } $lastmodified = OCA\Contacts\App::lastModified($vcard); if (!$lastmodified) { $lastmodified = new DateTime(); } OCP\JSON::success(array('data' => array('id' => $id, 'aid' => $aid, 'details' => OCA\Contacts\VCard::structureContact($vcard), 'lastmodified' => $lastmodified->format('U'))));