From 781fdaafcd6a8086b76409b0a39d8edbca2e04c9 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 19:18:05 +0200 Subject: settings for events and cdav calendar --- Zotlabs/Module/Cal.php | 2 +- Zotlabs/Module/Cdav.php | 4 ++- Zotlabs/Module/Events.php | 6 ++-- Zotlabs/Module/Settings/Calendar.php | 43 ++++++++++++++++++++++++ Zotlabs/Module/Settings/Channel.php | 2 +- Zotlabs/Module/Settings/Events.php | 43 ++++++++++++++++++++++++ Zotlabs/Module/Settings/Photos.php | 43 ++++++++++++++++++++++++ app/caldav.apd | 4 +-- app/events.apd | 4 +-- include/features.php | 63 +++++++++++++++++++++++++----------- 10 files changed, 186 insertions(+), 28 deletions(-) create mode 100644 Zotlabs/Module/Settings/Calendar.php create mode 100644 Zotlabs/Module/Settings/Events.php create mode 100644 Zotlabs/Module/Settings/Photos.php diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index 14c109515..2962d31fd 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -75,7 +75,7 @@ class Cal extends \Zotlabs\Web\Controller { $sql_extra = permissions_sql($channel['channel_id'],get_observer_hash(),'event'); - $first_day = get_pconfig(local_channel(),'system','cal_first_day'); + $first_day = feature_enabled($channel['channel_id'], 'cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $htpl = get_markup_template('event_head.tpl'); diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index bff308dfa..7142615d5 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -850,6 +850,8 @@ class Cdav extends Controller { return $o; } + App::$profile_uid = local_channel(); + $channel = App::get_channel(); $principalUri = 'principals/' . $channel['channel_address']; @@ -905,7 +907,7 @@ class Cdav extends Controller { $sources = rtrim($sources, ', '); - $first_day = get_pconfig(local_channel(),'system','cal_first_day'); + $first_day = feature_enabled(local_channel(), 'cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $title = ['title', t('Event title')]; diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php index 213fa6bff..b63921ce3 100644 --- a/Zotlabs/Module/Events.php +++ b/Zotlabs/Module/Events.php @@ -271,8 +271,10 @@ class Events extends \Zotlabs\Web\Controller { notice( t('Permission denied.') . EOL); return; } - + + \App::$profile_uid = local_channel(); nav_set_selected('Events'); + if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) { $r = q("update event set dismissed = 1 where id = %d and uid = %d", @@ -288,7 +290,7 @@ class Events extends \Zotlabs\Web\Controller { ); } - $first_day = get_pconfig(local_channel(),'system','cal_first_day'); + $first_day = feature_enabled(local_channel(), 'cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $htpl = get_markup_template('event_head.tpl'); diff --git a/Zotlabs/Module/Settings/Calendar.php b/Zotlabs/Module/Settings/Calendar.php new file mode 100644 index 000000000..b3a611cdf --- /dev/null +++ b/Zotlabs/Module/Settings/Calendar.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('CalDAV Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 3a6e03588..6fea970fe 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -622,7 +622,7 @@ class Channel { '$removeme' => t('Remove Channel'), '$removechannel' => t('Remove this channel.'), '$firefoxshare' => t('Firefox Share $Projectname provider'), - '$cal_first_day' => array('first_day', t('Start calendar week on Monday'), ((get_pconfig(local_channel(),'system','cal_first_day')) ? 1 : ''), '', $yes_no), + )); call_hooks('settings_form',$o); diff --git a/Zotlabs/Module/Settings/Events.php b/Zotlabs/Module/Settings/Events.php new file mode 100644 index 000000000..fcb4441e1 --- /dev/null +++ b/Zotlabs/Module/Settings/Events.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Events Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} diff --git a/Zotlabs/Module/Settings/Photos.php b/Zotlabs/Module/Settings/Photos.php new file mode 100644 index 000000000..f403b4d38 --- /dev/null +++ b/Zotlabs/Module/Settings/Photos.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Photos Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} diff --git a/app/caldav.apd b/app/caldav.apd index a5839fd6e..f1938a9fb 100644 --- a/app/caldav.apd +++ b/app/caldav.apd @@ -1,5 +1,5 @@ -version: 1 -url: $baseurl/cdav/calendar +version: 1.1 +url: $baseurl/cdav/calendar, $baseurl/settings/calendar requires: local_channel name: CalDAV photo: icon:calendar diff --git a/app/events.apd b/app/events.apd index dc3257d77..edd85959d 100644 --- a/app/events.apd +++ b/app/events.apd @@ -1,5 +1,5 @@ -version: 1 -url: $baseurl/events +version: 1.1 +url: $baseurl/events, $baseurl/settings/events requires: local_channel name: Events photo: icon:calendar diff --git a/include/features.php b/include/features.php index b7d6c0ceb..8b0c5e3f3 100644 --- a/include/features.php +++ b/include/features.php @@ -104,25 +104,6 @@ function get_features($filtered = true, $level = (-1)) { feature_level('private_notes',1), ], - [ - 'smart_birthdays', - t('Smart Birthdays'), - t('Make birthday events timezone aware in case your friends are scattered across the planet.'), - true, - get_config('feature_lock','smart_birthdays'), - feature_level('smart_birthdays',2), - ], - - [ - 'event_tz_select', - t('Event Timezone Selection'), - t('Allow event creation in timezones other than your own.'), - false, - get_config('feature_lock','event_tz_select'), - feature_level('event_tz_select',2), - ], - - [ 'premium_channel', t('Premium Channel'), @@ -275,6 +256,20 @@ function get_features($filtered = true, $level = (-1)) { ############################################ ############################################ + 'calendar' => [ + + t('CalDAV'), + + [ + 'cal_first_day', + t('Start calendar week on Monday'), + t('Default is Sunday'), + false, + get_config('feature_lock','cal_first_day') + ] + + ], + 'connections' => [ t('Connections'), @@ -358,6 +353,36 @@ function get_features($filtered = true, $level = (-1)) { ], + 'events' => [ + + t('Events'), + + [ + 'cal_first_day', + t('Start calendar week on Monday'), + t('Default is Sunday'), + false, + get_config('feature_lock','cal_first_day') + ], + + [ + 'smart_birthdays', + t('Smart Birthdays'), + t('Make birthday events timezone aware in case your friends are scattered across the planet.'), + true, + get_config('feature_lock','smart_birthdays'), + ], + + [ + 'event_tz_select', + t('Event Timezone Selection'), + t('Allow event creation in timezones other than your own.'), + false, + get_config('feature_lock','event_tz_select'), + ] + + ], + 'manage' => [ t('Manage'), -- cgit v1.2.3