Example #1
0
/**
 * 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 . '&amp;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;
 }
Example #3
0
/**
 * 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;
}
Example #4
0
                  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()'));
    }