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
55
56
57
58
59
60
|
<?php
/**
* Elgg friends picker callback
*
* @package Elgg
* @subpackage Core
* @author Curverider Ltd
* @link http://elgg.org/
*/
// Load Elgg engine
require_once(dirname(dirname(__FILE__)) . "/engine/start.php");
global $CONFIG;
// Get callback type (list or picker)
$type = get_input('type','picker');
// Get list of members if applicable
/*$members = get_input('members','');
if (!empty($members)) {
$members = explode(',',$members);
} else {
$members = array();
}*/
$collection = (int) get_input('collection',0);
$members = get_members_of_access_collection($collection, true);
if (!$members) {
$members = array();
}
$friendspicker = (int) get_input('friendspicker',0);
// Get page owner (bomb out if there isn't one)
$pageowner = page_owner_entity();
if (!$pageowner) {
forward();
exit;
}
// Depending on the view type, launch a different view
switch($type) {
case 'list':
$js_segment = elgg_view('friends/tablelistcountupdate',array('friendspicker' => $friendspicker, 'count' => sizeof($members)));
$content = elgg_view('friends/tablelist',array('entities' => $members, 'content' => $js_segment));
break;
default:
$friends = $pageowner->getFriends('',9999);
$content = elgg_view('friends/picker',array(
'entities' => $friends,
'value' => $members,
'callback' => true,
'friendspicker' => $friendspicker,
'formcontents' => elgg_view('friends/forms/collectionfields',array('collection' => get_access_collection($collection))),
'formtarget' => $CONFIG->wwwroot . 'action/friends/editcollection',
));
break;
}
// Output the content
echo $content;
|