summaryrefslogtreecommitdiffstats
path: root/apps/contacts/ajax/editaddress.php
blob: 1eb9429d79c041cc94ae74512f4787eb9928a71e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
/**
 * Copyright (c) 2011 Thomas Tanghus <thomas@tanghus.net>
 * This file is licensed under the Affero General Public License version 3 or
 * later.
 * See the COPYING-README file.
 */

 
OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('contacts');

$id = $_GET['id'];
$checksum = isset($_GET['checksum'])?$_GET['checksum']:'';
$vcard = OC_Contacts_App::getContactVCard($id);
$adr_types = OC_Contacts_App::getTypesOfProperty('ADR');

$tmpl = new OCP\Template("contacts", "part.edit_address_dialog");
if($checksum) {
	$line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum);
	$element = $vcard->children[$line];
	$adr = OC_Contacts_VCard::structureProperty($element);
	$types = array();
	if(isset($adr['parameters']['TYPE'])) {
		if(is_array($adr['parameters']['TYPE'])) {
			$types = array_map('htmlspecialchars', $adr['parameters']['TYPE']);
			$types = array_map('strtoupper', $types);
		} else {
			$types = array(strtoupper(htmlspecialchars($adr['parameters']['TYPE'])));
		}
	}
	$tmpl->assign('types', $types, false);
	$adr = array_map('htmlspecialchars', $adr['value']);
	$tmpl->assign('adr', $adr, false);
}

$tmpl->assign('id',$id);
$tmpl->assign('adr_types',$adr_types);

$page = $tmpl->fetchPage();
OCP\JSON::success(array('data' => array('page'=>$page, 'checksum'=>$checksum)));