forked from darwin26/website_manager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.inc.php
119 lines (96 loc) · 4.77 KB
/
config.inc.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
109
110
111
112
113
114
115
116
117
118
119
<?php
// init addon
$REX['ADDON']['name']['website_manager'] = 'Website Manager';
$REX['ADDON']['page']['website_manager'] = 'website_manager';
$REX['ADDON']['version']['website_manager'] = '3.1.0';
$REX['ADDON']['author']['website_manager'] = "RexDude";
$REX['ADDON']['supportpage']['website_manager'] = 'forum.redaxo.de';
$REX['ADDON']['perm']['website_manager'] = 'website_manager[]';
// permissions
$REX['PERM'][] = 'website_manager[]';
// consts
define('WEBSITE_MANAGER_ARRAY_DELIMITER', ',');
define('WEBSITE_MANAGER_PLUGIN_DELIMITER', ':');
if ($REX['REDAXO']) {
// add lang file
$I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/website_manager/lang/');
}
// front and backend includes
require_once($REX['INCLUDE_PATH'] . '/addons/website_manager/paths.inc.php');
require_once($REX['INCLUDE_PATH'] . '/addons/website_manager/settings.default.inc.php');
require_once($REX['INCLUDE_PATH'] . '/data/addons/website_manager/settings.inc.php');
require_once($REX['INCLUDE_PATH'] . '/addons/website_manager/classes/class.rex_website_manager_utils.inc.php');
// overwrite default settings with user settings
rex_website_manager_utils::includeSettingsFile();
if ($REX['REDAXO'] && !$REX['SETUP']) {
// backend includes
require_once($REX['INCLUDE_PATH'] . '/addons/website_manager/classes/class.klogger.inc.php');
// logout stuff
if (rex_request('rex_logout') == 1) {
// reset website selection
rex_set_session('current_website_id', rex_website::firstId);
// show user msg when no permissions for any websites
if (rex_request('noperm_msg') == 1) {
rex_register_extension('OUTPUT_FILTER', 'rex_website_manager_utils::noPermMsg');
}
}
// check for existence of website manager object
if (isset($REX['WEBSITE_MANAGER'])) {
// used for addon uninstall to stop user from uninstallig when wm codeline ist still in master.inc.php
$REX['WEBSITE_MANAGER_DO_UNINSTALL'] = false;
// add subpages
$REX['ADDON']['website_manager']['SUBPAGES'] = array(
array('', $I18N->msg('website_manager_websites'))
);
// plugins (will be autoloaded incl. language file)
$plugins = OOPlugin::getAvailablePlugins('website_manager');
for ($i = 0; $i < count($plugins); $i++) {
$I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/website_manager/plugins/' . $plugins[$i] . '/lang/'); // make msg for subpage available at this point
array_push($REX['ADDON']['website_manager']['SUBPAGES'], array($plugins[$i], $I18N->msg('website_manager_' . $plugins[$i])));
}
array_push($REX['ADDON']['website_manager']['SUBPAGES'],
array('tools', $I18N->msg('website_manager_tools')),
array('settings', $I18N->msg('website_manager_settings')),
array('setup', $I18N->msg('website_manager_setup')),
array('help', $I18N->msg('website_manager_help'))
);
} else {
// this is only neccesary until user has put this code line in master.inc.php
require_once(WEBSITE_MANAGER_GENERATED_DIR . 'init.inc.php');
// used for addon uninstall to stop user from uninstallig when wm codeline ist still in master.inc.php
$REX['WEBSITE_MANAGER_DO_UNINSTALL'] = true;
// add only setup subpage
$REX['ADDON']['website_manager']['SUBPAGES'] = array(
array('', $I18N->msg('website_manager_setup')),
array('settings', $I18N->msg('website_manager_settings')),
array('help', $I18N->msg('website_manager_help'))
);
}
if (rex_request('page') != '') { // login
// check permissions (has to be done here because $REX['USER'] is not availabe in master.inc.php)
$REX['WEBSITE_MANAGER']->checkPermissions();
// add css/js to page header
rex_register_extension('PAGE_HEADER', 'rex_website_manager_utils::appendToPageHeader');
// only website manager addons pages
if (rex_request('page') == 'website_manager') {
rex_register_extension('PAGE_HEADER', 'rex_website_manager_utils::appendToPageHeaderOnlyAddonPages');
}
if (rex_request('install') != '1') { // this shoudn't go off when addon gets installed
// add website select and other stuff
rex_register_extension('OUTPUT_FILTER', 'rex_website_manager_utils::addToOutputFilter');
}
// frontend link in meta menu
if ($REX['WEBSITE_MANAGER_SETTINGS']['show_metamenu_frontend_link']) {
rex_register_extension('META_NAVI', 'rex_website_manager_utils::addFrontendLinkToMetaMenu');
}
// fix article preview link
if (!isset($REX['ADDON']['seo42']['settings']['one_page_mode']) || (isset($REX['ADDON']['seo42']['settings']['one_page_mode']) && !$REX['ADDON']['seo42']['settings']['one_page_mode'])) {
rex_register_extension('PAGE_CONTENT_MENU', 'rex_website_manager_utils::fixArticlePreviewLink');
}
// fix clang
rex_register_extension('CLANG_ADDED', 'rex_website_manager::fixClang');
rex_register_extension('CLANG_DELETED', 'rex_website_manager::fixClang');
}
// init sortable rex list with prio switch
rex_website_manager_utils::initPrioSwitch();
}