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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
<?php
/**
* Elgg GUID Tool
*
* @package ElggGUIDTool
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
* @author Marcus Povey
* @copyright Curverider Ltd 2008
* @link http://elgg.com/
*/
/**
* Initialise the tool and set menus.
*/
function guidtool_init()
{
global $CONFIG;
if (isadminloggedin())
{
add_menu(elgg_echo('guidtool'), $CONFIG->wwwroot . "pg/guidtool/",array(
menu_item(elgg_echo('guidtool:browse'), $CONFIG->wwwroot."pg/guidtool/"),
menu_item(elgg_echo('guidtool:import'), $CONFIG->wwwroot."pg/guidtool/import/"),
),'guidtool');
}
// Register a page handler, so we can have nice URLs
register_page_handler('guidtool','guidtool_page_handler');
}
/**
* Log browser page handler
*
* @param array $page Array of page elements, forwarded by the page handling mechanism
*/
function guidtool_page_handler($page)
{
global $CONFIG;
if (isset($page[0]))
{
switch ($page[0])
{
case 'view' :
case 'export':
if ((isset($page[1]) && (!empty($page[1])))) {
add_submenu_item('GUID:'.$page[1], $CONFIG->url . "pg/guidtool/view/{$page[1]}/");
add_submenu_item(elgg_echo('guidbrowser:export'), $CONFIG->url . "pg/guidtool/export/{$page[1]}/");
set_input('entity_guid', $page[1]);
if ($page[0] == 'view')
include($CONFIG->pluginspath . "guidtool/view.php");
else
{
if ((isset($page[2]) && (!empty($page[2])))) {
set_input('format', $page[2]);
include($CONFIG->pluginspath . "guidtool/export.php");
} else {
set_input('forward_url', $CONFIG->url . "pg/guidtool/export/$page[1]/");
include($CONFIG->pluginspath . "guidtool/format_picker.php");
}
}
}
else include($CONFIG->pluginspath . "guidtool/index.php");
break;
case 'import' :
if ((isset($page[1]) && (!empty($page[1])))) {
set_input('format', $page[1]);
include($CONFIG->pluginspath . "guidtool/import.php");
} else {
set_input('forward_url', $CONFIG->url . "pg/guidtool/import/");
include($CONFIG->pluginspath . "guidtool/format_picker.php");
}
break;
default:
include($CONFIG->pluginspath . "guidtool/index.php");
}
}
else
include($CONFIG->pluginspath . "guidtool/index.php");
}
/**
* Get a list of import actions
*
*/
function guidtool_get_import_actions()
{
global $CONFIG;
$return = array();
foreach ($CONFIG->actions as $action => $handler)
{
if (strpos($action, "import/")===0)
$return[] = substr($action, 7);
}
return $return;
}
// Initialise log
register_elgg_event_handler('init','system','guidtool_init');
?>
|