Merge branch 'master' into calendar_import

This commit is contained in:
Georg Ehrke 2012-06-30 22:08:36 +02:00
commit 4890bbb30d
9 changed files with 234 additions and 147 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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)

View File

@ -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

View File

@ -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; }

View File

@ -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>

View File

@ -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{