aboutsummaryrefslogtreecommitdiffstats
path: root/mod/follow.php
blob: 3ad2cb3bb222a5f07d9bb61e45c226bcffc90ad3 (plain) (blame)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php


require_once('include/follow.php');

function follow_init(&$a) {

	if(! local_channel()) {
		return;
	}

	$uid = local_channel();
	$url = notags(trim($_REQUEST['url']));
	$return_url = $_SESSION['return_url'];
	$confirm = intval($_REQUEST['confirm']);

	$result = new_contact($uid,$url,$a->get_channel(),true,$confirm);
	
	if($result['success'] == false) {
		if($result['message'])
			notice($result['message']);
		goaway($return_url);
	}

	info( t('Channel added.') . EOL);

	$clone = array();
	foreach($result['abook'] as $k => $v) {
		if(strpos($k,'abook_') === 0) {
			$clone[$k] = $v;
		}
	}
	unset($clone['abook_id']);
	unset($clone['abook_account']);
	unset($clone['abook_channel']);

	build_sync_packet(0 /* use the current local_channel */, array('abook' => array($clone)));


	// If we can view their stream, pull in some posts

	if(($result['abook']['abook_their_perms'] & PERMS_R_STREAM) || ($result['abook']['xchan_network'] === 'rss'))
		proc_run('php','include/onepoll.php',$result['abook']['abook_id']);

	goaway(z_root() . '/connedit/' . $result['abook']['abook_id'] . '?f=&follow=1');

}

function follow_content(&$a) {

	if(! local_channel()) {
		return login();
	}
}