/** * CLAROLINE * * @version $Revision: 13708 $ * @copyright (c) 2001-2011, Universite catholique de Louvain (UCL) * @license http://www.gnu.org/copyleft/gpl.html (GPL) GENERAL PUBLIC LICENSE * @package CLANN * @subpackage CLICAL * @author Claro Team <*****@*****.**> */ function CLANN_write_ical($iCal, $context) { if (is_array($context) && count($context) > 0) { $courseId = array_key_exists(CLARO_CONTEXT_COURSE, $context) ? $context[CLARO_CONTEXT_COURSE] : claro_get_current_course_id(); } require_once dirname(__FILE__) . '/../lib/announcement.lib.php'; $courseData = claro_get_course_data($courseId); $toolNameList = claro_get_tool_name_list(); $announcementList = announcement_get_item_list($context, 'DESC'); $organizer = (array) array($courseData['titular'], $courseData['email']); $attendees = array(); $categories = array(get_conf('siteName'), $courseData['officialCode'], trim($toolNameList['CLANN'])); foreach ($announcementList as $announcementItem) { if ('SHOW' == $announcementItem['visibility']) { /* $rssList[] = array( 'title' => trim($announcementItem['title']) , 'category' => trim($toolNameList['CLANN']) , 'guid' => get_module_url('CLANN') . '/announcements.php?cidReq='.claro_get_current_course_id().'&l#ann'.$announcementItem['id'] , 'link' => get_module_url('CLANN') . '/announcements.php?cidReq='.claro_get_current_course_id().'&l#ann'.$announcementItem['id'] , 'description' => trim(str_replace('<!-- content: html -->','',$announcementItem['content'])) , 'pubDate' => date('r', stripslashes(strtotime($announcementItem['time']))) //, 'author' => $_course['email'] ); */ $iCal->addJournal(trim($announcementItem['title']), trim(str_replace('<!-- content: html -->', '', $announcementItem['content'])), strtotime($announcementItem['time']), strtotime($announcementItem['time']), time(), 1, 1, $organizer, $attendees, $categories, 5, 10, 1, array(), 0, '', get_path('rootWeb') . get_module_url('CLANN') . '/announcements.php?cidReq=' . $courseId . '&l#ann' . $announcementItem['id'], get_locale('iso639_1_code'), ''); } } return $iCal; }
/** * Returns all the announces of a course. * @throws InvalidArgumentException if the $cid in not provided. * @webservice{/module/MOBILE/CLANN/getResourcesList/cidReq} * @ws_arg{Method,getResourcesList} * @ws_arg{cidReq,SYSCODE of requested cours} * @return array of Announce object */ function getResourcesList() { $cid = claro_get_current_course_id(); if ($cid == null) { throw new InvalidArgumentException('Missing cid argument!'); } From::Module('CLANN')->uses('announcement.lib'); $claroNotification = Claroline::getInstance()->notification; $date = $claroNotification->getLastActionBeforeLoginDate(claro_get_current_user_id()); $annList = array(); $d = new DateTime($date); $d->sub(new DateInterval('PT1M')); foreach (announcement_get_item_list(array('course' => $cid)) as $announce) { $notified = $claroNotification->isANotifiedRessource($cid, $date, claro_get_current_user_id(), claro_get_current_group_id(), get_tool_id_from_module_label('CLANN'), $announce['id'], false); $announce['notifiedDate'] = $notified ? $date : $announce['time']; $announce['seenDate'] = $d->format('Y-m-d H:i'); $announce['visibility'] = $announce['visibility'] != 'HIDE'; $announce['cours']['sysCode'] = $cid; $announce['date'] = $announce['time']; $announce['resourceId'] = $announce['id']; $announce['content'] = trim(strip_tags($announce['content'])); unset($announce['id'], $announce['visibleFrom'], $announce['visibleUntil']); if (claro_is_allowed_to_edit() || $announce['visibility']) { $annList[] = $announce; } } return $annList; }
/** * CLAROLINE * * @version $Revision: 13708 $ * @copyright (c) 2001-2011, Universite catholique de Louvain (UCL) * @license http://www.gnu.org/copyleft/gpl.html (GPL) GENERAL PUBLIC LICENSE * @package CLANN * @subpackage CLRSS * @author Claro Team <*****@*****.**> */ function CLANN_write_rss($context) { if (is_array($context) && count($context) > 0) { $courseId = array_key_exists(CLARO_CONTEXT_COURSE, $context) ? $context[CLARO_CONTEXT_COURSE] : claro_get_current_course_id(); } require_once dirname(__FILE__) . '/../lib/announcement.lib.php'; $toolNameList = claro_get_tool_name_list(); $announcementList = announcement_get_item_list($context, 'DESC'); $rssList = array(); foreach ($announcementList as $announcementItem) { if ('SHOW' == $announcementItem['visibility']) { $rssList[] = array('title' => trim($announcementItem['title']), 'category' => trim($toolNameList['CLANN']), 'guid' => get_path('rootWeb') . 'claroline/' . 'announcements/announcements.php?cidReq=' . $courseId . '&l#ann' . $announcementItem['id'], 'link' => get_path('rootWeb') . 'claroline/' . 'announcements/announcements.php?cidReq=' . $courseId . '&l#ann' . $announcementItem['id'], 'description' => trim(str_replace('<!-- content: html -->', '', $announcementItem['content'])), 'pubDate' => date('r', stripslashes(strtotime($announcementItem['time']))), 'dc:date' => date('c', stripslashes(strtotime($announcementItem['time'])))); } } return $rssList; }
build_rss( array('course' => claro_get_current_course_id())); }*/ // iCal update if (get_conf('enableICalInCourse', 1)) { require_once get_path('incRepositorySys') . '/lib/ical.write.lib.php'; buildICal(array('course' => claro_get_current_course_id())); } } } // end if isset $_REQUEST['cmd'] } // end if is_allowedToEdit // Prepare displays if ($displayList) { // list $announcementList = announcement_get_item_list($context); $bottomAnnouncement = $announcementQty = count($announcementList); } $displayButtonLine = (bool) $is_allowedToEdit && (empty($cmd) || $cmd != 'rqEdit' || $cmd != 'rqCreate'); // Command list $cmdList = array(); if ($displayButtonLine) { if ($cmd != 'rqEdit' && $cmd != 'rqCreate') { $cmdList[] = array('img' => 'announcement_new', 'name' => get_lang('Add announcement'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqCreate'))); } if (claro_is_course_manager()) { $cmdList[] = array('img' => 'mail_close', 'name' => get_lang('Messages to selected users'), 'url' => claro_htmlspecialchars(Url::Contextualize(get_path('clarolineRepositoryWeb') . 'messaging/messagescourse.php?from=clann'))); } if ($announcementQty > 0) { $cmdList[] = array('img' => 'delete', 'name' => get_lang('Clear up list of announcements'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=exDeleteAll')), 'params' => array('onclick' => 'return CLANN.confirmationDelAll()')); }