settings for events and cdav calendar

This commit is contained in:
Mario 2018-09-23 19:18:05 +02:00
parent 1f1d5b9181
commit 781fdaafcd
10 changed files with 186 additions and 28 deletions

View File

@ -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');

View File

@ -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')];

View File

@ -272,8 +272,10 @@ class Events extends \Zotlabs\Web\Controller {
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",
intval(argv(2)),
@ -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');

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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

View File

@ -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

View File

@ -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'),