Correct calendar loading when calendar are from hooks. fix oc-619

remotes/origin/stable4
Brice Maron 14 years ago
parent 7bc6e86969
commit ffe5ef2268
  1. 22
      apps/calendar/ajax/events.php
  2. 3
      apps/calendar/lib/app.php

@ -12,16 +12,20 @@ require_once('when/When.php');
OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('calendar');
$calendar = OC_Calendar_App::getCalendar($_GET['calendar_id'], false, false);
if(is_numeric($calendar['userid']) && $calendar['userid'] != OCP\User::getUser){
OCP\JSON::error();
exit;
// Look for the calendar id
$calendar_id = OC_Calendar_App::getCalendar($_GET['calendar_id'], false, false);
if($calendar_id !== false){
if(! is_numeric($calendar['userid']) && $calendar['userid'] != OCP\User::getUser()){
OCP\JSON::error();
exit;
}
$start = (version_compare(PHP_VERSION, '5.3.0', '>='))?DateTime::createFromFormat('U', $_GET['start']):new DateTime('@' . $_GET['start']);
$end = (version_compare(PHP_VERSION, '5.3.0', '>='))?DateTime::createFromFormat('U', $_GET['end']):new DateTime('@' . $_GET['end']);
}
$start = (version_compare(PHP_VERSION, '5.3.0', '>='))?DateTime::createFromFormat('U', $_GET['start']):new DateTime('@' . $_GET['start']);
$end = (version_compare(PHP_VERSION, '5.3.0', '>='))?DateTime::createFromFormat('U', $_GET['end']):new DateTime('@' . $_GET['end']);
$events = OC_Calendar_App::getrequestedEvents($calendar['id'], $start, $end);
else {
$calendar_id = $_GET['calendar_id'];
}
$events = OC_Calendar_App::getrequestedEvents($calendar_id, $start, $end);
$output = array();
foreach($events as $event){

@ -36,6 +36,9 @@ class OC_Calendar_App{
* @return mixed - bool / array
*/
public static function getCalendar($id, $security = true, $shared = false){
if(! is_numeric($id)){
return false;
}
$calendar = OC_Calendar_Calendar::find($id);
if($shared === true){
if(OC_Calendar_Share::check_access(OCP\USER::getUser(), $id, OC_Calendar_Share::CALENDAR)){

Loading…
Cancel
Save