/** * Return true if the current user is an administrator or belongs to the group, false otherwise * @param $group_id (int) group ID * @return boolean true/false * @since 11.1.003 (2010-10-05) */ function F_isAuthorizedEditorForGroup($group_id) { global $l, $db; require_once '../config/tce_config.php'; if ($_SESSION['session_user_level'] >= K_AUTH_ADMINISTRATOR or empty($group_id)) { // user is an administrator (belongs to all groups) or empty group return true; } return F_isUserOnGroup($_SESSION['session_user_id'], $group_id); }
echo getFormRowTextInput('user_birthplace', $l['w_birth_place'], $l['h_birth_place'], '', $user_birthplace, '', 255, false, false, false); echo getFormRowTextInput('user_ssn', $l['w_fiscal_code'], $l['h_fiscal_code'], '', $user_ssn, '', 255, false, false, false); echo '<div class="row">' . K_NEWLINE; echo '<span class="label">' . K_NEWLINE; echo '<label for="user_groups">' . $l['w_groups'] . '</label>' . K_NEWLINE; echo '</span>' . K_NEWLINE; echo '<span class="formw">' . K_NEWLINE; echo '<select name="user_groups[]" id="user_groups" size="5" multiple="multiple">' . K_NEWLINE; $sql = 'SELECT * FROM ' . K_TABLE_GROUPS . ' ORDER BY group_name'; if ($r = F_db_query($sql, $db)) { while ($m = F_db_fetch_array($r)) { echo '<option value="' . $m['group_id'] . '"'; if (!F_isAuthorizedEditorForGroup($m['group_id'])) { echo ' style="text-decoration:line-through;"'; } if (F_isUserOnGroup($user_id, $m['group_id'])) { echo ' selected="selected"'; $m['group_name'] = '* ' . $m['group_name']; } echo '>' . htmlspecialchars($m['group_name'], ENT_NOQUOTES, $l['a_meta_charset']) . '</option>' . K_NEWLINE; } } else { echo '</select></span></div>' . K_NEWLINE; F_display_db_error(); } echo '</select>' . K_NEWLINE; echo '</span>' . K_NEWLINE; echo '</div>' . K_NEWLINE; echo getFormRowTextInput('user_otpkey', $l['w_otpkey'], $l['h_otpkey'], '', $user_otpkey, '', 255, false, false, false); // display QR-Code for Google authenticator if (!empty($user_otpkey)) {