Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.35 KB | None | 0 0
  1.  
  2. <?php
  3.  
  4. require_once("custom/php/common.php");
  5.  
  6. //verifica se o utilizador fez login no wp e se tem permissão para mexer nos objetos
  7. if (is_user_logged_in() && current_user_can('manage_objects')) {
  8.  
  9. $liga =liga_basedados();
  10.  
  11. // Quando o estado da execução não está definido
  12. if ($_REQUEST["estado_execucao"] == "") {
  13.  
  14. //utiliza a query_object para por o código da query da SQL
  15. $query_object = "SELECT * FROM object ";
  16.  
  17. //utiliza a função executa_query definida em common.php e executa o SQL na base de dados
  18. $result_object = executa_query($query_object);
  19.  
  20. //verifica se há objetos e se não houver dá mensagem de erro
  21. if (mysqli_num_rows($result_object) == 0) {
  22. echo "Não há objetos ";
  23. } else {
  24. ?>
  25. <table>
  26. <tr>
  27. <th>tipo de objeto</th>
  28. <th>id</th>
  29. <th>nome do objeto</th>
  30. <th>estado</th>
  31. <th>ação</th>
  32. </tr>
  33. <?php
  34.  
  35. //guarda na variável a query que seleciona os ids da tabela obj_type,ordenados pelo nome
  36. $query_tipos_objeto="SELECT id,name from obj_type ORDER BY name";
  37. //utiliza a função executa_query que está no common.php e executa o SQL na base de dados
  38. $result_tipos_objeto = executa_query($query_tipos_objeto);
  39.  
  40. // Francisco Pontes
  41. //cria um array com os valores da query $result_tipos_objeto
  42. while ($array_tipos_objeto = mysqli_fetch_array($result_tipos_objeto)) {
  43.  
  44. //definicao da query a ser executada posteriormente
  45. // concatenacao de string no where
  46. $query_objeto = "SELECT id, name,state
  47. FROM object WHERE obj_type_id=" . $array_tipos_objeto["id"] . " ".
  48. "ORDER BY name";
  49.  
  50. //utiliza a função executa_query existente no ficheiro common.php e executa a query na base de dados
  51. $result_objeto = executa_query($query_objeto);
  52.  
  53. //utiliza a função do mysql para saber o número de linhas para cada obj_type
  54. $lines_objeto = mysqli_num_rows($result_objeto);
  55.  
  56. if ($lines_objeto > 0) {
  57. ?>
  58.  
  59. <!--definição numero colunas e linhas-->
  60. <tr>
  61. <td colspan="1" rowspan="<?php echo $lines_objeto;?>">
  62. <?php
  63. echo $array_tipos_objeto["name"];
  64. ?>
  65. </td>
  66.  
  67. <?php
  68. $variavel=1;
  69. //criação de um array com os valores da query guardados na variável $result_objeto
  70. while ($array_objeto = mysqli_fetch_array($result_objeto)) {
  71. if ($variavel==1){
  72. ?>
  73. <td> <?php
  74. echo $array_objeto["id"];
  75. ?>
  76. </td>
  77. <td> <?php
  78. echo $array_objeto["name"];
  79. ?>
  80. </td>
  81. <td> <?php
  82. echo $array_objeto["state"];
  83. ?>
  84. </td>
  85. <td> <?php if ($array_objeto["state"]=='active'){
  86. echo '[editar][desativar]';
  87. }
  88. ?>
  89. </td><?php
  90. $variavel=2;
  91. }
  92. else{?>
  93. <tr>
  94. <td> <?php
  95. echo $array_objeto["id"];
  96. ?>
  97. </td>
  98. <td> <?php
  99. echo $array_objeto["name"];
  100. ?>
  101. </td>
  102. <td> <?php
  103. echo $array_objeto["state"];
  104. ?>
  105. </td>
  106. <td> <?php if ($array_objeto["state"]=='active'){
  107. echo '[editar][desativar]';
  108. }
  109. ?>
  110. </td>
  111. </tr>
  112. <?php
  113. }
  114.  
  115. }
  116. $variavel=1;
  117. }
  118. }?>
  119. </table>
  120. <?php
  121. }
  122. //Gestão de objetos-Introdução
  123. ?>
  124. <h3><strong>Gestão de Objetos - <span>Introdução</span></strong></h3>
  125.  
  126. <!--criação do formulário de inserção de objetos-->
  127. <form name="gestao_de_objetos" method="post">
  128. <p>
  129. <label><b>Nome:</b></label>
  130. <input type="text" name="nome_do_objeto">
  131. </p>
  132. <p>
  133. <!-- Francisco Pontes -->
  134. <label><b>Tipo:</b></label>
  135. <?php
  136. // guarda na variavel a query, vai à tabela obj_type buscar os ids dos tipos de objeto
  137. $query_seleciona_tipos="SELECT distinct name,id from obj_type";
  138. //executa a query e guarda o retorno na variavel
  139. $resultado_seleciona_tipos=executa_query($query_seleciona_tipos);
  140. //ciclo para percorrer todos os objetos e indicar os vários tipos de objeto
  141. while ($array_seleciona_tipos = mysqli_fetch_array($resultado_seleciona_tipos)) {
  142. $id=$array_seleciona_tipos["id"];
  143. // name da tabela obj_type
  144. $tipo=$array_seleciona_tipos["name"];
  145. ?>
  146. <!-- <td> -->
  147. <input type="radio" name="tipo_de_objeto" value="<?php echo $id; ?>"> <?php echo $tipo; ?>
  148. <!-- </td> -->
  149. <?php
  150. }
  151. ?>
  152. </p>
  153. <p> <!--aqui-->
  154. <label><b>Estado:</b></label>
  155. <div>
  156. <label><b>Ativo</b></label>
  157. <input type="radio" name="estado" value="ativo"> <!-- estado ativo-->
  158.  
  159. <label><b>Inativo</b></label>
  160. <input type="radio" name="estado" value="inativo">
  161. </div>
  162. </p>
  163. <br>
  164. <input type= "hidden" name= "estado_execucao" value= "inserir">
  165. <input class= "button" type= "submit" value= "Inserir objeto">
  166. <br><br>
  167. </form>
  168. <?php
  169. }
  170.  
  171. // Gestão de objetos-Inserção
  172. elseif ($_REQUEST["estado_execucao"] == "inserir") {
  173. ?>
  174. <h3><b>Gestão de objetos - inserção</b></h3>
  175. <?php
  176. // Francisco Pontes
  177. //usa a funcao guarda_variavel para guardar nas variáveis os inputs sem carateres especiais
  178. $object_nome_do_objeto = guarda_variavel($_REQUEST['nome_do_objeto']);
  179. $object_estado = guarda_variavel($_REQUEST['estado']);
  180. //variavel para guardar o obj_type_id do objeto que corresponderá a um certo tipo
  181. $object_obj_type_id = guarda_variavel($_REQUEST['tipo_de_objeto']);
  182. if (empty($object_nome_do_objeto)) {
  183. ?>
  184. <p>É necessário indicar um nome para o objeto.<p>
  185. <?php
  186. // faz verificação, para ver se o object_nome_do_objeto não está vazio
  187. back();
  188.  
  189. }elseif (is_null($object_obj_type_id)) {
  190. ?>
  191. <p>É necessário indicar o tipo de objeto.<p>
  192. <?php
  193.  
  194. // faz verificação, para ver se o object_tipo_de_objeto não está vazio
  195. back();
  196. }elseif (empty($object_estado)) {
  197. ?>
  198. <p>É necessário indicar o estado do objeto.<p>
  199. <?php
  200. // faz a verificação, para ver se o object_estado não está vazio
  201. back();
  202.  
  203.  
  204. }
  205.  
  206. else {
  207. // Francisco Pontes
  208. //define a query para inserir valores
  209. $query_inserir = "INSERT INTO `object` (`id`, `name`, `state`, `obj_type_id`) VALUES (NULL,'$object_nome_do_objeto','$object_estado','$object_obj_type_id')";
  210. //executa a query
  211. $result_insert = executa_query($query_inserir);
  212.  
  213. if ($result_insert) {
  214. mysqli_query($liga,'COMMIT');
  215. ?>
  216. <p>Inserção de dados feita com sucesso!
  217. Clique em <a href="gestao-de-objetos">continuar</a> para avançar.
  218. <br/>
  219. <?php
  220. }
  221. }
  222. }
  223. } else {
  224. ?>
  225. Não tem autorização para aceder a esta página.
  226. <?php
  227. }
  228. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement