PageRenderTime 25ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/app/frontController.php

http://sgd.googlecode.com/
PHP | 387 lines | 361 code | 7 blank | 19 comment | 13 complexity | fe68ddc0de0e8fab7d10d73e09065de2 MD5 | raw file
Possible License(s): GPL-2.0
  1. <?php
  2. session_start();
  3. include_once '../app/controllers/loginC.php';
  4. include_once '../app/models/loginM.php';
  5. include_once '../app/include/conexao.php';
  6. if ( isset( $_POST['verificaLogin'] ) ) {
  7. $loginC = new loginC();
  8. // try {
  9. // mail( 'bferronato@gmail.com', 'SGD - Verifica Login', "Usuario: {$_POST['siape']}" );
  10. // } catch (Exception $e) {
  11. // echo 'erro ao enviar email';
  12. // }
  13. return $loginC->valida( $_POST['siape'], md5($_POST['senha'] ) );
  14. }
  15. /* @todo VERIFICAR UMA BOA MANEIRA DE REDIRECIONAR NA PERDA DE SESSAO */
  16. elseif ( $_SESSION['logado'] != true ) {
  17. //mail( 'bferronato@gmail.com', 'SGD - Perda sessao', "Perda sessao usuario {$_SESSION['idProfessor']}" );
  18. session_unset();
  19. session_destroy();
  20. /* @todo testar o redirecionamento */
  21. header('Location: ../index.php');
  22. }
  23. include_once 'library/Smarty-3.0rc1/libs/Smarty.class.php';
  24. include_once 'library/MPDF45/mpdf.php';
  25. $dirs = array( 'controllers', 'models', 'views/*', 'include', 'helper' );
  26. foreach ( $dirs as $dir ) {
  27. foreach ( glob( "../app/{$dir}/*.php" ) as $filename ) {
  28. include_once "{$filename}";
  29. }
  30. }
  31. extract( $_POST );
  32. /*
  33. * @TODO Chamar somente os controlles
  34. * Criar um método generico para realizar essa chamada
  35. */
  36. switch ($action) {
  37. case 'relCentros':
  38. $centroC = new CentroC();
  39. $centroC->relCentros();
  40. break;
  41. case 'getCentrosJson':
  42. $centroC = new CentroC();
  43. $centros = $centroC->getCentrosJson();
  44. break;
  45. case 'relDepartamentos':
  46. $departamentoC = new DepartamentoC();
  47. $departamentos = $departamentoC->getDepartamentos( '', '' );
  48. $departamentoV = new DepartamentoV();
  49. $departamentoV->relDepartamentos( $departamentos );
  50. break;
  51. case 'getDepartamentos':
  52. $departamentoC = new DepartamentoC();
  53. $departamentoC->getDepartamentos( $returnType, $filtro );
  54. break;
  55. case 'getDepartamentosPorCentro':
  56. $departamentoC = new DepartamentoC();
  57. $departamentos = $departamentoC->getDepartamentosPorCentro( $_POST['idCentro'] );
  58. $departamentoV = new DepartamentoV();
  59. return $departamentoV->viewDepartamento( $departamentos );
  60. break;
  61. case 'printFormCadDepartamento':
  62. $departamentoV = new DepartamentoV();
  63. $centroC = new CentroC();
  64. $centros = $centroC->getCentros();
  65. $departamentoV->printFormCadDepartamento( $centros );
  66. break;
  67. case 'cadDepartamento':
  68. $departamentoC = new DepartamentoC();
  69. $departamentoC->cadastrar( $nome, $sigla, $idCentro, $fone );
  70. break;
  71. case 'printFormCadCentro':
  72. $centroV = new CentroV();
  73. $instituicaoC = new InstituicaoController();
  74. $instituicoes = $instituicaoC->getAll();
  75. $centroV->printFormCadCentro( $instituicoes );
  76. break;
  77. case 'cadCentro':
  78. $centroC = new CentroC();
  79. $centroC->cadastrar( $nome, $sigla, $idInstituicao, $fone );
  80. break;
  81. case 'relDiretoresCentros':
  82. $centroC = new CentroC();
  83. $centroC->relDiretoresCentros();
  84. break;
  85. case 'relDiretorPorCentro':
  86. $centroC = new CentroC();
  87. $centroC->relDiretorPorCentro( $idCentro );
  88. break;
  89. case 'definirAtualDiretor':
  90. $centroC = new CentroC();
  91. $centroC->definirAtualDiretor( $idCentro, $idProfessor );
  92. break;
  93. case 'definirAtualViceDiretor':
  94. $centroC = new CentroC();
  95. $centroC->definirAtualViceDiretor( $idCentro, $idProfessor );
  96. break;
  97. case 'definirAtualSecretario':
  98. $centroC = new CentroC();
  99. $centroC->definirAtualSecretario( $idCentro, $idProfessor );
  100. break;
  101. case 'relDepartamentoCentro':
  102. $centroC = new CentroC();
  103. $centros = $centroC->getCentros();
  104. $centroV = new CentroV();
  105. return $centroV->relDepartamentoCentro( $centros );
  106. break;
  107. case 'relAposentados':
  108. $aposentadosC = new ProfessorC();
  109. $aposentadosC->relAposentados();
  110. break;
  111. case 'relDepartamentoPorCentro':
  112. $centroC = new CentroC();
  113. $departamentos = $centroC->relDepartamentoPorCentro( $_POST['idCentro'] );
  114. $centroV = new CentroV();
  115. return $centroV->relDepartamentoPorCentro( $departamentos );
  116. break;
  117. case 'relChefesDepartamento':
  118. $departamentoC = new DepartamentoC();
  119. $departamentoC->relChefesDepartamento();
  120. break;
  121. case 'relChefesPorDepartamento':
  122. $departamentoC = new DepartamentoC();
  123. $departamentoC->relChefesPorDepartamento( $idDepartamento );
  124. break;
  125. case 'definirAtualChefeDepartamento':
  126. $departamentoC = new DepartamentoC();
  127. $departamentoC->definirAtualChefeDepartamento( $idDepartamento, $idProfessor );
  128. break;
  129. case 'definirAtualSubChefeDepartamento':
  130. $departamentoC = new DepartamentoC();
  131. $departamentoC->definirAtualSubChefeDepartamento( $idDepartamento, $idProfessor );
  132. break;
  133. case 'definirAtualChefeExpediente':
  134. $departamentoC = new DepartamentoC();
  135. $departamentoC->definirAtualChefeExpediente( $idDepartamento, $idProfessor );
  136. break;
  137. case 'relGeralProfessor':
  138. $professorC = new ProfessorC();
  139. $professorC->relGeralProfessor();
  140. break;
  141. case 'detalheGeralProfessor':
  142. $professorC = new ProfessorC();
  143. $professorC->detalheGeralProfessor( $idProfessor );
  144. break;
  145. case 'relAfastamentoAposentadoria':
  146. $professorC = new ProfessorC();
  147. $professorC->relAfastamentoAposentadoria();
  148. break;
  149. case 'pesquisarAfastamentoAposentadoria':
  150. $professorC = new ProfessorC();
  151. $professorC->pesquisarAfastamentoAposentadoria( $dataInicial, $dataFinal, $aposentado, $tipos );
  152. break;
  153. case 'relProfessoresPorDepartamento':
  154. $departamentoC = new DepartamentoC();
  155. $departamentoC->relProfessoresPorDepartamento( $idDepartamento, $filtro );
  156. break;
  157. case 'relProfessoresDepartamento':
  158. $departamentoC = new DepartamentoC();
  159. $departamentos = $departamentoC->getDepartamentos( '', '' );
  160. $departamentoV = new DepartamentoV();
  161. return $departamentoV->relProfessoresDepartamento( $departamentos );
  162. break;
  163. case 'findProfessorByName':
  164. $professorC = new ProfessorC();
  165. $professorC->findProfessorByName( $nameParam );
  166. break;
  167. case 'printFormCadProfessor':
  168. $professorC = new ProfessorC();
  169. $professorC->printFormCadProfessor();
  170. break;
  171. case 'cadProfessor':
  172. $professorC = new ProfessorC();
  173. $professorC->cadastrarProfessor( $nome, $dataNascimento, $matricula, $siape, $dataAdmissao, $dataAdmissaoUfsc, $dataPrevistaAposentadoria, $dataEfetivaAposentadoria, $idDepartamento, $idCategoriaFuncionalInicial, $idCategoriaFuncionalAtual, $idTipoTitulacao, $idCategoriaFuncionalReferencia, $idCargo, $idRegimeTrabalho, $idSituacao, $idStatusAtualProfessor );
  174. break;
  175. case 'printFormCadRegTrabProfessor':
  176. $professorC = new ProfessorC();
  177. $professores = $professorC->getAllProfessores( '', '');
  178. $regimeTrabalhoC = new RegimeTrabalhoC();
  179. $regimesTrabalho = $regimeTrabalhoC->getAllRegimesTrabalho( '' );
  180. $professorV = new ProfessorV();
  181. $professorV->printFormCadRegTrabProfessor( $professores, $regimesTrabalho );
  182. break;
  183. case 'cadRegimeTrabalhoProfessor':
  184. $professorC = new ProfessorC();
  185. $professorC->cadastrarRegimeTrabalhoProfessor( $idProfessor, $idRegimeTrabalho, $processo, $deliberacao, $portaria, $dataInicio );
  186. break;
  187. case 'printFormCadAfastamentoProfessor':
  188. $professorC = new ProfessorC();
  189. $professores = $professorC->getAllProfessores( '', '' );
  190. $instituicaoC = new InstituicaoController();
  191. $instituicoes = $instituicaoC->getAll();
  192. $tipoAfastamentoC = new TipoAfastamentoController();
  193. $tiposAfastamento = $tipoAfastamentoC->getAll();
  194. $tipoTitulacaoC = new TipoTitulacaoController();
  195. $tiposTitulacao = $tipoTitulacaoC->getAll();
  196. $professorV = new ProfessorV();
  197. $professorV->printFormCadAfastamentoProfessor( $professores, $instituicoes, $tiposAfastamento, $tiposTitulacao );
  198. break;
  199. case 'getStatusBySituacao':
  200. $situacaC = new SituacaoC();
  201. $situacaC->getStatusBySituacao( $returnType, $filtro );
  202. break;
  203. case 'cadAfastamentoProfessor':
  204. $professorC = new ProfessorC();
  205. $professorC->cadastrarAfastamentoProfessor( $idProfessor, $idInstituicao, $idTipoAfastamento, $idTipoTitulacao, $dataInicio, $dataPrevisaoTermino, $processo, $prorrogacao, $observacao );
  206. break;
  207. case 'printFormCadProgFuncProfessor':
  208. $professorC = new ProfessorC();
  209. $professores = $professorC->getAllProfessores( '', '' );
  210. $categoriaFuncionalC = new CategoriaFuncionalController();
  211. $categoriasFuncionais = $categoriaFuncionalC->getCategoriaFuncional();
  212. $professorV = new ProfessorV();
  213. $professorV->printFormCadProgFuncProfessor( $professores, $categoriasFuncionais );
  214. break;
  215. case 'cadProgFuncProfessor':
  216. $professorC = new ProfessorC();
  217. $professorC->cadastrarProgressaoFuncionalProfessor( $idProfessor, $idCategoriaFuncional, $processo, $tituloAvaliacao, $dataAvaliacao, $notaAvaliacao, $aPartirDe, $portaria, $observacoes );
  218. break;
  219. case 'mostraProgressaoFuncional':
  220. $professorC = new ProfessorC();
  221. $professorC->mostraProgressaoFuncional( $idProfessor );
  222. break;
  223. case 'listarProfessores':
  224. $professorC = new ProfessorC();
  225. $professorC->listarProfessores();
  226. break;
  227. case 'getAllProfessores':
  228. $professorC = new ProfessorC();
  229. $professorC->getAllProfessores( $returnType, $filtro );
  230. break;
  231. case 'getAllProfessoresJson':
  232. // @todo Mudar essa funcao para o professorC
  233. $professorC = new ProfessorC();
  234. $limit = $rows;
  235. $wh = "";
  236. $searchOn = Strip( $_POST['_search'] );
  237. if( $searchOn == 'true' ) {
  238. $wh = " WHERE ";
  239. $searchstr = Strip( $_POST['filters'] );
  240. $wh .= constructWhere( $searchstr );
  241. }
  242. if ( ( !empty( $filtro ) && ( $searchOn == 'false' ) ) ) {
  243. $filtro = json_decode( $filtro );
  244. switch ( $filtro->tipo ) {
  245. case 'cargo':
  246. $wh .= ' WHERE p.id_cargo in (' . join( ',', $filtro->params->idCargo ) . ')';
  247. $wh .= ' AND p.id_situacao not in (2)';
  248. break;
  249. }
  250. }
  251. if ( ( !empty( $filtro ) && ( $searchOn == 'true' ) ) ) {
  252. $filtro = json_decode( $filtro );
  253. switch ( $filtro->tipo ) {
  254. case 'cargo':
  255. $wh .= ' AND p.id_cargo in (' . join( ',', $filtro->params->idCargo ) . ')';
  256. $wh .= ' AND p.id_situacao not in (2)';
  257. break;
  258. }
  259. }
  260. $professores = $professorC->getAllProfessoresJson( $page, $limit, $sidx, $sord, $wh );
  261. break;
  262. case 'mostraDetalhesProfessor':
  263. $professorC= new ProfessorC();
  264. $professorC->mostraDetalhesProfessor( $idProfessor );
  265. break;
  266. case 'imprimirFicha':
  267. $professorC= new ProfessorC();
  268. $professorC->imprimirFicha( $idProfessor );
  269. break;
  270. case 'printFormUser':
  271. $professorC = new ProfessorC();
  272. $professorC->printFormUser( $_SESSION['idProfessor'] );
  273. break;
  274. case 'updateUser':
  275. $professorC = new ProfessorC();
  276. $professorC->updateUser( $nome, $dataNascimento, $siape, $senhaAtual, $novaSenha, $novaSenha2 );
  277. break;
  278. case 'printFormCadPais':
  279. $paisV = new PaisV();
  280. $paisV->printFormCadPais();
  281. break;
  282. case 'cadPais':
  283. $paisC = new PaisController();
  284. $paisC->cadastrarPais( $nome, $sigla );
  285. break;
  286. case 'printFormCadUF':
  287. $ufV = new UfV();
  288. $paisC = new PaisController();
  289. $paises = $paisC->getAll();
  290. $ufV->printFormCadUf( $paises );
  291. break;
  292. case 'cadUF':
  293. $ufC = new UfController();
  294. $ufC->cadastrarUf( $idPais, $nome, $sigla );
  295. break;
  296. case 'printFormCadMunicipio':
  297. $municioC = new municipioController();
  298. $municioC->printFormCadMunicipio();
  299. break;
  300. case 'cadMunicipio':
  301. $municioC = new municipioController();
  302. $municioC->cadastrar( $nome, $idUf );
  303. break;
  304. case 'printFormCadInstituicao':
  305. $instituicaoV = new InstituicaoV();
  306. $municioC = new municipioController();
  307. $municipios = $municioC->getAll();
  308. $instituicaoV->printFormCadInstituicao( $municipios );
  309. break;
  310. case 'cadInstituicao':
  311. $instituicaoC = new InstituicaoController();
  312. $instituicaoC->cadastrar( $nome, $sigla, $idMunicipio );
  313. break;
  314. case 'printFormCadTipoAfastamento':
  315. $tipoAfastamentoV = new TipoAfastamentoV();
  316. $tipoAfastamentoV->printFormCadTipoAfastamento();
  317. break;
  318. case 'cadTipoAfastamento':
  319. $tipoAfastamentoC = new TipoAfastamentoController();
  320. $tipoAfastamentoC->cadastrar( $descricao );
  321. break;
  322. case 'printFormCadTipoTitulacao':
  323. $tipoTitulacaoV = new TipoTitulacaoV();
  324. $tipoTitulacaoV->printFormCadTipoTitulacao();
  325. break;
  326. case 'cadTipoTitulacao':
  327. $tipoTitulacaoC = new TipoTitulacaoController();
  328. $tipoTitulacaoC->cadastrar( $descricao );
  329. break;
  330. case 'printFormCadCategoriaFuncional':
  331. $categoriaFuncionaV = new categoriaFuncionalV();
  332. $categoriaFuncionaV->printFormCadCategoriaFuncional();
  333. break;
  334. case 'cadCategoriaFuncional':
  335. $categoriaFuncionalC = new CategoriaFuncionalController();
  336. $categoriaFuncionalC->cadastrar( $descricao );
  337. break;
  338. case 'printFormCadRegimeTrabalho':
  339. $regimeTrabalhoV = new RegimeTrabalhoV();
  340. $regimeTrabalhoV->printFormCadRegimeTrabalho();
  341. break;
  342. case 'cadRegimeTrabalho':
  343. $regimeTrabalhoC = new RegimeTrabalhoController();
  344. $regimeTrabalhoC->cadastrar( $descricao, $quantidadeHoras, $dedicacaoExclusiva );
  345. break;
  346. case 'dataDiff':
  347. $dataHelper = new DataHelper();
  348. $dataInicio = date( 'Y-m-d', strtotime( str_replace( '/', '-', $dataInicio ) ) );
  349. $dataPrevisaoTermino = date( 'Y-m-d', strtotime( str_replace( '/', '-', $dataPrevisaoTermino ) ) );
  350. $mesesDiff = $dataHelper->dataDiff( $dataInicio, $dataPrevisaoTermino );
  351. echo json_encode( $mesesDiff );
  352. break;
  353. case 'printFormCadAvaliacaoDesempenho':
  354. $avaliacaoDesempenhoV = new AvaliacaoDesempenhoV();
  355. $avaliacaoDesempenhoV->printFormCadAvaliacaoDesempenho();
  356. break;
  357. case 'printFormCadPortaria':
  358. $portariaC = new PortariaC();
  359. $portariaC->printFormCadPortaria();
  360. break;
  361. case 'cadPortaria':
  362. $portariaC = new PortariaC();
  363. $portariaC->cadPortaria( $idProfessor, $portaria, $descricao );
  364. break;
  365. case 'printFormCadProcesso':
  366. $processoC = new ProcessoC();
  367. $processoC->printFormCadProcesso();
  368. break;
  369. case 'cadProcesso':
  370. $processoC = new ProcessoC();
  371. $processoC->cadProcesso( $idProfessor, $processo, $descricao );
  372. break;
  373. case 'logout':
  374. $loginC = new LoginC();
  375. $loginC->logout();
  376. break;
  377. }
  378. ?>