Merge branch 'master' into calendar_import
This commit is contained in:
commit
4890bbb30d
|
@ -13,22 +13,22 @@ OC_Calendar_App::$tz = OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar',
|
|||
class OC_Calendar_App{
|
||||
const CALENDAR = 'calendar';
|
||||
const EVENT = 'event';
|
||||
/*
|
||||
/**
|
||||
* @brief language object for calendar app
|
||||
*/
|
||||
public static $l10n;
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief categories of the user
|
||||
*/
|
||||
protected static $categories = null;
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief timezone of the user
|
||||
*/
|
||||
public static $tz;
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns informations about a calendar
|
||||
* @param int $id - id of the calendar
|
||||
* @param bool $security - check access rights or not
|
||||
|
@ -53,7 +53,7 @@ class OC_Calendar_App{
|
|||
return $calendar;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns informations about an event
|
||||
* @param int $id - id of the event
|
||||
* @param bool $security - check access rights or not
|
||||
|
@ -79,7 +79,7 @@ class OC_Calendar_App{
|
|||
return $event;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the parsed calendar data
|
||||
* @param int $id - id of the event
|
||||
* @param bool $security - check access rights or not
|
||||
|
@ -97,7 +97,7 @@ class OC_Calendar_App{
|
|||
return $vobject;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief checks if an event was edited and dies if it was
|
||||
* @param (object) $vevent - vevent object of the event
|
||||
* @param (int) $lastmodified - time of last modification as unix timestamp
|
||||
|
@ -112,7 +112,7 @@ class OC_Calendar_App{
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the default categories of ownCloud
|
||||
* @return (array) $categories
|
||||
*/
|
||||
|
@ -136,7 +136,7 @@ class OC_Calendar_App{
|
|||
);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the vcategories object of the user
|
||||
* @return (object) $vcategories
|
||||
*/
|
||||
|
@ -147,7 +147,7 @@ class OC_Calendar_App{
|
|||
return self::$categories;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the categories of the vcategories object
|
||||
* @return (array) $categories
|
||||
*/
|
||||
|
@ -203,11 +203,15 @@ class OC_Calendar_App{
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the options for the repeat rule of an repeating event
|
||||
* @return array - valid inputs for the repeat rule of an repeating event
|
||||
*/
|
||||
public static function getRepeatOptions(){
|
||||
return OC_Calendar_Object::getRepeatOptions(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for the end of an repeating event
|
||||
* @return array - valid inputs for the end of an repeating events
|
||||
*/
|
||||
|
@ -215,7 +219,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getEndOptions(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an monthly repeating event
|
||||
* @return array - valid inputs for monthly repeating events
|
||||
*/
|
||||
|
@ -223,7 +227,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getMonthOptions(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an weekly repeating event
|
||||
* @return array - valid inputs for weekly repeating events
|
||||
*/
|
||||
|
@ -231,7 +235,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getWeeklyOptions(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
|
@ -239,7 +243,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getYearOptions(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event which occurs on specific days of the year
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
|
@ -247,7 +251,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getByYearDayOptions();
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event which occurs on specific month of the year
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
|
@ -255,7 +259,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getByMonthOptions(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event which occurs on specific week numbers of the year
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
|
@ -263,7 +267,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getByWeekNoOptions();
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an yearly or monthly repeating event which occurs on specific days of the month
|
||||
* @return array - valid inputs for yearly or monthly repeating events
|
||||
*/
|
||||
|
@ -271,7 +275,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getByMonthDayOptions();
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the options for an monthly repeating event which occurs on specific weeks of the month
|
||||
* @return array - valid inputs for monthly repeating events
|
||||
*/
|
||||
|
@ -279,7 +283,7 @@ class OC_Calendar_App{
|
|||
return OC_Calendar_Object::getWeekofMonth(self::$l10n);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief checks the access for a calendar / an event
|
||||
* @param (int) $id - id of the calendar / event
|
||||
* @param (string) $type - type of the id (calendar/event)
|
||||
|
@ -320,7 +324,7 @@ class OC_Calendar_App{
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief analyses the parameter for calendar parameter and returns the objects
|
||||
* @param (string) $calendarid - calendarid
|
||||
* @param (int) $start - unixtimestamp of start
|
||||
|
@ -360,7 +364,7 @@ class OC_Calendar_App{
|
|||
return $events;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief generates the output for an event which will be readable for our js
|
||||
* @param (mixed) $event - event object / array
|
||||
* @param (int) $start - DateTime object of start
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* The following SQL statement is just a help for developers and will not be
|
||||
* executed!
|
||||
|
@ -201,7 +201,7 @@ class OC_Calendar_Calendar{
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief merges two calendars
|
||||
* @param integer $id1
|
||||
* @param integer $id2
|
||||
|
@ -240,7 +240,7 @@ class OC_Calendar_Calendar{
|
|||
return $userid;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief returns the possible color for calendars
|
||||
* @return array
|
||||
*/
|
||||
|
@ -257,7 +257,7 @@ class OC_Calendar_Calendar{
|
|||
);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief generates the Event Source Info for our JS
|
||||
* @param array $calendar calendar data
|
||||
* @return array
|
||||
|
|
|
@ -5,17 +5,17 @@
|
|||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
/*
|
||||
/**
|
||||
* This class does export and converts all times to UTC
|
||||
*/
|
||||
class OC_Calendar_Export{
|
||||
/*
|
||||
/**
|
||||
* @brief Use one of these constants as second parameter if you call OC_Calendar_Export::export()
|
||||
*/
|
||||
const CALENDAR = 'calendar';
|
||||
const EVENT = 'event';
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief export a calendar or an event
|
||||
* @param integer $id id of calendar / event
|
||||
* @param string $type use OC_Calendar_Export constants
|
||||
|
@ -30,14 +30,15 @@ class OC_Calendar_Export{
|
|||
return self::fixLineBreaks($return);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief exports a calendar and convert all times to UTC
|
||||
* @param integer $id id of the calendar
|
||||
* @return string
|
||||
*/
|
||||
private static function calendar($id){
|
||||
$events = OC_Calendar_Object::all($id);
|
||||
$return = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\n";
|
||||
$calendar = OC_Calendar_Calendar::find($id);
|
||||
$return = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\nX-WR-CALNAME:" . $calendar['displayname'] . "\n";
|
||||
foreach($events as $event){
|
||||
$return .= self::generateEvent($event);
|
||||
}
|
||||
|
@ -45,20 +46,20 @@ class OC_Calendar_Export{
|
|||
return $return;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief exports an event and convert all times to UTC
|
||||
* @param integer $id id of the event
|
||||
* @return string
|
||||
*/
|
||||
private static function event($id){
|
||||
$event = OC_Calendar_Object::find($id);
|
||||
$return = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\n";
|
||||
$return = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\nX-WR-CALNAME:" . $event['summary'] . "\n";
|
||||
$return .= self::generateEvent($event);
|
||||
$return .= "END:VCALENDAR";
|
||||
return $return;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief generates the VEVENT with UTC dates
|
||||
* @param array $event
|
||||
* @return string
|
||||
|
@ -78,7 +79,7 @@ class OC_Calendar_Export{
|
|||
return $object->VEVENT->serialize();
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief fixes new line breaks
|
||||
* (fixes problems with Apple iCal)
|
||||
* @param string $string to fix
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
<?php
|
||||
/**
|
||||
* Copyright (c) 2011 Jakob Sack <mail@jakobsack.de>
|
||||
* Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
|
||||
* Copyright (c) 2012 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.
|
||||
*/
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* The following SQL statement is just a help for developers and will not be
|
||||
* executed!
|
||||
|
@ -331,6 +333,11 @@ class OC_Calendar_Object{
|
|||
return date('Y-m-d H:i', $datetime->format('U') - $datetime->getOffset());
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the DTEND of an $vevent object
|
||||
* @param object $vevent vevent object
|
||||
* @return object
|
||||
*/
|
||||
public static function getDTEndFromVEvent($vevent){
|
||||
if ($vevent->DTEND) {
|
||||
$dtend = $vevent->DTEND;
|
||||
|
@ -356,8 +363,11 @@ class OC_Calendar_Object{
|
|||
return $dtend;
|
||||
}
|
||||
|
||||
public static function getRepeatOptions($l10n)
|
||||
{
|
||||
/**
|
||||
* @brief returns the options for the repeat rule of an repeating event
|
||||
* @return array - valid inputs for the repeat rule of an repeating event
|
||||
*/
|
||||
public static function getRepeatOptions($l10n){
|
||||
return array(
|
||||
'doesnotrepeat' => $l10n->t('Does not repeat'),
|
||||
'daily' => $l10n->t('Daily'),
|
||||
|
@ -369,8 +379,11 @@ class OC_Calendar_Object{
|
|||
);
|
||||
}
|
||||
|
||||
public static function getEndOptions($l10n)
|
||||
{
|
||||
/**
|
||||
* @brief returns the options for the end of an repeating event
|
||||
* @return array - valid inputs for the end of an repeating events
|
||||
*/
|
||||
public static function getEndOptions($l10n){
|
||||
return array(
|
||||
'never' => $l10n->t('never'),
|
||||
'count' => $l10n->t('by occurrences'),
|
||||
|
@ -378,16 +391,22 @@ class OC_Calendar_Object{
|
|||
);
|
||||
}
|
||||
|
||||
public static function getMonthOptions($l10n)
|
||||
{
|
||||
/**
|
||||
* @brief returns the options for an monthly repeating event
|
||||
* @return array - valid inputs for monthly repeating events
|
||||
*/
|
||||
public static function getMonthOptions($l10n){
|
||||
return array(
|
||||
'monthday' => $l10n->t('by monthday'),
|
||||
'weekday' => $l10n->t('by weekday')
|
||||
);
|
||||
}
|
||||
|
||||
public static function getWeeklyOptions($l10n)
|
||||
{
|
||||
/**
|
||||
* @brief returns the options for an weekly repeating event
|
||||
* @return array - valid inputs for weekly repeating events
|
||||
*/
|
||||
public static function getWeeklyOptions($l10n){
|
||||
return array(
|
||||
'MO' => $l10n->t('Monday'),
|
||||
'TU' => $l10n->t('Tuesday'),
|
||||
|
@ -399,8 +418,11 @@ class OC_Calendar_Object{
|
|||
);
|
||||
}
|
||||
|
||||
public static function getWeekofMonth($l10n)
|
||||
{
|
||||
/**
|
||||
* @brief returns the options for an monthly repeating event which occurs on specific weeks of the month
|
||||
* @return array - valid inputs for monthly repeating events
|
||||
*/
|
||||
public static function getWeekofMonth($l10n){
|
||||
return array(
|
||||
'auto' => $l10n->t('events week of month'),
|
||||
'1' => $l10n->t('first'),
|
||||
|
@ -412,6 +434,10 @@ class OC_Calendar_Object{
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event which occurs on specific days of the year
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
public static function getByYearDayOptions(){
|
||||
$return = array();
|
||||
foreach(range(1,366) as $num){
|
||||
|
@ -420,6 +446,10 @@ class OC_Calendar_Object{
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the options for an yearly or monthly repeating event which occurs on specific days of the month
|
||||
* @return array - valid inputs for yearly or monthly repeating events
|
||||
*/
|
||||
public static function getByMonthDayOptions(){
|
||||
$return = array();
|
||||
foreach(range(1,31) as $num){
|
||||
|
@ -428,6 +458,10 @@ class OC_Calendar_Object{
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event which occurs on specific month of the year
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
public static function getByMonthOptions($l10n){
|
||||
return array(
|
||||
'1' => $l10n->t('January'),
|
||||
|
@ -445,6 +479,10 @@ class OC_Calendar_Object{
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
public static function getYearOptions($l10n){
|
||||
return array(
|
||||
'bydate' => $l10n->t('by events date'),
|
||||
|
@ -454,12 +492,20 @@ class OC_Calendar_Object{
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the options for an yearly repeating event which occurs on specific week numbers of the year
|
||||
* @return array - valid inputs for yearly repeating events
|
||||
*/
|
||||
public static function getByWeekNoOptions(){
|
||||
return range(1, 52);
|
||||
}
|
||||
|
||||
public static function validateRequest($request)
|
||||
{
|
||||
/**
|
||||
* @brief validates a request
|
||||
* @param array $request
|
||||
* @return mixed (array / boolean)
|
||||
*/
|
||||
public static function validateRequest($request){
|
||||
$errnum = 0;
|
||||
$errarr = array('title'=>'false', 'cal'=>'false', 'from'=>'false', 'fromtime'=>'false', 'to'=>'false', 'totime'=>'false', 'endbeforestart'=>'false');
|
||||
if($request['title'] == ''){
|
||||
|
@ -607,16 +653,23 @@ class OC_Calendar_Object{
|
|||
return false;
|
||||
}
|
||||
|
||||
protected static function checkTime($time)
|
||||
{
|
||||
/**
|
||||
* @brief validates time
|
||||
* @param string $time
|
||||
* @return boolean
|
||||
*/
|
||||
protected static function checkTime($time){
|
||||
list($hours, $minutes) = explode(':', $time);
|
||||
return empty($time)
|
||||
|| $hours < 0 || $hours > 24
|
||||
|| $minutes < 0 || $minutes > 60;
|
||||
}
|
||||
|
||||
public static function createVCalendarFromRequest($request)
|
||||
{
|
||||
/**
|
||||
* @brief creates an VCalendar Object from the request data
|
||||
* @param array $request
|
||||
* @return object created $vcalendar
|
||||
*/ public static function createVCalendarFromRequest($request){
|
||||
$vcalendar = new OC_VObject('VCALENDAR');
|
||||
$vcalendar->add('PRODID', 'ownCloud Calendar');
|
||||
$vcalendar->add('VERSION', '2.0');
|
||||
|
@ -630,8 +683,13 @@ class OC_Calendar_Object{
|
|||
return self::updateVCalendarFromRequest($request, $vcalendar);
|
||||
}
|
||||
|
||||
public static function updateVCalendarFromRequest($request, $vcalendar)
|
||||
{
|
||||
/**
|
||||
* @brief updates an VCalendar Object from the request data
|
||||
* @param array $request
|
||||
* @param object $vcalendar
|
||||
* @return object updated $vcalendar
|
||||
*/
|
||||
public static function updateVCalendarFromRequest($request, $vcalendar){
|
||||
$title = $request["title"];
|
||||
$location = $request["location"];
|
||||
$categories = $request["categories"];
|
||||
|
@ -811,29 +869,52 @@ class OC_Calendar_Object{
|
|||
$vevent->setString('DESCRIPTION', $description);
|
||||
$vevent->setString('CATEGORIES', $categories);
|
||||
|
||||
/*if($repeat == "true"){
|
||||
/**if($repeat == "true"){
|
||||
$vevent->RRULE = $repeat;
|
||||
}*/
|
||||
|
||||
return $vcalendar;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the owner of an object
|
||||
* @param integer $id
|
||||
* @return string
|
||||
*/
|
||||
public static function getowner($id){
|
||||
$event = self::find($id);
|
||||
$cal = OC_Calendar_Calendar::find($event['calendarid']);
|
||||
return $cal['userid'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns the calendarid of an object
|
||||
* @param integer $id
|
||||
* @return integer
|
||||
*/
|
||||
public static function getCalendarid($id){
|
||||
$event = self::find($id);
|
||||
return $event['calendarid'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief checks if an object is repeating
|
||||
* @param integer $id
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isrepeating($id){
|
||||
$event = self::find($id);
|
||||
return ($event['repeating'] == 1)?true:false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief converts the start_dt and end_dt to a new timezone
|
||||
* @param object $dtstart
|
||||
* @param object $dtend
|
||||
* @param boolean $allday
|
||||
* @param string $tz
|
||||
* @return array
|
||||
*/
|
||||
public static function generateStartEndDate($dtstart, $dtend, $allday, $tz){
|
||||
$start_dt = $dtstart->getDateTime();
|
||||
$end_dt = $dtend->getDateTime();
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
/*
|
||||
/**
|
||||
* This class manages the caching of repeating events
|
||||
* Events will be cached for the current year ± 5 years
|
||||
*/
|
||||
class OC_Calendar_Repeat{
|
||||
/*
|
||||
/**
|
||||
* @brief returns the cache of an event
|
||||
* @param (int) $id - id of the event
|
||||
* @return (array)
|
||||
|
@ -24,7 +24,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
return $return;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief returns the cache of an event in a specific peroid
|
||||
* @param (int) $id - id of the event
|
||||
* @param (DateTime) $from - start for period in UTC
|
||||
|
@ -44,7 +44,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
return $return;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief returns the cache of all repeating events of a calendar
|
||||
* @param (int) $id - id of the calendar
|
||||
* @return (array)
|
||||
|
@ -58,7 +58,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
return $return;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief returns the cache of all repeating events of a calendar in a specific period
|
||||
* @param (int) $id - id of the event
|
||||
* @param (string) $from - start for period in UTC
|
||||
|
@ -78,7 +78,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
return $return;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief generates the cache the first time
|
||||
* @param (int) id - id of the event
|
||||
* @return (bool)
|
||||
|
@ -104,7 +104,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief generates the cache the first time for all repeating event of an calendar
|
||||
* @param (int) id - id of the calendar
|
||||
* @return (bool)
|
||||
|
@ -116,7 +116,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief updates an event that is already cached
|
||||
* @param (int) id - id of the event
|
||||
* @return (bool)
|
||||
|
@ -126,7 +126,7 @@ class OC_Calendar_Repeat{
|
|||
self::generate($id);
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief updates all repating events of a calendar that are already cached
|
||||
* @param (int) id - id of the calendar
|
||||
* @return (bool)
|
||||
|
@ -136,7 +136,7 @@ class OC_Calendar_Repeat{
|
|||
self::generateCalendar($id);
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief checks if an event is already cached
|
||||
* @param (int) id - id of the event
|
||||
* @return (bool)
|
||||
|
@ -148,7 +148,7 @@ class OC_Calendar_Repeat{
|
|||
return false;
|
||||
}
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief checks if an event is already cached in a specific period
|
||||
* @param (int) id - id of the event
|
||||
* @param (DateTime) $from - start for period in UTC
|
||||
|
@ -163,7 +163,7 @@ class OC_Calendar_Repeat{
|
|||
}
|
||||
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief checks if a whole calendar is already cached
|
||||
* @param (int) id - id of the calendar
|
||||
* @return (bool)
|
||||
|
@ -183,7 +183,7 @@ class OC_Calendar_Repeat{
|
|||
return true;
|
||||
}
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief removes the cache of an event
|
||||
* @param (int) id - id of the event
|
||||
* @return (bool)
|
||||
|
@ -192,7 +192,7 @@ class OC_Calendar_Repeat{
|
|||
$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_repeat WHERE eventid = ?');
|
||||
$stmt->execute(array($id));
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief removes the cache of all events of a calendar
|
||||
* @param (int) id - id of the calendar
|
||||
* @return (bool)
|
||||
|
|
|
@ -5,17 +5,17 @@
|
|||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
/*
|
||||
/**
|
||||
* This class manages shared calendars
|
||||
*/
|
||||
class OC_Calendar_Share{
|
||||
const CALENDAR = 'calendar';
|
||||
const EVENT = 'event';
|
||||
/*
|
||||
/**
|
||||
* @brief: returns informations about all calendar or events which users are sharing with the user - userid
|
||||
* @param: (string) $userid - id of the user
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return: (array) $return - information about calendars
|
||||
* @param: string $userid - id of the user
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return: array $return - information about calendars
|
||||
*/
|
||||
public static function allSharedwithuser($userid, $type, $active=null, $permission=null){
|
||||
$group_where = self::group_sql(OC_Group::getUserGroups($userid));
|
||||
|
@ -33,11 +33,11 @@ class OC_Calendar_Share{
|
|||
}
|
||||
return $return;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: returns all users a calendar / event is shared with
|
||||
* @param: (int) id - id of the calendar / event
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return: (array) $users - information about users a calendar / event is shared with
|
||||
* @param: integer id - id of the calendar / event
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return: array $users - information about users a calendar / event is shared with
|
||||
*/
|
||||
public static function allUsersSharedwith($id, $type){
|
||||
$stmt = OCP\DB::prepare('SELECT * FROM *PREFIX*calendar_share_' . $type . ' WHERE ' . $type . 'id = ? ORDER BY share');
|
||||
|
@ -48,13 +48,13 @@ class OC_Calendar_Share{
|
|||
}
|
||||
return $users;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: shares a calendar / event
|
||||
* @param: (string) $owner - userid of the owner
|
||||
* @param: (string) $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: (string) $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: (string) $id - id of the calendar / event
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @param: string $owner - userid of the owner
|
||||
* @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: string $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: string $id - id of the calendar / event
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return (mixed) - token (if $sharetype == public) / bool (if $sharetype != public)
|
||||
*/
|
||||
public static function share($owner, $share, $sharetype, $id, $type){
|
||||
|
@ -80,14 +80,14 @@ class OC_Calendar_Share{
|
|||
return true;
|
||||
}
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: stops sharing a calendar / event
|
||||
* @param: (string) $owner - userid of the owner
|
||||
* @param: (string) $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: (string) $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: (string) $id - id of the calendar / event
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return (bool)
|
||||
* @param: string $owner - userid of the owner
|
||||
* @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: string $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: string $id - id of the calendar / event
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return boolean
|
||||
*/
|
||||
public static function unshare($owner, $share, $sharetype, $id, $type){
|
||||
$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_' . $type . ' WHERE owner = ? ' . (($sharetype != 'public')?'AND share = ?':'') . ' AND sharetype = ? AND ' . $type . 'id = ?');
|
||||
|
@ -98,14 +98,14 @@ class OC_Calendar_Share{
|
|||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: changes the permission for a calendar / event
|
||||
* @param: (string) $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: (string) $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: (string) $id - id of the calendar / event
|
||||
* @param: (int) $permission - permission of user the calendar / event is shared with (if $sharetype == public then $permission = 0)
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return (bool)
|
||||
* @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: string $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: string $id - id of the calendar / event
|
||||
* @param: integer $permission - permission of user the calendar / event is shared with (if $sharetype == public then $permission = 0)
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return boolean
|
||||
*/
|
||||
public static function changepermission($share, $sharetype, $id, $permission, $type){
|
||||
if($sharetype == 'public' && $permission == 1){
|
||||
|
@ -115,9 +115,9 @@ class OC_Calendar_Share{
|
|||
$stmt->execute(array($permission, $share, $sharetype, $id));
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: generates a token for public calendars / events
|
||||
* @return: (string) $token
|
||||
* @return: string $token
|
||||
*/
|
||||
private static function generate_token($id, $type){
|
||||
$uniqid = uniqid();
|
||||
|
@ -138,14 +138,14 @@ class OC_Calendar_Share{
|
|||
$token = md5($string);
|
||||
return substr($token, rand(0,16), 15);
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: checks if it is already shared
|
||||
* @param: (string) $owner - userid of the owner
|
||||
* @param: (string) $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: (string) $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: (string) $id - id of the calendar / event
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return (bool)
|
||||
* @param: string $owner - userid of the owner
|
||||
* @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: string $sharetype - type of sharing (can be: user/group/public)
|
||||
* @param: string $id - id of the calendar / event
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return boolean
|
||||
*/
|
||||
public static function is_already_shared($owner, $share, $sharetype, $id, $type){
|
||||
$stmt = OCP\DB::prepare('SELECT * FROM *PREFIX*calendar_share_' . $type . ' WHERE owner = ? AND share = ? AND sharetype = ? AND ' . $type . 'id = ?');
|
||||
|
@ -181,12 +181,12 @@ class OC_Calendar_Share{
|
|||
}
|
||||
return $active_where;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: checks the permission for editing an event
|
||||
* @param: (string) $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: (string) $id - id of the calendar / event
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return (bool)
|
||||
* @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: string $id - id of the calendar / event
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return boolean
|
||||
*/
|
||||
public static function is_editing_allowed($share, $id, $type){
|
||||
$group_where = self::group_sql(OC_Group::getUserGroups($share));
|
||||
|
@ -202,12 +202,12 @@ class OC_Calendar_Share{
|
|||
}
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: checks the access of
|
||||
* @param: (string) $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: (string) $id - id of the calendar / event
|
||||
* @param: (string) $type - use const self::CALENDAR or self::EVENT
|
||||
* @return (bool)
|
||||
* @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
|
||||
* @param: string $id - id of the calendar / event
|
||||
* @param: string $type - use const self::CALENDAR or self::EVENT
|
||||
* @return boolean
|
||||
*/
|
||||
public static function check_access($share, $id, $type){
|
||||
$group_where = self::group_sql(OC_Group::getUserGroups($share));
|
||||
|
@ -223,9 +223,9 @@ class OC_Calendar_Share{
|
|||
return false;
|
||||
}
|
||||
}
|
||||
/*
|
||||
/**
|
||||
* @brief: returns the calendardata of an event or a calendar
|
||||
* @param: (string) $token - token which should be searched
|
||||
* @param: string $token - token which should be searched
|
||||
* @return: mixed - bool if false, array with type and id if true
|
||||
*/
|
||||
public static function getElementByToken($token){
|
||||
|
@ -248,19 +248,19 @@ class OC_Calendar_Share{
|
|||
return $return;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief sets the active status of the calendar
|
||||
* @param (string) $
|
||||
* @param string
|
||||
*/
|
||||
public static function set_active($share, $id, $active){
|
||||
$stmt = OCP\DB::prepare("UPDATE *PREFIX*calendar_share_calendar SET active = ? WHERE share = ? AND sharetype = 'user' AND calendarid = ?");
|
||||
$stmt->execute(array($active, $share, $id));
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief deletes all shared calendars / events after a user was deleted
|
||||
* @param (string) $userid
|
||||
* @return (bool)
|
||||
* @param string $userid
|
||||
* @return boolean
|
||||
*/
|
||||
public static function post_userdelete($userid){
|
||||
$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_calendar WHERE owner = ?');
|
||||
|
@ -274,7 +274,7 @@ class OC_Calendar_Share{
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief deletes all shared events of a calendar
|
||||
* @param integer $calid
|
||||
* @return boolean
|
||||
|
@ -285,7 +285,7 @@ class OC_Calendar_Share{
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* @brief deletes all shares of an event
|
||||
* @param integer $eventid
|
||||
* @return boolean
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
.ui-draggable-dragging { width: 16em; }
|
||||
.ui-state-hover { border: 1px solid dashed; }
|
||||
#bottomcontrols { padding: 0; bottom:0px; height:2.8em; width: 20em; margin:0; background:#eee; border-top:1px solid #ccc; position:fixed; -moz-box-shadow: 0 -3px 3px -3px #000; -webkit-box-shadow: 0 -3px 3px -3px #000; box-shadow: 0 -3px 3px -3px #000;}
|
||||
#bottomcontrols img { margin-top: 0.35em; }
|
||||
#contacts_newcontact { float: left; margin: 0.2em 0 0 1em; }
|
||||
#chooseaddressbook { float: right; margin: 0.2em 1em 0 0; }
|
||||
#actionbar { height: 30px; width: 60px; position: fixed; right: 0px; top: 4em; margin: 0 0 0 0; padding: 0 0 0 0; z-index: 1000; }
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
<div id="bottomcontrols">
|
||||
<form>
|
||||
<button class="svg" id="contacts_newcontact" title="<?php echo $l->t('Add Contact'); ?>"><img class="svg" src="<?php echo OCP\Util::linkTo('contacts', 'img/contact-new.svg'); ?>" alt="<?php echo $l->t('Add Contact'); ?>" /></button>
|
||||
<button class="svg" id="contacts_newcontact" title="<?php echo $l->t('Add Contact'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('contacts', 'contact-new.svg'); ?>" alt="<?php echo $l->t('Add Contact'); ?>" /></button>
|
||||
<button class="svg" id="chooseaddressbook" title="<?php echo $l->t('Addressbooks'); ?>"><img class="svg" src="core/img/actions/settings.svg" alt="<?php echo $l->t('Addressbooks'); ?>" /></button>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -45,7 +45,7 @@ class OC_Helper {
|
|||
$urlLinkTo = OC::$WEBROOT . '/?app=' . $app;
|
||||
$urlLinkTo .= ($file!='index.php')?'&getfile=' . urlencode($file):'';
|
||||
}else{
|
||||
$urlLinkTo = OC_App::getAppWebPath($app) . $file;
|
||||
$urlLinkTo = OC_App::getAppWebPath($app) . '/' . $file;
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
|
Loading…
Reference in New Issue