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"; echo "\t\n"; if ($level == LVLADM){ echo "\t\n"; echo "\t\n"; echo "\t\n"; } echo "\n"; echo "
Edit accountList usersAdd new userRemove user
\n"; echo "

\n"; if (isset($action)){ if ($action == "viewAll" && $level == LVLADM){ echo "

\n"; echo "\n"; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $n = $genopar->queryBanco("SELECT * FROM users"); while($lin = $genopar->getArray()){ echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo "
'; echo 'Editar'; echo ''; echo 'Usuário'; echo ''; echo 'Nome'; echo ''; echo 'Nível'; echo ''; echo 'Grupo'; echo '
'; echo "Edit"; echo ''; echo $lin['username']; echo ''; echo $lin['prefname']; echo ''; echo $lin['level']; echo ''; echo $lin['group']; 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\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\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\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\n"; echo "\n"; echo "
User:"; $genopar->input("new_user"); echo "
Password:"; $genopar->input("new_senha", "password"); echo "
Retype the password:"; $genopar->input("new_senha2", "password"); echo "
Name:"; $genopar->input("new_prefname"); echo "
Group:"; $genopar->select("new_group", $groups, "", "enableNewGroup(document.addUser);",TRUE); echo "
New Group:"; $genopar->input("new_CreateGroup", "text"); echo "
Level:"; $genopar->select("new_level", $levels, "", "", TRUE); // $genopar->input("new_level", "text", "", 3, 3); echo "
"; $genopar->submit("Send", "Cadastrar"); 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\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\t\n"; echo "\n"; echo "
User:"; $genopar->input("del_user"); echo "
"; $genopar->submit("Send", "Remover"); 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 "\n"; echo ""; echo ""; echo ""; echo ""; echo ''; echo '
User:  $user
Name of your choice: 
Password: 
Retype password: 
'; /** ** 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 "\n"; echo ""; echo ""; echo ""; echo ""; echo ''; echo '
User:  $editarUser
Name of your choice: 
Password: 
Retype the password: 
'; }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(); ?>