protected function getItems($a_content_obj, $a_group_obj) { global $ilUser, $tree; $counter = 0; $items = ilUtil::_getObjectsByOperations($this->type, 'write', $ilUser->getId(), -1); $items_obj_id = array(); $items_ids = array(); foreach ($items as $ref_id) { $obj_id = ilObject::_lookupObjId($ref_id); $items_ids[$obj_id] = $ref_id; $items_obj_id[] = $obj_id; } $items_obj_id = ilUtil::_sortIds($items_obj_id, 'object_data', 'title', 'obj_id'); $assigned_ids = array(); $assigned = $a_group_obj->getAssignedItems(); if ($assigned) { foreach ($assigned as $item) { $assigned_ids[] = $item['target_ref_id']; } } $data = array(); foreach ($items_obj_id as $obj_id) { $item_id = $items_ids[$obj_id]; if ($tree->checkForParentType($item_id, 'adm')) { continue; } $obj_id = ilObject::_lookupObjId($item_id); $data[] = array('id' => $item_id, 'title' => ilObject::_lookupTitle($obj_id), 'description' => ilObject::_lookupDescription($obj_id), 'path' => $this->__formatPath($tree->getPathFull($item_id)), 'assigned' => in_array($item_id, $assigned_ids)); } $this->setData($data); }
/** * get global role array * * @access protected */ private function prepareRoleSelect() { global $rbacreview, $ilObjDataCache; $global_roles = ilUtil::_sortIds($rbacreview->getGlobalRoles(), 'object_data', 'title', 'obj_id'); $select[0] = $this->lng->txt('links_select_one'); foreach ($global_roles as $role_id) { $select[$role_id] = ilObject::_lookupTitle($role_id); } return $select; }
/** * render attendance list * * @return string */ public function getHTML() { $tpl = new ilTemplate('tpl.attendance_list_print.html', true, true, 'Services/Membership'); // title $time = ilFormat::formatUnixTime(time(), true); $tpl->setVariable('TXT_TITLE', $this->title); if ($this->description) { $tpl->setVariable('TXT_DESCRIPTION', $this->description . " (" . $time . ")"); } else { $tpl->setVariable('TXT_DESCRIPTION', $time); } // header $tpl->setCurrentBlock('head_item'); foreach ($this->presets as $id => $item) { if ($item[1]) { $tpl->setVariable('TXT_HEAD', $item[0]); $tpl->parseCurrentBlock(); } } if ($this->blank_columns) { foreach ($this->blank_columns as $blank) { $tpl->setVariable('TXT_HEAD', $blank); $tpl->parseCurrentBlock(); } } // handle members $member_ids = array(); if ($this->show_admins) { $member_ids = array_merge((array) $member_ids, $this->participants->getAdmins()); } if ($this->show_tutors) { $member_ids = array_merge((array) $member_ids, $this->participants->getTutors()); } if ($this->show_members) { $member_ids = array_merge((array) $member_ids, $this->participants->getMembers()); } $member_ids = ilUtil::_sortIds((array) $member_ids, 'usr_data', 'lastname', 'usr_id'); // rows foreach ($member_ids as $user_id) { if ($this->callback) { $user_data = call_user_func_array($this->callback, array($user_id)); $tpl->setCurrentBlock("row_preset"); foreach ($this->presets as $id => $item) { if ($item[1]) { switch ($id) { case "name": if (!$user_data[$id]) { $name = ilObjUser::_lookupName($user_id); $value = $name["lastname"] . ", " . $name["firstname"]; break; } case "email": if (!$user_data[$id]) { $value = ilObjUser::_lookupEmail($user_id); break; } case "login": if (!$user_data[$id]) { $value = ilObjUser::_lookupLogin($user_id); break; } default: $value = (string) $user_data[$id]; break; } $tpl->setVariable("TXT_PRESET", $value); $tpl->parseCurrentBlock(); } } } if ($this->blank_columns) { for ($loop = 0; $loop < sizeof($this->blank_columns); $loop++) { $tpl->touchBlock('row_blank'); } } $tpl->touchBlock("member_row"); } return $tpl->get(); }
/** * Show course members */ public function showMembers() { global $lng, $ilUser, $ilObjDataCache; include_once 'Modules/Course/classes/class.ilCourseParticipants.php'; if ($_GET["search_crs"] != "") { $_POST["search_crs"] = explode(",", $_GET["search_crs"]); $_GET["search_crs"] = ""; } else { if ($_SESSION["search_crs"] != "") { $_POST["search_crs"] = explode(",", $_SESSION["search_crs"]); $_SESSION["search_crs"] = ""; } } if (!is_array($_POST["search_crs"]) || count($_POST["search_crs"]) == 0) { ilUtil::sendInfo($lng->txt("mail_select_course")); $this->showMyCourses(); } else { foreach ($_POST['search_crs'] as $crs_id) { $oTmpCrs = ilObjectFactory::getInstanceByObjId($crs_id); if ($oTmpCrs->getShowMembers() == $oTmpCrs->SHOW_MEMBERS_DISABLED) { unset($_POST['search_crs']); ilUtil::sendInfo($lng->txt('mail_crs_list_members_not_available_for_at_least_one_crs')); return $this->showMyCourses(); } unset($oTmpCrs); } $this->tpl->setTitle($this->lng->txt("mail_addressbook")); $this->ctrl->setParameter($this, "view", "crs_members"); if ($_GET["ref"] != "") { $this->ctrl->setParameter($this, "ref", $_GET["ref"]); } if (is_array($_POST["search_crs"])) { $this->ctrl->setParameter($this, "search_crs", implode(",", $_POST["search_crs"])); } $this->tpl->setVariable("ACTION", $this->ctrl->getFormAction($this)); $this->ctrl->clearParameters($this); $lng->loadLanguageModule('crs'); include_once 'Services/Contact/classes/class.ilMailSearchCoursesMembersTableGUI.php'; $context = $_GET["ref"] ? $_GET["ref"] : "mail"; $table = new ilMailSearchCoursesMembersTableGUI($this, 'crs', $context); $table->setId('show_crs_mmbrs_tbl'); $tableData = array(); $searchTpl = new ilTemplate('tpl.mail_search_template.html', true, true, 'Services/Contact'); foreach ($_POST["search_crs"] as $crs_id) { $members_obj = ilCourseParticipants::_getinstanceByObjId($crs_id); $tmp_members = $members_obj->getParticipants(); $course_members = ilUtil::_sortIds($tmp_members, 'usr_data', 'lastname', 'usr_id'); foreach ($course_members as $member) { $tmp_usr = new ilObjUser($member); if ($tmp_usr->checkTimeLimit() == false || $tmp_usr->getActive() == false) { unset($tmp_usr); continue; } unset($tmp_usr); $name = ilObjUser::_lookupName($member); $login = ilObjUser::_lookupLogin($member); $fullname = ""; if (in_array(ilObjUser::_lookupPref($member, 'public_profile'), array("g", 'y'))) { $fullname = $name['lastname'] . ', ' . $name['firstname']; } $rowData = array('members_id' => $member, 'members_login' => $login, 'members_name' => $fullname, 'members_crs_grp' => $ilObjDataCache->lookupTitle($crs_id), 'members_in_addressbook' => $this->abook->checkEntryByLogin($login) ? $lng->txt("yes") : $lng->txt("no"), 'search_crs' => $crs_id); $tableData[] = $rowData; } } $table->setData($tableData); if (count($tableData)) { $searchTpl->setVariable("TXT_MARKED_ENTRIES", $lng->txt("marked_entries")); } $searchTpl->setVariable('TABLE', $table->getHtml()); $this->tpl->setContent($searchTpl->get()); if ($_GET["ref"] != "wsp") { $this->tpl->show(); } } }
/** * Used for old style table. * @deprecated * @return * @param object $a_as_select[optional] */ private function prepareRoleSelect($a_as_select = true) { global $rbacreview, $ilObjDataCache; include_once './Services/LDAP/classes/class.ilLDAPAttributeMapping.php'; $global_roles = ilUtil::_sortIds($rbacreview->getGlobalRoles(), 'object_data', 'title', 'obj_id'); $select[0] = $this->lng->txt('links_select_one'); foreach ($global_roles as $role_id) { $select[$role_id] = ilObject::_lookupTitle($role_id); } if ($a_as_select) { return ilUtil::formSelect(ilLDAPAttributeMapping::_lookupGlobalRole($this->server->getServerId()), 'global_role', $select, false, true); } else { return $select; } }
/** * Events List CSV Export * * @access public * @param * */ public function exportCSV() { global $tree, $ilAccess; include_once 'Services/Utilities/classes/class.ilCSVWriter.php'; include_once 'Modules/Session/classes/class.ilEventParticipants.php'; $members = $this->members_obj->getParticipants(); $members = ilUtil::_sortIds($members, 'usr_data', 'lastname', 'usr_id'); $events = array(); foreach ($tree->getSubtree($tree->getNodeData($this->course_ref_id), false, 'sess') as $event_id) { $tmp_event = ilObjectFactory::getInstanceByRefId($event_id, false); if (!is_object($tmp_event) or !$ilAccess->checkAccess('write', '', $event_id)) { continue; } $events[] = $tmp_event; } $this->csv = new ilCSVWriter(); $this->csv->addColumn($this->lng->txt("lastname")); $this->csv->addColumn($this->lng->txt("firstname")); $this->csv->addColumn($this->lng->txt("login")); foreach ($events as $event_obj) { // TODO: do not export relative dates $this->csv->addColumn($event_obj->getTitle() . ' (' . $event_obj->getFirstAppointment()->appointmentToString() . ')'); } $this->csv->addRow(); foreach ($members as $user_id) { $name = ilObjUser::_lookupName($user_id); $this->csv->addColumn($name['lastname']); $this->csv->addColumn($name['firstname']); $this->csv->addColumn(ilObjUser::_lookupLogin($user_id)); foreach ($events as $event_obj) { $event_part = new ilEventParticipants((int) $event_obj->getId()); $this->csv->addColumn($event_part->hasParticipated($user_id) ? $this->lng->txt('event_participated') : $this->lng->txt('event_not_participated')); } $this->csv->addRow(); } $date = new ilDate(time(), IL_CAL_UNIX); ilUtil::deliverData($this->csv->getCSVString(), $date->get(IL_CAL_FKT_DATE, 'Y-m-d') . "_course_events.csv", "text/csv"); }
/** * list sessions of all user * * @access public * @param * @return */ public function eventsListObject() { global $ilErr, $ilAccess, $ilUser, $tree; if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) { $ilErr->raiseError($this->lng->txt('msg_no_perm_read'), $ilErr->MESSAGE); } $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.sess_list.html', 'Modules/Session'); $this->__showButton($this->ctrl->getLinkTarget($this, 'exportCSV'), $this->lng->txt('event_csv_export')); include_once 'Modules/Session/classes/class.ilEventParticipants.php'; $this->tpl->addBlockfile("EVENTS_TABLE", "events_table", "tpl.table.html"); $this->tpl->addBlockfile('TBL_CONTENT', 'tbl_content', 'tpl.sess_list_row.html', 'Modules/Session'); $members_obj = $this->initContainer(true); $members = $members_obj->getParticipants(); $members = ilUtil::_sortIds($members, 'usr_data', 'lastname', 'usr_id'); // Table $tbl = new ilTableGUI(); $tbl->setTitle($this->lng->txt("event_overview"), 'icon_usr.png', $this->lng->txt('obj_usr')); $this->ctrl->setParameter($this, 'offset', (int) $_GET['offset']); $course_ref_id = $tree->checkForParentType($this->object->getRefId(), 'crs'); $events = array(); foreach ($tree->getSubtree($tree->getNodeData($course_ref_id), false, 'sess') as $event_id) { $tmp_event = ilObjectFactory::getInstanceByRefId($event_id, false); if (!is_object($tmp_event) or $tmp_event->getType() != 'sess') { continue; } $events[] = $tmp_event; } $headerNames = array(); $headerVars = array(); $colWidth = array(); $headerNames[] = $this->lng->txt('name'); $headerVars[] = "name"; $colWidth[] = '20%'; for ($i = 1; $i <= count($events); $i++) { $headerNames[] = $i; $headerVars[] = "event_" . $i; $colWidth[] = 80 / count($events) . "%"; } $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $tbl->setHeaderNames($headerNames); $tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this, 'eventsList')); $tbl->setColumnWidth($colWidth); $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setOffset($_GET["offset"]); $tbl->setLimit($ilUser->getPref("hits_per_page")); $tbl->setMaxCount(count($members)); $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); $sliced_users = array_slice($members, $_GET['offset'], $_SESSION['tbl_limit']); $tbl->disable('sort'); $tbl->render(); $counter = 0; foreach ($sliced_users as $user_id) { foreach ($events as $event_obj) { $this->tpl->setCurrentBlock("eventcols"); $event_part = new ilEventParticipants($this->object->getId()); $this->tpl->setVariable("IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ? ilUtil::getImagePath('icon_ok.png') : ilUtil::getImagePath('icon_not_ok.png')); $this->tpl->setVariable("PARTICIPATED", $event_part->hasParticipated($user_id) ? $this->lng->txt('event_participated') : $this->lng->txt('event_not_participated')); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("tbl_content"); $name = ilObjUser::_lookupName($user_id); $this->tpl->setVariable("CSS_ROW", ilUtil::switchColor($counter++, 'tblrow1', 'tblrow2')); $this->tpl->setVariable("LASTNAME", $name['lastname']); $this->tpl->setVariable("FIRSTNAME", $name['firstname']); $this->tpl->setVariable("LOGIN", ilObjUser::_lookupLogin($user_id)); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable("HEAD_TXT_LEGEND", $this->lng->txt("legend")); $this->tpl->setVariable("HEAD_TXT_DIGIT", $this->lng->txt("event_digit")); $this->tpl->setVariable("HEAD_TXT_EVENT", $this->lng->txt("event")); $this->tpl->setVariable("HEAD_TXT_LOCATION", $this->lng->txt("event_location")); $this->tpl->setVariable("HEAD_TXT_DATE_TIME", $this->lng->txt("event_date_time")); $i = 1; foreach ($events as $event_obj) { $this->tpl->setCurrentBlock("legend_loop"); $this->tpl->setVariable("LEGEND_CSS_ROW", ilUtil::switchColor($counter++, 'tblrow1', 'tblrow2')); $this->tpl->setVariable("LEGEND_DIGIT", $i++); $this->tpl->setVariable("LEGEND_EVENT_TITLE", $event_obj->getTitle()); $this->tpl->setVariable("LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription()); $this->tpl->setVariable("LEGEND_EVENT_LOCATION", $event_obj->getLocation()); $this->tpl->setVariable("LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString()); $this->tpl->parseCurrentBlock(); } }
/** * Fetch all users that will be exported * * @access private * */ private function fetchUsers() { $this->readCourseSpecificFieldsData(); if ($this->settings->enabled('admin')) { $this->user_ids = $tmp_ids = $this->members->getAdmins(); $this->readCourseData($tmp_ids); } if ($this->settings->enabled('tutor')) { $this->user_ids = array_merge($tmp_ids = $this->members->getTutors(), $this->user_ids); $this->readCourseData($tmp_ids); } if ($this->settings->enabled('member')) { $this->user_ids = array_merge($tmp_ids = $this->members->getMembers(), $this->user_ids); $this->readCourseData($tmp_ids); } if ($this->settings->enabled('subscribers')) { $this->user_ids = array_merge($tmp_ids = $this->members->getSubscribers(), $this->user_ids); $this->readCourseData($tmp_ids, 'subscriber'); } if ($this->settings->enabled('waiting_list')) { include_once 'Modules/Course/classes/class.ilCourseWaitingList.php'; $waiting_list = new ilCourseWaitingList($this->obj_id); $this->user_ids = array_merge($waiting_list->getUserIds(), $this->user_ids); } // Sort by lastname $this->user_ids = ilUtil::_sortIds($this->user_ids, 'usr_data', 'lastname', 'usr_id'); // Finally read user profile data $this->user_profile_data = ilObjUser::_readUsersProfileData($this->user_ids); }
protected function adoptPermObject() { global $rbacreview; $output = array(); $parent_role_ids = $rbacreview->getParentRoleIds($this->rolf_ref_id, true); $ids = array(); foreach ($parent_role_ids as $id => $tmp) { $ids[] = $id; } // Sort ids $sorted_ids = ilUtil::_sortIds($ids, 'object_data', 'type,title', 'obj_id'); $key = 0; foreach ($sorted_ids as $id) { $par = $parent_role_ids[$id]; if ($par["obj_id"] != SYSTEM_ROLE_ID && $this->object->getId() != $par["obj_id"]) { $radio = ilUtil::formRadioButton(0, "adopt", $par["obj_id"]); $output["adopt"][$key]["css_row_adopt"] = $key % 2 == 0 ? "tblrow1" : "tblrow2"; $output["adopt"][$key]["check_adopt"] = $radio; $output["adopt"][$key]["role_id"] = $par["obj_id"]; $output["adopt"][$key]["type"] = $par["type"] == 'role' ? $this->lng->txt('obj_role') : $this->lng->txt('obj_rolt'); $output["adopt"][$key]["role_name"] = ilObjRole::_getTranslation($par["title"]); $output["adopt"][$key]["role_desc"] = $par["desc"]; $key++; } } $output["formaction_adopt"] = $this->ctrl->getFormAction($this); $output["message_middle"] = $this->lng->txt("adopt_perm_from_template"); $tpl = new ilTemplate("tpl.adm_copy_role.html", true, true, "Services/AccessControl"); $tpl->setCurrentBlock("ADOPT_PERM_ROW"); foreach ($output["adopt"] as $key => $value) { $tpl->setVariable("CSS_ROW_ADOPT", $value["css_row_adopt"]); $tpl->setVariable("CHECK_ADOPT", $value["check_adopt"]); $tpl->setVariable("LABEL_ID", $value["role_id"]); $tpl->setVariable("TYPE", $value["type"]); $tpl->setVariable("ROLE_NAME", $value["role_name"]); if (strlen($value['role_desc'])) { $tpl->setVariable('ROLE_DESC', $value['role_desc']); } $tpl->parseCurrentBlock(); } $tpl->setVariable("TPLPATH", $this->tpl->tplPath); $tpl->setVariable("MESSAGE_MIDDLE", $output["message_middle"]); $tpl->setVariable("FORMACTION_ADOPT", $output["formaction_adopt"]); $tpl->setVariable("ADOPT", $this->lng->txt('copy')); $tpl->setVariable("CANCEL", $this->lng->txt('cancel')); $tpl->setVariable('HEAD_ROLE', $this->lng->txt('title')); $tpl->setVariable('HEAD_TYPE', $this->lng->txt('type')); $this->tpl->setContent($tpl->get()); }
/** * Shoew add role * @global type $rbacreview * @global type $objDefinition * @return ilPropertyFormGUI */ protected function initRoleForm() { global $rbacreview, $objDefinition; include_once './Services/Form/classes/class.ilPropertyFormGUI.php'; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTitle($this->lng->txt('role_new')); $form->addCommandButton('addrole', $this->lng->txt('role_new')); $form->addCommandButton('perm', $this->lng->txt('cancel')); $title = new ilTextInputGUI($this->lng->txt('title'), 'title'); $title->setValidationRegexp('/^(?!il_).*$/'); $title->setValidationFailureMessage($this->lng->txt('msg_role_reserved_prefix')); $title->setSize(40); $title->setMaxLength(70); $title->setRequired(true); $form->addItem($title); $desc = new ilTextAreaInputGUI($this->lng->txt('description'), 'desc'); $desc->setCols(40); $desc->setRows(3); $form->addItem($desc); $pro = new ilCheckboxInputGUI($this->lng->txt('role_protect_permissions'), 'pro'); $pro->setInfo($this->lng->txt('role_protect_permissions_desc')); $pro->setValue(1); $form->addItem($pro); $pd = new ilCheckboxInputGUI($this->lng->txt('rbac_role_add_to_desktop'), 'desktop'); $pd->setInfo($this->lng->txt('rbac_role_add_to_desktop_info')); $pd->setValue(1); $form->addItem($pd); if (!$this->isInAdministration()) { $rights = new ilRadioGroupInputGUI($this->lng->txt("rbac_role_rights_copy"), 'rights'); $option = new ilRadioOption($this->lng->txt("rbac_role_rights_copy_empty"), 0); $rights->addOption($option); $parent_role_ids = $rbacreview->getParentRoleIds($this->gui_obj->object->getRefId(), true); $ids = array(); foreach ($parent_role_ids as $id => $tmp) { $ids[] = $id; } // Sort ids $sorted_ids = ilUtil::_sortIds($ids, 'object_data', 'type DESC,title', 'obj_id'); // Sort roles by title $sorted_roles = ilUtil::sortArray(array_values($parent_role_ids), 'title', ASC); $key = 0; foreach ($sorted_ids as $id) { $par = $parent_role_ids[$id]; if ($par["obj_id"] != SYSTEM_ROLE_ID) { include_once './Services/AccessControl/classes/class.ilObjRole.php'; $option = new ilRadioOption(($par["type"] == 'role' ? $this->lng->txt('obj_role') : $this->lng->txt('obj_rolt')) . ": " . ilObjRole::_getTranslation($par["title"]), $par["obj_id"]); $option->setInfo($par["desc"]); $rights->addOption($option); } $key++; } $form->addItem($rights); } // Local policy only for containers if ($objDefinition->isContainer($this->getCurrentObject()->getType())) { $check = new ilCheckboxInputGui($this->lng->txt("rbac_role_rights_copy_change_existing"), 'existing'); $check->setInfo($this->lng->txt('rbac_change_existing_objects_desc_new_role')); $form->addItem($check); } return $form; }
/** * render attendance list * * @return string */ public function getHTML() { $tpl = new ilTemplate('tpl.attendance_list_print.html', true, true, 'Services/Membership'); // title $time = ilFormat::formatUnixTime(time(), true); $tpl->setVariable('TXT_TITLE', $this->title); if ($this->description) { $tpl->setVariable('TXT_DESCRIPTION', $this->description . " (" . $time . ")"); } else { $tpl->setVariable('TXT_DESCRIPTION', $time); } // header $tpl->setCurrentBlock('head_item'); foreach ($this->presets as $id => $item) { if ($item[1]) { $tpl->setVariable('TXT_HEAD', $item[0]); $tpl->parseCurrentBlock(); } } if ($this->blank_columns) { foreach ($this->blank_columns as $blank) { $tpl->setVariable('TXT_HEAD', $blank); $tpl->parseCurrentBlock(); } } // handle members $valid_user_ids = $filters = array(); if ($this->roles) { if ($this->has_local_role) { $members = array(); foreach ($this->participants->getMembers() as $member_id) { foreach ($this->participants->getAssignedRoles($member_id) as $role_id) { $members[$role_id][] = $member_id; } } } else { $members = $this->participants->getMembers(); } foreach ($this->roles as $role_id) { switch ($this->role_data[$role_id][1]) { case "admin": $valid_user_ids = array_merge($valid_user_ids, $this->participants->getAdmins()); break; case "tutor": $valid_user_ids = array_merge($valid_user_ids, $this->participants->getTutors()); break; // member/local // member/local default: if (!$this->has_local_role) { $valid_user_ids = array_merge($valid_user_ids, (array) $members); } else { $valid_user_ids = array_merge($valid_user_ids, (array) $members[$role_id]); } break; } } } if ($this->include_subscribers) { $valid_user_ids = array_merge($valid_user_ids, $this->participants->getSubscribers()); } if ($this->include_waiting_list) { $valid_user_ids = array_merge($valid_user_ids, $this->waiting_list->getUserIds()); } if ($this->user_filters) { foreach ($this->user_filters as $sub_id => $sub_item) { $filters[$sub_id] = (bool) $sub_item[2]; } } $valid_user_ids = ilUtil::_sortIds(array_unique($valid_user_ids), 'usr_data', 'lastname', 'usr_id'); // rows foreach ($valid_user_ids as $user_id) { if ($this->callback) { $user_data = call_user_func_array($this->callback, array($user_id, $filters)); if (!$user_data) { continue; } $tpl->setCurrentBlock("row_preset"); foreach ($this->presets as $id => $item) { if ($item[1]) { switch ($id) { case "name": if (!$user_data[$id]) { $name = ilObjUser::_lookupName($user_id); $value = $name["lastname"] . ", " . $name["firstname"]; break; } case "email": if (!$user_data[$id]) { $value = ilObjUser::_lookupEmail($user_id); break; } case "login": if (!$user_data[$id]) { $value = ilObjUser::_lookupLogin($user_id); break; } default: $value = (string) $user_data[$id]; break; } $tpl->setVariable("TXT_PRESET", $value); $tpl->parseCurrentBlock(); } } } if ($this->blank_columns) { for ($loop = 0; $loop < sizeof($this->blank_columns); $loop++) { $tpl->touchBlock('row_blank'); } } $tpl->touchBlock("member_row"); } return $tpl->get(); }
protected function adoptPermObject() { global $rbacreview; $output = array(); $parent_role_ids = $rbacreview->getParentRoleIds($this->obj_ref_id, true); $ids = array(); foreach ($parent_role_ids as $id => $tmp) { $ids[] = $id; } // Sort ids $sorted_ids = ilUtil::_sortIds($ids, 'object_data', 'type,title', 'obj_id'); $key = 0; foreach ($sorted_ids as $id) { $par = $parent_role_ids[$id]; if ($par["obj_id"] != SYSTEM_ROLE_ID && $this->object->getId() != $par["obj_id"]) { $output[$key]["role_id"] = $par["obj_id"]; $output[$key]["type"] = $par["type"] == 'role' ? $this->lng->txt('obj_role') : $this->lng->txt('obj_rolt'); $output[$key]["role_name"] = ilObjRole::_getTranslation($par["title"]); $output[$key]["role_desc"] = $par["desc"]; $key++; } } include_once './Services/AccessControl/classes/class.ilRoleAdoptPermissionTableGUI.php'; $tbl = new ilRoleAdoptPermissionTableGUI($this, "adoptPerm"); $tbl->setTitle($this->lng->txt("adopt_perm_from_template")); $tbl->setData($output); $this->tpl->setContent($tbl->getHTML()); }