diff options
author | Georg Ehrke <dev@georgswebsite.de> | 2012-01-21 17:42:34 +0100 |
---|---|---|
committer | Georg Ehrke <dev@georgswebsite.de> | 2012-01-21 17:42:52 +0100 |
commit | 66f8a0e1a3625102eb8b4aeea9fcb20b7ea45d92 (patch) | |
tree | b2b7fd77aa7834e855088be461d2d92852271895 | |
parent | 78c5c2e7d574b0d97eea86e2c7a40d65dc58583e (diff) | |
download | nextcloud-server-66f8a0e1a3625102eb8b4aeea9fcb20b7ea45d92.tar.gz nextcloud-server-66f8a0e1a3625102eb8b4aeea9fcb20b7ea45d92.zip |
validate the calendar name
-rw-r--r-- | apps/calendar/ajax/createcalendar.php | 12 | ||||
-rw-r--r-- | apps/calendar/ajax/updatecalendar.php | 12 | ||||
-rw-r--r-- | apps/calendar/js/calendar.js | 18 |
3 files changed, 40 insertions, 2 deletions
diff --git a/apps/calendar/ajax/createcalendar.php b/apps/calendar/ajax/createcalendar.php index f8b5974f54c..b719b207c74 100644 --- a/apps/calendar/ajax/createcalendar.php +++ b/apps/calendar/ajax/createcalendar.php @@ -12,6 +12,18 @@ require_once('../../../lib/base.php'); OC_JSON::checkLoggedIn(); OC_JSON::checkAppEnabled('calendar'); +if(trim($_POST['name']) == ''){ + OC_JSON::error(array('message'=>'empty')); + exit; +} +$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser()); +foreach($calendars as $cal){ + if($cal['displayname'] == $_POST['name']){ + OC_JSON::error(array('message'=>'namenotavailable')); + exit; + } +} + $userid = OC_User::getUser(); $calendarid = OC_Calendar_Calendar::addCalendar($userid, $_POST['name'], 'VEVENT,VTODO,VJOURNAL', null, 0, $_POST['color']); OC_Calendar_Calendar::setCalendarActive($calendarid, 1); diff --git a/apps/calendar/ajax/updatecalendar.php b/apps/calendar/ajax/updatecalendar.php index 14f560da5a3..269b7b7ca06 100644 --- a/apps/calendar/ajax/updatecalendar.php +++ b/apps/calendar/ajax/updatecalendar.php @@ -12,6 +12,18 @@ require_once('../../../lib/base.php'); OC_JSON::checkLoggedIn(); OC_JSON::checkAppEnabled('calendar'); +if(trim($_POST['name']) == ''){ + OC_JSON::error(array('message'=>'empty')); + exit; +} +$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser()); +foreach($calendars as $cal){ + if($cal['displayname'] == $_POST['name'] && $cal['id'] != $_POST['id']){ + OC_JSON::error(array('message'=>'namenotavailable')); + exit; + } +} + $calendarid = $_POST['id']; $calendar = OC_Calendar_App::getCalendar($calendarid);//access check OC_Calendar_Calendar::editCalendar($calendarid, $_POST['name'], null, null, null, $_POST['color']); diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js index 228ea97c2da..afd1b692dd4 100644 --- a/apps/calendar/js/calendar.js +++ b/apps/calendar/js/calendar.js @@ -429,11 +429,17 @@ Calendar={ } }, submit:function(button, calendarid){ - var displayname = $("#displayname_"+calendarid).val(); + var displayname = $.trim($("#displayname_"+calendarid).val()); var active = $("#edit_active_"+calendarid+":checked").length; var description = $("#description_"+calendarid).val(); var calendarcolor = $("#calendarcolor_"+calendarid).val(); - + if(displayname == ''){ + $("#displayname_"+calendarid).css('background-color', '#FF2626'); + $("#displayname_"+calendarid).focus(function(){ + $("#displayname_"+calendarid).css('background-color', '#F8F8F8'); + }); + } + var url; if (calendarid == 'new'){ url = OC.filePath('calendar', 'ajax', 'createcalendar.php'); @@ -449,6 +455,11 @@ Calendar={ if (calendarid == 'new'){ $('#choosecalendar_dialog > table').append('<tr><td colspan="6"><a href="#" onclick="Calendar.UI.Calendar.newCalendar(this);"><input type="button" value="' + newcalendar + '"></a></td></tr>'); } + }else{ + $("#displayname_"+calendarid).css('background-color', '#FF2626'); + $("#displayname_"+calendarid).focus(function(){ + $("#displayname_"+calendarid).css('background-color', '#F8F8F8'); + }); } }, 'json'); }, @@ -677,6 +688,9 @@ $(document).ready(function(){ $('#calendar_holder').fullCalendar('option', 'aspectRatio', 1.35); } }, + columnFormat: { + week: 'ddd d. MMM' + }, selectable: true, selectHelper: true, select: Calendar.UI.newEvent, |