PageRenderTime 59ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/eventosalab/admin/controles/ctrl_presenca_old-09-08-2012.php

https://github.com/viollarr/alab
PHP | 780 lines | 383 code | 63 blank | 334 comment | 51 complexity | 1d495ab10a91443f3d58d8f755a63507 MD5 | raw file
Possible License(s): LGPL-2.1, GPL-2.0, AGPL-3.0, Apache-2.0, BSD-3-Clause, GPL-3.0
  1. <?php
  2. class ctrl_presenca extends ctrl_generico {
  3. function __construct() {
  4. $this->id_evento = $_SESSION["id_evento_admin"];
  5. //$this->tabela = "ev_evento";
  6. }
  7. /**
  8. * Apenas chama a tela que exibe as demais opcĂľes.
  9. */
  10. function presencas() {
  11. /* Participantes */
  12. $sql = "SELECT id, nome FROM ev_participante WHERE id_evento='" . $this->id_evento . "' ORDER BY nome ASC";
  13. $result = mysql_query($sql);
  14. $participantes = array();
  15. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  16. // Adiciona essa linha de registro na variĂĄvel que serĂĄ passada para a TELA
  17. array_push($participantes, $linha);
  18. } //while
  19. $GLOBALS["participantes"] = $participantes;
  20. if ($this->id_evento == 28)
  21. return "presencas_qp4";
  22. return "presencas";
  23. }
  24. function presencas_participante() {
  25. //////////////////////////////////
  26. // ConexĂŁo com o banco de dados //
  27. //////////////////////////////////
  28. //////////////////////////////////////
  29. // Classe de avaliação de trabalhos //
  30. //////////////////////////////////////
  31. require_once("controles/ctrl_avaliacao.php");
  32. $ctrl_avaliacao = new ctrl_avaliacao();
  33. ////////////////////////////////////
  34. // ID do participante selecionado //
  35. ////////////////////////////////////
  36. $id_participante = (int) $_GET['id'];
  37. //////////////////
  38. // PARTICIPANTE //
  39. //////////////////
  40. $sql = "SELECT id, nome, id_tipo_participante FROM ev_participante WHERE id_evento='" . $this->id_evento . "' AND id = " . $id_participante . " LIMIT 1";
  41. $result = mysql_query($sql);
  42. $participante = mysql_fetch_array($result, MYSQL_ASSOC);
  43. ///////////////////////////////////
  44. // COMISSÃO ACADÊMICO-CIENTÍFICA //
  45. ///////////////////////////////////
  46. // id_tipo_participante: 10
  47. ///////////////
  48. // Presenças //
  49. ///////////////
  50. $presencas = array();
  51. $sql = "SELECT * FROM ev_presenca WHERE id_evento='" . $this->id_evento . "' AND id_participante = " . $id_participante . " ";
  52. $result = mysql_query($sql);
  53. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  54. $presencas[] = $linha;
  55. }//while
  56. $participante['presencas'] = $presencas;
  57. //////////////////////////
  58. // COORDENAÇÃO SIMPÓSIO //
  59. //////////////////////////
  60. $simposios_coordenados = array();
  61. // Pegar simpĂłsios cooordenados por este participante
  62. $sql = "SELECT s.id, s.titulo_sessao
  63. FROM ev_simposio s INNER JOIN ev_simposio_coordenador sc
  64. ON s.id = sc.id_simposio
  65. WHERE
  66. sc.id_participante = " . $id_participante . "
  67. AND s.id_evento = " . $this->id_evento . "
  68. ";
  69. $result = mysql_query($sql);
  70. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  71. $simposios_coordenados[] = $linha;
  72. }//while
  73. $participante['simposios_coordenados'] = $simposios_coordenados;
  74. //////////////////////////
  75. // TRABALHO EM SIMPÓSIO //
  76. //////////////////////////
  77. $trabalhos_em_simposio = array();
  78. // Pegar trabalhos em simpĂłsio deste participante
  79. $sql = "SELECT id, titulo
  80. FROM ev_resumo
  81. WHERE
  82. id_evento='" . $this->id_evento . "'
  83. AND (autor = " . $id_participante . " OR co_autor = " . $id_participante . ")
  84. AND id_tipo_trabalho = 1
  85. AND id_simposio > 0
  86. ORDER BY titulo ASC";
  87. $result = mysql_query($sql);
  88. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  89. $trabalhos_em_simposio[] = $linha;
  90. }//while
  91. $participante['trabalhos_em_simposio'] = $trabalhos_em_simposio; // array
  92. /////////////////////////////////////////////////
  93. // COORDENAÇÃO DE SESSÃO [COMUNIC. COORDENADA] //
  94. /////////////////////////////////////////////////
  95. $coordenadas = array();
  96. // Pegar simpĂłsios cooordenados por este participante
  97. $sql = "SELECT id, titulo_sessao
  98. FROM ev_comunicacao_coordenada
  99. WHERE
  100. id_coordenador = " . $id_participante . "
  101. AND id_evento = " . $this->id_evento . "
  102. ";
  103. $result = mysql_query($sql);
  104. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  105. $coordenadas[] = $linha;
  106. }//while
  107. $participante['sessoes_coordenadas'] = $coordenadas;
  108. ////////////////////////////////////////////
  109. // APRESENTAÇÃO DE COMUNICAÇÃO INDIVIDUAL //
  110. ////////////////////////////////////////////
  111. $comunicacoes_individuais = array();
  112. // Pegar todas comunicaçþes individuais deste participante
  113. if ($this->id_evento == 28) {
  114. $sql = "SELECT resumo.id, resumo.titulo
  115. FROM ev_resumo resumo, ev_participante_resumo participante_resumo
  116. WHERE participante_resumo.id_participante = $id_participante
  117. AND participante_resumo.id_resumo = resumo.id
  118. AND resumo.id_tipo_trabalho = 3
  119. ORDER BY resumo.titulo ASC";
  120. } else {
  121. $sql = "SELECT id, titulo
  122. FROM ev_resumo
  123. WHERE
  124. id_evento='" . $this->id_evento . "'
  125. AND (autor = " . $id_participante . " OR co_autor = " . $id_participante . ")
  126. AND id_tipo_trabalho = 3
  127. ORDER BY titulo ASC";
  128. }
  129. $result = mysql_query($sql);
  130. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  131. // Verificar se foram aceitos, e caso SIM,
  132. // acrescentar no array de pĂ´steres deste participante
  133. if ($ctrl_avaliacao->aceito($linha['id'], 'comunicacao_individual')) {
  134. //echo "Trabalho Aceito";
  135. $comunicacoes_individuais[] = $linha;
  136. }//if
  137. }//while
  138. $participante['comunicacoes_individuais'] = $comunicacoes_individuais; // array
  139. ////////////////////////////////////////////
  140. // APRESENTAÇÃO DE COMUNICAÇÃO COORDENADA //
  141. ////////////////////////////////////////////
  142. $comunicacoes_coordenadas = array();
  143. // Pegar todos os trabalhos em comunicação coordenada deste participante
  144. if ($this->id_evento == 28) {
  145. $sql = "SELECT resumo.id, resumo.titulo
  146. FROM ev_resumo resumo, ev_participante_resumo participante_resumo
  147. WHERE participante_resumo.id_participante = $id_participante
  148. AND participante_resumo.id_resumo = resumo.id
  149. AND resumo.id_tipo_trabalho = 2
  150. AND resumo.id_comunicacao_coordenada > 0
  151. ORDER BY resumo.titulo ASC";
  152. } else {
  153. $sql = "SELECT id, titulo
  154. FROM ev_resumo
  155. WHERE
  156. id_evento='" . $this->id_evento . "'
  157. AND (autor = " . $id_participante . " OR co_autor = " . $id_participante . ")
  158. AND id_tipo_trabalho = 2
  159. AND id_comunicacao_coordenada > 0
  160. ORDER BY titulo ASC";
  161. }
  162. $result = mysql_query($sql);
  163. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  164. // Verificar se foram aceitos, e caso SIM,
  165. // acrescentar no array de pĂ´steres deste participante
  166. if ($ctrl_avaliacao->aceito($linha['id'], 'resumo_em_coordenada')) {
  167. //echo "Trabalho Aceito";
  168. $comunicacoes_coordenadas[] = $linha;
  169. }//if
  170. }//while
  171. $participante['comunicacoes_coordenadas'] = $comunicacoes_coordenadas; // array
  172. ////////////////////////////
  173. // APRESENTAÇÃO DE PÔSTER //
  174. ////////////////////////////
  175. $posteres = array();
  176. // Pegar todos os posteres deste participante
  177. $sql = "SELECT id, titulo
  178. FROM ev_resumo
  179. WHERE
  180. id_evento='" . $this->id_evento . "'
  181. AND (autor = " . $id_participante . " OR co_autor = " . $id_participante . ")
  182. AND id_tipo_trabalho = 4
  183. ORDER BY titulo ASC";
  184. $result = mysql_query($sql);
  185. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  186. // Verificar se foram aceitos, e caso SIM,
  187. // acrescentar no array de pĂ´steres deste participante
  188. if ($ctrl_avaliacao->aceito($linha['id'], 'poster')) {
  189. //echo "Trabalho Aceito";
  190. $posteres[] = $linha;
  191. }//if
  192. }//while
  193. $participante['posteres'] = $posteres; // array
  194. $GLOBALS["participante"] = $participante;
  195. return "presencas_participante";
  196. }
  197. function presencas_qp4_participante() {
  198. //////////////////////////////////////
  199. // Classe de avaliação de trabalhos //
  200. //////////////////////////////////////
  201. require_once("controles/ctrl_avaliacao.php");
  202. $ctrl_avaliacao = new ctrl_avaliacao();
  203. ////////////////////////////////////
  204. // ID do participante selecionado //
  205. ////////////////////////////////////
  206. $id_participante = (int) $_POST['id_participante'];
  207. //////////////////
  208. // PARTICIPANTE //
  209. //////////////////
  210. //$participante = array();
  211. $sql = "SELECT id, nome, id_tipo_participante FROM ev_participante WHERE id_evento='" . $this->id_evento . "' AND id = " . $id_participante . " LIMIT 1";
  212. $result = mysql_query($sql);
  213. $participante = mysql_fetch_array($result, MYSQL_ASSOC);
  214. /////////////////////////////////////////////////
  215. // COORDENAÇÃO DE SESSÃO [COMUNIC. COORDENADA] //
  216. /////////////////////////////////////////////////
  217. // Pegar comunicaçőes cooordenadas por este participante
  218. $sql = "SELECT id, titulo_sessao AS titulo
  219. FROM ev_comunicacao_coordenada
  220. WHERE
  221. id_coordenador = " . $id_participante . "
  222. AND id_evento = " . $this->id_evento;
  223. $result = mysql_query($sql);
  224. $participante['sessoes_coordenadas'] = array();
  225. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC))
  226. $participante['sessoes_coordenadas'][] = $linha;
  227. ////////////////////////////////////////////
  228. // APRESENTAÇÃO DE COMUNICAÇÃO INDIVIDUAL //
  229. ////////////////////////////////////////////
  230. // Pegar todas comunicaçþes individuais deste participante
  231. $sql = "SELECT resumo.id, resumo.titulo, p.presente
  232. FROM ev_resumo resumo, ev_participante_resumo participante_resumo
  233. LEFT JOIN ev_presenca p ON participante_resumo.id_resumo = p.id_trabalho
  234. AND p.id_evento = '{$this->id_evento}'
  235. AND p.tipo = 'comunicacao_individual'
  236. AND p.id_participante = '{$id_participante}'
  237. WHERE participante_resumo.id_participante = $id_participante
  238. AND participante_resumo.id_resumo = resumo.id
  239. AND resumo.id_tipo_trabalho = 3
  240. ORDER BY resumo.titulo ASC";
  241. //echo "<br />SQL (ctrl_presenca): " . $sql . '<br />';
  242. $result = mysql_query($sql);
  243. $participante['comunicacoes_individuais'] = array();
  244. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  245. // Verificar se foram aceitos, e caso SIM,
  246. // acrescentar no array de comunicaçőes individuais deste participante
  247. if ($ctrl_avaliacao->aceito($linha['id'], 'comunicacao_individual')) {
  248. //echo "Trabalho Aceito";
  249. $participante['comunicacoes_individuais'][] = $linha;
  250. }//if
  251. }//while
  252. ////////////////////////////////////////////
  253. // APRESENTAÇÃO DE COMUNICAÇÃO COORDENADA //
  254. ////////////////////////////////////////////
  255. // Pegar todos os trabalhos em comunicação coordenada deste participante
  256. $sql = "SELECT resumo.id, resumo.titulo
  257. FROM ev_resumo resumo, ev_participante_resumo participante_resumo
  258. WHERE participante_resumo.id_participante = $id_participante
  259. AND participante_resumo.id_resumo = resumo.id
  260. AND resumo.id_tipo_trabalho = 2
  261. AND resumo.id_comunicacao_coordenada > 0
  262. ORDER BY resumo.titulo ASC";
  263. $result = mysql_query($sql);
  264. $participante['comunicacoes_coordenadas'] = array();
  265. while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {
  266. // Verificar se foram aceitos, e caso SIM,
  267. // acrescentar no array de resumo em coordenada deste participante
  268. if ($ctrl_avaliacao->aceito($linha['id'], 'resumo_em_coordenada')) {
  269. //echo "Trabalho Aceito";
  270. $participante['comunicacoes_coordenadas'][] = $linha;
  271. }//if
  272. }//while
  273. $GLOBALS["participante"] = $participante;
  274. //echo "presencas_qp4_participante()";
  275. require_once("telas/presencas_qp4_participante.php");
  276. exit();
  277. }
  278. function salvar() {
  279. //////////////////////////////////
  280. // ConexĂŁo com o banco de dados //
  281. //////////////////////////////////
  282. ////////////////////////////////////
  283. // ID do participante selecionado //
  284. ////////////////////////////////////
  285. $id_participante = (int) $_POST['id'];
  286. /*
  287. print "POST: <pre>";
  288. print_r($_POST);
  289. print "</pre>";
  290. /* */
  291. // DELETANDO PRESENÇAS ANTERIORES PARA PODER CADASTRAR AS NOVAS.
  292. $sql = "DELETE FROM ev_presenca WHERE id_participante = '$id_participante' AND id_evento='" . $this->id_evento . "' ";
  293. mysql_query($sql); // or die(mysql_error());
  294. // OUVINTE
  295. if (!empty($_POST['ouvinte'])) {
  296. $ouvinte_presente = $_POST['ouvinte'];
  297. $values[] = "('" . $this->id_evento . "', '$id_participante', '0', 'ouvinte', '$ouvinte_presente')";
  298. } //if
  299. // COMISSÃO ACADÊMICO-CIENTÍFICA
  300. if (!empty($_POST['comissao'])) {
  301. $comissao_presente = $_POST['comissao'];
  302. $values[] = "('" . $this->id_evento . "', '$id_participante', '0', 'comissao', '$comissao_presente')";
  303. } //if
  304. // SIMPÓSIOS COORDENADOS POR ESTE PARTICIPANTE
  305. $simposios_coordenados = $_POST['simposios_coordenados'];
  306. if (is_array($simposios_coordenados)) {
  307. foreach ($simposios_coordenados as $id_trabalho) {
  308. $presente = addslashes($_POST["simposio_" . $id_trabalho]);
  309. $values[] = "('" . $this->id_evento . "', '$id_participante', '$id_trabalho', 'coordenacao_simposio', '$presente')";
  310. } //foreach
  311. } //if
  312. // TRABLHOS (RESUMOS) EM SIMPÓSIOS
  313. $trabalhos_em_simposio = $_POST['trabalhos_em_simposio'];
  314. if (is_array($trabalhos_em_simposio)) {
  315. foreach ($trabalhos_em_simposio as $id_trabalho) {
  316. $presente = addslashes($_POST["trabalho_em_simposio_" . $id_trabalho]);
  317. $values[] = "('" . $this->id_evento . "', '$id_participante', '$id_trabalho', 'trabalho_em_simposio', '$presente')";
  318. } //foreach
  319. } //if
  320. // SESSÕES (COMUNICAÇÃO COORDENADA) COORDENADAS POR ESTE PARTICIPANTE
  321. $sessoes_coordenadas = $_POST['sessoes_coordenadas'];
  322. if (is_array($sessoes_coordenadas)) {
  323. foreach ($sessoes_coordenadas as $id_trabalho) {
  324. $presente = addslashes($_POST["sessao_coordenada_" . $id_trabalho]);
  325. $values[] = "('" . $this->id_evento . "', '$id_participante', '$id_trabalho', 'coordenacao_sessao', '$presente')";
  326. } //foreach
  327. } //if
  328. // COMUNICAÇÕES INDIVIDUAIS
  329. $comunicacoes_individuais = $_POST['comunicacoes_individuais'];
  330. if (is_array($comunicacoes_individuais)) {
  331. foreach ($comunicacoes_individuais as $id_trabalho) {
  332. $presente = addslashes($_POST["comunicacao_individual_" . $id_trabalho]);
  333. $values[] = "('" . $this->id_evento . "', '$id_participante', '$id_trabalho', 'comunicacao_individual', '$presente')";
  334. } //foreach
  335. } //if
  336. // TRABLHOS (RESUMOS) EM COMUNICAÇÕES COORDENADAS
  337. $comunicacoes_coordenadas = $_POST['comunicacoes_coordenadas'];
  338. if (is_array($comunicacoes_coordenadas)) {
  339. foreach ($comunicacoes_coordenadas as $id_trabalho) {
  340. $presente = addslashes($_POST["comunicacao_coordenada_" . $id_trabalho]);
  341. $values[] = "('" . $this->id_evento . "', '$id_participante', '$id_trabalho', 'comunicacao_coordenada', '$presente')";
  342. } //foreach
  343. } //if
  344. // PÔSTERES
  345. $posteres = $_POST['posteres'];
  346. if (is_array($posteres)) {
  347. foreach ($posteres as $id_trabalho) {
  348. $presente = addslashes($_POST["poster_" . $id_trabalho]);
  349. $values[] = "('" . $this->id_evento . "', '$id_participante', '$id_trabalho', 'poster', '$presente')";
  350. } //foreach
  351. } //if
  352. // Concatenando os values para inserir no banco de dados
  353. $values = implode(", ", $values);
  354. $sql = "INSERT INTO ev_presenca(id_evento, id_participante, id_trabalho, tipo, presente) VALUES " . $values;
  355. /*
  356. print "SQL: <pre>";
  357. print_r($sql);
  358. print "</pre>";
  359. /* */
  360. mysql_query($sql); // or die(mysql_error());
  361. if (mysql_affected_rows() > 0)
  362. $GLOBALS['msg_ctrl_presenca'] = "Presen&ccedil;a(s) cadastrada(s) com sucesso.";
  363. else
  364. $GLOBALS['msg_ctrl_presenca'] = "N&atilde;o foi poss&iacute;vel cadastrar a(s) presen&ccedil;a(s).";
  365. return $this->presencas();
  366. //exit("<hr />ctrl_presenca");
  367. }
  368. function salvar_presenca_qp4() {
  369. // Variáveis usadas para segurança.
  370. $presencas_possiveis = array('sim', 'nao');
  371. $certificados_possiveis = array('comunicacao_individual');
  372. // Verificando se o valor de presença passado é válido.
  373. if (in_array($_POST['presente'], $presencas_possiveis))
  374. $presente = $_POST['presente'];
  375. else {
  376. echo false;
  377. exit();
  378. }
  379. // Verificando se o tipo de certificado passado é válido.
  380. if (in_array($_POST['certificado'], $certificados_possiveis))
  381. $certificado = $_POST['certificado'];
  382. else {
  383. echo false;
  384. exit();
  385. }
  386. // Verificando se o id de participante passado é válido.
  387. if (!empty($_POST['id_participante']))
  388. $id_participante = (int) $_POST['id_participante'];
  389. else {
  390. echo false;
  391. exit();
  392. }
  393. // Pegando o id do trabalho caso a presença seja na apresentaçăo de algum trabalho.
  394. $id_trabalho = (int) $_POST['id_trabalho'];
  395. //exit("salvar_presenca_qp4()");
  396. // Verificar se a presença para este participante já foi marcada...
  397. $sql = "SELECT * FROM ev_presenca
  398. WHERE
  399. id_evento = '{$this->id_evento}'
  400. AND id_participante = '{$id_participante}'
  401. AND id_trabalho = '{$id_trabalho}'
  402. AND tipo = '{$certificado}' ";
  403. // ... se sim, atualizar.
  404. if (mysql_num_rows(mysql_query($sql)) > 0)
  405. $sql = "UPDATE ev_presenca
  406. SET
  407. presente = '{$presente}',
  408. modificado = NOW()
  409. WHERE
  410. id_evento = '{$this->id_evento}'
  411. AND id_participante = '{$id_participante}'
  412. AND id_trabalho = '{$id_trabalho}'
  413. AND tipo = '{$certificado}' ";
  414. else
  415. $sql = "INSERT INTO ev_presenca(id_evento, id_participante, id_trabalho, tipo, presente)
  416. VALUE ('{$this->id_evento}', '{$id_participante}', '{$id_trabalho}', '{$certificado}', '{$presente}')";
  417. //echo "SQL: " . $sql . " | ";
  418. if (mysql_query($sql))
  419. echo true;
  420. else
  421. echo false;
  422. // Precisa fazer isso, pois do contrário irá retornar para o controller principal.
  423. exit();
  424. }
  425. function debatedores_simposio() {
  426. // ConexĂŁo com o banco de dados
  427. // Participantes
  428. $sql = "SELECT id, nome FROM ev_participante WHERE id_evento='" . $this->id_evento . "' ORDER BY nome ASC";
  429. $result = mysql_query($sql);
  430. $debatedores = array();
  431. while ($participante = mysql_fetch_array($result, MYSQL_ASSOC)) {
  432. // Verificar se ĂŠ debatedor de algum simpĂłsio
  433. $sql_simposios = "SELECT id, titulo_sessao
  434. FROM ev_simposio
  435. WHERE
  436. id_evento='" . $this->id_evento . "'
  437. AND (id_participante_debatedor = " . $participante['id'] . " OR id_participante_debatedor_2 = " . $participante['id'] . ")
  438. ORDER BY titulo_sessao ASC";
  439. $result_simposios = mysql_query($sql_simposios);
  440. // Se for debatedor de algum simpĂłsio...
  441. if (mysql_num_rows($result_simposios) > 0) {
  442. // Salvar dados do(s) simpĂłsio(s) do(s) qual(is) este participante ĂŠ debatedor
  443. while ($simposio = mysql_fetch_array($result_simposios, MYSQL_ASSOC)) {
  444. // Presenças
  445. $sql_presencas = "SELECT presente FROM ev_presenca
  446. WHERE
  447. id_evento='" . $this->id_evento . "'
  448. AND id_participante = " . $participante['id'] . "
  449. AND tipo = 'debatedor_simposio'
  450. AND id_trabalho = '" . $simposio['id'] . "' ";
  451. $result_presenca = mysql_query($sql_presencas);
  452. $linha_presenca = mysql_fetch_assoc($result_presenca);
  453. // Salvando a presença deste debatedor (participante) para este simpósio
  454. $simposio['presenca'] = $linha_presenca['presente'];
  455. // Salvando os simpósios do debatedor com as respectivas presenças
  456. $participante['simposios'][] = $simposio;
  457. }//while
  458. // Array de debatedores
  459. $debatedores[] = $participante;
  460. }//if
  461. } //while
  462. /*
  463. print "<br /><br />(ctrl_presenca) Debatedores: <pre>";
  464. print_r($debatedores);
  465. print "</pre>";
  466. /* */
  467. //$debatedores[$i]['nome'];
  468. //$debatedores[$i]['simpĂłsio']['titulo_sessao'];
  469. //$debatedores[$i]['simpĂłsio']['presenca'];
  470. $GLOBALS["debatedores"] = $debatedores;
  471. return "debatedores_simposio";
  472. }
  473. //function
  474. function salvar_presencas_debatedores_simposio() {
  475. // ConexĂŁo com o banco de dados
  476. /*
  477. print "<br /><br />(ctrl_presenca) Presenças: <pre>";
  478. print_r($_POST['presencas']);
  479. print "</pre>";
  480. /* */
  481. foreach ($_POST['presencas'] as $linha_presenca) {
  482. $arr_presenca = explode("|", $linha_presenca);
  483. $linha = (int) $arr_presenca[0];
  484. $id_participante = (int) $arr_presenca[1];
  485. $id_simposio = (int) $arr_presenca[2];
  486. $presenca = '';
  487. if ($_POST["presenca_" . $linha] == 'sim')
  488. $presenca = 'sim';
  489. if ($_POST["presenca_" . $linha] == 'nao')
  490. $presenca = 'nao';
  491. if (!empty($presenca)) {
  492. // Verificar se jå tem presença cadastrada para debatedor de simpósio.
  493. // Caso tenha, faz o update se nĂŁo faz o insert.
  494. $sql_presenca_anterior = "SELECT * FROM ev_presenca
  495. WHERE
  496. id_evento = '" . $this->id_evento . "'
  497. AND id_participante = '" . $id_participante . "'
  498. AND id_trabalho = '" . $id_simposio . "'
  499. AND tipo = 'debatedor_simposio' ";
  500. $result_presenca_anterior = mysql_query($sql_presenca_anterior);
  501. // Update
  502. if (mysql_num_rows($result_presenca_anterior) > 0) {
  503. /* echo "<hr>" . */$sql = "UPDATE ev_presenca
  504. SET
  505. presente = '" . $presenca . "'
  506. WHERE
  507. id_evento = '" . $this->id_evento . "'
  508. AND id_participante = '" . $id_participante . "'
  509. AND id_trabalho = '" . $id_simposio . "'
  510. AND tipo = 'debatedor_simposio' ";
  511. } // if
  512. // Insert
  513. else {
  514. /* echo "<hr>" . */$sql = "INSERT INTO ev_presenca(id_evento, id_participante, id_trabalho, tipo, presente)
  515. VALUES ('" . $this->id_evento . "', '" . $id_participante . "', '" . $id_simposio . "', 'debatedor_simposio', '" . $presenca . "')";
  516. }//else
  517. mysql_query($sql) or die(mysql_error());
  518. }
  519. } // foreach
  520. $GLOBALS['msg_ctrl_presenca'] = "Presen&ccedil;a(s) cadastrada(s) com sucesso.";
  521. return $this->debatedores_simposio();
  522. }
  523. private function pr($label = '', $var) {
  524. ?>
  525. <div>
  526. <?php
  527. $label = utf8_encode($label);
  528. echo "{$label}: <pre>";
  529. print_r($var);
  530. echo "</pre><br/>";
  531. ?>
  532. </div>
  533. <?php
  534. }
  535. //function
  536. ////////////////////////////////////////////////////////////////////////
  537. // Usada para popular a tabela presenca com valores 'sim' para todos. //
  538. // ---> USAR COM MUITA CAUTELA!!! <--- //
  539. ////////////////////////////////////////////////////////////////////////
  540. /*
  541. function popular_presencas(){
  542. // Participantes
  543. $sql = "SELECT id, nome, id_tipo_participante FROM ev_participante WHERE id_evento='".$this->id_evento."' ORDER BY nome ASC";
  544. $result = mysql_query($sql);
  545. $participantes = array();
  546. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  547. // Adiciona essa linha de registro na variĂĄvel que serĂĄ passada para a TELA
  548. array_push($participantes, $linha);
  549. } //while
  550. //////////////////////////////////////
  551. // Classe de avaliação de trabalhos //
  552. //////////////////////////////////////
  553. require_once("controles/ctrl_avaliacao.php");
  554. $ctrl_avaliacao = new ctrl_avaliacao();
  555. foreach($participantes as $participante){
  556. $values = array();
  557. /////////////
  558. // OUVINTE //
  559. /////////////
  560. $values[] = "('".$this->id_evento."', '".$participante['id']."', '0', 'ouvinte', 'sim')";
  561. ///////////////////////////////////
  562. // COMISSÃO ACADÊMICO-CIENTÍFICA //
  563. ///////////////////////////////////
  564. // id_tipo_participante: 10
  565. if($participante['id_tipo_participante'] == 10){
  566. $values[] = "('".$this->id_evento."', '".$participante['id']."', '0', 'comissao', 'sim')";
  567. }
  568. //////////////////////////
  569. // COORDENAÇÃO SIMPÓSIO //
  570. //////////////////////////
  571. $simposios_coordenados = array();
  572. // Pegar simpĂłsios cooordenados por este participante
  573. $sql = "SELECT s.id, s.titulo_sessao
  574. FROM ev_simposio s INNER JOIN ev_simposio_coordenador sc
  575. ON s.id = sc.id_simposio
  576. WHERE
  577. sc.id_participante = ".$participante['id']."
  578. AND s.id_evento = ".$this->id_evento."
  579. ";
  580. $result = mysql_query($sql);
  581. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  582. $values[] = "('".$this->id_evento."', '".$participante['id']."', '".$linha['id']."', 'coordenacao_simposio', 'sim')";
  583. }//while
  584. //////////////////////////
  585. // TRABALHO EM SIMPÓSIO //
  586. //////////////////////////
  587. $trabalhos_em_simposio = array();
  588. // Pegar trabalhos em simpĂłsio deste participante
  589. $sql = "SELECT id, titulo
  590. FROM ev_resumo
  591. WHERE
  592. id_evento='".$this->id_evento."'
  593. AND (autor = ".$participante['id']." OR co_autor = ".$participante['id'].")
  594. AND id_tipo_trabalho = 1
  595. AND id_simposio > 0
  596. ORDER BY titulo ASC";
  597. $result = mysql_query($sql);
  598. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  599. $values[] = "('".$this->id_evento."', '".$participante['id']."', '".$linha['id']."', 'trabalho_em_simposio', 'sim')";
  600. }//while
  601. /////////////////////////////////////////////////
  602. // COORDENAÇÃO DE SESSÃO [COMUNIC. COORDENADA] //
  603. /////////////////////////////////////////////////
  604. $coordenadas = array();
  605. // Pegar simpĂłsios cooordenados por este participante
  606. $sql = "SELECT id, titulo_sessao
  607. FROM ev_comunicacao_coordenada
  608. WHERE
  609. id_coordenador = ".$participante['id']."
  610. AND id_evento = ".$this->id_evento."
  611. ";
  612. $result = mysql_query($sql);
  613. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  614. $values[] = "('".$this->id_evento."', '".$participante['id']."', '".$linha['id']."', 'coordenacao_sessao', 'sim')";
  615. }//while
  616. ////////////////////////////////////////////
  617. // APRESENTAÇÃO DE COMUNICAÇÃO INDIVIDUAL //
  618. ////////////////////////////////////////////
  619. $comunicacoes_individuais = array();
  620. // Pegar todas comunicaçþes individuais deste participante
  621. $sql = "SELECT id, titulo
  622. FROM ev_resumo
  623. WHERE
  624. id_evento='".$this->id_evento."'
  625. AND (autor = ".$participante['id']." OR co_autor = ".$participante['id'].")
  626. AND id_tipo_trabalho = 3
  627. ORDER BY titulo ASC";
  628. $result = mysql_query($sql);
  629. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  630. // Verificar se foram aceitos, e caso SIM,
  631. // acrescentar no array de pĂ´steres deste participante
  632. if($ctrl_avaliacao->aceito($linha['id'], 'comunicacao_individual')){
  633. //echo "Trabalho Aceito";
  634. $values[] = "('".$this->id_evento."', '".$participante['id']."', '".$linha['id']."', 'comunicacao_individual', 'sim')";
  635. }//if
  636. }//while
  637. $participante['comunicacoes_individuais'] = $comunicacoes_individuais; // array
  638. ////////////////////////////////////////////
  639. // APRESENTAÇÃO DE COMUNICAÇÃO COORDENADA //
  640. ////////////////////////////////////////////
  641. $comunicacoes_coordenadas = array();
  642. // Pegar todos os trabalhos em comunicação coordenada deste participante
  643. $sql = "SELECT id, titulo
  644. FROM ev_resumo
  645. WHERE
  646. id_evento='".$this->id_evento."'
  647. AND (autor = ".$participante['id']." OR co_autor = ".$participante['id'].")
  648. AND id_tipo_trabalho = 2
  649. AND id_comunicacao_coordenada > 0
  650. ORDER BY titulo ASC";
  651. $result = mysql_query($sql);
  652. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  653. // Verificar se foram aceitos, e caso SIM,
  654. // acrescentar no array de pĂ´steres deste participante
  655. if($ctrl_avaliacao->aceito($linha['id'], 'resumo_em_coordenada')){
  656. //echo "Trabalho Aceito";
  657. $values[] = "('".$this->id_evento."', '".$participante['id']."', '".$linha['id']."', 'comunicacao_coordenada', 'sim')";
  658. }//if
  659. }//while
  660. ////////////////////////////
  661. // APRESENTAÇÃO DE PÔSTER //
  662. ////////////////////////////
  663. $posteres = array();
  664. // Pegar todos os posteres deste participante
  665. $sql = "SELECT id, titulo
  666. FROM ev_resumo
  667. WHERE
  668. id_evento='".$this->id_evento."'
  669. AND (autor = ".$participante['id']." OR co_autor = ".$participante['id'].")
  670. AND id_tipo_trabalho = 4
  671. ORDER BY titulo ASC";
  672. $result = mysql_query($sql);
  673. while($linha = mysql_fetch_array($result, MYSQL_ASSOC)){
  674. // Verificar se foram aceitos, e caso SIM,
  675. // acrescentar no array de pĂ´steres deste participante
  676. if($ctrl_avaliacao->aceito($linha['id'], 'poster')){
  677. //echo "Trabalho Aceito";
  678. $values[] = "('".$this->id_evento."', '".$participante['id']."', '".$linha['id']."', 'poster', 'sim')";
  679. }//if
  680. }//while
  681. $participante['posteres'] = $posteres; // array
  682. // Concatenando os values para inserir no banco de dados
  683. $values = implode(", ", $values);
  684. $sql = "INSERT INTO ev_presenca(id_evento, id_participante, id_trabalho, tipo, presente) VALUES " . $values;
  685. //print "SQL: <pre>";
  686. // print_r($sql);
  687. //print "</pre>";
  688. mysql_query($sql);// or die(mysql_error());
  689. } //foreach participantes
  690. return $this->presencas();
  691. }//function
  692. */
  693. }
  694. ?>