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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
<?php
/**
* Elgg river dashboard plugin
*
* @package RiverDashboard
*/
function riverdashboard_init() {
global $CONFIG;
// Register and optionally replace the dashboard
register_page_handler('dashboard', 'riverdashboard_page_handler');
add_menu(elgg_echo('activity'), elgg_get_site_url() . "pg/activity/");
// Page handler
register_page_handler('activity', 'riverdashboard_page_handler');
elgg_extend_view('css', 'riverdashboard/css');
// add an activity stream ECML keyword
// we'll restrict it to use in sitepages's custom_frontpage
register_plugin_hook('get_keywords', 'ecml', 'riverdashboard_ecml_keywords_hook');
register_plugin_hook('get_views', 'ecml', 'riverdashboard_ecml_views_hook');
}
/**
* Page handler for riverdash
*
* @param unknown_type $page
*/
function riverdashboard_page_handler($page){
include(dirname(__FILE__) . "/index.php");
return TRUE;
}
/**
* For users to make a comment on a river item
*
* @param ElggEntity $entity The entity to comment on
* @return string|false The HTML (etc) for the comment form, or false on failure
*/
function elgg_make_river_comment($entity){
if (!($entity instanceof ElggEntity)) {
return FALSE;
} else {
//display the comment form
$comments = elgg_view('riverdashboard/rivercomment', array('entity' => $entity));
return $comments;
}
}
/**
* Register activity keyword.
*
* @param unknown_type $hook
* @param unknown_type $type
* @param unknown_type $value
* @param unknown_type $params
* @return unknown_type
*/
function riverdashboard_ecml_keywords_hook($hook, $type, $value, $params) {
$value['activity'] = array(
'view' => "riverdashboard/ecml/activity",
'description' => elgg_echo('riverdashboard:ecml:desc:activity'),
'usage' => elgg_echo('riverdashboard:ecml:usage:activity'),
'restricted' => array('sitepages/custom_frontpage')
);
return $value;
}
/**
* Register the activity front page with ECML.
*
* @param unknown_type $hook
* @param unknown_type $entity_type
* @param unknown_type $return_value
* @param unknown_type $params
*/
function riverdashboard_ecml_views_hook($hook, $entity_type, $return_value, $params) {
$return_value['riverdashboard/container'] = elgg_echo('riverdashboard:ecml:riverdashboard');
return $return_value;
}
register_elgg_event_handler('init', 'system', 'riverdashboard_init');
|