Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.73 KB | None | 0 0
  1. utilizadores.html.php
  2.  
  3. <!-- /.intro section -->
  4. <div id="intro">
  5. <div class="container">
  6. <div class="row">
  7. <?php if(isset($errorOperacao)): ?>
  8. <?php if($errorOperacao == true): ?>
  9. <div class="col-md-12 errorDiv"><h2 class="redError">Erro na operação!</h2></div>
  10. <?php endif; ?>
  11. <?php if($errorOperacao == false): ?>
  12. <div class="col-md-12 successDiv"><h2 class="greenSuccess">Operação realizada com sucesso!</h2></div>
  13. <?php endif; ?>
  14. <?php endif; ?>
  15.  
  16. <form method="POST" class="slideInRight floatRight">
  17. <input type="button" value="Adicionar" name="submit" class="btn-default slideInRight marginTopZero buttAdicionarCurso" data-toggle="modal" data-target="#modalAdicionar">
  18. </form>
  19. <table class="table">
  20. <thead>
  21. <tr>
  22. <th>Nome</th>
  23. <th>Opções</th>
  24. </tr>
  25. </thead>
  26. <tbody>
  27. <?php foreach ($listaUsers as $user): ?>
  28. <tr>
  29. <td><?php echo $user->username; ?></td>
  30. <td class="adjustButtForTable">
  31. <form method="GET" class="form-inline">
  32. <input type="hidden" value="<?php echo $user->idUser; ?>" id="idUser" name="idUser">
  33. <input type="submit" value="Editar utilizador" name="pagina" class="btn-default buttEditarUser" data-toggle="modal" data-target="#modalEditar">
  34. </form>
  35. <form method="POST" class="form-inline">
  36. <input type="hidden" value="<?php echo $user->idUser; ?>" id="idUser" name="idUser">
  37. <input type="button" value="Apagar" name="submit" class="btn-default buttApagarUser" data-toggle="modal" data-target="#modalApagar">
  38. </form>
  39. </td>
  40. </tr>
  41.  
  42. <?php endforeach; ?>
  43. </tbody>
  44. </table>
  45. </div>
  46. </div>
  47. </div>
  48. <!-- Modal -->
  49. <div id="modalApagar" class="modal fade" role="dialog">
  50. <div class="modal-dialog">
  51.  
  52. <!-- Modal content-->
  53. <div class="modal-content">
  54. <div class="modal-header">
  55. <button type="button" class="close" data-dismiss="modal">&times;</button>
  56. <h4 class="modal-title">Atenção!</h4>
  57. </div>
  58. <div class="modal-body">
  59. <p>Tem a certeza que deseja eliminar este utilizador?</p>
  60. </div>
  61. <div class="modal-footer">
  62. <form method="POST">
  63. <input type="hidden" name="idUserFinal" id="idUserFinal">
  64. <input type="submit" name="submit" class="btn btn-default marginBottomZero" value="Sim, quero eliminar este utilizador">
  65. <button type="button" class="btn btn-default" data-dismiss="modal">Não</button>
  66. </form>
  67. </div>
  68. </div>
  69.  
  70. </div>
  71. </div>
  72. <!-- Modal -->
  73. <div id="modalAdicionar" class="modal fade" role="dialog">
  74. <div class="modal-dialog">
  75.  
  76. <!-- Modal content-->
  77. <div class="modal-content">
  78. <div class="modal-header">
  79. <button type="button" class="close" data-dismiss="modal">&times;</button>
  80. <h4 class="modal-title">Adicionar utilizador</h4>
  81. </div>
  82. <form method="POST" class="contact-form row formAddUser">
  83. <div class="col-md-12 ">
  84. <label>Tipo de utilizador</label>
  85. <select name="tipoUser" class="form-control" required>
  86. <option>Secretariado</option>
  87. <option>Administrador</option>
  88. </select>
  89. </div>
  90. <div class="col-md-12 ">
  91. <label></label>
  92. <input type="text" name="username" class="form-control widthCinquenta buttLoginUsernamePassword" placeholder="Username" required="">
  93. </div>
  94. <div class="col-md-12 ">
  95. <label></label>
  96. <input type="password" name="password" class="form-control widthCinquenta buttLoginUsernamePassword" placeholder="Password" required="">
  97. </div>
  98. <div class="col-md-12 ">
  99. <label></label>
  100. <input type="password" name="REpassword" class="form-control widthCinquenta buttLoginUsernamePassword" placeholder="Repita a password" required="">
  101. </div>
  102. <div class="col-md-12 flexContentCenter">
  103. <input type="submit" id="buttAddCursoFinal" class="btn btn-price" name="submit" value="Adicionar utilizador">
  104. </div>
  105. </form>
  106. </div>
  107.  
  108. </div>
  109. </div>
  110.  
  111. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  112.  
  113. users.php
  114.  
  115. <?php
  116.  
  117. /*
  118. * To change this license header, choose License Headers in Project Properties.
  119. * To change this template file, choose Tools | Templates
  120. * and open the template in the editor.
  121. */
  122.  
  123.  
  124. include_once 'includes/bd.inc.php';
  125.  
  126.  
  127. class users{
  128. public $username, $password, $role;
  129.  
  130. public function __construct($username, $password, $role) {
  131. $this->username = $username;
  132. $this->password = $password;
  133. $this->role = $role;
  134. }
  135. public static function getUsers(){
  136. global $link;
  137. global $limite;
  138.  
  139. $sql = "SELECT * FROM users limit $limite";
  140. $resultado = mysqli_query($link, $sql);
  141.  
  142. $users = [];
  143. $keys = [];
  144. $values = [];
  145.  
  146. if (!$resultado) {
  147. //echo mysqli_error($link);
  148. } else {
  149. while ($row = mysqli_fetch_object($resultado)) {
  150. $users[] = $row;
  151. }
  152. }
  153. return $users;
  154. }
  155.  
  156. public static function getUserByID($id) {
  157. global $link;
  158.  
  159. $sql = "Select * from users where idUser = $id";
  160. $resultado = mysqli_query($link, $sql);
  161.  
  162.  
  163. $users = mysqli_fetch_object($resultado);
  164.  
  165. return $users;
  166. }
  167.  
  168. public static function editUser($id, $username, $password, $tipoUser) {
  169. global $link;
  170.  
  171. $sql = "Update users set username = '".$username."', password = '".$password."', idRole = $tipoUser where idUser = $id";
  172. $resultado = mysqli_query($link, $sql);
  173.  
  174.  
  175. if($resultado){
  176. return true;
  177. }else{
  178. return false;
  179. }
  180. }
  181.  
  182. public static function getallUsers() {
  183. global $link;
  184.  
  185. $sql = 'SELECT * FROM users';
  186. $resultado = mysqli_query($link, $sql);
  187.  
  188. $users = [];
  189. $keys = [];
  190. $values = [];
  191.  
  192. if (!$resultado) {
  193. //echo mysqli_error($link);
  194. } else {
  195. while ($row = mysqli_fetch_object($resultado)) {
  196. $users[] = $row;
  197. }
  198. }
  199. return $users;
  200. }
  201.  
  202. public static function getUSersBySomething($orderBy) {
  203. if ($orderBy) {
  204. global $link;
  205.  
  206. $sql = 'SELECT * FROM users';
  207. if ($orderBy == "nome") {
  208. $sql = 'SELECT * FROM users ORDER BY username';
  209. } else if ($orderBy == "nomeDesc") {
  210. $sql = 'SELECT * FROM users ORDER BY username desc';
  211. }
  212.  
  213. $resultado = mysqli_query($link, $sql);
  214.  
  215. $users = [];
  216. $keys = [];
  217. $values = [];
  218.  
  219. if (!$resultado) {
  220. //echo mysqli_error($link);
  221. } else {
  222. while ($row = mysqli_fetch_object($resultado)) {
  223. $users[] = $row;
  224. }
  225. }
  226. return $users;
  227. }
  228. }
  229.  
  230. public static function getallUsersCountCeiling(){
  231. global $link;
  232. global $limite;
  233.  
  234. $sql = "SELECT CEIL(COUNT(*)/$limite) ceilingCount FROM users";
  235. $resultado = mysqli_query($link, $sql);
  236.  
  237. $delegacoes = [];
  238. $keys = [];
  239. $values = [];
  240.  
  241. if (!$resultado) {
  242. //echo mysqli_error($link);
  243. } else {
  244. $users = mysqli_fetch_object($resultado);
  245. // while ($row = mysqli_fetch_object($resultado)) {
  246. // $funcoes[] = $row;
  247. // }
  248. }
  249. return $users;
  250. }
  251. public static function getUser($user, $pass){
  252. global $link;
  253.  
  254. $sql = "SELECT * FROM `users` WHERE username = '$user'";
  255. // echo $sql.'<br/>';
  256. $resultado = mysqli_query($link, $sql);
  257.  
  258. $row = mysqli_fetch_object($resultado);
  259.  
  260. if (isset($row->password)){
  261. if (password_verify($pass, $row->password) == 1){
  262. //Correct password!
  263.  
  264. $_SESSION["role"] = $row->idRole;
  265. $_SESSION["idUser"] = $row->idUser;
  266. $_SESSION["username"] = $row->username;
  267.  
  268. if(mysqli_num_rows($resultado) == 0){
  269. mysqli_error($link);
  270. return false;
  271. }
  272. else{
  273. return true;
  274. }
  275. }else{
  276. //Wrong password!
  277. }
  278. }
  279. else{//Wrong username or password
  280. }
  281.  
  282.  
  283.  
  284. }
  285.  
  286. public static function endSession(){
  287. session_destroy();
  288. session_start();
  289. }
  290. public static function deleteUser($idUser) {
  291. global $link;
  292. //Exemplo: "DELETE FROM `pessoas` WHERE `pessoas`.`id` = 11"
  293. $sql = "DELETE FROM users WHERE idUser = '$idUser'";
  294. $resultado = mysqli_query($link, $sql);
  295.  
  296. if ($resultado) {
  297. return true;
  298. }return false;
  299. }
  300. public static function addUser(users $user){
  301. global $link;
  302.  
  303.  
  304. $sql = "INSERT INTO `users` (`username`, `password`, `idRole`) VALUES ('$user->username', '$user->password', $user->role)";
  305.  
  306. //echo $sql."<br/>";
  307. $resultado = mysqli_query($link, $sql);
  308. //echo $resultado;
  309. if(!$resultado){
  310. mysqli_error($link);
  311. return false;
  312. }
  313. else{
  314. return true;
  315. }
  316. }
  317. }
  318.  
  319. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  320.  
  321. index.php (dentro de $_POST["submit"])
  322.  
  323. else if($_POST["submit"] == "Adicionar utilizador"){
  324. if(isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["REpassword"]) && isset($_POST["tipoUser"])){
  325. if($_POST["password"] == $_POST["REpassword"]){
  326. $username = htmlspecialchars($_POST["username"]);
  327. $password = htmlspecialchars(password_hash($_POST["password"], PASSWORD_DEFAULT));
  328. $tipoUser = htmlspecialchars($_POST["tipoUser"]);
  329. if($tipoUser == "Secretariado"){
  330. $tipoUser = 2;
  331. }else{
  332. $tipoUser = 1;
  333. }
  334. $novoUser = new users($username, $password, $tipoUser);
  335. if (users::addUser($novoUser)) {
  336. $errorOperacao = false;
  337. } else {
  338. $errorOperacao = true;
  339. }
  340. }
  341. else{
  342. $errorOperacao = true;
  343. }
  344. }
  345. }
  346. else if($_POST["submit"] == "Sim, quero eliminar este utilizador"){
  347. $idUserAApagar = $_POST["idUserFinal"];
  348.  
  349. if (users::deleteUser($idUserAApagar)) {
  350. $errorOperacao = false;
  351. } else {
  352. $errorOperacao = true;
  353. }
  354. $maxPagination = users::getallUsersCountCeiling();
  355. if(!isset($_POST["pagination"])){
  356. $pagination = 1;
  357. }
  358. $listaUsers = [];
  359. $listaUsers = users::getallUsers();
  360. $vista = "users";
  361. }
  362. else if($_POST["submit"] == "Editar"){
  363. if(isset($_POST["idUser"])){
  364. $username = htmlspecialchars($_POST["username"]);
  365. $password = htmlspecialchars($_POST["password"]);
  366. $password = password_hash($password, PASSWORD_DEFAULT);
  367. $idUserAEditar = htmlspecialchars($_POST["idUser"]);
  368. $tipoUser = htmlspecialchars($_POST["tipoUser"]);
  369. if($tipoUser == "Secretariado"){
  370. $tipoUser = 2;
  371. }else{
  372. $tipoUser = 1;
  373. }
  374. if(users::editUser($idUserAEditar, $username, $password, $tipoUser)){
  375. $errorOperacao = false;
  376. }else{
  377. $errorOperacao = true;
  378. }
  379. }
  380. }
  381.  
  382. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  383.  
  384. index.php (dentro de $_GET["pagina"])
  385.  
  386. else if($_GET["pagina"] == "Utilizadores"){
  387. $vista = "users";
  388. $listaUsers = users::getallUsers();
  389.  
  390. $maxPagination = users::getallUsersCountCeiling();
  391.  
  392. if (!isset($_POST["pagination"])) {
  393. $pagination = 1;
  394. }
  395. }
  396. else if($_GET["pagina"] == "Editar utilizador"){
  397. if(isset($_GET["idUser"])){
  398. $vista = "editarUser";
  399. $listaUsers = users::getUserByID(htmlspecialchars($_GET["idUser"]));
  400.  
  401. }
  402. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement