本文整理汇总了PHP中Agenda::set_course方法的典型用法代码示例。如果您正苦于以下问题:PHP Agenda::set_course方法的具体用法?PHP Agenda::set_course怎么用?PHP Agenda::set_course使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Agenda
的用法示例。
在下文中一共展示了Agenda::set_course方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: importCalendarStatic
//.........这里部分代码省略.........
$startDateDay = substr($date, 6, 8);
$startDate = $startDateYear . '-' . $startDateMonth . '-' . $startDateDay . ' ' . $startTime . ":00";
$endDate = $startDateYear . '-' . $startDateMonth . '-' . $startDateDay . ' ' . $endTime . ":00";
if (!api_is_valid_date($startDate) || !api_is_valid_date($endDate)) {
$this->logger->addInfo("Verify your dates: '{$startDate}' : '{$endDate}' ");
$errorFound = true;
}
// If old events do nothing.
/*if (api_strtotime($startDate) < time()) {
continue;
}*/
if ($errorFound == false) {
$eventsToCreate[] = array('start' => $startDate, 'end' => $endDate, 'title' => $title, 'sender_id' => $teacherId, 'course_id' => $courseInfo['real_id'], 'session_id' => $sessionId, 'comment' => $comment, 'color' => $color, $this->extraFieldIdNameList['calendar_event'] => $row['external_calendar_itemID']);
}
}
if (empty($eventsToCreate)) {
$this->logger->addInfo("No events to add");
return 0;
}
$this->logger->addInfo("Ready to insert events");
$agenda = new Agenda();
$extraFieldValue = new ExtraFieldValue('calendar_event');
$extraFieldName = $this->extraFieldIdNameList['calendar_event'];
$externalEventId = null;
$extraField = new ExtraField('calendar_event');
$extraFieldInfo = $extraField->get_handler_field_info_by_field_variable($extraFieldName);
if (empty($extraFieldInfo)) {
$this->logger->addInfo("No calendar event extra field created: {$extraFieldName}");
return 0;
}
foreach ($eventsToCreate as $event) {
$update = false;
$item = null;
if (!isset($event[$extraFieldName])) {
$this->logger->addInfo("No external_calendar_itemID found. Skipping ...");
continue;
} else {
$externalEventId = $event[$extraFieldName];
if (empty($externalEventId)) {
$this->logger->addInfo("external_calendar_itemID was set but empty. Skipping ...");
continue;
}
$items = $extraFieldValue->get_item_id_from_field_variable_and_field_value($extraFieldName, $externalEventId, false, false, true);
$item = null;
foreach ($items as $tempItem) {
if ($tempItem['c_id'] == $event['course_id']) {
$item = $tempItem;
}
}
if (!empty($item)) {
$this->logger->addInfo("Event #{$externalEventId} was already added. Updating ...");
$update = true;
//continue;
}
}
$courseInfo = api_get_course_info_by_id($event['course_id']);
$agenda->set_course($courseInfo);
$agenda->setType('course');
$agenda->setSessionId($event['session_id']);
$agenda->setSenderId($event['sender_id']);
$agenda->setIsAllowedToEdit(true);
$eventComment = $event['comment'];
$color = $event['color'];
// To use the event comment you need
// ALTER TABLE c_calendar_event ADD COLUMN comment TEXT;
// add in configuration.php allow_agenda_event_comment = true
if (empty($courseInfo)) {
$this->logger->addInfo("No course found for added: #" . $event['course_id'] . " Skipping ...");
continue;
}
if (empty($event['sender_id'])) {
$this->logger->addInfo("No sender found: #" . $event['sender_id'] . " Skipping ...");
continue;
}
$content = '';
if ($update && isset($item['calendar_event_id'])) {
//the event already exists, just update
$eventId = $agenda->edit_event($item['calendar_event_id'], $event['start'], $event['end'], false, $event['title'], $content, array('everyone'), array(), null, $eventComment, $color);
if ($eventId !== false) {
$this->logger->addInfo("Event updated: #{$eventId}");
} else {
$this->logger->addInfo("Error while updating event.");
}
} else {
// New event. Create it.
$eventId = $agenda->add_event($event['start'], $event['end'], false, $event['title'], $content, array('everyone'), false, null, array(), null, $eventComment, $color);
if (!empty($eventId)) {
$extraFieldValue->is_course_model = true;
$extraFieldValue->save(array('field_value' => $externalEventId, 'field_id' => $extraFieldInfo['id'], 'calendar_event_id' => $eventId, 'c_id' => $event['course_id']));
$this->logger->addInfo("Event added: #{$eventId}");
} else {
$this->logger->addInfo("Error while creating event.");
}
}
}
}
if ($moveFile) {
$this->moveFile($file);
}
}
示例2: fill_db_course
//.........这里部分代码省略.........
copy($default_course_path . $value['file'], $course_documents_folder . $value['file']);
chmod($course_documents_folder . $value['file'], $perm_file);
//echo $default_course_path.$value['file']; echo ' - '; echo $course_documents_folder.$value['file']; echo '<br />';
$temp = explode('/', $value['file']);
$file_size = filesize($course_documents_folder . $value['file']);
//hack until feature #5242 is implemented
if ($media_type == 'images/gallery') {
$value["file"] = 'gallery/' . $value["file"];
}
//Inserting file in the DB
Database::query("INSERT INTO {$TABLETOOLDOCUMENT} (c_id, path,title,filetype,size)\n VALUES ({$course_id},'{$path_documents}" . $value["file"] . "','" . $temp[count($temp) - 1] . "','file','{$file_size}')");
$image_id = Database::insert_id();
if ($image_id) {
$sql = "UPDATE {$TABLETOOLDOCUMENT} SET id = iid WHERE iid = {$image_id}";
Database::query($sql);
if ($path_documents . $value['file'] == '/certificates/default.html') {
$example_cert_id = $image_id;
}
Database::query("INSERT INTO {$TABLEITEMPROPERTY} (c_id, tool,insert_user_id,insert_date,lastedit_date,ref,lastedit_type,lastedit_user_id,to_group_id,to_user_id,visibility)\n VALUES ({$course_id},'document',1,'{$now}','{$now}',{$image_id},'DocumentAdded',1,NULL,NULL,1)");
$docId = Database::insert_id();
if ($docId) {
$sql = "UPDATE {$TABLEITEMPROPERTY} SET id = iid WHERE iid = {$docId}";
Database::query($sql);
}
}
}
}
}
}
}
}
$agenda = new Agenda();
$agenda->setType('course');
$agenda->set_course($courseInfo);
$agenda->addEvent($now, $now, 0, get_lang('AgendaCreationTitle'), get_lang('AgendaCreationContenu'));
/* Links tool */
$link = new Link();
$link->setCourse($courseInfo);
$links = [['c_id' => $course_id, 'url' => 'http://www.google.com', 'title' => 'Google', 'description' => get_lang('Google'), 'category_id' => 0, 'on_homepage' => 0, 'target' => '_self', 'session_id' => 0], ['c_id' => $course_id, 'url' => 'http://www.wikipedia.org', 'title' => 'Wikipedia', 'description' => get_lang('Wikipedia'), 'category_id' => 0, 'on_homepage' => 0, 'target' => '_self', 'session_id' => 0]];
foreach ($links as $params) {
$link->save($params);
}
/* Announcement tool */
AnnouncementManager::add_announcement(get_lang('AnnouncementExampleTitle'), get_lang('AnnouncementEx'), ['everyone' => 'everyone'], null, null, $now);
$manager = Database::getManager();
/* Introduction text */
$intro_text = '<p style="text-align: center;">
<img src="' . api_get_path(REL_CODE_PATH) . 'img/mascot.png" alt="Mr. Chamilo" title="Mr. Chamilo" />
<h2>' . self::lang2db(get_lang('IntroductionText')) . '</h2>
</p>';
$toolIntro = new Chamilo\CourseBundle\Entity\CToolIntro();
$toolIntro->setCId($course_id)->setId(TOOL_COURSE_HOMEPAGE)->setSessionId(0)->setIntroText($intro_text);
$manager->persist($toolIntro);
$toolIntro = new Chamilo\CourseBundle\Entity\CToolIntro();
$toolIntro->setCId($course_id)->setId(TOOL_STUDENTPUBLICATION)->setSessionId(0)->setIntroText(get_lang('IntroductionTwo'));
$manager->persist($toolIntro);
$toolIntro = new Chamilo\CourseBundle\Entity\CToolIntro();
$toolIntro->setCId($course_id)->setId(TOOL_WIKI)->setSessionId(0)->setIntroText(get_lang('IntroductionWiki'));
$manager->persist($toolIntro);
$manager->flush();
/* Exercise tool */
$exercise = new Exercise($course_id);
$exercise->exercise = get_lang('ExerciceEx');
$html = '<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="110" valign="top" align="left">
示例3: explode
$DaysLong = api_get_week_days_long();
// Defining the months of the year to allow translation of the months
$MonthsLong = api_get_months_long();
if (empty($_GET['id'])) {
api_not_allowed();
}
$id = explode('_', $_GET['id']);
$type = $id[0];
$id = $id[1];
$agenda = new Agenda();
$agenda->type = $type;
//course,admin or personal
if (isset($_GET['course_id'])) {
$course_info = api_get_course_info_by_id($_GET['course_id']);
if (!empty($course_info)) {
$agenda->set_course($course_info);
}
}
$event = $agenda->get_event($id);
if (!empty($event)) {
define('ICAL_LANG', api_get_language_isocode());
$ical = new vcalendar();
$ical->setConfig('unique_id', api_get_path(WEB_PATH));
$ical->setProperty('method', 'PUBLISH');
$ical->setConfig('url', api_get_path(WEB_PATH));
$vevent = new vevent();
switch ($_GET['class']) {
case 'public':
$vevent->setClass('PUBLIC');
break;
case 'private':
示例4: updatePublicationAssignment
/**
* @param int $workId
* @param array $params
* @param array $courseInfo
* @param int $groupId
*/
function updatePublicationAssignment($workId, $params, $courseInfo, $groupId)
{
$table = Database::get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT);
$workTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
$workId = intval($workId);
$time = time();
$course_id = $courseInfo['real_id'];
// Insert into agenda
$agendaId = 0;
if (isset($params['add_to_calendar']) && $params['add_to_calendar'] == 1) {
require_once api_get_path(SYS_CODE_PATH).'calendar/agenda.inc.php';
require_once api_get_path(SYS_CODE_PATH).'resourcelinker/resourcelinker.inc.php';
// Setting today date
$date = $end_date = $time;
if (!empty($params['enableExpiryDate'])) {
$end_date = $params['expires_on'];
$date = $end_date;
}
$title = sprintf(get_lang('HandingOverOfTaskX'), $params['new_dir']);
$description = isset($params['description']) ? $params['description'] : '';
$content = '<a href="'.api_get_path(WEB_CODE_PATH).'work/work_list.php?'.api_get_cidreq().'&id='.$workId.'">'
.$params['new_dir'].'</a>'.$description;
$agendaId = agendaExistsForWork($workId, $courseInfo);
// Add/edit agenda
$agenda = new Agenda();
$agenda->set_course($courseInfo);
$agenda->type = 'course';
if (empty($agendaId)) {
$agendaId = $agenda->add_event(
$date,
$end_date,
'false',
$title,
$content,
array('GROUP:'.$groupId)
);
} else {
$agenda->edit_event(
$agendaId,
$end_date,
$end_date,
'false',
$title,
$content
);
}
}
$qualification = isset($params['qualification']) && !empty($params['qualification']) ? 1 : 0;
$expiryDate = (isset($params['enableExpiryDate']) && $params['enableExpiryDate'] == 1) ? api_get_utc_datetime($params['expires_on']) : '0000-00-00 00:00:00';
$endDate = ((isset($params['enableEndDate']) && $params['enableEndDate']==1) ? api_get_utc_datetime($params['ends_on']) : '0000-00-00 00:00:00');
$data = get_work_assignment_by_id($workId, $course_id);
if (empty($data)) {
$sql = "INSERT INTO $table SET
c_id = $course_id ,
expires_on = '".Database::escape_string($expiryDate)."',
ends_on = '".Database::escape_string($endDate)."',
add_to_calendar = $agendaId,
enable_qualification = '$qualification',
publication_id = '$workId'";
Database::query($sql);
$my_last_id = Database::insert_id();
$sql = "UPDATE $workTable SET
has_properties = $my_last_id ,
view_properties = 1
WHERE c_id = $course_id AND id = $workId";
Database::query($sql);
} else {
$sql = "UPDATE $table SET
expires_on = '".$expiryDate."',
ends_on = '".$endDate."',
add_to_calendar = $agendaId,
enable_qualification = '".$qualification."'
WHERE
publication_id = $workId AND
c_id = $course_id AND
id = ".$data['id'];
Database::query($sql);
}
if (!empty($params['category_id'])) {
//.........这里部分代码省略.........
示例5: updatePublicationAssignment
/**
* @param int $workId
* @param array $params
* @param array $courseInfo
* @param int $groupId
*/
function updatePublicationAssignment($workId, $params, $courseInfo, $groupId)
{
$table = Database::get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT);
$workTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
$workId = intval($workId);
$time = api_get_utc_datetime();
$course_id = $courseInfo['real_id'];
// Insert into agenda
$agendaId = 0;
if (isset($params['add_to_calendar']) && $params['add_to_calendar'] == 1) {
require_once api_get_path(SYS_CODE_PATH) . 'resourcelinker/resourcelinker.inc.php';
// Setting today date
$date = $end_date = $time;
if (isset($params['enableExpiryDate'])) {
$end_date = $params['expires_on'];
$date = $end_date;
}
$title = sprintf(get_lang('HandingOverOfTaskX'), $params['new_dir']);
$description = isset($params['description']) ? $params['description'] : '';
$content = '<a href="' . api_get_path(WEB_CODE_PATH) . 'work/work_list.php?' . api_get_cidreq() . '&id=' . $workId . '">' . $params['new_dir'] . '</a>' . $description;
$agendaId = agendaExistsForWork($workId, $courseInfo);
// Add/edit agenda
$agenda = new Agenda();
$agenda->set_course($courseInfo);
$agenda->type = 'course';
if (empty($agendaId)) {
$agendaId = $agenda->addEvent($date, $end_date, 'false', $title, $content, array('GROUP:' . $groupId));
} else {
$agenda->editEvent($agendaId, $end_date, $end_date, 'false', $title, $content);
}
}
$qualification = isset($params['qualification']) && !empty($params['qualification']) ? 1 : 0;
$expiryDate = isset($params['enableExpiryDate']) && $params['enableExpiryDate'] == 1 ? api_get_utc_datetime($params['expires_on']) : '';
$endDate = isset($params['enableEndDate']) && $params['enableEndDate'] == 1 ? api_get_utc_datetime($params['ends_on']) : '';
$data = get_work_assignment_by_id($workId, $course_id);
if (!empty($expiryDate)) {
$expiryDateCondition = "expires_on = '" . Database::escape_string($expiryDate) . "', ";
} else {
$expiryDateCondition = "expires_on = null, ";
}
if (!empty($endDate)) {
$endOnCondition = "ends_on = '" . Database::escape_string($endDate) . "', ";
} else {
$endOnCondition = "ends_on = null, ";
}
if (empty($data)) {
$sql = "INSERT INTO {$table} SET\n c_id = {$course_id} ,\n {$expiryDateCondition}\n {$endOnCondition}\n add_to_calendar = {$agendaId},\n enable_qualification = '{$qualification}',\n publication_id = '{$workId}'";
Database::query($sql);
$my_last_id = Database::insert_id();
if ($my_last_id) {
$sql = "UPDATE {$table} SET\n id = iid\n WHERE iid = {$my_last_id}";
Database::query($sql);
$sql = "UPDATE {$workTable} SET\n has_properties = {$my_last_id},\n view_properties = 1\n WHERE c_id = {$course_id} AND id = {$workId}";
Database::query($sql);
}
} else {
$sql = "UPDATE {$table} SET\n {$expiryDateCondition}\n {$endOnCondition}\n add_to_calendar = {$agendaId},\n enable_qualification = '" . $qualification . "'\n WHERE\n publication_id = {$workId} AND\n c_id = {$course_id} AND\n id = " . $data['id'];
Database::query($sql);
}
if (!empty($params['category_id'])) {
$link_info = GradebookUtils::is_resource_in_course_gradebook($courseInfo['code'], LINK_STUDENTPUBLICATION, $workId, api_get_session_id());
$linkId = null;
if (!empty($link_info)) {
$linkId = $link_info['id'];
}
if (isset($params['make_calification']) && $params['make_calification'] == 1) {
if (empty($linkId)) {
GradebookUtils::add_resource_to_course_gradebook($params['category_id'], $courseInfo['code'], LINK_STUDENTPUBLICATION, $workId, $params['new_dir'], (double) $params['weight'], (double) $params['qualification'], $params['description'], 1, api_get_session_id());
} else {
GradebookUtils::update_resource_from_course_gradebook($linkId, $courseInfo['code'], $params['weight']);
}
} else {
// Delete everything of the gradebook for this $linkId
GradebookUtils::remove_resource_from_course_gradebook($linkId);
}
}
}
示例6: show_add_form
/**
* Show the form for adding a new agenda item. This is the same function that is used whenever we are editing an
* agenda item. When the id parameter is empty (default behaviour), then we show an empty form, else we are editing and
* we have to retrieve the information that is in the database and use this information in the forms.
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
* @param integer id, the id of the agenda item we are editing. By default this is empty which means that we are adding an
* agenda item.
* @deprecated
*/
function show_add_form($id = '', $type = null)
{
$htmlHeadXtra[] = to_javascript();
$course_info = null;
$agendaObj = new Agenda();
// if the id is set then we are editing an agenda item
if (!empty($id)) {
$course_info = api_get_course_info();
if (!empty($course_info)) {
$agendaObj->set_course($course_info);
$agendaObj->type = 'course';
} else {
if (api_is_platform_admin() && $type == 'platform') {
$agendaObj->type = 'admin';
} else {
$agendaObj->type = 'personal';
}
}
$agendaItem = $agendaObj->get_event($id);
$title = $agendaItem['title'];
$content = $agendaItem['description'];
// start date
if ($agendaItem['start_date'] != '0000-00-00 00:00:00') {
$agendaItem['start_date'] = api_get_local_time($agendaItem['start_date']);
list($datepart, $timepart) = explode(" ", $agendaItem['start_date']);
list($year, $month, $day) = explode("-", $datepart);
list($hours, $minutes, $seconds) = explode(":", $timepart);
}
// end date
if (!empty($agendaItem['end_date']) && $agendaItem['end_date'] != '0000-00-00 00:00:00') {
$agendaItem['end_date'] = api_get_local_time($agendaItem['end_date']);
list($datepart, $timepart) = explode(" ", $agendaItem['end_date']);
list($end_year, $end_month, $end_day) = explode("-", $datepart);
list($end_hours, $end_minutes, $end_seconds) = explode(":", $timepart);
} else {
if ($agendaItem['all_day']) {
$end_year = $year;
$end_month = $month;
$end_day = $day;
$end_hours = $hours;
$end_minutes = $minutes;
$end_seconds = $seconds;
}
}
// attachments
//edit_added_resources("Agenda", $id);
//$to = $item_2_edit['to'];
} else {
$to = load_edit_users(TOOL_CALENDAR_EVENT, $id);
}
// we start a completely new item, we do not come from the resource linker
if (isset($_GET['originalresource']) && $_GET['originalresource'] !== "no" and $_GET['action'] == "add") {
$_SESSION["formelements"] = null;
unset_session_resources();
}
$origin = isset($_GET['origin']) ? Security::remove_XSS($_GET['origin']) : null;
$action = isset($_GET['action']) ? Security::remove_XSS($_GET['action']) : null;
$idAttach = isset($_GET['id_attach']) ? Security::remove_XSS($_GET['id_attach']) : null;
$course_url = empty($course_info) ? null : api_get_cidreq();
$id = isset($id) ? intval($id) : null;
$url = api_get_self() . '?type=' . Security::remove_XSS($type) . '&origin=' . $origin . '&' . $course_url . '&sort=asc&toolgroup=' . api_get_group_id() . '&action=' . Security::remove_XSS($_GET['action']);
$form = new FormValidator('new_calendar_item', 'post', $url, null, array('enctype' => 'multipart/form-data'));
$form->addElement('hidden', 'id', $id);
$form->addElement('hidden', 'action', $action);
$form->addElement('hidden', 'id_attach', $idAttach);
$form->addElement('hidden', 'sort', 'asc');
$form->addElement('hidden', 'submit_event', 'ok');
// The form title
if (isset($id) and $id != '') {
$form_title = get_lang('ModifyCalendarItem');
} else {
$form_title = get_lang('AddCalendarItem');
}
$form->addElement('header', $form_title);
$form->addElement('text', 'title', get_lang('ItemTitle'));
// selecting the users / groups
$group_id = api_get_group_id();
if (empty($id)) {
if (isset($group_id) && !empty($group_id)) {
$form->addElement('hidden', 'selected_form[0]', "GROUP:'.{$group_id}.'");
$form->addElement('hidden', 'To', 'true');
//$form .= '<input type="hidden" name="selected_form[0]" value="GROUP:'.$group_id.'"/>';
//$form .= '<input type="hidden" name="To" value="true"/>';
} else {
$agendaObj->show_to_form($form, $to);
}
}
// start date and time
$form->addElement('text', 'start_date', get_lang('StartDate'));
$form->addElement('text', 'end_date', get_lang('EndDate'));
// Repeating the calendar item
//.........这里部分代码省略.........
示例7: show_add_form
/**
* Show the form for adding a new agenda item. This is the same function that is used whenever we are editing an
* agenda item. When the id parameter is empty (default behaviour), then we show an empty form, else we are editing and
* we have to retrieve the information that is in the database and use this information in the forms.
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
* @param integer id, the id of the agenda item we are editing. By default this is empty which means that we are adding an
* agenda item.
*/
function show_add_form($id = '', $type = null)
{
$showImg = Display::return_icon('div_show.gif');
$hideImg = Display::return_icon('div_hide.gif');
$MonthsLong = api_get_months_long();
$htmlHeadXtra[] = to_javascript();
// the default values for the forms
if (!isset($_GET['originalresource'])) {
$day = date('d');
$month = date('m');
$year = date('Y');
$hours = 9;
$minutes = '00';
$title = null;
$content = null;
$repeat = false;
} else {
// we are coming from the resource linker so there might already have been some information in the form.
// When we clicked on the button to add resources we stored every form information into a session and now we
// are doing the opposite thing: getting the information out of the session and putting it into variables to
// display it in the forms.
$title = $form_elements['title'];
$content = $form_elements['content'];
$id = $form_elements['id'];
$to = $form_elements['to'];
$repeat = $form_elements['repeat'];
}
// switching the send to all/send to groups/send to users
if (isset($_POST['To']) && $_POST['To']) {
$day = $_POST['fday'];
$month = $_POST['fmonth'];
$year = $_POST['fyear'];
$hours = $_POST['fhour'];
$minutes = $_POST['fminute'];
$end_day = $_POST['end_fday'];
$end_month = $_POST['end_fmonth'];
$end_year = $_POST['end_fyear'];
$end_hours = $_POST['end_fhour'];
$end_minutes = $_POST['end_fminute'];
$title = $_POST['title'];
$content = $_POST['content'];
// the invisible fields
$action = $_POST['action'];
$id = $_POST['id'];
$repeat = !empty($_POST['repeat']) ? true : false;
}
$default_no_empty_end_date = 0;
$course_info = null;
// if the id is set then we are editing an agenda item
if (!empty($id)) {
$course_info = api_get_course_info();
$agendaObj = new Agenda();
if (!empty($course_info)) {
$agendaObj->set_course($course_info);
$agendaObj->type = 'course';
} else {
if (api_is_platform_admin() && $type == 'platform') {
$agendaObj->type = 'admin';
} else {
$agendaObj->type = 'personal';
}
}
$agendaItem = $agendaObj->get_event($id);
$title = $agendaItem['title'];
$content = $agendaItem['description'];
// start date
if ($agendaItem['start_date'] != '0000-00-00 00:00:00') {
$agendaItem['start_date'] = api_get_local_time($agendaItem['start_date']);
list($datepart, $timepart) = explode(" ", $agendaItem['start_date']);
list($year, $month, $day) = explode("-", $datepart);
list($hours, $minutes, $seconds) = explode(":", $timepart);
}
// end date
if (!empty($agendaItem['end_date']) && $agendaItem['end_date'] != '0000-00-00 00:00:00') {
$agendaItem['end_date'] = api_get_local_time($agendaItem['end_date']);
list($datepart, $timepart) = explode(" ", $agendaItem['end_date']);
list($end_year, $end_month, $end_day) = explode("-", $datepart);
list($end_hours, $end_minutes, $end_seconds) = explode(":", $timepart);
}
} else {
$to = load_edit_users(TOOL_CALENDAR_EVENT, $id);
}
$content = stripslashes($content);
$title = stripslashes($title);
$origin = isset($_GET['origin']) ? Security::remove_XSS($_GET['origin']) : null;
$course_url = empty($course_info) ? null : api_get_cidreq();
// The form title
if (isset($id) and $id != '') {
$form_title = get_lang('ModifyCalendarItem');
} else {
$form_title = get_lang('AddCalendarItem');
}
//.........这里部分代码省略.........
示例8: importCalendarStatic
//.........这里部分代码省略.........
if (empty($sessionId)) {
$this->logger->addInfo("external_sessionID: " . $externalSessionId . " does not exists.");
}
$teacherId = null;
if (!empty($sessionId) && !empty($courseInfo)) {
$courseIncluded = SessionManager::relation_session_course_exist($sessionId, $courseInfo['real_id']);
if ($courseIncluded == false) {
$this->logger->addInfo("Course '{$courseCode}' is not included in session: {$sessionId}");
$errorFound = true;
} else {
$teachers = CourseManager::get_coach_list_from_course_code($courseInfo['code'], $sessionId);
// Getting first teacher.
if (!empty($teachers)) {
$teacher = current($teachers);
$teacherId = $teacher['user_id'];
} else {
$sessionInfo = api_get_session_info($sessionId);
$teacherId = $sessionInfo['id_coach'];
}
}
} else {
$errorFound = true;
}
if (empty($teacherId)) {
$errorFound = true;
$this->logger->addInfo("No teacher found in course code : '{$courseCode}' and session: '{$sessionId}'");
}
$date = $row['date'];
$startTime = $row['time_start'];
$endTime = $row['time_end'];
$title = $row['title'];
$startDateYear = substr($date, 0, 4);
$startDateMonth = substr($date, 4, 2);
$startDateDay = substr($date, 6, 8);
$startDate = $startDateYear . '-' . $startDateMonth . '-' . $startDateDay . ' ' . $startTime . ":00";
$endDate = $startDateYear . '-' . $startDateMonth . '-' . $startDateDay . ' ' . $endTime . ":00";
if (!api_is_valid_date($startDate) or !api_is_valid_date($endDate)) {
$this->logger->addInfo("Verify your dates: '{$startDate}' : '{$endDate}' ");
$errorFound = true;
}
if ($errorFound == false) {
$eventsToCreate[] = array('start' => $startDate, 'end' => $endDate, 'title' => $title, 'sender_id' => $teacherId, 'course_id' => $courseInfo['real_id'], 'session_id' => $sessionId, $this->extraFieldIdNameList['calendar_event'] => $row['external_calendar_itemID']);
}
}
if (empty($eventsToCreate)) {
$this->logger->addInfo("No events to add");
return 0;
}
$this->logger->addInfo("Ready to insert events");
$content = null;
$agenda = new Agenda();
$extraFieldValue = new ExtraFieldValue('calendar_event');
$extraFieldName = $this->extraFieldIdNameList['calendar_event'];
$externalEventId = null;
$extraField = new ExtraField('calendar_event');
$extraFieldInfo = $extraField->get_handler_field_info_by_field_variable($extraFieldName);
if (empty($extraFieldInfo)) {
$this->logger->addInfo("No calendar event extra field created: {$extraFieldName}");
return 0;
}
foreach ($eventsToCreate as $event) {
if (!isset($event[$extraFieldName])) {
$this->logger->addInfo("No external_calendar_itemID found. Skipping ...");
continue;
} else {
$externalEventId = $event[$extraFieldName];
$item = $extraFieldValue->get_item_id_from_field_variable_and_field_value($extraFieldName, $externalEventId);
if (!empty($item) || empty($externalEventId)) {
$this->logger->addInfo("Event #{$externalEventId} was already added . Skipping ...");
continue;
}
}
$courseInfo = api_get_course_info_by_id($event['course_id']);
$agenda->set_course($courseInfo);
$agenda->setType('course');
$agenda->setSessionId($event['session_id']);
$agenda->setSenderId($event['sender_id']);
$agenda->setIsAllowedToEdit(true);
$eventComment = $event['comment'];
if (empty($courseInfo)) {
$this->logger->addInfo("No course found for added: #" . $event['course_id'] . " Skipping ...");
continue;
}
if (empty($event['sender_id'])) {
$this->logger->addInfo("No sender found: #" . $event['sender_id'] . " Skipping ...");
continue;
}
$eventId = $agenda->addEvent($event['start'], $event['end'], false, $event['title'], $content, array('everyone'), false, null, array(), null, $eventComment);
if (!empty($eventId)) {
$extraFieldValue->save(array('value' => $externalEventId, 'field_id' => $extraFieldInfo['id'], 'item_id' => $eventId));
$this->logger->addInfo("Event added: #{$eventId}");
} else {
$this->logger->addInfo("Error while creating event.");
}
}
}
if ($moveFile) {
$this->moveFile($file);
}
}