-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.php
108 lines (95 loc) · 3.89 KB
/
index.php
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
107
108
<?php
/**
*
* @package mahara
* @subpackage core
* @author Catalyst IT Ltd
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL version 3 or later
* @copyright For copyright information on Mahara, please see the README file distributed with this software.
*
*/
define('INTERNAL', 1);
define('PUBLIC', 1);
define('MENUITEM', '');
define('HOME', 1);
require('init.php');
// Check for whether the user is logged in, before processing the page. After
// this, we can guarantee whether the user is logged in or not for this page.
if (!$USER->is_logged_in()) {
define('TITLE', get_string('home'));
$pagename = 'loggedouthome';
}
else {
define('TITLE', get_string('dashboard', 'view'));
$pagename = 'home';
}
if ($USER->is_logged_in()) {
// get the user's dashboard view
require_once(get_config('libroot') . 'view.php');
$view = $USER->get_view_by_type('dashboard');
$javascript = array('paginator', 'author');
$blocktype_js = $view->get_all_blocktype_javascript();
$javascript = array_merge($javascript, $blocktype_js['jsfiles']);
$inlinejs = "addLoadEvent( function() {\n" . join("\n", $blocktype_js['initjs']) . "\n});";
$stylesheets = array('<link rel="stylesheet" type="text/css" href="' . append_version_number(get_config('wwwroot') . 'theme/views.css') . '">');
$stylesheets = array_merge($stylesheets, $view->get_all_blocktype_css());
// include slimbox2 js and css files, if it is enabled...
if (get_config_plugin('blocktype', 'gallery', 'useslimbox2')) {
$langdir = (get_string('thisdirection', 'langconfig') == 'rtl' ? '-rtl' : '');
$stylesheets = array_merge($stylesheets, array('<script type="text/javascript" src="' . append_version_number(get_config('wwwroot') . 'lib/slimbox2/js/slimbox2.js') . '"></script>',
'<link rel="stylesheet" type="text/css" href="' . append_version_number(get_config('wwwroot') . 'lib/slimbox2/css/slimbox2' . $langdir . '.css') . '">'
));
}
$viewcontent = $view->build_rows(); // Build content before initialising smarty in case pieform elements define headers.
$smarty = smarty(
$javascript,
$stylesheets,
array(),
array(
'stylesheets' => array('style/views.css'),
)
);
if (get_config('homepageinfo') && $USER->get_account_preference('showhomeinfo')) {
// allow the user to choose never to see the info boxes again
$strhowtodisable = json_encode(get_string('howtodisable', 'mahara', get_config('wwwroot') . 'account'));
$js = <<<JAVASCRIPT
function hideinfo() {
var m = SPAN();
m.innerHTML = {$strhowtodisable};
slideUp('home-info-container', {afterFinish: function() {displayMessage(m, 'ok');}});
}
function nevershow() {
var data = {'showhomeinfo' : 0};
sendjsonrequest('homeinfo.json.php', data, 'POST', hideinfo);
}
addLoadEvent(function () {
if ($('hideinfo')) {
$('hideinfo').onclick = nevershow;
}
});
JAVASCRIPT;
$smarty->assign('INLINEJAVASCRIPT', $js . $inlinejs);
}
$smarty->assign('dashboardview', true);
$smarty->assign('viewcontent', $viewcontent);
$smarty->assign('viewid', $view->get('id'));
}
else {
$smarty = smarty();
}
// Assign urls used in homeinfo.tpl
$wwwroot = get_config('wwwroot');
$urls = array(
'profile' => $wwwroot . 'artefact/internal',
'files' => $wwwroot . 'artefact/file',
'resume' => $wwwroot . 'artefact/resume',
'blog' => $wwwroot . 'artefact/blog',
'views' => $wwwroot . 'view',
'friends' => $wwwroot . 'user/find.php',
'groups' => $wwwroot . 'group/find.php',
'topics' => $wwwroot . 'group/topics.php',
'share' => $wwwroot . 'view/share.php',
);
$smarty->assign('url', $urls);
$smarty->assign('page_content', get_site_page_content($pagename));
$smarty->display('index.tpl');