function pieform_element_filebrowser_build_filelist($form, $element, $folder, $highlight = null, $user = null, $group = null, $institution = null) { require_once 'license.php'; if (!$form->submitted_by_js()) { // We're going to rebuild the page from scratch anyway. return; } global $USER; $smarty = smarty_core(); $userid = null; if (is_null($institution) && is_null($group) && is_null($user)) { // See if the filebrowser has indicated it's a group element if (!empty($element['group'])) { $group = $element['group']; } else { // otherwise check if the form knows it's in a group setting $group = $form->get_property('group'); } // See if the filebrowser has indicated it's an institution element if (!empty($element['institution'])) { $institution = $element['institution']; } else { // otherwise check if the form knows it's in an institution setting $institution = $form->get_property('institution'); } $userid = $group || $institution ? null : $USER->get('id'); } if ($user) { $userid = $USER->get('id'); $smarty->assign('owner', 'user'); $smarty->assign('ownerid', $userid); } else { if ($institution) { $smarty->assign('owner', 'institution'); $smarty->assign('ownerid', $institution); } else { $smarty->assign('owner', 'group'); $smarty->assign('ownerid', $group); } } $editable = (int) $element['config']['edit']; $selectable = (int) $element['config']['select']; $selectfolders = (int) (!empty($element['config']['selectfolders'])); $publishing = (int) (!empty($element['config']['publishing'])); $showtags = !empty($element['config']['tag']) ? (int) $userid : 0; $editmeta = (int) ($userid && !$editable && !empty($element['config']['tag'])); $querybase = $element['page'] . (strpos($element['page'], '?') === false ? '?' : '&'); $prefix = $form->get_name() . '_' . $element['name']; $filters = isset($element['filters']) ? $element['filters'] : null; $filedata = ArtefactTypeFileBase::get_my_files_data($folder, $userid, $group, $institution, $filters); $switchwidth = ArtefactTypeFileBase::get_switch_width(); $smarty->assign('edit', -1); $smarty->assign('highlight', $highlight); $smarty->assign('editable', $editable); $smarty->assign('selectable', $selectable); $smarty->assign('selectfolders', $selectfolders); $smarty->assign('publishing', $publishing); $smarty->assign('showtags', $showtags); $smarty->assign('editmeta', $editmeta); $smarty->assign('filelist', $filedata); $smarty->assign('switchwidth', $switchwidth); $smarty->assign('querybase', $querybase); $smarty->assign('prefix', $prefix); $params = 'folder=' . ($folder === null ? 0 : $folder); if ($group !== null) { $params .= '&group=' . $group; } if ($institution !== null) { $params .= '&institution=' . $institution; } $smarty->assign('folderparams', $params); return array('data' => $filedata, 'html' => $smarty->fetch('artefact:file:form/filelist.tpl')); }