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

This commit is contained in:
Brice Maron 2012-05-10 19:36:30 +00:00
parent 7bc6e86969
commit ffe5ef2268
2 changed files with 16 additions and 9 deletions

View file

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

View file

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