2011-08-07 00:32:06 +04:00
< ? php
/**
* ownCloud - Addressbook
*
* @ author Jakob Sack
* @ copyright 2011 Jakob Sack mail @ jakobsack . de
*
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation ; either
* version 3 of the License , or any later version .
*
* This library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details .
*
* You should have received a copy of the GNU Affero General Public
* License along with this library . If not , see < http :// www . gnu . org / licenses />.
*
*/
// Init owncloud
2011-08-09 15:53:58 +04:00
require_once ( '../../../lib/base.php' );
2011-08-07 00:32:06 +04:00
2011-08-09 15:53:58 +04:00
$aid = $_POST [ 'id' ];
2011-08-07 00:32:06 +04:00
$l10n = new OC_L10N ( 'contacts' );
// Check if we are a user
if ( ! OC_User :: isLoggedIn ()){
2011-09-23 22:13:15 +04:00
echo json_encode ( array ( 'status' => 'error' , 'data' => array ( 'message' => $l10n -> t ( 'You need to log in.' ))));
2011-08-07 00:32:06 +04:00
exit ();
}
2011-09-17 02:26:57 +04:00
$addressbook = OC_Contacts_Addressbook :: find ( $aid );
2011-08-07 00:32:06 +04:00
if ( $addressbook === false || $addressbook [ 'userid' ] != OC_USER :: getUser ()){
2011-09-23 22:13:15 +04:00
echo json_encode ( array ( 'status' => 'error' , 'data' => array ( 'message' => $l10n -> t ( 'This is not your addressbook.' )))); // Same here (as with the contact error). Could this error be improved?
2011-08-07 00:32:06 +04:00
exit ();
}
2011-08-09 15:53:58 +04:00
$fn = $_POST [ 'fn' ];
2011-08-07 00:32:06 +04:00
2011-08-09 15:53:58 +04:00
$vcard = new Sabre_VObject_Component ( 'VCARD' );
$vcard -> add ( new Sabre_VObject_Property ( 'FN' , $fn ));
2011-09-17 02:26:57 +04:00
$vcard -> add ( new Sabre_VObject_Property ( 'UID' , OC_Contacts_VCard :: createUID ()));
$id = OC_Contacts_VCard :: add ( $aid , $vcard -> serialize ());
2011-08-09 15:53:58 +04:00
2011-09-17 02:26:57 +04:00
$details = OC_Contacts_VCard :: structureContact ( $vcard );
2011-08-09 15:53:58 +04:00
$tmpl = new OC_Template ( 'contacts' , 'part.details' );
2011-08-07 00:32:06 +04:00
$tmpl -> assign ( 'details' , $details );
$tmpl -> assign ( 'id' , $id );
$page = $tmpl -> fetchPage ();
2011-08-09 15:53:58 +04:00
echo json_encode ( array ( 'status' => 'success' , 'data' => array ( 'id' => $id , 'page' => $page )));