public function getForm($item, $description = '') { if ($item instanceof TaskPermission) { $tp = new TaskPermissionList(); $tp->add($item); } else { $tp = $item; } $gl = new GroupList($tp); $ul = new UserInfoList($tp); $uArray = $ul->getUserInfoList(); $gArray = $gl->getGroupList(); $tps = $tp->getTaskPermissions(); $html = ''; foreach ($tps as $_tp) { $html .= '<input type="hidden" name="tpID[]" value="' . $_tp->getTaskPermissionID() . '" />'; } $html .= '<a href="' . REL_DIR_FILES_TOOLS_REQUIRED . '/user_group_selector" id="ug-selector" dialog-modal="false" dialog-width="90%" dialog-title="' . t('Choose User/Group') . '" dialog-height="70%" class="ccm-button-right dialog-launch"><span><em>' . t('Add Group or User') . '</em></span></a>'; $html .= '<p>' . $description . '</p>'; $html .= '<div class="ccm-spacer"> </div><br/>'; $html .= '<div id="ccm-permissions-entities-wrapper" class="ccm-permissions-entities-wrapper"><div id="ccm-permissions-entity-base" class="ccm-permissions-entity-base">' . $this->getAccessRow($tp) . '</div>'; foreach ($gArray as $g) { $html .= $this->getAccessRow($tp, $g); } foreach ($uArray as $ui) { $html .= $this->getAccessRow($tp, $ui); } $html .= '</div>'; return $html; }
function buildRecords($exportUserInfo = true) { $tbl_mdb_names = claro_sql_get_main_tbl(); $tbl_user = $tbl_mdb_names['user']; $tbl_rel_course_user = $tbl_mdb_names['rel_course_user']; $tbl_cdb_names = claro_sql_get_course_tbl(claro_get_course_db_name_glued($this->course_id)); $tbl_team = $tbl_cdb_names['group_team']; $tbl_rel_team_user = $tbl_cdb_names['group_rel_team_user']; $username = claro_is_platform_admin() && get_conf('export_sensitive_data_for_admin', false) || get_conf('export_user_username', false) ? "`U`.`username` AS `username`," : ""; if (claro_is_platform_admin() && get_conf('export_sensitive_data_for_admin', false) || get_conf('export_user_password', false)) { if (claro_is_platform_admin() && get_conf('export_sensitive_data_for_admin', false) || get_conf('export_user_password_encrypted', true)) { $password = "******"; } else { $password = "******"; } } else { $password = ''; } // get user list $sql = "SELECT `U`.`user_id` AS `userId`,\n `U`.`nom` AS `lastname`,\n `U`.`prenom` AS `firstname`,\n {$username}\n {$password}\n `U`.`email` AS `email`,\n `U`.`officialCode` AS `officialCode`,\n GROUP_CONCAT(`G`.`id`) AS `groupId`,\n GROUP_CONCAT(`G`.`name`) AS `groupName`\n FROM\n (\n `" . $tbl_user . "` AS `U`,\n `" . $tbl_rel_course_user . "` AS `CU`\n )\n LEFT JOIN `" . $tbl_rel_team_user . "` AS `GU`\n ON `U`.`user_id` = `GU`.`user`\n LEFT JOIN `" . $tbl_team . "` AS `G`\n ON `GU`.`team` = `G`.`id`\n WHERE `U`.`user_id` = `CU`.`user_id`\n AND `CU`.`code_cours`= '" . claro_sql_escape($this->course_id) . "'\n GROUP BY U.`user_id`\n ORDER BY U.`user_id`"; $userList = claro_sql_query_fetch_all($sql); // build recordlist with good values for answers if (is_array($userList) && !empty($userList)) { // add titles at row 0, for that get the keys of the first row of array $this->recordList[0] = array_keys($userList[0]); $i = 1; $userIdList = array(); foreach ($userList as $user) { $userIdList[$user['userId']] = $i; if (!(claro_is_platform_admin() && get_conf('export_sensitive_data_for_admin', false) || get_conf('export_user_id', false))) { $user['userId'] = $i; } // $this->recordList is defined in parent class csv $this->recordList[$i] = $user; $i++; } if ($exportUserInfo) { $userInfoList = new UserInfoList($this->course_id); $userInfoLabelList = $userInfoList->getUserInfoLabels(); foreach ($userInfoLabelList as $catId => $catTitle) { $this->recordList[0][] = $catTitle; $userCatInfo = $userInfoList->getUserInfo($catId); foreach ($userCatInfo as $userCatInfo) { $this->recordList[$userIdList[$userCatInfo['userId']]][] = $userCatInfo['content']; } } } } if (is_array($this->recordList) && !empty($this->recordList)) { return true; } else { return false; } }
public function getForm($item, $description = '') { if ($item instanceof TaskPermission) { $tp = new TaskPermissionList(); $tp->add($item); } else { $tp = $item; } $gl = new GroupList($tp); $ul = new UserInfoList($tp); $uArray = $ul->getUserInfoList(); $gArray = $gl->getGroupList(); $tps = $tp->getTaskPermissions(); $html = ''; foreach($tps as $_tp) { $html .= '<input type="hidden" name="tpID[]" value="' . $_tp->getTaskPermissionID() . '" />'; } $html .= '<div class="ccm-pane-body">'; $html .= '<a class="btn ug-selector ccm-button-right dialog-launch" href="' . REL_DIR_FILES_TOOLS_REQUIRED . '/users/search_dialog?mode=choose_multiple" dialog-modal="false" dialog-width="90%" dialog-title="' . t('Add User') . '" dialog-height="70%">' . t('Add User') . '</a>'; $html .= '<a class="btn ug-selector ccm-button-right dialog-launch" style="margin-right: 5px" href="' . REL_DIR_FILES_TOOLS_REQUIRED . '/select_group" dialog-modal="false" dialog-title="' . t('Add Group') . '">' . t('Add Group') . '</a>'; $html .= '<p>' . $description . '</p>'; $html .= '<div id="ccm-permissions-entities-wrapper" class="ccm-permissions-entities-wrapper"><div id="ccm-permissions-entity-base" class="ccm-permissions-entity-base">' . $this->getAccessRow($tp) . '</div>'; foreach($gArray as $g) { $html .= $this->getAccessRow($tp, $g); } foreach($uArray as $ui) { $html .= $this->getAccessRow($tp, $ui); } $html .= '</div></div>'; return $html; }
$areac = Page::getByID($a->getAreaCollectionInheritID()); $inheritArea = Area::get($areac, $_GET['arHandle']); if ($inheritArea->overrideCollectionPermissions()) { // okay, so that area is still around, still has set permissions on it. So we // pass our current area to our grouplist, userinfolist objects, knowing that they will // smartly inherit the correct items. $gl = new GroupList($a); $ul = new UserInfoList($a); $permsSet = true; } } if (!$permsSet) { // otherwise we grab the collection permissions for this page $gl = new GroupList($c); $ul = new UserInfoList($c); } } $gArray = $gl->getGroupList(); $ulArray = $ul->getUserInfoList(); ?> <script type="text/javascript"> function ccm_triggerSelectUser(uID, uName) { rowValue = "uID:" + uID; rowText = uName; if ($("#_row_uID_" + uID).length > 0) { return false; }