diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/text.php | 22 | ||||
-rw-r--r-- | include/widgets.php | 15 |
2 files changed, 37 insertions, 0 deletions
diff --git a/include/text.php b/include/text.php index a2a6d918b..c8e0b1888 100644 --- a/include/text.php +++ b/include/text.php @@ -2294,6 +2294,28 @@ function website_import_tools() { )); } +/** + * @brief Creates website export tools menu + * + * @return string + */ +function website_export_tools() { + + $channel = App::get_channel(); + $sys = false; + + if(App::$is_sys && is_site_admin()) { + require_once('include/channel.php'); + $channel = get_sys_channel(); + $sys = true; + } + + return replace_macros(get_markup_template('website_export_tools.tpl'), array( + '$title' => t('Export'), + '$export_label' => t('Export website...'), + )); +} + /* case insensitive in_array() */ function in_arrayi($needle, $haystack) { diff --git a/include/widgets.php b/include/widgets.php index 68db74703..fc2a9830b 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -794,6 +794,21 @@ function widget_website_import_tools($arr) { return website_import_tools(); } +function widget_website_export_tools($arr) { + + // mod menu doesn't load a profile. For any modules which load a profile, check it. + // otherwise local_channel() is sufficient for permissions. + + if(App::$profile['profile_uid']) + if((App::$profile['profile_uid'] != local_channel()) && (! App::$is_sys)) + return ''; + + if(! local_channel()) + return ''; + + return website_export_tools(); +} + function widget_findpeople($arr) { return findpeople_widget(); } |