function selfDelete(form, self){
if (self == form.del_user.value){
if (!confirm('Are you sure you want to delete the user?')){
form.del_user.value = \"\";
form.del_user.focus();
return false;
}
}
}
function enableNewGroup(form){
if (form.new_group.value == \"\")
form.new_CreateGroup.disabled=false;
else
form.new_CreateGroup.disabled=true;
}
function valida(form, user){
if (form.name == \"addUser\"){
if (form.new_user.value == \"\"){
alert(\"Enter the desired user name!\");
form.new_user.focus();
return false;
}
if (form.new_user.value.length < 3){
alert(\"The user name must contain, at least, 3 characters!\");
form.new_user.value = \"\";
form.new_user.focus();
return false;
}
if (form.edit_prefname.value == \"\"){
alert(\"Enter a name of your choice!\");
form.edit_prefname.focus();
return false;
}
if (form.new_senha.value == \"\"){
alert(\"Enter a password!\");
form.new_senha.focus();
return false;
}
if (form.new_senha.value.length < 5){
alert(\"The password must contain, at least, 5 characters!\");
form.new_senha.value = \"\";
form.new_senha2.value = \"\";
form.new_senha.focus();
return false;
}
if (form.new_senha2.value == \"\"){
alert(\"Retype the password!\");
form.new_senha2.focus();
return false;
}
if (form.new_senha.value != form.new_senha2.value){
alert(\"The passwords do not match!\");
form.new_senha.value = \"\";
form.new_senha2.value = \"\";
form.new_senha.focus();
return false;
}
if (form.new_group.value == \"\"){
if (form.new_CreateGroup.value == \"\"){
alert(\"Enter the group for the user!\");
form.new_CreateGroup.focus();
return false;
}
}
if (form.new_level.value == \"\"){
alert(\"Enter a level for the user!\");
form.new_level.focus();
return false;
}
}else if(form.name == \"delUser\"){
if (form.del_user.value == \"\"){
alert(\"Enter the user name to be removed!\");
form.del_user.focus();
return false;
}else{
return selfDelete(form, user);
}
}else if(form.name == \"editAcc\"){
if (form.edit_prefname.value == \"\"){
alert(\"Enter a name of your choice!\");
form.edit_prefname.focus();
return false;
}
if (form.edit_senha.value == \"\"){
alert(\"Enter a new password (or the current one)\");
form.edit_senha.focus();
return false;
}
if (form.edit_senha.value.length < 5){
alert(\"The password must contain, at least, 5 characters!\");
form.edit_senha.value = \"\";
form.edit_senha.focus();
return false;
}
if (form.edit_senha2.value == \"\"){
alert(\"Retype your password!\");
form.edit_senha2.focus();
return false;
}
if (form.edit_senha.value != form.edit_senha2.value){
alert(\"The passwords do not match!\");
form.edit_senha.value = \"\";
form.edit_senha2.value = \"\";
form.edit_senha.focus();
return false;
}
}
}
";
$levels = array('Administrador', 'Anotador', 'Pesquisador', 'Visitante');
$genopar = new Genopar();
verGetPost(array("action", "editarUser", "processa"));
if (isset($action)){
switch ($action){
case 'cadastrar':
$genopar->abrePagina("Add a new user");
break;
case 'remover':
$genopar->abrePagina("Remove an user");
break;
case 'editar':
$genopar->abrePagina("Edit your own account");
break;
default:
$genopar->abrePagina("Accounts management");
}
}else{
$genopar->abrePagina("Accounts management");
}
$genopar->abreBanco();
if (isset($_SESSION['_authsession']['data']['UserAuth_username']))
$user=$_SESSION['_authsession']['data']['UserAuth_username'];
elseif (isset($_COOKIE['USERNAME']))
$user=$_COOKIE['USERNAME'];
else
die("Was not possible to identify the user name");
$n= $genopar->queryBanco("SELECT * FROM users WHERE username='$user'");
if (!isset($prefname))
{
if ($n==1)
{
$lin= $genopar->getArray();
$prefname=$lin['prefname'];
$level = $lin['level'];
}
else
$prefname= $user;
}
echo "
\n";
echo "
Welcome: $prefname
\n";
echo "
\n";
echo "
\n";
echo "\n";
if (isset($action)){
if ($action == "viewAll" && $level == LVLADM){
echo "
\n";
echo "
\n";
echo '';
echo '| ';
echo 'Editar';
echo ' | ';
echo '';
echo 'Usuário';
echo ' | ';
echo '';
echo 'Nome';
echo ' | ';
echo '';
echo 'Nível';
echo ' | ';
echo '';
echo 'Grupo';
echo ' | ';
echo '
';
$n = $genopar->queryBanco("SELECT * FROM users");
while($lin = $genopar->getArray()){
echo '';
echo '| ';
echo "Edit";
echo ' | ';
echo '';
echo $lin['username'];
echo ' | ';
echo '';
echo $lin['prefname'];
echo ' | ';
echo '';
echo $lin['level'];
echo ' | ';
echo '';
echo $lin['group'];
echo ' | ';
echo '
';
}
echo "
\n";
echo "\n";
}
/**
** CADASTRO DE USUARIO
**
** Formulario para obter dados do novo usuario
** JS valida se foi digitado valores em todos os campos
**/
elseif ($action == "cadastrar" && !isset($_POST['Cadastrar']) && $level == 1){
$genopar->abreForm("return valida(this);", "addUser");
echo "
\n";
echo "\n";
echo "\t| User: | \n";
echo "\t";
$genopar->input("new_user");
echo " | \n";
echo "
\n";
echo "\n";
echo "\t| Password: | \n";
echo "\t";
$genopar->input("new_senha", "password");
echo " | \n";
echo "
\n";
echo "\n";
echo "\t| Retype the password: | \n";
echo "\t";
$genopar->input("new_senha2", "password");
echo " | \n";
echo "
\n";
echo "\n";
echo "\t| Name: | \n";
echo "\t";
$genopar->input("new_prefname");
echo " | \n";
echo "
\n";
mysql_select_db($DB_NAME) or $genopar->error();
$r = $genopar->queryBanco("SELECT `idlab` FROM labs");
$groups = array('Admin');
if ($r > 0){
while($lin = $genopar->getArray()){
array_push($groups, $lin["idlab"]);
}
}
//mysql_select_db('www') or $genopar->error();
echo "\n";
echo "\t| Group: | \n";
echo "\t";
$genopar->select("new_group", $groups, "", "enableNewGroup(document.addUser);",TRUE);
echo " | \n";
echo "
\n";
echo "\n";
echo "\t| New Group: | \n";
echo "\t";
$genopar->input("new_CreateGroup", "text");
echo " | \n";
echo "
\n";
echo "\n";
echo "\t| Level: | \n";
echo "\t";
$genopar->select("new_level", $levels, "", "", TRUE);
// $genopar->input("new_level", "text", "", 3, 3);
echo " | \n";
echo "
\n";
echo "\n";
echo "\t | \n";
echo "\t";
$genopar->submit("Send", "Cadastrar");
echo " | \n";
echo "
\n";
echo "
\n";
$genopar->fechaForm();
/**
** Insercao no banco
** Valida se nao ha outro usuario com o mesmo nome
**/
}elseif(isset($_POST['Cadastrar']) && $level == 1){
verGetPost(array("new_user", "new_senha", "new_senha2", "new_prefname", "new_group", "new_CreateGroup", "new_level"));
$users = $genopar->queryBanco("SELECT * FROM users WHERE username='$new_user'");
$new_level = array_search($new_level, $levels);
$new_level++;
if ($users > 0){
$genopar->error("User already exists!");
}
$password = md5($new_senha);
if ($new_group == ""){
$new_group = $new_CreateGroup;
}
$genopar->queryBanco("INSERT INTO users SET username='$new_user', password='$password', prefname='$new_prefname', level='$new_level', `group`='$new_group'");
echo "
User $new_user added";
/**
** REMOCAO DE USUARIO
**
** Formulario obtem nome do usuario a ser removido
** JS valida se foi digitado algum valor
** JS pede confirmacao do usuario caso queira remover si proprio
**/
}elseif($action == "remover" && !isset($_POST['Remover']) && $level == 1){
$genopar->abreForm("return valida(this, '$user');", "delUser");
echo "
\n";
echo "\n";
echo "\t| User: | \n";
echo "\t";
$genopar->input("del_user");
echo " | \n";
echo "
\n";
echo "\n";
echo "\t | \n";
echo "\t";
$genopar->submit("Send", "Remover");
echo " | \n";
echo "
\n";
echo "
\n";
$genopar->fechaForm();
/**
** Remocao no banco
** Valida se o usuario existe
**/
}elseif(isset($_POST['Remover']) && $level == 1){
verGetPost(array("del_user"));
$users = $genopar->queryBanco("SELECT * FROM users WHERE username='$del_user'");
if ($users != 1){
$genopar->error("User does not exist!");
}
$genopar->queryBanco("DELETE FROM users WHERE username = '$del_user'");
// echo "DELETE FROM users WHERE username = '$del_user'";
echo "
User $del_user removed";
/**
** EDICAO DE CONTA
**
** Formulario obtem novos dados cadastrais
** JS valida se foi digitado valores em todos os campos (inclusive nas senhas)
**/
}elseif($action == "editar" && !isset($_POST['processa'])){
verGetPost(array("processa", "edit_senha", "edit_prefname", "edit_senha2"));
$genopar->abreForm("return valida(this);", "editAcc");
echo "
';
/**
** Atualiza dados no banco
**/
}elseif ($processa == 'Update'){
verGetPost(array("edit_senha", "edit_prefname"));
$passwd= md5($edit_senha);
if ($n == 1){
$genopar->queryBanco("UPDATE users SET password='$passwd', prefname='$edit_prefname' WHERE username='$user'");
// echo "UPDATE users SET password='$passwd', prefname='$edit_prefname' WHERE username='$user'";
}else
$genopar->queryBanco("INSERT INTO users SET username='$user', password='$edit_passwd', prefname='$edit_prefname'");
// echo ("INSERT INTO users SET username='$user', password='$edit_passwd', prefname='$edit_prefname'");
// $LOG->log($user, 'Atualização de Senha', "($n)$senha");
// $cmd= "cd /tmp && /usr/local/apache/bin/htpasswd -b /genome/www/mng/secure/.htpasswd $user $senha";
// system($cmd, $R);
echo "
Information successfully updated!";
if ($n!=1)
echo "
Attention! Some pages will only be available after validation of the password by the administrator.";
// if ($R!=0)
// echo "
Atenção: Ocorreram problemas ao atualizar a senha WEB, por favor, contate o Lab. BioInfo!";
}
}elseif ($editarUser != '' && $level == 1){
verGetPost(array("processa", "edit_senha", "edit_prefname", "edit_senha2"));
if ($processa != 'Atualizar'){
$n = $genopar->queryBanco("SELECT * FROM users WHERE username='$editarUser'");
$lin = $genopar->getArray();
$genopar->abreForm("return valida(this);", "editAcc");
echo "
';
}else{
$passwd= md5($edit_senha);
$genopar->queryBanco("UPDATE users SET password='$passwd', prefname='$edit_prefname' WHERE username='$editarUser'");
echo "
Information successfully updated";
}
}
echo "
\n";
$genopar->fechaPagina();
?>