* GNU General Public License for more details. * * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ require_once dirname(__FILE__) . '/inc.php'; require_once dirname(__FILE__) . '/lib/sharelib.php'; $courseid = required_param('courseid', PARAM_INT); $sort = optional_param('sort', '', PARAM_RAW); $access = optional_param('access', 0, PARAM_TEXT); require_login($courseid); $context = get_context_instance(CONTEXT_SYSTEM); require_capability('block/exabis_eportfolio:use', $context); if (!($course = get_record("course", "id", $courseid))) { error("That's an invalid course id"); } if (!($user = block_exabis_eportfolio_get_user_from_access($access))) { print_error("nouserforid", "block_exabis_eportfolio"); } $parsedsort = block_exabis_eportfolio_parse_view_sort($sort); $sql_sort = block_exabis_eportfolio_view_sort_to_sql($parsedsort); $sort = $parsedsort[0] . '.' . $parsedsort[1]; $sortkey = $parsedsort[0]; if ($parsedsort[1] == "desc") { $newsort = $sortkey . ".asc"; } else { $newsort = $sortkey . ".desc"; } $sorticon = $parsedsort[1] . '.gif'; block_exabis_eportfolio_print_header("sharedbookmarks"); $strheader = get_string("sharedbookmarks", "block_exabis_eportfolio"); /*
function block_exabis_eportfolio_get_item($itemid, $access) { global $CFG, $USER; $itemid = clean_param($itemid, PARAM_INT); $item = null; if (preg_match('!^view/(.+)$!', $access, $matches)) { // in view mode if (!($view = block_exabis_eportfolio_get_view_from_access($matches[1]))) { print_error("viewnotfound", "block_exabis_eportfolio"); } if (!($viewblock = get_record("block_exabeporviewblock", "viewid", $view->id, "type", "item", "itemid", $itemid))) { // item not linked to view -> no rights } if (!($item = get_record("block_exabeporitem", "id", $itemid, "userid", $view->userid))) { // item not found return; } $item->access = $view->access; $item->access->page = 'view'; // comments allowed? if ($item->access->request == 'extern') { $item->allowComments = $view->externcomment; //false; $item->showComments = $view->externcomment; // TODO: comments anhand view einstellung zeigen } else { $item->allowComments = true; $item->showComments = true; } } elseif (preg_match('!^portfolio/(.+)$!', $access, $matches)) { // in user portfolio mode if (!($user = block_exabis_eportfolio_get_user_from_access($matches[1]))) { return; } if ($user->access->request == 'extern') { if (!($item = get_record("block_exabeporitem", "id", $itemid, "userid", $user->id, "externaccess", 1))) { // item not found return; } } else { // intern $item = get_record_sql("SELECT i.* FROM {$CFG->prefix}block_exabeporitem i" . " LEFT JOIN {$CFG->prefix}block_exabeporitemshar ishar ON i.id=ishar.itemid AND ishar.userid={$USER->id}" . " WHERE i.id='" . $itemid . "' AND" . " ((i.userid='" . $USER->id . "')" . " OR (i.shareall=1 AND ishar.userid IS NULL)" . " OR (i.shareall=0 AND ishar.userid IS NOT NULL))"); // nobody, but me if (!$item) { // item not found return; } } $item->access = $user->access; $item->access->page = 'portfolio'; // comments allowed? if ($item->access->request == 'extern') { $item->allowComments = false; $item->showComments = $item->externcomment; } else { $item->allowComments = true; $item->showComments = true; } } else { return; } $item->access->access = $access; $item->access->parentAccess = substr($item->access->access, strpos($item->access->access, '/') + 1); return $item; }