]> source.dussan.org Git - nextcloud-server.git/commitdiff
choosable default duration of event
authorGeorg Ehrke <georg.stefan.germany@googlemail.com>
Sat, 1 Oct 2011 20:53:18 +0000 (22:53 +0200)
committerGeorg Ehrke <georg.stefan.germany@googlemail.com>
Sat, 1 Oct 2011 20:53:18 +0000 (22:53 +0200)
apps/calendar/ajax/duration.php [new file with mode: 0644]
apps/calendar/ajax/neweventform.php
apps/calendar/ajax/setduration.php [new file with mode: 0644]
apps/calendar/js/settings.js
apps/calendar/templates/settings.php

diff --git a/apps/calendar/ajax/duration.php b/apps/calendar/ajax/duration.php
new file mode 100644 (file)
index 0000000..cdc4138
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
+ * 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));
+?> 
index 9bab2cd4846522dda48de2c9aab5dc0f35c37c69..9d4dcfa2e138b7bc4dae47c3b4a9279e1ab07b25 100644 (file)
@@ -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 (file)
index 0000000..a75c8fa
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
+ * 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();
+}
+?> 
index fc5fc7377a6018ec39e98bd8b1945d25313dd0c4..07e912aaa7aea3240b499839dc44259ceb4ac33f 100644 (file)
@@ -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){
index d3e3e3c525e19434f7f823526abf5d7f3b1fed2b..75f094aab47bce3e2fe245b86bd0b16641e5ff9a 100644 (file)
@@ -50,7 +50,9 @@ OC_UTIL::addStyle('', 'jquery.multiselect');
                <select style="display: none;" id="timeformat" title="<?php echo "timeformat"; ?>" name="timeformat">
                        <option value="24" id="24h"><?php echo $l->t("24 h"); ?></option>
                        <option value="ampm" id="ampm"><?php echo $l->t("am/pm"); ?></option>
-               </select>
+               </select>&nbsp;&nbsp;
+               <label for="duration"><strong><?php echo $l->t('Event duration');?></strong></label>
+               <input type="text" maxlength="3" size="3" style="width: 2em;" id="duration" name="duration" /> <strong><?php echo $l->t("Minutes");?></strong>
                <br />
                Calendar CalDAV syncing address: 
                <?php echo OC_Helper::linkTo('apps/calendar', 'caldav.php', null, true); ?><br />