root/devel/mod/elggadmin/lib.php

Revision 1601, 3.3 kB (checked in by misja, 6 months ago)

#365, incorrect include at top of mod/elggadmin/lib.php prevents admin page from loading - thanks edfactor

  • Property svn:eol-style set to native
Line 
1 <?php
2 /**
3  * Elgg administrator plugin
4  *
5  * @copyright Copyright (c) 2007 Pro Soft Resources Inc. http://www.prosoftpeople.com
6  * @author Rolando Espinoza La Fuente <rho@prosoftpeople.com>
7  * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
8  */
9
10
11 require_once(dirname(__FILE__).'/lib/engine.inc.php');
12
13 function elggadmin_init() {
14  
15     if (context() == 'elggadmin') {
16         require_once(dirname(__FILE__).'/lib/elggadmin.inc.php');
17
18         elggadmin_add_rule('mod/elggadmin/?$', 'elggadmin_page');
19         elggadmin_add_rule('mod/elggadmin/(theme|frontpage|logs)$', 'elggadmin_page');
20         elggadmin_add_rule('mod/elggadmin/index.php/?(theme|frontpage|logs)?$', 'elggadmin_page');
21
22         elggadmin_add_function('elggadmin_page_before', 'elggadmin_actions');
23         // this should go somewhere else
24         elggadmin_add_rule('.*', 'elggadmin_404', 1000);
25     }
26  
27 }
28
29 function elggadmin_pagesetup() {
30     // first login?
31     global $CFG;
32     if (user_flag_get('admin', $_SESSION['userid']) &&
33         !isset($CFG->elggadmin_installed)) {
34         $CFG->elggadmin_installed = true;
35         set_config('elggadmin_installed', true);
36         header_redirect(get_url(null, 'elggadmin::config'), __gettext('Welcome to the Elgg configuration manager!'));
37     }
38
39     if (context() == 'admin') {
40         if (!plugin_is_loaded('pages')) {
41             elgg_messages_add(__gettext('Error: <code>elggadmin</code> plugin needs <code>pages</code> plugin to run'));
42         } else {
43             pages_submenu_add('elggadmin', __gettext('Site administration'), get_url(null, 'elggadmin::'), 10);
44         }
45
46     } elseif (context() == 'elggadmin') {
47
48         if (!plugin_is_loaded('pages')) {
49             elgg_messages_add(__gettext('Error: <code>elggadmin</code> plugin needs <code>pages</code> plugin to run'));
50             header_redirect(get_url(null, 'admin::'));
51         }
52
53         // submenu options
54         pages_submenu_add('elggadmin', __gettext('Configuration manager'), get_url(null, 'elggadmin::'));
55         pages_submenu_add('elggadmin:theme', __gettext('Default theme editor'), get_url(null, 'elggadmin::theme'));
56         pages_submenu_add('elggadmin:frontpage', __gettext('Frontpage template editor'), get_url(null, 'elggadmin::frontpage'));
57         pages_submenu_add('elggadmin:logs', __gettext('Error log'), get_url(null, 'elggadmin::logs'));
58
59         sidebar_add(50, 'sidebar-'.elggadmin_currentpage(), elggadmin_sidebar());
60         // clear sidebar
61         $clear_sidebar[] = 'sidebar-profile';
62         $clear_sidebar[] = 'sidebar-' . elggadmin_currentpage();
63         sidebar_remove($clear_sidebar, true);
64
65         if (elggadmin_is_404()) {
66             header('HTTP/1.0 404 Not Found');
67         }
68     }
69 }
70
71 function elggadmin_url($object_id, $object_type) {
72     global $CFG;
73
74     $url = null;
75
76     switch ($object_type) {
77         case 'elggadmin::':
78         case 'elggadmin::config':
79             $url = $CFG->wwwroot . 'mod/elggadmin/index.php';
80             break;
81         case 'elggadmin::theme':
82             $url = get_url(null, 'elggadmin::') . '/theme';
83             break;
84         case 'elggadmin::frontpage':
85             $url = get_url(null, 'elggadmin::') . '/frontpage';
86             break;
87         case 'elggadmin::logs':
88             $url = get_url(null, 'elggadmin::') . '/logs';
89             break;
90
91     }
92
93     return $url;
94 }
95
96 ?>
97
Note: See TracBrowser for help on using the browser.