More fixes due the single course DB changes

skala
Julio Montoya 13 years ago
parent 5290722348
commit 6da0586855
  1. 47
      main/calendar/agenda.lib.php

@ -1,34 +1,41 @@
<?php
/* For licensing terms, see /license.txt */
/**
* @author: Julio Montoya <gugli100@gmail.com> Implementing a real agenda lib
*/
class Agenda {
var $events = array();
var $type = 'personal'; // personal, admin or course
function __construct() {
//Table definitions
$this->tbl_global_agenda = Database::get_main_table(TABLE_MAIN_SYSTEM_CALENDAR);
$this->tbl_personal_agenda = Database::get_user_personal_table(TABLE_PERSONAL_AGENDA);
$this->tbl_personal_agenda = Database::get_user_personal_table(TABLE_PERSONAL_AGENDA);
$this->tbl_course_agenda = Database::get_course_table(TABLE_AGENDA);
//Setting the course object if we are in a course
$this->course = null;
$this->tbl_course_agenda = null;
$course_info = api_get_course_info();
if (!empty($course_info)) {
$this->course = $course_info;
$this->tbl_course_agenda = Database::get_course_table(TABLE_AGENDA, $course_info['db_name']);
if (!empty($course_info)) {
$this->course = $course_info;
}
$this->events = array();
//Event colors
$this->event_platform_color = 'red';//red
$this->event_course_color = '#458B00'; //green
$this->event_group_color = '#A0522D'; //siena
$this->event_session_color = '#000080'; // blue
$this->event_personal_color = 'steel blue'; //steel blue
$this->type = 'personal';
}
/**
*
* Add an event
* Adds an event
* @param int start tms
* @param int end tms
* @param string agendaDay, agendaWeek, month
@ -43,7 +50,7 @@ class Agenda {
$all_day = isset($all_day) && $all_day == 'true' ? 1:0;
$attributes = array();
$id = null;
$id = null;
switch ($this->type) {
case 'personal':
$attributes['user'] = api_get_user_id();
@ -82,8 +89,7 @@ class Agenda {
return $id;
}
function edit_event($id, $start, $end, $all_day, $view, $title, $content) {
function edit_event($id, $start, $end, $all_day, $view, $title, $content) {
$start = date('Y-m-d H:i:s', $start);
$start = api_get_utc_datetime($start);
@ -94,7 +100,7 @@ class Agenda {
$all_day = isset($all_day) && $all_day == '1' ? 1:0;
$attributes = array();
switch($this->type) {
case 'personal':
$attributes['title'] = $title;
@ -199,7 +205,7 @@ class Agenda {
break;
case 'course':
$sql = "UPDATE $this->tbl_course_agenda SET start_date = DATE_ADD(start_date,INTERVAL $delta MINUTE), end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE)
WHERE id=".intval($id);
WHERE c_id = ".$this->course['real_id']." AND id=".intval($id);
$result = Database::query($sql);
break;
case 'admin':
@ -213,7 +219,7 @@ class Agenda {
}
/**
* Gets a single personal event
* Gets a single event
* @param int event id
*/
function get_event($id) {
@ -304,9 +310,7 @@ class Agenda {
( ip.to_user_id=$user_id OR ip.to_group_id IN (0, ".implode(", ", $group_memberships).") ) AND
ip.visibility = '1' AND
agenda.c_id = $course_id AND
ip.c_id = $course_id
";
ip.c_id = $course_id";
} else {
if (api_get_user_id()) {
$sql="SELECT agenda.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.ref
@ -346,6 +350,7 @@ class Agenda {
$event['title'] = $row['title'];
$event['className'] = 'course';
$event['allDay'] = 'false';
// var_dump($row);
$event['borderColor'] = $event['backgroundColor'] = $this->event_course_color;
if (isset($row['session_id']) && !empty($row['session_id'])) {
@ -421,12 +426,10 @@ class Agenda {
$this->events[]= $event;
}
}
return $my_events;
return $my_events;
}
//Format needed for the js lib
function format_event_date($utc_time) {
return date('c', api_strtotime(api_get_local_time($utc_time)));
}

Loading…
Cancel
Save