From f9824f61087f7a1c7f449c9fb09bcf3acd119aab Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Sat, 1 Oct 2011 22:53:18 +0200 Subject: [PATCH] choosable default duration of event --- apps/calendar/ajax/duration.php | 12 +++++++++ apps/calendar/ajax/neweventform.php | 38 +++++++++------------------- apps/calendar/ajax/setduration.php | 17 +++++++++++++ apps/calendar/js/settings.js | 11 ++++++++ apps/calendar/templates/settings.php | 4 ++- 5 files changed, 55 insertions(+), 27 deletions(-) create mode 100644 apps/calendar/ajax/duration.php create mode 100644 apps/calendar/ajax/setduration.php diff --git a/apps/calendar/ajax/duration.php b/apps/calendar/ajax/duration.php new file mode 100644 index 00000000000..cdc41388abd --- /dev/null +++ b/apps/calendar/ajax/duration.php @@ -0,0 +1,12 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +require_once('../../../lib/base.php'); +OC_JSON::checkLoggedIn(); +$duration = OC_Preferences::getValue( OC_User::getUser(), 'calendar', 'duration', "60"); +OC_JSON::encodedPrint(array("duration" => $duration)); +?> diff --git a/apps/calendar/ajax/neweventform.php b/apps/calendar/ajax/neweventform.php index 9bab2cd4846..9d4dcfa2e13 100644 --- a/apps/calendar/ajax/neweventform.php +++ b/apps/calendar/ajax/neweventform.php @@ -29,35 +29,21 @@ if($starttime != 'undefined' && !is_nan($starttime) && !$allday){ $starttime = '0'; $startminutes = '00'; }else{ - $starttime = date('H'); - if(strlen($starttime) == 2 && $starttime <= 9){ - $starttime = substr($starttime, 1, 1); - } + $starttime = date('G'); + $startminutes = date('i'); } -$endday = $startday; -$endmonth = $startmonth; -$endyear = $startyear; -$endtime = $starttime; -$endminutes = $startminutes; -if($endtime == 23) { - if($startday == date(t, mktime($starttime, $startminutes, 0, $startmonth, $startday, $startyear))){ - $datetimestamp = mktime(0, 0, 0, $startmonth, $startday, $startyear); - $datetimestamp = $datetimestamp + 86400; - $endmonth = date("m", $datetimestamp); - $endday = date("d", $datetimestamp); - $endyear = date("Y", $datetimestamp); - }else{ - $endday++; - if($endday <= 9){ - $endday = "0" . $endday; - } - } - $endtime = 0; -} else { - $endtime++; -} +$datetimestamp = mktime($starttime, $startminutes, 0, $startmonth, $startday, $startyear); +$duration = OC_Preferences::getValue( OC_User::getUser(), 'calendar', 'duration', "60"); +$datetimestamp = $datetimestamp + ($duration * 60); +$endmonth = date("m", $datetimestamp); +$endday = date("d", $datetimestamp); +$endyear = date("Y", $datetimestamp); +$endtime = date("G", $datetimestamp); +$endminutes = date("i", $datetimestamp); + + $tmpl = new OC_Template('calendar', 'part.newevent'); $tmpl->assign('calendar_options', $calendar_options); diff --git a/apps/calendar/ajax/setduration.php b/apps/calendar/ajax/setduration.php new file mode 100644 index 00000000000..a75c8faea42 --- /dev/null +++ b/apps/calendar/ajax/setduration.php @@ -0,0 +1,17 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +require_once('../../../lib/base.php'); +OC_JSON::checkLoggedIn(); +if(isset($_POST["duration"])){ + OC_Preferences::setValue(OC_User::getUser(), 'calendar', 'duration', $_POST["duration"]); + OC_JSON::success(); +}else{ + OC_JSON::error(); +} +?> + diff --git a/apps/calendar/js/settings.js b/apps/calendar/js/settings.js index fc5fc7377a6..07e912aaa7a 100644 --- a/apps/calendar/js/settings.js +++ b/apps/calendar/js/settings.js @@ -46,6 +46,17 @@ $(document).ready(function(){ $("#" + jsondata.timeformat).attr('selected',true); $("#timeformat").chosen(); }); + $("#duration").blur( function(){ + var data = $("#duration").val(); + $.post( OC.filePath('calendar', 'ajax', 'setduration.php'), {duration: data}, function(data){ + if(data == "error"){ + console.log("saving duration failed"); + } + }); + }); + $.getJSON(OC.filePath('calendar', 'ajax', 'duration.php'), function(jsondata, status) { + $("#duration").val(jsondata.duration); + }); $("#weekend").change( function(){ var data = $("#weekend").serialize(); $.post( OC.filePath('calendar', 'ajax', 'setdaysofweekend.php'), data, function(data){ diff --git a/apps/calendar/templates/settings.php b/apps/calendar/templates/settings.php index d3e3e3c525e..75f094aab47 100644 --- a/apps/calendar/templates/settings.php +++ b/apps/calendar/templates/settings.php @@ -50,7 +50,9 @@ OC_UTIL::addStyle('', 'jquery.multiselect'); +    + + t("Minutes");?>
Calendar CalDAV syncing address:
-- 2.39.5