/** * Return select list of users * * @param string $selected User id or user object of user preselected. If -1, we use id of current user. * @param string $htmlname Field name in form * @param int $show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue * @param array $exclude Array list of users id to exclude * @param int $disabled If select list must be disabled * @param array $include Array list of users id to include * @param int $enableonly Array list of users id to be enabled. All other must be disabled * @return string HTML select string */ function select_dolusers($selected = '', $htmlname = 'userid', $show_empty = 0, $exclude = '', $disabled = 0, $include = '', $enableonly = '') { global $conf, $user, $langs; // If no preselected user defined, we take current user if ($selected < -1 && empty($conf->global->SOCIETE_DISABLE_DEFAULT_SALESREPRESENTATIVE)) { $selected = $user->id; } $out = ''; $object = new User($db); $result = $object->getView("list"); if (count($result->rows) && is_array($exclude)) { foreach ($result->rows as $key => $obj) { if (in_array($obj->id, $exclude, true)) { unset($result->rows[$key]); } } } $i = 0; if (count($result->rows)) { $out .= '<select class="flat" id="' . $htmlname . '" name="' . $htmlname . '"' . ($disabled ? ' disabled="disabled"' : '') . '>'; if ($show_empty) { $out .= '<option value="-1"' . ($selected == -1 ? ' selected="selected"' : '') . '> </option>' . "\n"; } foreach ($result->rows as $obj) { $object->id = $obj->id; $object->values->Lastname = $obj->value->Lastname; $object->values->Firstname = $obj->value->Firstname; $disableline = 0; if (is_array($enableonly) && count($enableonly) && !in_array($obj->value->name, $enableonly)) { $disableline = 1; } if (is_object($selected) && $selected->id == $obj->value->name || !is_object($selected) && $selected == $obj->value->name) { $out .= '<option value="' . $obj->value->name . '"'; if ($disableline) { $out .= ' disabled="disabled"'; } $out .= ' selected="selected">'; } else { $out .= '<option value="' . $obj->value->name . '"'; if ($disableline) { $out .= ' disabled="disabled"'; } $out .= '>'; } $out .= $object->getFullName($langs); //if ($obj->admin) $out.= ' *'; if (!$conf->global->MAIN_SHOW_LOGIN) { $out .= ' (' . $obj->value->name . ')'; } $out .= '</option>'; $i++; } } else { $out .= '<select class="flat" name="' . $htmlname . '" disabled="disabled">'; $out .= '<option value="">' . $langs->trans("None") . '</option>'; } $out .= '</select>'; return $out; }
dol_htmloutput_mesg($message); /* * Liste des utilisateurs dans le groupe */ print '<div class="row">'; print start_box($langs->trans("ListOfUsersInGroup"), "twelve", "16-User-2.png", false); // On selectionne les users qui ne sont pas deja dans le groupe $exclude = array(); $userstatic = new User($db); $result = $userstatic->getView("roles", array('key' => $object->name)); if (count($result->rows)) { foreach ($result->rows as $useringroup) { $exclude[] = $useringroup->value->_id; } } if ($caneditperms) { print '<form action="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '" method="POST">' . "\n"; print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; print '<input type="hidden" name="action" value="adduser">'; print '<table class="noborder" width="100%">' . "\n"; print '<tr class="liste_titre"><td class="liste_titre" width="25%">' . $langs->trans("NonAffectedUsers") . '</td>' . "\n"; print '<td>'; print $form->select_dolusers('', 'user', 1, $exclude, 0, '', '');