/** * * @return \Model\Course */ public function get_course() { if ($this->course && $this->course->get_id() == $this->c_id) { return $this->course; } $this->course = Course::get_by_id($this->c_id); return $this->course; }
* Note this script enables key authentication so access with a key token is possible. * * @package chamilo.document * @license see /license.txt * @author Laurent Opprecht <*****@*****.**> for the Univesity of Geneva */ KeyAuth::enable(); require_once __DIR__ . '/../inc/global.inc.php'; $has_access = api_protect_course_script(); if (!$has_access) { exit; } session_cache_limiter('none'); $ids = Request::get('id', ''); $ids = $ids ? explode(',', $ids) : array(); $course = Course::current(); /** * No files requested. We make sure we return 404 error to tell the client * that the call failed. */ if (count($ids) == 0 || empty($course)) { Response::not_found(); } /** * One file requested. In this case we return the file itself. */ if (count($ids) == 1) { $id = reset($ids); $doc = Document::get_by_id($course, $id); if (empty($doc)) { Response::not_found();
public function run() { if (!$this->accept()) { return false; } $course = Course::current(); $pathes = Request::get('path'); $pathes = is_array($pathes) ? $pathes : array($pathes); $ids = array(); foreach ($pathes as $path) { $doc = Document::get_by_path($course, $path); if ($doc) { $ids[] = $doc->get_id(); } } if (empty($ids)) { return false; } $user = new \Portfolio\User(); $user->email = Chamilo::user()->email(); $artefact = new Portfolio\Artefact(); $artefact->url = Portfolio::download_url($ids); $portfolio = $this->get_portfolio(); $result = $portfolio->send($user, $artefact); return $result; }