aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2018-09-23 19:18:05 +0200
committerMario <mario@mariovavti.com>2018-09-23 19:18:05 +0200
commit781fdaafcd6a8086b76409b0a39d8edbca2e04c9 (patch)
treecb9d1e782cb0dfaeab8f0fdcd183c571669dc1a1
parent1f1d5b9181dd7a9800a2d5c596d8da0f906c53e3 (diff)
downloadvolse-hubzilla-781fdaafcd6a8086b76409b0a39d8edbca2e04c9.tar.gz
volse-hubzilla-781fdaafcd6a8086b76409b0a39d8edbca2e04c9.tar.bz2
volse-hubzilla-781fdaafcd6a8086b76409b0a39d8edbca2e04c9.zip
settings for events and cdav calendar
-rw-r--r--Zotlabs/Module/Cal.php2
-rw-r--r--Zotlabs/Module/Cdav.php4
-rw-r--r--Zotlabs/Module/Events.php6
-rw-r--r--Zotlabs/Module/Settings/Calendar.php43
-rw-r--r--Zotlabs/Module/Settings/Channel.php2
-rw-r--r--Zotlabs/Module/Settings/Events.php43
-rw-r--r--Zotlabs/Module/Settings/Photos.php43
-rw-r--r--app/caldav.apd4
-rw-r--r--app/events.apd4
-rw-r--r--include/features.php63
10 files changed, 186 insertions, 28 deletions
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 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Calendar {
+
+ function post() {
+
+ $module = substr(strrchr(strtolower(static::class), '\\'), 1);
+
+ check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module);
+
+ $features = get_module_features($module);
+
+ process_module_features_post(local_channel(), $features, $_POST);
+
+ build_sync_packet();
+ return;
+ }
+
+ function get() {
+
+ $module = substr(strrchr(strtolower(static::class), '\\'), 1);
+
+ $features = get_module_features($module);
+ $rpath = (($_GET['rpath']) ? $_GET['rpath'] : '');
+
+ $tpl = get_markup_template("settings_module.tpl");
+
+ $o .= replace_macros($tpl, array(
+ '$rpath' => $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 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Events {
+
+ function post() {
+
+ $module = substr(strrchr(strtolower(static::class), '\\'), 1);
+
+ check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module);
+
+ $features = get_module_features($module);
+
+ process_module_features_post(local_channel(), $features, $_POST);
+
+ build_sync_packet();
+ return;
+ }
+
+ function get() {
+
+ $module = substr(strrchr(strtolower(static::class), '\\'), 1);
+
+ $features = get_module_features($module);
+ $rpath = (($_GET['rpath']) ? $_GET['rpath'] : '');
+
+ $tpl = get_markup_template("settings_module.tpl");
+
+ $o .= replace_macros($tpl, array(
+ '$rpath' => $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 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Photos {
+
+ function post() {
+
+ $module = substr(strrchr(strtolower(static::class), '\\'), 1);
+
+ check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module);
+
+ $features = get_module_features($module);
+
+ process_module_features_post(local_channel(), $features, $_POST);
+
+ build_sync_packet();
+ return;
+ }
+
+ function get() {
+
+ $module = substr(strrchr(strtolower(static::class), '\\'), 1);
+
+ $features = get_module_features($module);
+ $rpath = (($_GET['rpath']) ? $_GET['rpath'] : '');
+
+ $tpl = get_markup_template("settings_module.tpl");
+
+ $o .= replace_macros($tpl, array(
+ '$rpath' => $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
@@ -105,25 +105,6 @@ function get_features($filtered = true, $level = (-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'),
t('Allows you to set restrictions and terms on those that connect with your 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'),