summaryrefslogtreecommitdiffstats
path: root/apps/calendar
diff options
context:
space:
mode:
authorGeorg Ehrke <dev@georgswebsite.de>2012-06-30 12:44:45 +0200
committerGeorg Ehrke <dev@georgswebsite.de>2012-06-30 12:44:51 +0200
commit6e6f90a8a242c96cc90a5ba35248f7abdfddd6b4 (patch)
tree567a3a8227de5e9026b35d09a518f18baf7e70cc /apps/calendar
parent91d92aed0284a0af83fd656a51deb9335e6b4703 (diff)
parentedc6a648d1d667d3179e51c98ab937cf35e4a333 (diff)
downloadnextcloud-server-6e6f90a8a242c96cc90a5ba35248f7abdfddd6b4.tar.gz
nextcloud-server-6e6f90a8a242c96cc90a5ba35248f7abdfddd6b4.zip
fix merge conflicts
Diffstat (limited to 'apps/calendar')
-rw-r--r--apps/calendar/appinfo/app.php5
-rw-r--r--apps/calendar/js/loader.js2
-rw-r--r--apps/calendar/lib/app.php16
-rw-r--r--apps/calendar/lib/share.php24
4 files changed, 38 insertions, 9 deletions
diff --git a/apps/calendar/appinfo/app.php b/apps/calendar/appinfo/app.php
index 22b91a41efe..3c8cc76133e 100644
--- a/apps/calendar/appinfo/app.php
+++ b/apps/calendar/appinfo/app.php
@@ -9,12 +9,17 @@ OC::$CLASSPATH['OC_Calendar_Repeat'] = 'apps/calendar/lib/repeat.php';
OC::$CLASSPATH['OC_Calendar_Share'] = 'apps/calendar/lib/share.php';
OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
OC::$CLASSPATH['OC_Calendar_Export'] = 'apps/calendar/lib/export.php';
+//General Hooks
OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
+//Repeating Events Hooks
OCP\Util::connectHook('OC_Calendar', 'addEvent', 'OC_Calendar_Repeat', 'generate');
OCP\Util::connectHook('OC_Calendar', 'editEvent', 'OC_Calendar_Repeat', 'update');
OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Repeat', 'clean');
OCP\Util::connectHook('OC_Calendar', 'moveEvent', 'OC_Calendar_Repeat', 'update');
OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Repeat', 'cleanCalendar');
+//Sharing Hooks
+OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Share', 'post_eventdelete');
+OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Share', 'post_caldelete');
OCP\Util::addscript('calendar','loader');
OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min");
OCP\Util::addStyle("3rdparty", "chosen/chosen");
diff --git a/apps/calendar/js/loader.js b/apps/calendar/js/loader.js
index 0fc5018e89c..cef95afc3aa 100644
--- a/apps/calendar/js/loader.js
+++ b/apps/calendar/js/loader.js
@@ -44,7 +44,7 @@ Calendar_Import={
$('#newcalendar').attr('readonly', 'readonly');
$('#calendar').attr('disabled', 'disabled');
var progresskey = $('#progresskey').val();
- $.post(OC.filePath('calendar', 'ajax/import', 'import.php') + '?progresskey='+progresskey, {method: String (method), calname: String (calname), path: String (path), file: String (filename), id: String (calid)}, function(data){
+ $.post(OC.filePath('calendar', 'ajax/import', 'import.php'), {progresskey: progresskey, method: String (method), calname: String (calname), path: String (path), file: String (filename), id: String (calid)}, function(data){
if(data.status == 'success'){
$('#progressbar').progressbar('option', 'value', 100);
$('#import_done').css('display', 'block');
diff --git a/apps/calendar/lib/app.php b/apps/calendar/lib/app.php
index 344c89f36b0..ca897a36dc0 100644
--- a/apps/calendar/lib/app.php
+++ b/apps/calendar/lib/app.php
@@ -368,12 +368,14 @@ class OC_Calendar_App{
* @return (array) $output - readable output
*/
public static function generateEventOutput($event, $start, $end){
- if(isset($event['calendardata'])){
- $object = OC_VObject::parse($event['calendardata']);
- $vevent = $object->VEVENT;
- }else{
- $vevent = $event['vevent'];
+ if(!isset($event['calendardata']) && !isset($event['vevent'])){
+ return false;
}
+ if(!isset($event['calendardata']) && isset($event['vevent'])){
+ $event['calendardata'] = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud's Internal iCal System\n" . $event['vevent']->serialize() . "END:VCALENDAR";
+ }
+ $object = OC_VObject::parse($event['calendardata']);
+ $vevent = $object->VEVENT;
$return = array();
$id = $event['id'];
$allday = ($vevent->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE)?true:false;
@@ -404,7 +406,7 @@ class OC_Calendar_App{
$return[] = array_merge($staticoutput, $dynamicoutput);
}
}else{
- if(OC_Calendar_Object::isrepeating($id)){
+ if(OC_Calendar_Object::isrepeating($id) || $event['repeating'] == 1){
$object->expand($start, $end);
}
foreach($object->getComponents() as $singleevent){
@@ -412,7 +414,7 @@ class OC_Calendar_App{
continue;
}
$dynamicoutput = OC_Calendar_Object::generateStartEndDate($singleevent->DTSTART, OC_Calendar_Object::getDTEndFromVEvent($singleevent), $allday, self::$tz);
- $return[] = array_merge($staticoutput, $dynamicoutput);
+ $return[] = array_merge($staticoutput, $dynamicoutput);
}
}
return $return;
diff --git a/apps/calendar/lib/share.php b/apps/calendar/lib/share.php
index 54c531892f0..01502f1c6b0 100644
--- a/apps/calendar/lib/share.php
+++ b/apps/calendar/lib/share.php
@@ -258,7 +258,7 @@ class OC_Calendar_Share{
}
/*
- * @brief delete all shared calendars / events after a user was deleted
+ * @brief deletes all shared calendars / events after a user was deleted
* @param (string) $userid
* @return (bool)
*/
@@ -273,4 +273,26 @@ class OC_Calendar_Share{
$stmt->execute(array($userid));
return true;
}
+
+ /*
+ * @brief deletes all shared events of a calendar
+ * @param integer $calid
+ * @return boolean
+ */
+ public static function post_caldelete($calid){
+ $stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_calendar WHERE calendarid = ?');
+ $stmt->execute(array($calid));
+ return true;
+ }
+
+ /*
+ * @brief deletes all shares of an event
+ * @param integer $eventid
+ * @return boolean
+ */
+ public static function post_eventdelete($eventid){
+ $stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_event WHERE eventid = ?');
+ $stmt->execute(array($eventid));
+ return true;
+ }
} \ No newline at end of file