/** * Return the title of a Resource * * @param ResourceLocator $locator The locator of the resource. * @return string The title of the resource (false if there is no resourceId or is not in a course) */ public function getResourceName(ResourceLocator $locator) { if ($locator->hasResourceId() && $locator->inCourse()) { return $this->_getTitle($locator->getCourseId(), $locator->getResourceId()); } return false; }
public function getResourceName(ResourceLocator $locator) { if ($locator->hasResourceId()) { $assignementId = $locator->getResourceId(); $tbl = get_module_course_tbl(array('wrk_assignment'), $locator->getCourseId()); $sql = "SELECT `title`\n" . "FROM `" . $tbl['wrk_assignment'] . "`\n" . "WHERE `id` = " . (int) $assignementId; $res = Claroline::getDatabase()->query($sql); $res->setFetchMode(Database_ResultSet::FETCH_VALUE); return $res->fetch(); } else { $moduleName = get_module_data('CLWRK', 'moduleName'); return get_lang($moduleName); } }
public function getResourceName(ResourceLocator $locator) { if (!$locator->hasResourceId()) { return false; } $tbl = get_module_course_tbl(array('calendar_event'), $locator->getCourseId()); $sql = "SELECT `titre`,`day`\n" . "FROM `{$tbl['calendar_event']}`\n" . "WHERE `id`=" . Claroline::getDatabase()->escape($locator->getResourceId()); $res = Claroline::getDatabase()->query($sql); $res->setFetchMode(Database_ResultSet::FETCH_OBJECT); $event = $res->fetch(); if ($event) { $titre = trim($event->titre); if (empty($titre)) { $titre = $event->day; } return $titre; } else { Console::debug("Cannot load ressource " . var_export($locator, true) . " in " . __CLASS__ . " : query returned " . var_export($event, true)); return null; } }
public function getResourceName(ResourceLocator $locator) { if (!$locator->hasResourceId()) { return false; } $tbl = get_module_course_tbl(array('announcement'), $locator->getCourseId()); $sql = "SELECT `title`\n" . "FROM `{$tbl['announcement']}`\n" . "WHERE `id`=" . Claroline::getDatabase()->escape($locator->getResourceId()); $res = Claroline::getDatabase()->query($sql); $res->setFetchMode(Database_ResultSet::FETCH_VALUE); $title = $res->fetch(); if ($title) { $title = trim($title); if (empty($title)) { $title = get_lang('Untitled'); } return $title; } else { Console::debug("Cannot load ressource " . var_export($locator, true) . " in " . __CLASS__ . " : query returned " . var_export($title, true)); return null; } }
public function getParentResourceId(ResourceLocator $locator) { if ($locator->hasResourceId()) { $resourceId = '/' . ltrim($locator->getResourceId(), '/'); $parentResourceId = ltrim(str_replace('\\', '/', dirname($resourceId)), '/'); if ($parentResourceId == '' || $parentResourceId == '/' || $parentResourceId == '.' || $parentResourceId == '..') { return false; } else { return $parentResourceId; } } else { return false; } }
public function getResourceList(ResourceLocator $locator) { $tbl = get_module_course_tbl(array('wiki_properties', 'wiki_pages'), $locator->getCourseId()); if ($locator->inGroup()) { $groupSql = "WHERE group_id = " . Claroline::getDatabase()->escape($locator->getGroupId()); } else { $groupSql = "WHERE group_id = 0"; } $resourceList = new LinkerResourceIterator(); if ($locator->hasResourceId()) { $parts = explode('/', ltrim($locator->getResourceId(), '/')); if (count($parts) == 1) { $sql = "SELECT `title`\n" . "FROM `{$tbl['wiki_pages']}`\n" . "WHERE wiki_id = " . Claroline::getDatabase()->escape($parts[0]); $res = Claroline::getDatabase()->query($sql); foreach ($res as $page) { $pageLoc = new ClarolineResourceLocator($locator->getCourseId(), 'CLWIKI', (int) $parts[0] . '/' . rawurlencode($page['title'])); $pageResource = new LinkerResource($page['title'] == '__MainPage__' ? get_lang('Main page') : $page['title'], $pageLoc, true, true, false); $resourceList->addResource($pageResource); } } } else { $sql = "SELECT `id`, `title`\n" . "FROM `{$tbl['wiki_properties']}`\n" . $groupSql; $res = Claroline::getDatabase()->query($sql); foreach ($res as $wiki) { $wikiLoc = new ClarolineResourceLocator($locator->getCourseId(), 'CLWIKI', (int) $wiki['id']); $wikiResource = new LinkerResource($wiki['title'], $wikiLoc, true, true, true); $resourceList->addResource($wikiResource); } } return $resourceList; }
public function getResourceList(ResourceLocator $locator) { $resourceList = new LinkerResourceIterator(); $tbl = get_module_course_tbl(array('bb_topics', 'bb_forums'), $locator->getCourseId()); if (!$locator->hasResourceId()) { if (!$locator->inGroup()) { $sql = "SELECT `forum_id`, `forum_name`, `group_id`\n" . "FROM `{$tbl['bb_forums']}`\n"; $forumList = Claroline::getDatabase()->query($sql); foreach ($forumList as $forum) { $forumLoc = new ClarolineResourceLocator($locator->getCourseId(), 'CLFRM', empty($forum['group_id']) ? (int) $forum['forum_id'] : null, empty($forum['group_id']) ? null : $forum['group_id']); $topicResource = new LinkerResource(empty($forum['forum_name']) ? get_lang('Untitled') : $forum['forum_name'], $forumLoc, true, true, true); $resourceList->addResource($topicResource); } } else { $sql = "SELECT `forum_id` AS `id`, `forum_name` AS `name`\n" . "FROM `{$tbl['bb_forums']}`\n" . "WHERE `group_id` = " . Claroline::getDatabase()->escape($locator->getGroupId()); $res = Claroline::getDatabase()->query($sql); if (count($res)) { $groupForum = $res->fetch(Database_ResultSet::FETCH_OBJECT); $sql = "SELECT `topic_id`, `topic_title`, `forum_id`\n" . "FROM `{$tbl['bb_topics']}`\n" . "WHERE `forum_id` = " . Claroline::getDatabase()->escape($groupForum->id); $topicList = Claroline::getDatabase()->query($sql); foreach ($topicList as $topic) { $topicLoc = new ClarolineResourceLocator($locator->getCourseId(), 'CLFRM', (int) $topic['topic_id'], $locator->getGroupId()); $topicResource = new LinkerResource(empty($topic['topic_title']) ? get_lang('Untitled') : $topic['topic_title'], $topicLoc, true, true, false); $resourceList->addResource($topicResource); } } } } else { if ($locator->inGroup()) { } else { $elems = explode('/', ltrim($locator->getResourceId(), '/')); if (count($elems) == 1) { $sql = "SELECT `topic_id`, `topic_title`, `forum_id`\n" . "FROM `{$tbl['bb_topics']}`\n" . "WHERE `forum_id` = " . Claroline::getDatabase()->escape($elems[0]); $topicList = Claroline::getDatabase()->query($sql); foreach ($topicList as $topic) { $topicLoc = new ClarolineResourceLocator($locator->getCourseId(), 'CLFRM', (int) $topic['forum_id'] . '/' . (int) $topic['topic_id']); $topicResource = new LinkerResource(empty($topic['topic_title']) ? get_lang('Untitled') : $topic['topic_title'], $topicLoc, true, true, false); $resourceList->addResource($topicResource); } } else { // not navigable } } } return $resourceList; }
public function getResourceName(ResourceLocator $locator) { $path = $locator->getResourceId(); return str_replace('/', ' > ', $path); }
public function getResourceName(ResourceLocator $locator) { if ($locator instanceof ExternalResourceLocator) { return $locator->__toString(); } else { $url = $locator->getResourceId(); $externalCourseToolList = claro_get_course_external_link_list($locator->getCourseId()); foreach ($externalCourseToolList as $externalCourseTool) { if ($externalCourseTool['url'] == $url) { return $externalCourseTool['name']; } } return $url; } }