Guest User

Untitled

a guest
Jan 17th, 2018
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 144.97 KB | None | 0 0
  1. <?php
  2. class IndexController extends Zend_Controller_Action
  3. {
  4. public function init()
  5. {
  6. /* Initialize action controller here */
  7.  
  8. /*=============================================== Zend Layout ======================================================================= */
  9. Zend_Layout::startMvc(array(
  10. 'layout'=> 'layout-index',
  11. 'layoutPath' => APPLICATION_PATH . '/views/scripts/layout'
  12. ));
  13.  
  14. $this->view->HeadLink()->prependStylesheet('/css/css_base.css') ;
  15. $this->view->HeadScript()->appendFile('/js/geral_site.js') ;
  16.  
  17. $this->view->HeadLink()->prependStylesheet('/miscellaneous/jquery_validator/validationEngine.jquery.css') ;
  18. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_validator/jquery.validationEngine-pt_BR.js') ;
  19. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_validator/jquery.validationEngine.js') ;
  20.  
  21. $this->view->HeadLink()->prependStylesheet('/miscellaneous/jquery_event_calendar/eventCalendar.css') ;
  22. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_event_calendar/jquery.eventCalendar.js') ;
  23.  
  24. $this->view->HeadLink()->prependStylesheet('/miscellaneous/jquery_minitwitte/jquery.minitwitter.css') ;
  25. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_minitwitte/jquery.minitwitter.js') ;
  26.  
  27. $this->view->HeadScript()->appendFile('/miscellaneous/jquery.maskedinput/jquery.maskedinput.js') ;
  28. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_cookie/jquery.cookie.js') ;
  29. //$this->view->HeadLink()->prependStylesheet('/miscellaneous/jquery_event_calendar/eventCalendar_theme_responsive.css') ;
  30. // Menu
  31. $oe_itens = New DbTable_Itens() ;
  32. $this->view->lista_itens_menu = $oe_itens->pegarListaMenu() ;
  33. $uri = $this->_request->getPathInfo();
  34. $activeNav = $this->view->navigation()->findByUri($uri);
  35. /*$activeNav->active- = true;
  36. */ //$activeNav->setClass("active");
  37.  
  38. // Eventos
  39. $oeEventos = New DbTable_Evento() ;
  40. $this->view->listaEventos = $oeEventos->listaUltimosEventos() ;
  41.  
  42. // Processos
  43. $oeProcesso = New DbTable_ProcessoSeletivo() ;
  44. $this->view->listaPrcessoSeletivo = $oeProcesso->listaUltimosProcessos() ;
  45.  
  46. $this->view->sessaoUsuarioLogado = $this->pegarSessaoUsuario();
  47.  
  48. /*
  49. $abc = New DbTable_LogsLoginSucesso() ;
  50. if (isset($this->view->sessaoUsuarioLogado->id)) {
  51. $this->view->arrInfoUltimoLogin = $abc->pegarPenultimoLoginUsuario($this->view->sessaoUsuarioLogado->id) ;
  52. }*/
  53.  
  54.  
  55. }
  56.  
  57. // (Caráter de experimentação. Após período remover daqui) get boleto da prova de recuperação para congresso de Curitiba 2014
  58. protected function pegarBoletoCongressoCuritiba2014($userId = 0){
  59. $oeResidenteSbn = new DbTable_ResidenteSbn();
  60. $query = $oeResidenteSbn->select()
  61. ->setIntegrityCheck(false)
  62. ->from(array('rs' => 'residente_sbn'), array('resUserId', 'IdResidente' => 'Id'))
  63. ->join(array('u' => 'users'), 'u.id = rs.resUserId', array('usrNome', 'login' ))
  64. ->join(array('boletosProvaRecuperacao2014' => 'iddosboletosprovarecuperacao2014'), 'boletosProvaRecuperacao2014.id_residente = rs.id', array('sacado_nome', 'id_boleto', 'referencia'))
  65. ->where('rs.resUserId = ' .$userId)
  66. ;
  67. $boletoProvaRecuperacaoCuritiba2014 = $oeResidenteSbn->fetchRow($query) ;
  68. return $boletoProvaRecuperacaoCuritiba2014;
  69. }
  70.  
  71. public function pegarSessaoUsuario()
  72. {
  73. return Application_Model_User::pegarSessaoUsuarioLogadoAtual() ;
  74. }
  75.  
  76. public function indexAction()
  77. {
  78. $oeItens = New DbTable_Itens() ;
  79.  
  80. //print_r($oeItens->subirPosicaoDestaqueHomeSite(36, 4)) ;
  81.  
  82. $this->view->destaquesHomeSite = $oeItens->pegarItensDestaqueParaHomeSite() ;
  83. $this->view->dadosUsua = base64_encode($this->view->sessaoUsuarioLogado->login.";".$this->view->sessaoUsuarioLogado->password);
  84.  
  85. // Pega sessão do usuário que está logado
  86. $usuario = Zend_Auth::getInstance()->getIdentity();
  87. //print_r($usuario) ;
  88.  
  89. }
  90.  
  91. public function meusDadosAction()
  92. {
  93. if (count($this->pegarSessaoUsuario()) == 0) {
  94. $this->_redirect('/');
  95. }
  96.  
  97.  
  98.  
  99. $this->view->HeadScript()->appendFile('/js/meus-dados.js') ;
  100.  
  101. $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  102.  
  103. $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  104.  
  105.  
  106. $oeUsuario = New Application_Model_DbTable_User() ;
  107. $this->view->arrDadosUsuario = $oeUsuario->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  108.  
  109. $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  110.  
  111. $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  112.  
  113.  
  114. $oeSubAreaAtuacao = New DbTable_UsuarioSubAreaDeAtuacao() ;
  115.  
  116. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  117. if (count($subAreaDeAtuacao) == 0 ) {
  118. $oeSubAreaAtuacao->insert(array('usaaIdUser' => $this->pegarSessaoUsuario()->id)) ;
  119. // Refaz a consulta
  120. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  121. }
  122. $this->view->subAreaDeAtuacao = $subAreaDeAtuacao ;
  123.  
  124.  
  125. $this->view->carregarModalAlertaPrecisaRecadastra = $oeUsuario->verificarSeUsuarioPrecisaRecadastrar($this->pegarSessaoUsuario()->id) ;
  126.  
  127. // ini: pegar participações nas gestões dos presidentes da SBN
  128. $oeOrganizacao = new DbTable_Organizacao();
  129. $participacoesPoliticas = $oeOrganizacao->getMembrosDaGestao(array(
  130. 'usrId' => $this->pegarSessaoUsuario()->id,
  131. 'campoOrdem' => 'Id',
  132. 'ordem' => 'ASC'));
  133. if (count($participacoesPoliticas) > 0) :
  134. $participacoesPoliticas = $participacoesPoliticas->toArray();
  135. endif;
  136. // pegar participação se associado é atualmente chefe de serviço. Na minha opinião (Henrique) isto está errado, deveria-se ter um histórioc
  137. // de quem foi chefe de serviço, pois desta maneira (igual esta no antigo sistema gestão) os antigos chefes de serviço não serão contemplados
  138. // no resultado da query
  139. $oeHospital = new DbTable_Hospital();
  140. $participacaoChefeDeServico = $oeHospital->fetchAll('hptIdUserChefe = ' . $this->pegarSessaoUsuario()->id);
  141. if (count($participacaoChefeDeServico) > 0) :
  142. $participacaoChefeDeServico = $participacaoChefeDeServico->toArray();
  143. endif;
  144. $oeResidenciaCentroCoordenador = new DbTable_ResidenciaCentroCoordenador();
  145. $participacaoCoordenadorCentro = $oeResidenciaCentroCoordenador->pegarOndeUsuarioECoordenador($this->pegarSessaoUsuario()->id);
  146. if (count($participacaoCoordenadorCentro) > 0) :
  147. $participacaoCoordenadorCentro = $participacaoCoordenadorCentro->toArray();
  148. endif;
  149.  
  150. $this->view->participacoesPoliticas = $participacoesPoliticas;
  151. $this->view->participacaoChefeDeServico = $participacaoChefeDeServico;
  152. $this->view->participacaoCoordenadorCentro = $participacaoCoordenadorCentro;
  153. // end: pegar participações nas gestões dos presidentes da SBN
  154. }
  155.  
  156.  
  157.  
  158.  
  159.  
  160. public function sobreSbnAction()
  161. {
  162. $oeConteudo = New DbTable_Conteudo() ;
  163. $this->view->conteudo = $oeConteudo->pegarPorIdDoPai(3) ;
  164.  
  165. }
  166.  
  167.  
  168.  
  169.  
  170. public function cranioAction()
  171. {
  172.  
  173. }
  174.  
  175. public function institucionalAction()
  176. {
  177. $url = $this->view->url();
  178. $url= explode ('/', $url) ;
  179.  
  180. $oeConteudo = New DbTable_Conteudo() ;
  181.  
  182. // Existe o parametro que dá nome a comissão?
  183. if (isset($url[3])) {
  184.  
  185. $oeItens = New DbTable_Itens() ;
  186. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  187. if ($consultaComissao == null) {
  188. // comissão não existe
  189. $strNomeComissao = null ;
  190. $this->redirect('/error/erro404') ;
  191. }else {
  192. // comissão existe
  193. $strNomeComissao = $consultaComissao['itnNome'] ;
  194. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  195. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  196. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  197. // Seta as metaTags
  198. $this->view->headTitle($consultaComissao['itnNome'], 'SET') ;
  199. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  200. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  201.  
  202. }
  203. $this->view->strNomeComissao = $strNomeComissao ;
  204. } else {
  205. // Não existe o parametro que dá nome a comissão?
  206. $this->view->strNomeComissao = null ;
  207.  
  208. $this->view->tituloItem = 'Institucional' ;
  209.  
  210. $conteudo = $oeConteudo->pegarPorIdDoPai(1) ;
  211. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  212. }
  213.  
  214.  
  215. }
  216.  
  217. public function noticiasAction()
  218. {
  219. $this->view->desabilitarColunaDireita = true ;
  220.  
  221. $url = $this->view->url();
  222. $url= explode ('/', $url) ;
  223.  
  224. $oeConteudo = New DbTable_Conteudo() ;
  225.  
  226. // Existe o parametro que dá nome a noticia (url key) ?
  227. if (isset($url[3])) {
  228. $this->view->urlKeyDaNoticia = true ;
  229. $oeItens = New DbTable_Itens() ;
  230. $consultaNoticia = $oeItens->pegarItenPorUrl($this->view->url()) ;
  231. if ($consultaNoticia == null) {
  232. // noticia não existe
  233. $strNomeComissao = null ;
  234. $this->redirect('/error/erro404') ;
  235. }else {
  236. // noticia existe
  237. $strNomeComissao = $consultaNoticia['itnNome'] ;
  238. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaNoticia['itnId']) ;
  239. $this->view->tituloItem = $consultaNoticia['itnNome'] ;
  240. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  241. // Seta as metaTags
  242. $this->view->headTitle($consultaNoticia['itnNome'], 'SET') ;
  243. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  244. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  245.  
  246. }
  247. $this->view->strNomeComissao = $strNomeComissao ;
  248. } else {
  249. // Não existe o parametro que dá nome ?
  250. $this->view->strNomeComissao = null ;
  251.  
  252. $this->view->tituloItem = 'Noticias' ;
  253.  
  254. $conteudo = $oeConteudo->pegarPorIdDoPai(1) ;
  255. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  256.  
  257. $oeItem = New DbTable_Itens() ;
  258. $this->view->listaNoticiasParaIndexNoticias = $oeItem->pegarItensDestaqueParaHomeNoticias(10, 'DESC', 3) ;
  259.  
  260. $paginator = Zend_Paginator::factory($oeItem->pegarListaNoticiasParaIndexDeNoticias(10));
  261. $paginator->setCurrentPageNumber($this->_getParam('pag'))
  262. ->setItemCountPerPage(10)
  263. ->setPageRange(8);
  264. // Configuração da paginação
  265. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  266. Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination/pagination.phtml');
  267.  
  268. $this->view->assign('hits', $paginator);
  269.  
  270. //echo '<pre>' ;
  271. //print_r($this->view->listaNoticiasParaIndexNoticias ) ;
  272. //echo '</pre>' ;
  273. }
  274.  
  275.  
  276. }
  277.  
  278. public function todasAsNoticiasAction()
  279. {
  280. $oeItem = New DbTable_Itens() ;
  281. $paginator = Zend_Paginator::factory($oeItem->pegarNoticiasParaIndexDeNoticias(10, 'DESC', null, true)) ;
  282. $paginator->setCurrentPageNumber($this->_getParam('pag'))
  283. ->setItemCountPerPage(10)
  284. ->setPageRange(8);
  285. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  286. Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination/pagination.phtml');
  287.  
  288. $this->view->assign('hits', $paginator);
  289. }
  290.  
  291. public function comissoesAction()
  292. {
  293. $url = $this->view->url();
  294. $url= explode ('/', $url) ;
  295.  
  296. $oeConteudo = New DbTable_Conteudo() ;
  297.  
  298. // Existe o parametro que dá nome a comissão?
  299. if (isset($url[3])) {
  300.  
  301. $oeItens = New DbTable_Itens() ;
  302. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  303. if ($consultaComissao == null) {
  304. // comissão não existe
  305. $strNomeComissao = null ;
  306. $this->redirect('/error/erro404') ;
  307. }else {
  308. // comissão existe
  309. $strNomeComissao = $consultaComissao['itnNome'] ;
  310. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  311. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  312. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  313. // Seta as metaTags
  314. $this->view->headTitle($consultaComissao['itnNome'], 'SET') ;
  315. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  316. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  317. }
  318. $this->view->strNomeComissao = $strNomeComissao ;
  319. } else {
  320. // Não existe o parametro que dá nome a comissão?
  321. $this->view->strNomeComissao = null ;
  322.  
  323. $this->view->tituloItem = 'Comissões' ;
  324.  
  325. $conteudo = $oeConteudo->pegarPorIdDoPai(11) ;
  326. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  327. }
  328.  
  329.  
  330. }
  331. public function departamentosAction()
  332. {
  333. $url = $this->view->url();
  334. $url= explode ('/', $url) ;
  335.  
  336. $oeConteudo = New DbTable_Conteudo() ;
  337.  
  338. // Existe o parametro que dá nome a comissão?
  339. if (isset($url[3])) {
  340.  
  341. $oeItens = New DbTable_Itens() ;
  342. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  343. if ($consultaComissao == null) {
  344. // comissão não existe
  345. $strNomeComissao = null ;
  346. $this->redirect('/error/erro404') ;
  347. }else {
  348. // comissão existe
  349. $strNomeComissao = $consultaComissao['itnNome'] ;
  350. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  351. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  352. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  353.  
  354. // Seta as metaTags
  355. $this->view->headTitle($consultaComissao['itnNome'], 'SET') ;
  356. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  357. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  358.  
  359. }
  360. $this->view->strNomeComissao = $strNomeComissao ;
  361. } else {
  362. // Não existe o parametro que dá nome a comissão?
  363. $this->view->strNomeComissao = null ;
  364.  
  365. $this->view->tituloItem = 'Comissões' ;
  366.  
  367. $conteudo = $oeConteudo->pegarPorIdDoPai(11) ;
  368. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  369. }
  370.  
  371.  
  372. }
  373. public function publicacoesAction()
  374. {
  375. $url = $this->view->url();
  376. $url= explode ('/', $url) ;
  377. $this->view->desabilitarColunaDireita = true ;
  378. $oeConteudo = New DbTable_Conteudo() ;
  379.  
  380. // Existe o parametro que dá nome a comissão?
  381. if (isset($url[3])) {
  382.  
  383. $oeItens = New DbTable_Itens() ;
  384. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  385. if ($consultaComissao == null) {
  386. // comissão não existe
  387. $strNomeComissao = null ;
  388. $this->redirect('/error/erro404') ;
  389. }else {
  390. // comissão existe
  391. $strNomeComissao = $consultaComissao['itnNome'] ;
  392. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  393. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  394. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  395.  
  396. // Seta as metaTags
  397. $this->view->headTitle($consultaComissao['itnNome'], 'SET') ;
  398. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  399. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  400.  
  401. }
  402. $this->view->strNomeComissao = $strNomeComissao ;
  403. } else {
  404. // Não existe o parametro que dá nome a comissão?
  405. $this->view->strNomeComissao = null ;
  406.  
  407. $this->view->tituloItem = 'Publicações' ;
  408.  
  409. $conteudo = $oeConteudo->pegarPorIdDoPai(1) ;
  410. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  411. }
  412.  
  413.  
  414. }
  415.  
  416. public function penseBemAction()
  417. {
  418.  
  419. $this->redirect('/index/institucional/pense-bem') ;
  420. $url = $this->view->url();
  421. $url= explode ('/', $url) ;
  422.  
  423. $oeConteudo = New DbTable_Conteudo() ;
  424.  
  425. // Existe o parametro que dá nome a comissão?
  426. if (isset($url[3])) {
  427.  
  428. $oeItens = New DbTable_Itens() ;
  429. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  430. if ($consultaComissao == null) {
  431. // comissão não existe
  432. $strNomeComissao = null ;
  433. $this->redirect('/error/erro404') ;
  434. }else {
  435. // comissão existe
  436. $strNomeComissao = $consultaComissao['itnNome'] ;
  437. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  438. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  439. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  440. }
  441. $this->view->strNomeComissao = $strNomeComissao ;
  442. } else {
  443. // Não existe o parametro que dá nome a comissão?
  444. $this->view->strNomeComissao = null ;
  445.  
  446. $this->view->tituloItem = 'Pense Bem' ;
  447.  
  448. $conteudo = $oeConteudo->pegarPorIdDoPai(1) ;
  449. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  450. }
  451.  
  452.  
  453. }
  454.  
  455.  
  456. public function contatoAction()
  457. {
  458.  
  459. }
  460.  
  461. public function servicosAction()
  462. {
  463. $url = $this->view->url();
  464. $url= explode ('/', $url) ;
  465.  
  466. $oeConteudo = New DbTable_Conteudo() ;
  467.  
  468. // Existe o parametro que dá nome a comissão?
  469. if (isset($url[3])) {
  470.  
  471. $oeItens = New DbTable_Itens() ;
  472. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  473. if ($consultaComissao == null) {
  474. // comissão não existe
  475. $strNomeComissao = null ;
  476. $this->redirect('/error/erro404') ;
  477. }else {
  478. // comissão existe
  479. $strNomeComissao = $consultaComissao['itnNome'] ;
  480. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  481. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  482. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  483.  
  484. // Seta as metaTags
  485. $this->view->headTitle($consultaComissao['itnNome'], 'SET') ;
  486. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  487. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  488.  
  489. }
  490. $this->view->strNomeComissao = $strNomeComissao ;
  491. } else {
  492. // Não existe o parametro que dá nome a comissão?
  493. $this->view->strNomeComissao = null ;
  494.  
  495. $this->view->tituloItem = 'Publicações' ;
  496.  
  497. $conteudo = $oeConteudo->pegarPorIdDoPai(1) ;
  498. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  499. }
  500.  
  501.  
  502. }
  503.  
  504. public function eventosAction()
  505. {
  506. $idEvento = (int) $this->_request->getParam('id', null) ;
  507. $this->view->idEvento = $idEvento ;
  508. $oeEventos = New DbTable_Evento() ;
  509. $oeConteudo = New DbTable_Conteudo() ;
  510.  
  511. // id é diferente de null ?
  512. if ($idEvento != null) {
  513.  
  514. $consultaEvento = $oeEventos->pegarEventoqPorId($idEvento) ;
  515. echo '<pre>' ;
  516.  
  517. echo '</pre>' ;
  518. $this->view->evento = $consultaEvento ;
  519. $this->view->nomeEvento = $consultaEvento['evtNome'] ;
  520.  
  521. // Seta as metaTags
  522. $this->view->headTitle($consultaEvento['evtNome'], 'SET');
  523. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($consultaEvento['evtHtml']))), 0, 152, null, '...'));
  524. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  525. } else {
  526.  
  527. $this->view->tituloItem = 'Eventos' ;
  528.  
  529. $conteudo = $oeConteudo->pegarPorIdDoPai(244) ;
  530. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  531.  
  532. $listaEventos = $oeEventos->pegarTodosEventos() ;
  533.  
  534. // Paginação
  535. $paginator = Zend_Paginator::factory($listaEventos);
  536. $paginator->setCurrentPageNumber($this->_getParam('pag'))
  537. ->setItemCountPerPage(10)
  538. ->setPageRange(10);
  539. // Configurações da paginação
  540. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  541. Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination/pagination.phtml');
  542.  
  543.  
  544.  
  545. $this->view->assign('hits', $paginator);
  546. }
  547.  
  548.  
  549. }
  550.  
  551.  
  552. public function faleConoscoAction()
  553. {
  554. $this->view->HeadScript()->appendFile('/js/fale_conosco.js') ;
  555.  
  556.  
  557. // é post?
  558. if ($this->_request->isPost()) {
  559. $formFaleConosco = New Forms_FaleConosco() ;
  560. $arrDadosPost = $this->_request->getPost();
  561. //print_r($arrDadosPost) ;
  562. // dados enviados são válidos ?
  563. if ($formFaleConosco->isValid($arrDadosPost)) {
  564. // dados enviados são válidos
  565. $oeFaleConosco = New DbTable_FaleConosco() ;
  566.  
  567. // retorna o id do fale conosco criado
  568. $cadastrarFaleconosco = $oeFaleConosco->inserir($arrDadosPost) ;
  569.  
  570. if ( is_numeric($cadastrarFaleconosco) == true){
  571. // inseriu com sucessoo
  572. $this->view->bolSucesso = true ;
  573. $oeFaleConosco->notificarVisitanteRecebimentoSolicitacao($cadastrarFaleconosco) ;
  574. $oeFaleConosco->notificarAdministracaoRecebimentoSolicitacao($cadastrarFaleconosco) ;
  575.  
  576. } else {
  577. // não inseriu com sucesso
  578. }
  579.  
  580. }else {
  581. // dados enviados não são válidos
  582. $this->view->formFaleConosco = $formFaleConosco->populate($arrDadosPost) ;
  583. }
  584.  
  585. } else {
  586. // não é post
  587. $formFaleConosco = New Forms_FaleConosco() ;
  588. $this->view->formFaleConosco = $formFaleConosco ;
  589. }
  590. }
  591. public function enderecoSbnAction()
  592. {
  593. $oeConteudo = New DbTable_Conteudo() ;
  594. $this->view->conteudo = $oeConteudo->pegarPorIdDoPai(9) ;
  595.  
  596. }
  597.  
  598. public function aulasOnlineAction()
  599. {
  600. $oeCategorias = New DbTable_CategoriasVideoAulasSbn() ;
  601. $queryCategorias = $oeCategorias->select()->where('cvasExibirCategoria = 1')->order('cvasOrdem ASC') ;
  602. $arrCategorias = $oeCategorias->fetchAll($queryCategorias ) ;
  603.  
  604. $oeVideoSbn = new DbTable_VideosAula() ;
  605.  
  606. $arrVideoPorCategoria = array() ;
  607. foreach ($arrCategorias AS $item) :
  608. $arrVideoPorCategoria[$item['cvasId']]['cvasId'] = $item['cvasId'] ;
  609. $arrVideoPorCategoria[$item['cvasId']]['nomeCategoria'] = $item['cvasNome'] ;
  610. $arrVideoPorCategoria[$item['cvasId']]['arrVideos'] = $oeVideoSbn->pegarVideos($item['cvasId']) ;
  611. endforeach;
  612.  
  613. //echo '<pre>' ;
  614. //print_r($arrVideoPorCategoria) ;
  615. //echo '</pre>' ;
  616.  
  617.  
  618. $this->view->arrVideosSbn = $arrVideoPorCategoria ;
  619. $url = "http://www.youtube.com/watch?v=Z5pWz_OR5Sg&amp;feature=relate";
  620. parse_str( parse_url( $url, PHP_URL_QUERY ) ) ;
  621. $this->view->thumbnail = $v ;
  622.  
  623. }
  624.  
  625.  
  626. public function recadastroSemEmailAction()
  627. {
  628. $this->view->tituloItem = 'Recadastro sem email';
  629. $oeUnidadeFederativa = New DbTable_UnidadeFederativa();
  630.  
  631. $this->view->pag = $this->_request->getParam('pag', null);
  632.  
  633.  
  634.  
  635. if ($this->view->pag == 'perguntas') :
  636. $this->view->HeadScript()->appendFile('/js/recadastro-sem-email.js');
  637.  
  638. if ($this->_request->isPost()) :
  639. $formUser = New Forms_User();
  640. $arrDadosPost = $this->_request->getPost();
  641.  
  642. $arrDadosPost['usrCpf'] = preg_replace('/[^0-9]/', '', $arrDadosPost['usrCpf']);
  643.  
  644.  
  645. $captcha = $arrDadosPost['captcha'];
  646. $captchaId = $captcha['id'];
  647. $captchaInput = $captcha['input'];
  648. $captchaSession = new Zend_Session_Namespace('Zend_Form_Captcha_' . $captchaId);
  649. $captchaIterator = $captchaSession->getIterator();
  650. $captchaWord = $captchaIterator['word'];
  651.  
  652. if ($captchaInput == $captchaWord) {
  653.  
  654. //echo 'captcha ok';
  655. if ($formUser->usrCpf->isValid($arrDadosPost['usrCpf']) &&
  656. $formUser->usrCrm->isValid($arrDadosPost['usrCrm']) &&
  657. $formUser->usrDataNascimento->isValid($arrDadosPost['usrDataNascimento']) &&
  658. $formUser->usrCrmUf->isValid($arrDadosPost['usrCrmUf'])
  659. ) {
  660.  
  661.  
  662. $data_formatada = Zend_Locale_Format::getDate($arrDadosPost['usrDataNascimento'], array('date_format' => 'yyMMdd', 'fix_date' => true)
  663. );
  664. $dataNascimentoFormatoMysql = $data_formatada['year'] . '-' . $data_formatada['month'] . '-' . $data_formatada['day'];
  665.  
  666.  
  667.  
  668. $oeUser = New Application_Model_DbTable_User();
  669.  
  670. if ($oeUser->verificarCpf($arrDadosPost['usrCpf']) == null) :
  671. // não possui cpf
  672. $this->_redirect('/index/recadastro-sem-email/pag/cpf-nao-cadastrado');
  673. else :
  674. // possui cpf
  675.  
  676. $consultaCrm = $oeUser->verificarCrmDoCpf($arrDadosPost['usrCrm'], $arrDadosPost['usrCpf']);
  677. $consultaDataNasc = $oeUser->verificarDataNascDoCpf($dataNascimentoFormatoMysql, $arrDadosPost['usrCpf']);
  678.  
  679. if ($consultaCrm != null || $consultaDataNasc != null) :
  680. // autorizado a gerar token para modificação de email
  681.  
  682. $oeTokenSetarEmail = New DbTable_TokensResetarEmail();
  683. $token = $oeTokenSetarEmail->gerarTokenParaRedefinirEmail($arrDadosPost['usrCpf']);
  684.  
  685.  
  686. $this->_redirect('/index/recadastro-sem-email/pag/informar-novo-email/te/' . base64_encode($token));
  687.  
  688. else :
  689. // não está autorizado a gerar token para modificação de email
  690. $this->view->naoAutorizado = true;
  691. $formUser->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  692. $this->view->form = $formUser->populate($arrDadosPost);
  693. endif;
  694.  
  695.  
  696.  
  697. endif;
  698. } else {
  699. // não é valido
  700. //echo 'invalido' . '<br>';
  701. $formUser->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  702. $this->view->form = $formUser->populate($arrDadosPost);
  703. }
  704. } else {
  705.  
  706. //echo 'captcha errado';
  707. $this->view->msg_erro = 'Captcha errado. Tente novamente. Diferencie maiúscula e minúsculas.';
  708. $formUser->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  709. $this->view->form = $formUser->populate($arrDadosPost);
  710. }
  711.  
  712.  
  713. else :
  714. // não é post
  715. $formUser = New Forms_User();
  716. $formUser->usrCrmUf->addMultiOptions(array('' => 'Selecione um estado'));
  717. $formUser->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  718.  
  719.  
  720. $this->view->form = $formUser;
  721.  
  722. endif;
  723.  
  724. endif;
  725.  
  726. if ($this->view->pag == 'informar-novo-email') :
  727. $token = base64_decode($this->_request->getParam('te', null));
  728. $tokenResetarEmail = New DbTable_TokensResetarEmail();
  729.  
  730. if ($tokenResetarEmail->verificarToken($token) == true) :
  731.  
  732.  
  733. if ($this->_request->isPost()) :
  734. $formUser = New Forms_User();
  735. $arrDadosPost = $this->_request->getPost();
  736. $novo_email = strtolower($arrDadosPost['login']);
  737.  
  738. if ($formUser->login->isValid($arrDadosPost['login'])) {
  739.  
  740. $tokenResetarEmail->enviarTokenResetarEmail($novo_email, $token) ;
  741. $tokenResetarEmail->adicionarEmailAoTOken($novo_email, $token) ;
  742.  
  743.  
  744. $this->view->emailInformado = $novo_email;
  745. $this->view->tokenEnviado = true;
  746.  
  747. } else {
  748. $this->view->form = $formUser->populate($arrDadosPost);
  749. }
  750.  
  751. else :
  752. // não é post
  753. $formUser = New Forms_User();
  754. $this->view->form = $formUser;
  755. endif;
  756. endif;
  757. endif;
  758.  
  759. if ($this->view->pag == 'cpf-nao-cadastrado') :
  760.  
  761. endif;
  762. }
  763.  
  764.  
  765. public function recadastroJaPossuoEmailAction()
  766. {
  767. $this->view->HeadScript()->appendFile('/js/recadastro-ja-possuo-email.js');
  768.  
  769.  
  770. if ( $this->_request->isPost() ) :
  771.  
  772.  
  773. $formUser = New Forms_User() ;
  774. $arr_post = $this->_request->getPost() ;
  775. $arr_post['login'] = strtolower(trim($arr_post['login'])) ;
  776.  
  777. $this->view->emailInformadoPeloUsuario = $arr_post['login'] ;
  778. if ($formUser->login->isValid($arr_post['login'])) {
  779. //echo 'valido' ;
  780.  
  781. $oeUser = New Application_Model_DbTable_User() ;
  782.  
  783. $oeTokenPorEmail = New DbTable_TokensEnviadosPorEmailRedefiniSenha() ;
  784.  
  785. if ( $oeUser->verificarEmailCadastradoNaBase($arr_post['login']) == true ) :
  786. //echo 'email existe' ;
  787.  
  788. $token = $oeTokenPorEmail->GerarLinkParaRecuperarSenha($arr_post['login']) ;
  789. //echo $token ;
  790. $oeTokenPorEmail->enviarEmailRecuperarSenha($arr_post['login'], $token) ;
  791. $this->view->emailExiste = true ;
  792.  
  793. else :
  794. //echo 'email não existe' ;
  795. $this->view->emailExiste = false ;
  796. endif;
  797.  
  798.  
  799.  
  800. } else {
  801. //echo 'invalido' ;
  802. $this->view->formulario = $formUser->populate($arr_post) ;
  803. }
  804.  
  805.  
  806.  
  807. else :
  808. // não é post
  809. $formUser = New Forms_User() ;
  810. $this->view->formulario = $formUser ;
  811. endif;
  812.  
  813.  
  814. }
  815.  
  816. public function redefinirSenhaAtravesTokenAction()
  817. {
  818. $this->view->headTitle()->prepend('Redefinir minha senha') ;
  819. $this->view->HeadScript()->appendFile('/js/redefinir-senha-atraves-token.js');
  820.  
  821.  
  822. // Seta as metaTags
  823. $this->view->headTitle('Redefinir Senha Através de Token', 'SET');
  824. $this->view->headMeta()->setName('description', 'Redefinir Senha Através de Token');
  825. $this->view->headMeta()->setName('googlebot', 'noindex');
  826. $this->view->headMeta()->setName('robots', 'noindex');
  827.  
  828.  
  829. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  830.  
  831. if(Zend_Auth::getInstance()->hasIdentity()) {
  832. //$this->_redirect('/') ; // usuario já está logado, logo não pode definir a senha aqui
  833. }
  834.  
  835.  
  836. function verificarSenhasIguais($senha_1, $senha_2) {
  837.  
  838. if ($senha_1 == $senha_2) {
  839. return true;
  840. } else {
  841. return false;
  842. }
  843. }
  844.  
  845. $token = $this->_request->getParam('token', null) ;
  846.  
  847. $recuperar_senha = New DbTable_TokensEnviadosPorEmailRedefiniSenha() ;
  848.  
  849.  
  850. if( $recuperar_senha->verificarToken($token) == true ) {
  851. // token valido
  852. // falta verificar a data de expiracao no método $recuperar_senha->verificarToken($token)
  853.  
  854. $this->view->token_valido = true ;
  855.  
  856.  
  857. if ( $this->_request->isPost() )
  858. {
  859. $dados_submetidos = $this->_request->getPost() ;
  860. //print_r($dados_submetidos) ;
  861. if(verificarSenhasIguais($dados_submetidos['nova_senha'], $dados_submetidos['nova_senha_repetir']) == true) {
  862. // ok, pode trocar a senha
  863. // echo 'ok, pode trocar a senha' ;
  864.  
  865. // henrique, falta modificar a senha
  866. $usuario = New Application_Model_DbTable_User() ;
  867. $usuario->redefinirSenhaEsqueciMinhaSenha($dados_submetidos['nova_senha'], $token) ;
  868.  
  869.  
  870. $recuperar_senha->trocarStatusToken($token) ;
  871.  
  872. // Poderia ser melhor
  873. $consultaToken = $recuperar_senha->fetchRow('c_token_recuperar_senha = "' .$token .'"') ;
  874.  
  875. $this->view->senha_modificada_com_sucesso = true ;
  876. Application_Model_Auth::authenticate(array('login' => $consultaToken->c_email_recuperar_senha,
  877. 'password' => $dados_submetidos['nova_senha'])) ;
  878. // end: Poderia ser melhor
  879.  
  880.  
  881. if($usuario->verificarSeUsuarioPrecisaRecadastrar($this->pegarSessaoUsuario()->id) == true) {
  882. $this->_redirect('/index/meus-dados') ;
  883. }
  884.  
  885.  
  886.  
  887. } else {
  888. // senhas nao sao iguais
  889. }
  890.  
  891.  
  892. } else {
  893. // nao houve post
  894. }
  895.  
  896.  
  897.  
  898.  
  899.  
  900. } else {
  901. // token invalido
  902. $this->view->token_valido == false ;
  903. }
  904.  
  905.  
  906.  
  907. }
  908.  
  909. public function redefinirEmailAtravesTokenRespostasAction()
  910. {
  911. $this->view->headTitle()->prepend('Redefinir email') ;
  912.  
  913. // Seta as metaTags
  914. $this->view->headTitle('Redefinir Senha Através de Respostas', 'SET');
  915. $this->view->headMeta()->setName('description', 'Redefinir Senha Através de Respostas');
  916. $this->view->headMeta()->setName('googlebot', 'noindex');
  917. $this->view->headMeta()->setName('robots', 'noindex');
  918.  
  919. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  920.  
  921. if(Zend_Auth::getInstance()->hasIdentity()) {
  922. //$this->_redirect('/') ; // usuario já está logado, logo não pode definir a senha aqui
  923. }
  924.  
  925.  
  926.  
  927. $token = $this->_request->getParam('token', null) ;
  928.  
  929. $oeTokenRedefinirEmail = New DbTable_TokensResetarEmail() ;
  930.  
  931.  
  932. if( $oeTokenRedefinirEmail->verificarToken($token) == true ) {
  933. // token valido
  934. // falta verificar a data de expiracao no método $recuperar_senha->verificarToken($token)
  935.  
  936. $this->view->token_valido = true ;
  937.  
  938.  
  939. // Token de Email
  940. $oeTokenRedefinirEmail->redefinirEmailUsuario($token) ;
  941. $oeTokenRedefinirEmail->trocarStatusToken($token) ;
  942.  
  943. $consultaTokenDeEmail = $oeTokenRedefinirEmail->fetchRow('c_token_recuperar_senha = "' .$token .'"') ;
  944.  
  945. // Token de Senha
  946. $tokenSenha = New DbTable_TokensEnviadosPorEmailRedefiniSenha() ;
  947. $linkParaRedefinirSenha = $tokenSenha->GerarLinkParaRecuperarSenha($consultaTokenDeEmail->novo_email) ;
  948. $this->view->linkParaRedefinirSenha = $linkParaRedefinirSenha ;
  949.  
  950.  
  951.  
  952. } else {
  953. // token invalido
  954. $this->view->token_valido == false ;
  955. }
  956.  
  957.  
  958.  
  959. }
  960.  
  961.  
  962. public function recadastrarAcessoSbnAction()
  963. {
  964.  
  965.  
  966. }
  967.  
  968. public function getStopWords() {
  969. $fd = fopen("lista_de_stopwords_Portugues.txt", "r");
  970. while (!feof($fd)) {
  971. $buffer = fgets($fd, 4096);
  972. $lines[] = utf8_encode(trim($buffer));
  973. }
  974. fclose($fd);
  975.  
  976. return $lines;
  977. }
  978.  
  979. public function buscaAction()
  980. {
  981. // Seta as metaTags
  982. $this->view->headTitle("Buscar no site da SBN", 'SET') ;
  983. $this->view->headMeta()->setName('description', 'Buscar no site da SBN') ;
  984.  
  985.  
  986. $array_de_busca = $this->getRequest();
  987. //print_r($array_de_busca);
  988. $oeConteudo = New DbTable_Conteudo();
  989.  
  990. $query = $oeConteudo->limparTermo($this->_request->getParam('termo', null)) ;
  991.  
  992. $stopWords = $this->getStopWords();
  993. $stopWordsFilter = new Zend_Search_Lucene_Analysis_TokenFilter_StopWords($stopWords);
  994.  
  995. $analyzer = new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive ();
  996. $analyzer->addFilter($stopWordsFilter);
  997.  
  998. Zend_Search_Lucene_Analysis_Analyzer::setDefault($analyzer);
  999.  
  1000. try {
  1001. $indice = Zend_Search_Lucene::open('../lucene/indice_trabalhos/');
  1002. $resultados = $indice->find($query);
  1003. } catch (Zend_Search_Lucene_Exception $ex) {
  1004. $resultados = array();
  1005. }
  1006. $consulta = $resultados ;
  1007. // Paginação
  1008. $paginator = Zend_Paginator::factory($consulta);
  1009. $paginator->setCurrentPageNumber($this->_getParam('pag'))
  1010. ->setItemCountPerPage(12)
  1011. ->setPageRange(15);
  1012. // Configurações da Paginação
  1013. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  1014. Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination/pagination.phtml');
  1015.  
  1016. $this->view->assign('hits', $paginator);
  1017.  
  1018. $numHits = count($consulta);
  1019.  
  1020. $this->view->numHits = $numHits;
  1021. $this->view->termo_livre = $array_de_busca->termo;
  1022. $this->view->query = $query;
  1023.  
  1024.  
  1025. }
  1026. // comentado por ricardo 20120117 estava dando erro
  1027.  
  1028. public function meusDadosEnderecosAction()
  1029. {
  1030. if (count($this->pegarSessaoUsuario()) == 0) {
  1031. $this->_redirect('/');
  1032. }
  1033.  
  1034.  
  1035.  
  1036.  
  1037. $pagina = $this->_request->getParam('pag', null) ;
  1038. $this->view->pag = $pagina ;
  1039.  
  1040. if($pagina == 'editar') :
  1041. $this->view->HeadScript()->appendFile('/js/meus-dados-enderecos-pag-editar.js') ;
  1042. $idEndereco = (int)$this->_request->getParam('id-endereco', null) ;
  1043.  
  1044. if ($this->_request->isPost()) :
  1045. // é post
  1046. $form = New Forms_UsuarioEnderecos() ;
  1047. $arrDadosPost = $this->_request->getPost();
  1048.  
  1049. if ($arrDadosPost['uendIdCodigoPais'] == 'BRA') {
  1050. $arrDadosPost['uendCep'] = preg_replace('/[^0-9]/', '', $arrDadosPost['uendCep']) ;
  1051. }
  1052.  
  1053. //print_r($arrDadosPost) ;
  1054.  
  1055. // ini: usuário escolhe endereço no brasil
  1056. if (isset($arrDadosPost['uendUf']) ) :
  1057.  
  1058.  
  1059. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1060. $form->uendUf->isValid($arrDadosPost['uendUf']) == true &&
  1061. $form->uendIdCidade->isValid($arrDadosPost['uendIdCidade']) == true &&
  1062. $form->uendNumero->isValid($arrDadosPost['uendNumero'])
  1063.  
  1064. ) {
  1065. // é valido
  1066. //echo 'é valido' ;
  1067. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1068. $idEnderecoInserido = $oeEnderecosBrasil->editarEnderecoNoBrasil($this->pegarSessaoUsuario()->id, $idEndereco, $arrDadosPost) ;
  1069.  
  1070. // Marca este endereço como correspondecia
  1071. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1072. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1073. }
  1074. $this->_redirect('/index/meus-dados-geral') ;
  1075. //$this->view->enderecoInseridoComSucesso = true ;
  1076.  
  1077. } else {
  1078. // não é valido
  1079. //echo 'não é valido' ;
  1080. $oePais = New DbTable_Pais() ;
  1081. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1082.  
  1083.  
  1084. $oeUf = New DbTable_UnidadeFederativa() ;
  1085.  
  1086. $form->uendUf->addMultiOptions(array('' => 'selecione')) ;
  1087. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1088.  
  1089. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1090.  
  1091. $populate['uendIdCodigoPais'] = 'BRA';
  1092.  
  1093. $this->view->form = $form->populate($populate) ;
  1094. }
  1095.  
  1096. endif ;
  1097. // end: usuário escolhe endereço no brasil
  1098.  
  1099. // ini: usuário escolhe endereço fora do Brasil
  1100. if (isset($arrDadosPost['uendUfEstrangeira']) ) :
  1101.  
  1102.  
  1103. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1104. $form->uendUfEstrangeira->isValid($arrDadosPost['uendUfEstrangeira']) == true &&
  1105. $form->uendCidadeEstrangeira->isValid($arrDadosPost['uendCidadeEstrangeira']) == true ) {
  1106. // é valido
  1107. //echo 'é valido fora brasil' ;
  1108. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1109. $idEnderecoInserido = $oeEnderecosBrasil->editarEnderecoForaDoBrasil($this->pegarSessaoUsuario()->id, $idEndereco, $arrDadosPost) ;
  1110. // Marca este endereço como correspondencia
  1111. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1112. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1113. }
  1114. $this->view->enderecoInseridoComSucesso = true ;
  1115.  
  1116. } else {
  1117. // não é valido
  1118. //echo 'não é valido fora do brasil' ;
  1119. $oePais = New DbTable_Pais() ;
  1120. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1121.  
  1122. $form->uendUf = $form->uendUfEstrangeira ;
  1123. $form->uendIdCidade = $form->uendCidadeEstrangeira ;
  1124.  
  1125.  
  1126. $this->view->form = $form->populate($arrDadosPost) ;
  1127. }
  1128.  
  1129. endif ;
  1130. // end: usuário escolhe fora do Brasil
  1131.  
  1132.  
  1133. else :
  1134. // não é post
  1135. $form = New Forms_UsuarioEnderecos() ;
  1136.  
  1137. // busca dados do endereço do usuário para popular form
  1138. $oeUsuarioEndereco = New DbTable_UsuarioEndereco() ;
  1139. $enderecoUsuario = $oeUsuarioEndereco->pegarEnderecoUsuarioParaPopularForm($this->pegarSessaoUsuario()->id, $idEndereco) ;
  1140.  
  1141. // endereço é no Brasil
  1142. if ($enderecoUsuario['uendUf'] != null ) :
  1143.  
  1144. $oePais = New DbTable_Pais() ;
  1145. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1146.  
  1147. $oeUf = New DbTable_UnidadeFederativa() ;
  1148.  
  1149. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1150.  
  1151. $oeCidade = New DbTable_Cidade() ;
  1152.  
  1153. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1154. $form->uendIdCidade->addMultiOptions($oeCidade->pegarCidadeFetchPairsPorUf($enderecoUsuario['uendUf'])) ;
  1155.  
  1156. $populate['uendIdCodigoPais'] = 'BRA';
  1157. $form->populate($enderecoUsuario) ;
  1158. $this->view->form = $form ;
  1159.  
  1160.  
  1161. endif;
  1162.  
  1163. // endereço é fora do Brasil
  1164. if ($enderecoUsuario['uendUfEstrangeira'] != null && $enderecoUsuario['uendUf'] == null ) :
  1165.  
  1166. $oePais = New DbTable_Pais() ;
  1167. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1168.  
  1169. $form->uendUf = $form->uendUfEstrangeira ;
  1170. $form->uendIdCidade = $form->uendCidadeEstrangeira ;
  1171.  
  1172. $this->view->form = $form->populate($enderecoUsuario) ;
  1173.  
  1174. endif;
  1175.  
  1176. endif;
  1177.  
  1178. endif ;
  1179.  
  1180.  
  1181.  
  1182. if($pagina == 'inserir') :
  1183. $this->view->HeadScript()->appendFile('/js/meus-dados-enderecos-pag-inserir.js') ;
  1184.  
  1185.  
  1186. if ( $this->_request->isPost() ) :
  1187. $form = New Forms_UsuarioEnderecos() ;
  1188. $arrDadosPost = $this->_request->getPost();
  1189.  
  1190. if ($arrDadosPost['uendIdCodigoPais'] == 'BRA') {
  1191. $arrDadosPost['uendCep'] = preg_replace('/[^0-9]/', '', $arrDadosPost['uendCep']) ;
  1192. }
  1193.  
  1194. //print_r($arrDadosPost) ;
  1195.  
  1196.  
  1197. // ini: usuário escolhe endereço no brasil
  1198. if (isset($arrDadosPost['uendUf']) ) :
  1199.  
  1200.  
  1201. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1202. $form->uendUf->isValid($arrDadosPost['uendUf']) == true &&
  1203. $form->uendIdCidade->isValid($arrDadosPost['uendIdCidade']) == true &&
  1204. $form->uendNumero->isValid($arrDadosPost['uendNumero'])
  1205.  
  1206. ) {
  1207. // é valido
  1208. //echo 'é valido' ;
  1209. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1210. $idEnderecoInserido = $oeEnderecosBrasil->inserirEnderecoNoBrasil($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1211.  
  1212. // Marca este endereço como correspondecia
  1213. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1214. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1215. }
  1216. $this->_redirect('/index/meus-dados-geral') ;
  1217. //$this->view->enderecoInseridoComSucesso = true ;
  1218. } else {
  1219. // não é valido
  1220. //echo 'não é valido' ;
  1221. $oePais = New DbTable_Pais() ;
  1222. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1223.  
  1224.  
  1225. $oeUf = New DbTable_UnidadeFederativa() ;
  1226.  
  1227. $form->uendUf->addMultiOptions(array('' => 'selecione')) ;
  1228. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1229.  
  1230. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1231.  
  1232. $populate['uendIdCodigoPais'] = 'BRA';
  1233.  
  1234. $this->view->form = $form->populate($populate) ;
  1235. }
  1236.  
  1237. endif ;
  1238. // end: usuário escolhe endereço no brasil
  1239.  
  1240. // ini: usuário escolhe endereço fora do Brasil
  1241. if (isset($arrDadosPost['uendUfEstrangeira']) ) :
  1242.  
  1243.  
  1244. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1245. $form->uendUfEstrangeira->isValid($arrDadosPost['uendUfEstrangeira']) == true &&
  1246. $form->uendCidadeEstrangeira->isValid($arrDadosPost['uendCidadeEstrangeira']) == true ) {
  1247. // é valido
  1248. //echo 'é valido fora brasil' ;
  1249. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1250. $idEnderecoInserido = $oeEnderecosBrasil->inserirEnderecoForaDoBrasil($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1251. // Marca este endereço como correspondecia
  1252. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1253. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1254. }
  1255. $this->view->enderecoInseridoComSucesso = true ;
  1256.  
  1257. } else {
  1258. // não é valido
  1259. //echo 'não é valido fora do brasil' ;
  1260. $oePais = New DbTable_Pais() ;
  1261. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1262.  
  1263. $form->uendUf = $form->uendUfEstrangeira ;
  1264. $form->uendIdCidade = $form->uendCidadeEstrangeira ;
  1265.  
  1266.  
  1267. $this->view->form = $form->populate($arrDadosPost) ;
  1268. }
  1269.  
  1270. endif ;
  1271. // end: usuário escolhe fora do Brasil
  1272.  
  1273. else :
  1274. // nao foi post
  1275.  
  1276. $form = New Forms_UsuarioEnderecos() ;
  1277.  
  1278. $oePais = New DbTable_Pais() ;
  1279. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1280.  
  1281.  
  1282. $oeUf = New DbTable_UnidadeFederativa() ;
  1283.  
  1284. $form->uendUf->addMultiOptions(array('' => 'selecione')) ;
  1285. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1286.  
  1287. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1288.  
  1289. $populate['uendIdCodigoPais'] = 'BRA';
  1290.  
  1291. $this->view->form = $form->populate($populate) ;
  1292. endif ;
  1293.  
  1294. endif ;
  1295.  
  1296.  
  1297.  
  1298. if($pagina == 'excluir') :
  1299. $idEndereco = (int)$this->_request->getParam('id-endereco', null) ;
  1300.  
  1301. //echo $idEndereco ;
  1302. if ($this->_request->isPost()) :
  1303.  
  1304. $comando = $this->_request->getPost('comando') ;
  1305.  
  1306. if ($comando == 'Sim' && $idEndereco > 0) {
  1307. $oeUsuarioEndereco = New DbTable_UsuarioEndereco() ;
  1308. $excluir = $oeUsuarioEndereco->excluirEndereco($this->pegarSessaoUsuario()->id, $idEndereco) ;
  1309. if ($excluir != null) {
  1310. $this->view->enderecoExcluidoSucesso = true ;
  1311. }
  1312. }else {
  1313. $this->_redirect('/index/meus-dados-geral') ;
  1314. }
  1315.  
  1316.  
  1317. else :
  1318. // busca dados do endereço do usuário para exibir ao usuario
  1319. $oeUsuarioEndereco = New DbTable_UsuarioEndereco() ;
  1320. $enderecoUsuario = $oeUsuarioEndereco->pegarEnderecoUsuario($this->pegarSessaoUsuario()->id, $idEndereco) ;
  1321. $this->view->enderecoUsuario = $enderecoUsuario ;
  1322. //print_r($enderecoUsuario) ;
  1323. endif;
  1324.  
  1325. endif;
  1326. }
  1327. public function meusDadosEnderecosTesteAction()
  1328. {
  1329. if (count($this->pegarSessaoUsuario()) == 0) {
  1330. //$this->_redirect('/');
  1331. }
  1332. $this->_helper->layout()->disableLayout();
  1333.  
  1334.  
  1335.  
  1336. $pagina = $this->_request->getParam('pag', null) ;
  1337. $this->view->pag = $pagina ;
  1338.  
  1339. if($pagina == 'editar') :
  1340. $idEndereco = (int)$this->_request->getParam('id-endereco', null) ;
  1341. $this->view->idEndereco = $idEndereco ;
  1342.  
  1343. if ($this->_request->isPost()) :
  1344. // é post
  1345. $form = New Forms_UsuarioEnderecos() ;
  1346. $arrDadosPost = $this->_request->getPost();
  1347.  
  1348. if ($arrDadosPost['uendIdCodigoPais'] == 'BRA') {
  1349. $arrDadosPost['uendCep'] = preg_replace('/[^0-9]/', '', $arrDadosPost['uendCep']) ;
  1350. }
  1351.  
  1352. // ALIMENTA A TABELA atualizacao_cadastral
  1353. $atualizacao = New DbTable_AtualizacaoCadastral() ;
  1354. $atualizacao->inserirAtualizacao($this->pegarSessaoUsuario()->id, 2) ;
  1355.  
  1356. //print_r($arrDadosPost) ;
  1357.  
  1358.  
  1359. // ini: usuário escolhe endereço no brasil
  1360. if (isset($arrDadosPost['uendUf']) ) :
  1361.  
  1362.  
  1363. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1364. $form->uendUf->isValid($arrDadosPost['uendUf']) == true &&
  1365. $form->uendIdCidade->isValid($arrDadosPost['uendIdCidade']) == true &&
  1366. $form->uendNumero->isValid($arrDadosPost['uendNumero'])
  1367.  
  1368. ) {
  1369. // é valido
  1370. //echo 'é valido' ;
  1371. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1372. $idEnderecoInserido = $oeEnderecosBrasil->editarEnderecoNoBrasil($this->pegarSessaoUsuario()->id, $idEndereco, $arrDadosPost) ;
  1373.  
  1374. // Marca este endereço como correspondecia
  1375. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1376. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1377. }
  1378. $this->view->enderecoInseridoComSucesso = true ;
  1379. } else {
  1380. // não é valido
  1381. //echo 'não é valido' ;
  1382. $oePais = New DbTable_Pais() ;
  1383. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1384.  
  1385.  
  1386. $oeUf = New DbTable_UnidadeFederativa() ;
  1387.  
  1388. $form->uendUf->addMultiOptions(array('' => 'selecione')) ;
  1389. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1390.  
  1391. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1392.  
  1393. $populate['uendIdCodigoPais'] = 'BRA';
  1394.  
  1395. $this->view->form = $form->populate($populate) ;
  1396. }
  1397.  
  1398. endif ;
  1399. // end: usuário escolhe endereço no brasil
  1400.  
  1401. // ini: usuário escolhe endereço fora do Brasil
  1402. if (isset($arrDadosPost['uendUfEstrangeira']) ) :
  1403.  
  1404.  
  1405. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1406. $form->uendUfEstrangeira->isValid($arrDadosPost['uendUfEstrangeira']) == true &&
  1407. $form->uendCidadeEstrangeira->isValid($arrDadosPost['uendCidadeEstrangeira']) == true ) {
  1408. // é valido
  1409. //echo 'é valido fora brasil' ;
  1410. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1411. $idEnderecoInserido = $oeEnderecosBrasil->editarEnderecoForaDoBrasil($this->pegarSessaoUsuario()->id, $idEndereco, $arrDadosPost) ;
  1412. // Marca este endereço como correspondencia
  1413. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1414. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1415. }
  1416. $this->view->enderecoInseridoComSucesso = true ;
  1417.  
  1418. } else {
  1419. // não é valido
  1420. //echo 'não é valido fora do brasil' ;
  1421. $oePais = New DbTable_Pais() ;
  1422. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1423.  
  1424. $form->uendUf = $form->uendUfEstrangeira ;
  1425. $form->uendIdCidade = $form->uendCidadeEstrangeira ;
  1426.  
  1427.  
  1428. $this->view->form = $form->populate($arrDadosPost) ;
  1429. }
  1430.  
  1431. endif ;
  1432. // end: usuário escolhe fora do Brasil
  1433.  
  1434.  
  1435. else :
  1436. // não é post
  1437. $form = New Forms_UsuarioEnderecos() ;
  1438.  
  1439. // busca dados do endereço do usuário para popular form
  1440. $oeUsuarioEndereco = New DbTable_UsuarioEndereco() ;
  1441. $enderecoUsuario = $oeUsuarioEndereco->pegarEnderecoUsuarioParaPopularForm($this->pegarSessaoUsuario()->id, $idEndereco) ;
  1442.  
  1443.  
  1444. // endereço é no Brasil
  1445. if ($enderecoUsuario['uendUf'] != null ) :
  1446.  
  1447. $oePais = New DbTable_Pais() ;
  1448. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1449.  
  1450. $oeUf = New DbTable_UnidadeFederativa() ;
  1451.  
  1452. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1453.  
  1454. $oeCidade = New DbTable_Cidade() ;
  1455.  
  1456. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1457. $form->uendIdCidade->addMultiOptions($oeCidade->pegarCidadeFetchPairsPorUf($enderecoUsuario['uendUf'])) ;
  1458.  
  1459. $populate['uendIdCodigoPais'] = 'BRA';
  1460. $form->populate($enderecoUsuario) ;
  1461. $this->view->form = $form ;
  1462.  
  1463.  
  1464. endif;
  1465.  
  1466. // endereço é fora do Brasil
  1467. if ($enderecoUsuario['uendUfEstrangeira'] != null && $enderecoUsuario['uendUf'] == null ) :
  1468.  
  1469. $oePais = New DbTable_Pais() ;
  1470. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1471.  
  1472. $form->uendUf = $form->uendUfEstrangeira ;
  1473. $form->uendIdCidade = $form->uendCidadeEstrangeira ;
  1474.  
  1475. $this->view->form = $form->populate($enderecoUsuario) ;
  1476.  
  1477. endif;
  1478.  
  1479. endif;
  1480.  
  1481. endif ;
  1482.  
  1483.  
  1484.  
  1485. if($pagina == 'inserir') :
  1486.  
  1487.  
  1488.  
  1489. if ( $this->_request->isPost() ) :
  1490. $form = New Forms_UsuarioEnderecos() ;
  1491. $arrDadosPost = $this->_request->getPost();
  1492. //print_r($arrDadosPost) ;
  1493. if ($arrDadosPost['uendIdCodigoPais'] == 'BRA') {
  1494. $arrDadosPost['uendCep'] = preg_replace('/[^0-9]/', '', $arrDadosPost['uendCep']) ;
  1495. }
  1496.  
  1497. //print_r($arrDadosPost) ;
  1498.  
  1499.  
  1500. // ini: usuário escolhe endereço no brasil
  1501. if (isset($arrDadosPost['uendUf']) ) :
  1502.  
  1503.  
  1504. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1505. $form->uendUf->isValid($arrDadosPost['uendUf']) == true &&
  1506. $form->uendIdCidade->isValid($arrDadosPost['uendIdCidade']) == true &&
  1507. $form->uendNumero->isValid($arrDadosPost['uendNumero'])
  1508.  
  1509. ) {
  1510. // é valido
  1511. //echo 'é valido' ;
  1512. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1513. $idEnderecoInserido = $oeEnderecosBrasil->inserirEnderecoNoBrasil($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1514.  
  1515. // Marca este endereço como correspondecia
  1516. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1517. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1518. }
  1519. $this->view->enderecoInseridoComSucesso = true ;
  1520. } else {
  1521. // não é valido
  1522. //echo 'não é valido' ;
  1523. $oePais = New DbTable_Pais() ;
  1524. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1525.  
  1526.  
  1527. $oeUf = New DbTable_UnidadeFederativa() ;
  1528.  
  1529. $form->uendUf->addMultiOptions(array('' => 'selecione')) ;
  1530. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1531.  
  1532. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1533.  
  1534. $populate['uendIdCodigoPais'] = 'BRA';
  1535.  
  1536. $this->view->form = $form->populate($populate) ;
  1537. }
  1538.  
  1539. endif ;
  1540. // end: usuário escolhe endereço no brasil
  1541.  
  1542. // ini: usuário escolhe endereço fora do Brasil
  1543. if (isset($arrDadosPost['uendUfEstrangeira']) ) :
  1544.  
  1545.  
  1546. if($form->uendIdCodigoPais->isValid($arrDadosPost['uendIdCodigoPais']) == true &&
  1547. $form->uendUfEstrangeira->isValid($arrDadosPost['uendUfEstrangeira']) == true &&
  1548. $form->uendCidadeEstrangeira->isValid($arrDadosPost['uendCidadeEstrangeira']) == true ) {
  1549. // é valido
  1550. //echo 'é valido fora brasil' ;
  1551. $oeEnderecosBrasil = New DbTable_UsuarioEndereco() ;
  1552. $idEnderecoInserido = $oeEnderecosBrasil->inserirEnderecoForaDoBrasil($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1553. // Marca este endereço como correspondecia
  1554. if ($arrDadosPost['uendEnderecoParaCorrespondencia'] == 1) {
  1555. $oeEnderecosBrasil->marcarEnderecoParaCorrespondencia($this->pegarSessaoUsuario()->id, $idEnderecoInserido) ;
  1556. }
  1557. $this->view->enderecoInseridoComSucesso = true ;
  1558.  
  1559. } else {
  1560. // não é valido
  1561. //echo 'não é valido fora do brasil' ;
  1562. $oePais = New DbTable_Pais() ;
  1563. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1564.  
  1565. $form->uendUf = $form->uendUfEstrangeira ;
  1566. $form->uendIdCidade = $form->uendCidadeEstrangeira ;
  1567.  
  1568.  
  1569. $this->view->form = $form->populate($arrDadosPost) ;
  1570. }
  1571.  
  1572. endif ;
  1573. // end: usuário escolhe fora do Brasil
  1574.  
  1575. else :
  1576. // nao foi post
  1577.  
  1578. $form = New Forms_UsuarioEnderecos() ;
  1579.  
  1580. $oePais = New DbTable_Pais() ;
  1581. $form->uendIdCodigoPais->addMultiOptions($oePais->pegarPaisFetchPairs()) ;
  1582.  
  1583.  
  1584. $oeUf = New DbTable_UnidadeFederativa() ;
  1585.  
  1586. $form->uendUf->addMultiOptions(array('' => 'selecione')) ;
  1587. $form->uendUf->addMultiOptions($oeUf->pegarUfFetchPairs()) ;
  1588.  
  1589. $form->uendIdCidade->addMultiOptions(array('' => 'selecione')) ;
  1590.  
  1591. $populate['uendIdCodigoPais'] = 'BRA';
  1592.  
  1593. $this->view->form = $form->populate($populate) ;
  1594. endif ;
  1595.  
  1596. endif ;
  1597.  
  1598.  
  1599. if($pagina == 'excluir') :
  1600. $idEndereco = (int)$this->_request->getParam('id-endereco', null) ;
  1601.  
  1602. if ($this->_request->isPost()) :
  1603.  
  1604. $comando = $this->_request->getPost('comando') ;
  1605.  
  1606. if ($comando == 'Sim' && $idEndereco > 0) {
  1607. $oeUsuarioEndereco = New DbTable_UsuarioEndereco() ;
  1608. $excluir = $oeUsuarioEndereco->excluirEndereco($this->pegarSessaoUsuario()->id, $idEndereco) ;
  1609. if ($excluir != null) {
  1610. $this->view->enderecoExcluidoSucesso = true ;
  1611. }
  1612. }else {
  1613. $this->_redirect('/index/meus-dados') ;
  1614. }
  1615.  
  1616.  
  1617. else :
  1618. // busca dados do endereço do usuário para exibir ao usuario
  1619. $oeUsuarioEndereco = New DbTable_UsuarioEndereco() ;
  1620. $enderecoUsuario = $oeUsuarioEndereco->pegarEnderecoUsuario($this->pegarSessaoUsuario()->id, $idEndereco) ;
  1621. $this->view->enderecoUsuario = $enderecoUsuario ;
  1622. //print_r($enderecoUsuario) ;
  1623. endif;
  1624.  
  1625. endif;
  1626. }
  1627. public function meusDadosGeralAction()
  1628. {
  1629. if (count($this->pegarSessaoUsuario()) == 0) {
  1630. $this->_redirect('/');
  1631. }
  1632. $this->view->headScript()->appendFile('/js/meus-dados-geral.js') ;
  1633.  
  1634.  
  1635. // TableSorter
  1636. //$this->view->headScript()->appendFile('/miscellaneous/jquery.tablesorter/jquery.tablesorter.min.js') ;
  1637. //$this->view->headLink()->appendStylesheet('/miscellaneous/jquery.tablesorter/themes/blue/style.css') ;
  1638.  
  1639. $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  1640.  
  1641. $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  1642.  
  1643. $oeSubAreaAtuacao = New DbTable_UsuarioSubAreaDeAtuacao() ;
  1644. $formSubAreaDeAtuacao = New Forms_UsuarioSubAreaDeAtuacao() ;
  1645. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  1646. if (count($subAreaDeAtuacao) == 0 ) {
  1647. $oeSubAreaAtuacao->insert(array('usaaIdUser' => $this->pegarSessaoUsuario()->id)) ;
  1648. }
  1649. $this->view->subAreaDeAtuacao = $subAreaDeAtuacao ;
  1650. // Refaz a consulta
  1651. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  1652. $formSubAreaDeAtuacao->populate($subAreaDeAtuacao) ;
  1653.  
  1654. $this->view->formSubAreaDeAtuacao = $formSubAreaDeAtuacao ;
  1655.  
  1656. $oeUsuario = New Application_Model_DbTable_User() ;
  1657. $this->view->arrDadosUsuario = $oeUsuario->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  1658.  
  1659. $this->view->carregarModalAlertaPrecisaRecadastra = $oeUsuario->verificarSeUsuarioPrecisaRecadastrar($this->pegarSessaoUsuario()->id) ;
  1660. }
  1661.  
  1662. public function meusDadosPessoaisAction()
  1663. {
  1664. if (count($this->pegarSessaoUsuario()) == 0) {
  1665. //$this->_redirect('/');
  1666. }
  1667.  
  1668. $pagina = $this->_request->getParam('pag', null) ;
  1669. $this->view->pag = $pagina ;
  1670.  
  1671. if ($pagina == 'editar') :
  1672. $this->view->headScript()->appendFile('/js/meus-dados-pessoais-pag-editar.js') ;
  1673.  
  1674. if ($this->_request->isPost()) :
  1675. $form = New Forms_User() ;
  1676. $arrDadosPost = $this->_request->getPost() ;
  1677.  
  1678. if ($form->usrCrm->isValid($arrDadosPost['usrCrm']) &&
  1679. $form->usrCrmUf->isValid($arrDadosPost['usrCrmUf']) &&
  1680. $form->usrEmailAlternativo->isValid($arrDadosPost['usrEmailAlternativo'])
  1681.  
  1682. ) {
  1683. $atualizacao = New DbTable_AtualizacaoCadastral() ;
  1684. $atualizacao->inserirAtualizacao($this->pegarSessaoUsuario()->id, $arrDadosPost);
  1685.  
  1686. $oeUser = New Application_Model_DbTable_User() ;
  1687. $oeUser->editarDadosUsuario($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1688.  
  1689. //$this->view->editadoComSucesso = true ;
  1690. $this->redirect('/index/meus-dados-geral') ;
  1691. } else {
  1692. $oeUnidadeFederativa = New DbTable_UnidadeFederativa() ;
  1693. $form->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  1694. $this->view->form = $form->populate($arrDadosPost) ;
  1695. }
  1696.  
  1697. else :
  1698. $form = New Forms_User() ;
  1699. $oeUser = New Application_Model_DbTable_User() ;
  1700. $dadosUser = $oeUser->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  1701.  
  1702. $oeUnidadeFederativa = New DbTable_UnidadeFederativa() ;
  1703. $form->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  1704. $this->view->form = $form->populate($dadosUser) ;
  1705. endif;
  1706. endif;
  1707. }
  1708.  
  1709. public function meusDadosPessoaisTesteAction()
  1710. {
  1711. if (count($this->pegarSessaoUsuario()) == 0) {
  1712. //$this->_redirect('/');
  1713. }
  1714.  
  1715. $pagina = $this->_request->getParam('pag', null) ;
  1716. $this->view->pag = $pagina ;
  1717.  
  1718. if ($pagina == 'editar') :
  1719.  
  1720. $this->_helper->layout()->disableLayout();
  1721. if ($this->_request->isPost()) :
  1722. $form = New Forms_User() ;
  1723. $arrDadosPost = $this->_request->getPost() ;
  1724.  
  1725. if ($form->usrCrm->isValid($arrDadosPost['usrCrm']) &&
  1726. $form->usrCrmUf->isValid($arrDadosPost['usrCrmUf']) &&
  1727. $form->usrEmailAlternativo->isValid($arrDadosPost['usrEmailAlternativo'])
  1728.  
  1729. ) {
  1730. $oeUser = New Application_Model_DbTable_User() ;
  1731. $oeUser->editarDadosUsuario($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1732.  
  1733. // ALIMENTA A TABELA atualizacao_cadastral
  1734. $atualizacao = New DbTable_AtualizacaoCadastral() ;
  1735. $atualizacao->inserirAtualizacao($this->pegarSessaoUsuario()->id, 1) ;
  1736.  
  1737. $this->view->editadoComSucesso = true ;
  1738. } else {
  1739. $oeUnidadeFederativa = New DbTable_UnidadeFederativa() ;
  1740. $form->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  1741. $this->view->form = $form->populate($arrDadosPost) ;
  1742. }
  1743.  
  1744. else :
  1745. $form = New Forms_User() ;
  1746. $oeUser = New Application_Model_DbTable_User() ;
  1747. $dadosUser = $oeUser->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  1748.  
  1749. $oeUnidadeFederativa = New DbTable_UnidadeFederativa() ;
  1750. $form->usrCrmUf->addMultiOptions($oeUnidadeFederativa->pegarUfFetchPairs());
  1751. $dadosUser['usrDataNascimento'] = $this->view->date($dadosUser['usrDataNascimento'], 'dd/MM/YYYY') ;
  1752. $this->view->form = $form->populate($dadosUser) ;
  1753. endif;
  1754. endif;
  1755. }
  1756.  
  1757.  
  1758.  
  1759.  
  1760. public function meusDadosNeuroAction()
  1761. {
  1762. if (count($this->pegarSessaoUsuario()) == 0) {
  1763. //$this->_redirect('/');
  1764. }
  1765.  
  1766. $pagina = $this->_request->getParam('pag', null) ;
  1767. $this->view->pag = $pagina ;
  1768.  
  1769. if ($pagina == 'editar') :
  1770. $this->_helper->layout()->disableLayout();
  1771.  
  1772. $dadosNeuro = New DbTable_DadosNeurocirurgiao();
  1773. $dadosNeuro = $dadosNeuro->pegarDadosNeuro($this->pegarSessaoUsuario()->id);
  1774. if($dadosNeuro){
  1775. $dadosNeuro['acao'] = 0; //ação será atualizar um existente
  1776. }else{
  1777. $dadosNeuro['acao'] = 1; //ação serrá inserir um novo
  1778. }
  1779.  
  1780. $oeUnidadeFederativa = New DbTable_UnidadeFederativa() ;
  1781. $dadosNeuro['Ufs'] = $oeUnidadeFederativa->getAll_UF();
  1782.  
  1783. $this->view->assign('dadosNeuro',$dadosNeuro);
  1784.  
  1785. endif;
  1786.  
  1787. }
  1788.  
  1789.  
  1790.  
  1791.  
  1792. public function meusDadosNeuroInsertAction(){
  1793. $this->_helper->layout()->disableLayout();
  1794.  
  1795. $arrDadosPost = $this->_request->getPost();
  1796. $arrDadosPost['id_usuario'] = $this->pegarSessaoUsuario()->id;
  1797. $arrDadosPost['fotoNeuro'] = $this->_request->getPost('foto');
  1798.  
  1799. $email = $arrDadosPost['email'];
  1800.  
  1801. $validator = new Zend_Validate_EmailAddress();
  1802. if ($validator->isValid($email)) {
  1803. // email appears to be valid
  1804. $dadosNeuro = New DbTable_DadosNeurocirurgiao();
  1805. if($this->_request->getPost('acao') == 1){
  1806.  
  1807. /*upload da foto*/
  1808.  
  1809. $imageAdapter = new Zend_File_Transfer_Adapter_Http();
  1810. $imageAdapter->setDestination('upload/fotos_neuro');
  1811. // die("Arquivo".$_FILES['fileUpload']['tmp_name']);
  1812. if(is_uploaded_file($_FILES['fileUpload']['tmp_name'])){
  1813. if (!$imageAdapter->receive('fileUpload')){
  1814. $messages = $imageAdapter->getMessages['fileUpload'];
  1815. //A Imagem Não Foi Recebida Corretamente
  1816. }else{
  1817. //Arquivo Enviado Com Sucesso
  1818. //Realize As Ações Necessárias Com Os Dados
  1819.  
  1820. $filename = $imageAdapter->getFileName('fileUpload');
  1821. $arrDadosPost['fotoNeuro'] = $filename;
  1822. }
  1823. }else{
  1824. //O Arquivo Não Foi Enviado Corretamente
  1825. }
  1826. // print("<pre>");
  1827. // print_r($arrDadosPost);
  1828. // print("</pre>");
  1829. // die();
  1830.  
  1831. $dadosNeuro->inserirDados($arrDadosPost);
  1832. }//FIM de se inserir novos registros e foto
  1833.  
  1834.  
  1835.  
  1836. if($this->_request->getPost('acao') == 0){
  1837.  
  1838. if ( ! empty($_FILES)){
  1839. $imageAdapter = new Zend_File_Transfer_Adapter_Http();
  1840. $imageAdapter->setDestination('upload/fotos_neuro');
  1841. // die("Arquivo".$_FILES['fileUpload']['tmp_name']);
  1842. if(is_uploaded_file($_FILES['fileUpload']['tmp_name'])){
  1843. if (!$imageAdapter->receive('fileUpload')){
  1844. $messages = $imageAdapter->getMessages['fileUpload'];
  1845. //A Imagem Não Foi Recebida Corretamente
  1846. }else{
  1847. //Arquivo Enviado Com Sucesso
  1848. //Realize As Ações Necessárias Com Os Dados
  1849.  
  1850. $filename = $imageAdapter->getFileName('fileUpload');
  1851. $arrDadosPost['fotoNeuro'] = $filename;
  1852. }
  1853. }else{
  1854. //O Arquivo Não Foi Enviado Corretamente
  1855. }
  1856. }
  1857.  
  1858.  
  1859. $dadosNeuro->editarDadosNeuro($this->pegarSessaoUsuario()->id, $arrDadosPost);
  1860. }
  1861.  
  1862. $this->_helper->redirector('meus-dados-intra');
  1863.  
  1864. } else {
  1865. // email is invalid; print the reasons
  1866. $mensagem = "Erro: E-mail invalido";
  1867. $this->view->assign('emailInvalido',$mensagem);
  1868. $this->_helper->redirector('meus-dados-intra');
  1869. }
  1870.  
  1871.  
  1872.  
  1873. }
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880. public function verificarSituacao($cpf)
  1881. {
  1882. // banco atual do gestao
  1883. $db1->host = "187.45.196.137";
  1884. $db1->db = "sbn_project2";
  1885. $db1->user = "sbn_project2";
  1886. $db1->pass = "mkaj187p09";
  1887. // ------------------------------------------------------------------------------------------------------------------------------------------------------------
  1888.  
  1889. $cpf = preg_replace("/[\.|\-]/", "", $cpf);
  1890.  
  1891. // ------------------------------------------------------------------------------------------------------------------------------------------------------------
  1892. $db1->conn = mysql_connect($db1->host, $db1->user, $db1->pass) or die("Erro na conexão com o banco de dados");
  1893. $db1->db = mysql_select_db($db1->db, $db1->conn) or die("Não foi possível selecionar o banco de dados");
  1894.  
  1895. $sql = "SELECT id FROM gestao_assoc WHERE cpf='$cpf'";
  1896. $res = mysql_query($sql, $db1->conn) or die("Erro na consulta de associado");
  1897. if ($row = mysql_fetch_object($res)) {
  1898.  
  1899. $sql2 = "SELECT count(1) AS qtd FROM gestao_assoc_semestralidade WHERE id_assoc='" . $row->id . "' AND status='P' AND data_vencto < '" . date('Y-m-d') . "'";
  1900. $res2 = mysql_query($sql2, $db1->conn) or die("Erro na consulta de semestralidades");
  1901. if ($row2 = mysql_fetch_object($res2)) {
  1902. if ($row2->qtd > 0) {
  1903. $situacao = "INADIMPLENTE" ;
  1904. } else {
  1905. $situacao = "ADIMPLENTE";
  1906. }
  1907. } else {
  1908. $situacao = "ADIMPLENTE";
  1909. }
  1910. } else {
  1911. $situacao = "NAO CADASTRADO";
  1912. }
  1913. if ($situacao != "ADIMPLENTE"){
  1914. $sqlResidente = "SELECT situacao_atual FROM `gestao_res` where cpf='$cpf' and (situacao_atual='TR1' OR situacao_atual='TR2' OR situacao_atual='TR3' OR situacao_atual='TR4')";
  1915. $resResidente = mysql_query($sqlResidente, $db1->conn) or die("Erro na consulta de residente");
  1916. if ($rowResidente = mysql_fetch_object($resResidente)) {
  1917. $num_rows = mysql_num_rows($resResidente);
  1918. if ($num_rows > 0) {
  1919. $situacao = "ADIMPLENTE";
  1920. } else {
  1921. $situacao = "INADIMPLENTE" ;
  1922. }
  1923. } else {
  1924. $situacao = "NAO CADASTRADO";
  1925. }
  1926. }
  1927. return $situacao ;
  1928. }
  1929.  
  1930. public function bibliotecaVirtualAntigaAction()
  1931. {
  1932. $this->view->headScript()->appendFile('/js/biblioteca-virtual.js') ;
  1933.  
  1934.  
  1935. $auth = Zend_Auth::getInstance();
  1936. if (!$auth->hasIdentity()){
  1937. $situacao = 'INADIMPLENTE' ;
  1938. $this->view->msgExibida = 'visitante' ;
  1939. } else {
  1940. $situacao = $this->verificarSituacao($this->pegarSessaoUsuario()->usrCpf) ;
  1941. }
  1942.  
  1943.  
  1944.  
  1945. if ($situacao == 'ADIMPLENTE') {
  1946. $this->view->usrQuite = true ;
  1947. } else {
  1948. $this->view->usrQuite = false ;
  1949. }
  1950.  
  1951. }
  1952. public function bibliotecaVirtualAction()
  1953. {
  1954.  
  1955. $auth = Zend_Auth::getInstance();
  1956. if ($auth->hasIdentity()){
  1957. $this->view->usuarioLogado = true ;
  1958. }else {
  1959. $this->view->usuarioLogado = false ;
  1960. }
  1961.  
  1962. $this->view->aparcerLink = $this->_request->getParam('mostrar-link-neurosurgery', null) ;
  1963.  
  1964.  
  1965. }
  1966. public function meusDadosEditarSubEspecialidadeMedicaAction()
  1967. {
  1968. $this->_helper->layout()->disableLayout();
  1969.  
  1970. if ($this->_request->isPost()) :
  1971. $arrDadosPost = $this->_request->getPost();
  1972. $formSubAreaDeAtuacao = New Forms_UsuarioSubAreaDeAtuacao() ;
  1973.  
  1974. echo '<pre>' ;
  1975. print_r($arrDadosPost) ;
  1976. echo '</pre>' ;
  1977.  
  1978. // Não verifica se dados são validos, verificar o que ?
  1979. $oeSubAreaAtuacao = New DbTable_UsuarioSubAreaDeAtuacao() ;
  1980. $oeSubAreaAtuacao->editar($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  1981. $this->view->editadoComSucesso = true ;
  1982. else :
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988. $oeSubAreaAtuacao = New DbTable_UsuarioSubAreaDeAtuacao() ;
  1989. $formSubAreaDeAtuacao = New Forms_UsuarioSubAreaDeAtuacao() ;
  1990. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  1991.  
  1992. $this->view->subAreaDeAtuacao = $subAreaDeAtuacao ;
  1993. $formSubAreaDeAtuacao->populate($subAreaDeAtuacao) ;
  1994.  
  1995. $this->view->formSubAreaDeAtuacao = $formSubAreaDeAtuacao ;
  1996.  
  1997.  
  1998. endif;
  1999. }
  2000.  
  2001. public function statusAcessoConteudoExclusivoAction()
  2002. {
  2003.  
  2004. $url = $this->_request->getParam('url', null) ;
  2005. $this->view->url = $url ;
  2006.  
  2007.  
  2008.  
  2009. if (count($this->pegarSessaoUsuario()) == 0) :
  2010. // Usuário não está logado
  2011.  
  2012. //$this->view->userLogado = false ;
  2013. $this->view->userLogado = true ;
  2014. $this->view->statusFinanceiroUser = 'associadoAdiplente' ;
  2015.  
  2016. else :
  2017. // Usuário está logado
  2018.  
  2019. $this->view->userLogado = true ;
  2020.  
  2021.  
  2022. $oeUser = New Application_Model_DbTable_User() ;
  2023. //$this->view->statusFinanceiroUser = $oeUser->verificarStatusPagamentoUsuario($this->pegarSessaoUsuario()->id) ;
  2024. $this->view->statusFinanceiroUser = 'associadoAdiplente' ;
  2025. endif ;
  2026.  
  2027.  
  2028. }
  2029.  
  2030. public function editarConjugeAction()
  2031. {
  2032. $this->_helper->layout()->disableLayout();
  2033.  
  2034. if ($this->_request->isPost()) :
  2035. // é post
  2036. $arrDadosPost = $this->_request->getPost();
  2037. $formConjuge = New Forms_Conjuge() ;
  2038. print_r($arrDadosPost) ;
  2039. if($formConjuge->isValid($arrDadosPost)) {
  2040. $oeUser = New Application_Model_DbTable_User() ;
  2041. $oeUser->editarConjuge($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  2042. $this->view->dadosEditadosComSucesso = true ;
  2043.  
  2044. }else {
  2045. $this->view->formConjuge = $formConjuge->populate($arrDadosPost) ;
  2046. }
  2047.  
  2048. else :
  2049. // não é post
  2050. $oeUser = New Application_Model_DbTable_User() ;
  2051. $dadosUser = $oeUser->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  2052.  
  2053. $formConjuge = New Forms_Conjuge() ;
  2054.  
  2055. $dadosUser['usrConjugeDataNascimento'] = $this->view->date($dadosUser['usrConjugeDataNascimento'], 'dd/MM/YYYY');
  2056. $this->view->formConjuge = $formConjuge->populate($dadosUser) ;
  2057.  
  2058. endif;
  2059. }
  2060.  
  2061. public function meusDadosEditarPraticasMedicasAction()
  2062. {
  2063. $this->_helper->layout()->disableLayout();
  2064.  
  2065. if ($this->_request->isPost()) :
  2066. $this->view->ehPost = true ;
  2067. $arrDadosPost = $this->_request->getPost();
  2068. $oeUser = New Application_Model_DbTable_User() ;
  2069. $oeUser->editarPraticasMedicas($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  2070. else :
  2071. // Não é post
  2072. $oeUser = New Application_Model_DbTable_User() ;
  2073. $dadosUser = $oeUser->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  2074.  
  2075. $formPraticasMedicas = new Forms_PraticasMedicas() ;
  2076. $this->view->formPraticasMedicas = $formPraticasMedicas->populate($dadosUser) ;
  2077.  
  2078. $this->view->ehPost = false ;
  2079. endif;
  2080. }
  2081.  
  2082.  
  2083. public function usuarioNaoLogadoAction()
  2084. {
  2085.  
  2086. }
  2087.  
  2088. public function buscarEspecialistaAction()
  2089. {
  2090. $uf = $this->_request->getParam('uf', null) ;
  2091. $idCidade = $this->_request->getParam('id-cidade', null) ;
  2092. $oebuscarEspecialistas = New DbTable_UsuarioEndereco() ;
  2093. if (count($this->pegarSessaoUsuario()) == 0) {
  2094. $divulgar = 1;//divulgar para todos
  2095. } else {
  2096. $divulgar = 2;//divulgar para especialistas
  2097. }
  2098. $buscarEspecialistas = $oebuscarEspecialistas->buscarEspecialistasUsuario($uf, $idCidade,$divulgar) ;
  2099.  
  2100. if (count($buscarEspecialistas) > 0) :
  2101. $paginator = Zend_Paginator::factory($buscarEspecialistas);
  2102. $paginator->setCurrentPageNumber($this->_getParam('pag'))
  2103. ->setItemCountPerPage(10)
  2104. ->setPageRange(8);
  2105. // Configuração da paginação
  2106. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  2107. Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination/pagination.phtml');
  2108. $this->view->assign('hits', $paginator);
  2109. $this->view->especialistas = $buscarEspecialistas ;
  2110. /*echo '<pre>';
  2111. echo 'total:' .count($buscarEspecialistas) .'<br/>' ;
  2112. print_r ($buscarEspecialistas);
  2113. echo '</pre>';
  2114. */
  2115. else :
  2116.  
  2117. endif ;
  2118. }
  2119.  
  2120. public function meusDadosEditarDepartamentosDeInteresseAction()
  2121. {
  2122. $this->_helper->layout()->disableLayout();
  2123.  
  2124. if ($this->_request->isPost()) :
  2125. $this->view->ehPost = true ;
  2126. $arrDadosPost = $this->_request->getPost();
  2127. $oeUser = New Application_Model_DbTable_User() ;
  2128. $oeUser->editarDepartamentosDeInteresse($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  2129. else :
  2130. // Não é post
  2131. $oeUser = New Application_Model_DbTable_User() ;
  2132. $dadosUser = $oeUser->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  2133.  
  2134. $formDepDeInteresse = new Forms_DepartamentosDeInteresse() ;
  2135. $this->view->formDepDeInteresse = $formDepDeInteresse->populate($dadosUser) ;
  2136.  
  2137. $this->view->ehPost = false ;
  2138. endif;
  2139.  
  2140. }
  2141.  
  2142. public function meusDadosAtualizacaoAction()
  2143. {
  2144. $this->_helper->layout()->disableLayout();
  2145.  
  2146. if ($this->_request->isPost()) :
  2147. $this->view->ehPost = true ;
  2148. $arrDadosPost = $this->_request->getPost();
  2149. // $oeUser = New Application_Model_DbTable_User() ;
  2150. // $oeUser->editarDepartamentosDeInteresse($this->pegarSessaoUsuario()->id, $arrDadosPost) ;
  2151. $atualizacao = new DbTable_AtualizacaoCadastral() ;
  2152. $this->view->atualizacao = $atualizacao->inserirAtualizacao() ;
  2153. else :
  2154. // Não é post
  2155. $oeUser = New Application_Model_DbTable_User() ;
  2156. $dadosUser = $oeUser->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  2157.  
  2158. $atualizacao = new DbTable_AtualizacaoCadastral() ;
  2159. $this->view->atualizacao = $atualizacao->inserirAtualizacao() ;
  2160.  
  2161. $this->view->ehPost = false ;
  2162. endif;
  2163.  
  2164. }
  2165.  
  2166. public function galeriasAction()
  2167. {
  2168. $this->view->desabilitarColunaDireita = true ;
  2169.  
  2170. $this->view->HeadLink()->prependStylesheet('/miscellaneous/jquery_galeria/css/style.css') ;
  2171. $this->view->HeadLink()->prependStylesheet('/miscellaneous/jquery_galeria/css/elastislide.css') ;
  2172. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_galeria/js/jquery.tmpl.min.js') ;
  2173. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_galeria/js/jquery.easing.1.3.js') ;
  2174. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_galeria/js/jquery.elastislide.js') ;
  2175. $this->view->HeadScript()->appendFile('/miscellaneous/jquery_galeria/js/gallery.js') ;
  2176.  
  2177.  
  2178. $url = $this->view->url();
  2179. //echo $this->view->url();
  2180. $url = explode('/', $url);
  2181. //print_r($url) ;
  2182. $oeConteudo = New DbTable_Conteudo();
  2183.  
  2184. // Existe o parametro que dá nome a noticia (url key) ?
  2185.  
  2186. if (isset($url[3])) {
  2187. $this->view->urlKeyDaNoticia = true;
  2188. $oeItens = New DbTable_Itens();
  2189. $consultaGaleria = $oeItens->pegarItenPorUrl($this->view->url());
  2190. //print_r($consultaGaleria) ;
  2191. if ($consultaGaleria == null) {
  2192. // galeria não existe
  2193. $strNomeComissao = null;
  2194. $this->redirect('/error/erro404') ;
  2195.  
  2196. } else {
  2197. // galeria existe
  2198. $strNomeComissao = $consultaGaleria['itnNome'];
  2199. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaGaleria['itnId']);
  2200. $this->view->tituloItem = $consultaGaleria['itnNome'];
  2201. $this->view->conteudoHtml = $conteudo['ctdCorpo'];
  2202.  
  2203. $oeGaleria = New DbTable_Galeria();
  2204. $this->view->listaImagensGaleria = $oeGaleria->pegarImagens($consultaGaleria['itnId']);
  2205.  
  2206. echo '<pre>' ;
  2207. //print_r($this->view->listaImagensGaleria) ;
  2208. echo '</pre>' ;
  2209. }
  2210. $this->view->strNomeComissao = $strNomeComissao;
  2211. } else {
  2212. // Não existe o parametro que dá nome ?
  2213. $this->view->strNomeComissao = null;
  2214.  
  2215.  
  2216. $oeItens = New DbTable_Itens();
  2217.  
  2218. $listaItensGaleria = $oeItens->pegarItensGaleria() ;
  2219.  
  2220. if (count($listaItensGaleria) > 0) :
  2221.  
  2222. $paginator = Zend_Paginator::factory($listaItensGaleria);
  2223. $paginator->setCurrentPageNumber($this->_getParam('pag'))
  2224. ->setItemCountPerPage(10)
  2225. ->setPageRange(8);
  2226. // Configuração da paginação
  2227. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  2228. Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination/pagination.phtml');
  2229.  
  2230. $this->view->assign('hits', $paginator);
  2231.  
  2232. endif;
  2233. }
  2234.  
  2235. }
  2236.  
  2237. public function redirectTesteAction()
  2238. {
  2239.  
  2240. }
  2241.  
  2242.  
  2243.  
  2244. public function novaBibliotecaAction()
  2245. {
  2246. $this->view->HeadScript()->appendFile('/js/monitorador-de-links.js') ;
  2247. $this->view->desabilitarColunaDireita = true ;
  2248.  
  2249. $sessaoUsuario = $this->pegarSessaoUsuario() ;
  2250. $exibirLinks = false ;
  2251. $statusLogado = false ;
  2252.  
  2253. // redireciona e termina a execução aqui
  2254. if ($sessaoUsuario->id == 1 || count($sessaoUsuario) == 0) :
  2255. // não está logado ou é visitante
  2256. $this->redirect('/index/faca-login-para-acessar-biblioteca') ;
  2257. endif;
  2258.  
  2259.  
  2260.  
  2261. //
  2262.  
  2263. $cpf = $sessaoUsuario->usrCpf ;
  2264.  
  2265.  
  2266. $oeUser = New Application_Model_DbTable_User() ;
  2267. $situacaoUsuario = $oeUser->verificarStatusPagamentoUsuario($cpf) ;
  2268. $this->view->situacaoUsuario = $situacaoUsuario ;
  2269. // Log de acesso a biblioteca
  2270. $oeLogAcessoBiblioteca = New DbTable_LogsAcessoBiblioteca() ;
  2271. $oeLogAcessoBiblioteca->salvar(array('labLogin' => $sessaoUsuario->login,
  2272. 'labIdUsuario' => $sessaoUsuario->id,
  2273. 'labResultadoVerificacao' => $situacaoUsuario
  2274. )) ;
  2275. // Associados
  2276. if($situacaoUsuario == 'associadoAdiplente') :
  2277. $this->view->exibirBibliotecaNaIntegra = true ;
  2278. endif ;
  2279.  
  2280. if($situacaoUsuario == 'associadoInadiplente') :
  2281.  
  2282. $this->redirect('/index/acesso-Negado-Para-Biblioteca/motivo/1') ;
  2283. endif ;
  2284.  
  2285. // Residentes
  2286. if($situacaoUsuario == 'residenteComAcesso') :
  2287.  
  2288. $this->view->exibirBibliotecaNaIntegra = true ;
  2289. endif ;
  2290.  
  2291. if($situacaoUsuario == 'residenteSemAcesso') :
  2292.  
  2293. $this->redirect('/index/acesso-Negado-Para-Biblioteca/motivo/2') ;
  2294. endif ;
  2295.  
  2296. // Usuário não cadastrado
  2297. if($situacaoUsuario == 'naoCadastrado') :
  2298. $this->redirect('/index/acesso-Negado-Para-Biblioteca/motivo/3') ;
  2299. endif ;
  2300.  
  2301.  
  2302. //echo '<br/>$situacaoUsuario ' .$situacaoUsuario ;
  2303.  
  2304. }
  2305.  
  2306.  
  2307. public function facaLoginParaAcessarBibliotecaAction()
  2308. {
  2309. $this->view->desabilitarColunaDireita = true ;
  2310.  
  2311. if($this->_request->isPost()) :
  2312. $arrPost = $this->_request->getPost() ;
  2313.  
  2314. $authModel= new Application_Model_Auth();
  2315. if($authModel->authenticate(array('login'=> trim($arrPost['login']),'password'=> trim($arrPost['password']))) == true) :
  2316. // autenticacao valida ;
  2317.  
  2318. $this->redirect('/medicos/publicacoes/portal-de-periodicos-eletronicos/') ;
  2319. else :
  2320. $this->view->arrPost = $arrPost ;
  2321. $this->view->msgErroLogin = true ;
  2322. endif;
  2323. else :
  2324. // não é post
  2325. endif;
  2326. }
  2327.  
  2328. public function acessoNegadoParaBibliotecaAction()
  2329. {
  2330. $this->view->desabilitarColunaDireita = true ;
  2331. $this->view->motivo = $this->_request->getParam('motivo', null) ;
  2332. }
  2333.  
  2334. public function testeLoginExternoAction()
  2335. {
  2336. $this->_helper->layout->disableLayout() ;
  2337.  
  2338. }
  2339.  
  2340. public function abrirArquivoRestritoAction()
  2341. {
  2342. $this->_helper->layout->disableLayout();
  2343. $this->_helper->viewRenderer->setNoRender() ;
  2344. $handle = fopen('files/downloads/estatuto/Estatuto_da_SBN_2010.pdf');
  2345. echo $handle ;
  2346. }
  2347.  
  2348. public function downloadArquivosRestritosAction()
  2349. {
  2350. $this->_helper->layout->disableLayout();
  2351. $this->_helper->viewRenderer->setNoRender() ;
  2352.  
  2353. if (isset($this->pegarSessaoUsuario()->id)) :
  2354. if ($this->pegarSessaoUsuario()->id != 1) :
  2355.  
  2356. $sha1 = $this->_getParam('code', null);
  2357. $oeArquivosRestritosParaDownload = New DbTable_ArquivosRestritosParaDownload() ;
  2358. $arrArquivo = $oeArquivosRestritosParaDownload->pegarPorSha1Unico($sha1) ;
  2359.  
  2360. if (count($arrArquivo) > 0) :
  2361. // The path to the real pdf
  2362. $pdfFile = $_SERVER["DOCUMENT_ROOT"] .'/upload/arquivos_restritos/' .$arrArquivo['arqResDownNomeNaPublic'] ;
  2363.  
  2364. // get attachment location
  2365.  
  2366. if (file_exists($pdfFile)) {
  2367. // attachment exists
  2368.  
  2369. // send open/save pdf dialog to user
  2370. header('Cache-Control: public'); // needed for i.e.
  2371. header('Content-Type: application/pdf');
  2372. header('Content-Disposition: attachment; filename="' .$arrArquivo['arqResDownNomeNaPublic'] .'"');
  2373. readfile($pdfFile);
  2374. die(); // stop execution of further script because we are only outputting the pdf
  2375.  
  2376. } else {
  2377. echo $pdfFile .'<br/>' ;
  2378. die('Error: File not found.') ;
  2379. }
  2380. else :
  2381. echo 'Arquivo não encontrado' ;
  2382. endif;
  2383.  
  2384. else :
  2385. echo 'Sem permissão de acesso a este arquivo. Somente membros e associados podem visualizá-lo.' ;
  2386. endif;
  2387.  
  2388.  
  2389. else :
  2390. echo 'Sem permissão de acesso a este arquivo. Somente membros e associados podem visualizá-lo.' ;
  2391. endif;
  2392.  
  2393.  
  2394.  
  2395. }
  2396.  
  2397. public function videosSbnYouTubeAction() {
  2398. // Seu usuário do YouTube
  2399. $usuario = 'UCNA7Mg8dCshEjCkqHJd7S6Q';
  2400.  
  2401. // URL do Feed RSS de vídeos de um usuário
  2402. $youTube_UserFeedURL = 'http://gdata.youtube.com/feeds/base/users/%s/uploads?orderby=updated&v=2';
  2403.  
  2404. // Usa cURL para pegar o XML do feed
  2405. $cURL = curl_init(sprintf($youTube_UserFeedURL, $usuario));
  2406. curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  2407. curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
  2408. $resultado = curl_exec($cURL);
  2409. curl_close($cURL);
  2410.  
  2411. // Inicia o parseamento do XML com o SimpleXML
  2412. $xml = new SimpleXMLElement($resultado);
  2413.  
  2414. $videos = array();
  2415.  
  2416. // Passa por todos vídeos no RSS
  2417. foreach ($xml->entry AS $video) {
  2418. $url = (string) $video->link['href'];
  2419.  
  2420. // Quebra a URL do vídeo para pegar o ID
  2421. parse_str(parse_url($url, PHP_URL_QUERY), $params);
  2422. $id = $params['v'];
  2423.  
  2424. // Monta um array com os dados do vídeo
  2425. $videos[] = array(
  2426. 'id' => $id,
  2427. 'titulo' => (string) $video->title,
  2428. 'thumbnail' => 'http://i' . rand(1, 4) . '.ytimg.com/vi/' . $id . '/hqdefault.jpg',
  2429. 'url' => $url
  2430. );
  2431.  
  2432. $this->view->videos = $videos;
  2433. }
  2434. }
  2435.  
  2436. public function cursosSbnBpAction()
  2437. {
  2438. $url = $this->view->url();
  2439. $url= explode ('/', $url) ;
  2440.  
  2441. $oeConteudo = New DbTable_Conteudo() ;
  2442.  
  2443. // Existe o parametro que dá nome a comissão?
  2444. if (isset($url[3])) {
  2445. //echo $url[3] ;
  2446. //echo $this->view->url() ;
  2447. $oeItens = New DbTable_Itens() ;
  2448. $consultaComissao = $oeItens->pegarItenPorUrl($this->view->url()) ;
  2449. //print_r($consultaComissao) ;
  2450. if ($consultaComissao == null) {
  2451. // comissão não existe
  2452. $strNomeComissao = null ;
  2453. $this->redirect('/error/erro404') ;
  2454. }else {
  2455. // comissão existe
  2456. $strNomeComissao = $consultaComissao['itnNome'] ;
  2457. $conteudo = $oeConteudo->pegarPorIdDoPai($consultaComissao['itnId']) ;
  2458. $this->view->tituloItem = $consultaComissao['itnNome'] ;
  2459. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  2460. //print_r($conteudo) ;
  2461. //echo $consultaComissao['itnId'] ;
  2462. //echo $this->view->conteudoHtml ;
  2463. // Seta as metaTags
  2464. $this->view->headTitle($consultaComissao['itnNome'], 'SET') ;
  2465. $this->view->headMeta()->setName('description', $this->view->Truncate(preg_replace('/[\n\r\t]/', ' ', trim(strip_tags($conteudo['ctdCorpo']))), 0, 152, null, '...')) ;
  2466. //$this->view->headMeta()->setName('keywords','dynamic keywords') ;
  2467.  
  2468. }
  2469. $this->view->strNomeComissao = $strNomeComissao ;
  2470. } else {
  2471. // Não existe o parametro que dá nome a comissão?
  2472. $this->view->strNomeComissao = null ;
  2473.  
  2474. $this->view->tituloItem = 'Publicações' ;
  2475.  
  2476. $conteudo = $oeConteudo->pegarPorIdDoPai(1) ;
  2477. $this->view->conteudoHtml = $conteudo['ctdCorpo'] ;
  2478. }
  2479.  
  2480.  
  2481. }
  2482.  
  2483.  
  2484. public function buscarServicosEmQueUsuarioFazParteDaEquipeMedicaAjaxAction(){
  2485. $this->_helper->viewRenderer->setNoRender() ;
  2486. $this->_helper->layout()->disableLayout();
  2487.  
  2488. $oeEquipeMedica = new DbTable_EquipeMedicaServicos() ;
  2489. $servicos = $oeEquipeMedica->pegarServicosEmQueUsarioPertence($this->pegarSessaoUsuario()->id) ;
  2490. echo json_encode($servicos) ;
  2491. /*
  2492. echo '<pre>' ;
  2493. print_r($servicos) ;
  2494. echo 'ok' ;*/
  2495. }
  2496.  
  2497. public function manualDeAcessoDoPreceptorAction(){
  2498.  
  2499. }
  2500. public function linkDeTesteOvidAction(){
  2501. $this->_helper->viewRenderer->setNoRender() ;
  2502. $this->_helper->layout()->disableLayout();
  2503.  
  2504. echo '<a href="http://henriqueramalho.com.br/hidden.cgi">Search Ovid</a>' ;
  2505. }
  2506.  
  2507.  
  2508. public function cadastroSocioEstudanteDeMedicinaAction(){
  2509.  
  2510. $this->view->HeadScript()->appendFile('/js/cadastro-socio-estudante-de-medicina.js') ;
  2511. $this->view->headTitle('Cadastro Sócio Estudante de Medicina', 'SET') ;
  2512.  
  2513. if ($this->_request->isPost()) {
  2514. $arrPost = $this->_request->getPost() ;
  2515. $arrPost['usrCpf'] = preg_replace('/[^0-9]/', '', $arrPost['usrCpf']);
  2516. $arrPost['uendCep'] = preg_replace('/[^0-9]/', '', $arrPost['uendCep']);
  2517. $arrPost['usrDataNascimento'] = implode("-", array_reverse(explode("/", $arrPost['usrDataNascimento'])));
  2518.  
  2519. $formUser = new Forms_User() ;
  2520. $formUserEndereco = new Forms_UsuarioEnderecos() ;
  2521. if ($formUser->hash_form_user->isValid($arrPost['hash_form_user']) &&
  2522. $formUser->usrNome->isValid($arrPost['usrNome']) &&
  2523. $formUser->usrCpf->isValid($arrPost['usrCpf']) &&
  2524. $formUser->usrSexo->isValid($arrPost['usrSexo']) &&
  2525. $formUser->login->isValid($arrPost['login']) &&
  2526. $formUser->usrDataNascimento->isValid($arrPost['usrDataNascimento'])
  2527. ) {
  2528. // é valido
  2529.  
  2530.  
  2531.  
  2532. $oeUsers = new Application_Model_DbTable_User() ;
  2533.  
  2534. $verificaSeCpfExisteEmUsers = $oeUsers->verificaSeCpfEstaCadastrado($arrPost['usrCpf']);
  2535. $consultaEMailJaExiste = $oeUsers->fetchRow('login = "' .$arrPost['login'] .'"') ;
  2536. if ($verificaSeCpfExisteEmUsers == null && count($consultaEMailJaExiste) == 0) {
  2537. // não existe na tabela users
  2538. $userIdGerado = $oeUsers->insert(array(
  2539. 'usrNome' => $arrPost['usrNome'],
  2540. 'usrCpf' => $arrPost['usrCpf'],
  2541. 'login' => $arrPost['login'],
  2542. 'userDataRecadastramento' => date('Y-m-d H:i:s'),
  2543. 'role_id' => '14',
  2544. 'usrDataNascimento' => $arrPost['usrDataNascimento'],
  2545. 'usrDocumentoRg' => $arrPost['usrDocumentoRg'],
  2546. 'usrCelularDDD' => $arrPost['usrCelularDDD'],
  2547. 'usrCelular' => $arrPost['usrCelular'],
  2548. 'usrSexo' => $arrPost['usrSexo']
  2549. ));
  2550.  
  2551. if ($userIdGerado > 0) {
  2552. $oeEnderecos = New DbTable_UsuarioEndereco() ;
  2553. $arrDadosEnderecoUsuario = array(
  2554. 'uendIdUsuario' => $userIdGerado,
  2555. 'uendIdCodigoPais' => 'BRA',
  2556. 'uendUf' => $arrPost['uendUf'],
  2557. 'uendIdCidade' => $arrPost['uendIdCidade'],
  2558. 'uendBairro' => $arrPost['uendBairro'],
  2559. 'uendLogradouro' => $arrPost['uendLogradouro'],
  2560. 'uendNumero' => $arrPost['uendNumero'],
  2561. 'uendCep' => $arrPost['uendCep'],
  2562. 'uendComplemento' => $arrPost['uendComplemento'],
  2563. 'uendTipo' => 1,
  2564. 'uendDivulgar' => 3,
  2565. 'uendFone' => null,
  2566. 'uendFoneDdd' => null,
  2567. 'uendFone2' => null,
  2568. 'uendFone2Ddd' => null,
  2569. ) ;
  2570. $oeEnderecos->inserirEnderecoNoBrasil($userIdGerado, $arrDadosEnderecoUsuario) ;
  2571.  
  2572. $adapter = new Zend_File_Transfer_Adapter_Http();
  2573. $uploads_dir = 'upload/declaracoes_da_faculdade_socio_estudante_de_medicina/';
  2574. $info = $adapter->getFileInfo();
  2575.  
  2576. $novoNome = 'date_' . date('Y-m-d') .substr(sha1(microtime()), 1, 10) .'.' .pathinfo($_FILES['arquivoDeclaracaoEsdutante']['name'], PATHINFO_EXTENSION);
  2577. $adapter->setDestination($uploads_dir)
  2578. ->addFilter('Rename', array('target' => $novoNome));
  2579.  
  2580. $adapter->receive();
  2581.  
  2582. // parei
  2583. $oeSocioEstudanteDeMedicina = new DbTable_SocioEstudanteDeMedicina() ;
  2584. $dataSocioEstudanteMedicina['semIdUserId'] = $userIdGerado ;
  2585. $dataSocioEstudanteMedicina['semPathDeclaracaoFaculdadeDeMedicina'] = $uploads_dir .$novoNome ;
  2586. $oeSocioEstudanteDeMedicina->inserir($dataSocioEstudanteMedicina) ;
  2587.  
  2588. $dadosDoUsuario = $oeSocioEstudanteDeMedicina->getEstudantesDeMedcina($userIdGerado) ;
  2589. $this->view->dadosDoUsuario = $dadosDoUsuario ;
  2590. $UsuarioEndereco = new DbTable_UsuarioEndereco() ;
  2591.  
  2592.  
  2593. $oeUsuarioEndereco = new DbTable_UsuarioEndereco() ;
  2594. $query = $oeUsuarioEndereco->select()
  2595. ->setIntegrityCheck(false)
  2596. ->from(array('usuarioEndereco' => 'usuario_endereco'))
  2597. ->join(array('c' => 'cidade'), 'c.cddId = usuarioEndereco.uendIdCidade')
  2598. ->join(array('uf' => 'unidade_federativa'), 'uf.ufAbreviatura = usuarioEndereco.uendUf')
  2599. ->where('usuarioEndereco.uendIdUsuario = ' . $userIdGerado)
  2600. ->where('usuarioEndereco.uendEnderecoParaCorrespondencia = 1')
  2601. ;
  2602.  
  2603. $enderecoPadrao = $oeUsuarioEndereco->fetchRow($query) ;
  2604.  
  2605. $this->view->enderecoDoUsuario = $enderecoPadrao ;
  2606. $this->view->habilitaGeracaoDoBoleto = true ;
  2607. $dadosDestinatario['email'] = 'sabrinao@sbn.com.br' ;
  2608. $dadosDestinatario['nome'] = 'Sabrina Monteiro' ;
  2609. //$oeSocioEstudanteDeMedicina->enviarEmailAvisandoSobreNovoCadastro($userIdGerado, $dadosDestinatario, true) ;
  2610.  
  2611. }
  2612. } else {
  2613. $this->view->usuarioJaCadastradonoSistema = true ; // usuario possui cpf ou email já cadastrado no sistema
  2614. }
  2615. } else {
  2616. // não é valido
  2617. $formUser->usrNome->setAttrib('style', 'width: 400px') ;
  2618. $formUser->usrCpf->setAttrib('style', 'width: 200px') ;
  2619. $formUser->usrCelularDDD->setAttrib('style', 'width: 50px') ;
  2620. $formUser->usrCelularDDD->setAttrib('class', 'validate[required] span12') ;
  2621. $formUser->login->setAttrib('style', 'width: 400px') ;
  2622.  
  2623. $formUserEndereco->uendLogradouro->setAttrib('style', 'width: 200px') ;
  2624. $formUserEndereco->uendIdCidade->setAttrib('style', 'width: 150px') ;
  2625. $formUserEndereco->uendUf->setAttrib('style', 'width: 150px') ;
  2626. $formUserEndereco->uendBairro->setAttrib('style', 'width: 200px') ;
  2627.  
  2628. $unidadeFederativa = new DbTable_UnidadeFederativa() ;
  2629. $formUserEndereco->uendUf->setMultiOptions(array('' => 'selecione')) ;
  2630. $formUserEndereco->uendUf->addMultiOptions($unidadeFederativa->pegarUfFetchPairs()) ;
  2631.  
  2632. $formUserEndereco->uendIdCidade->setMultiOptions(array('' => 'selecione') ) ;
  2633.  
  2634. $this->view->formUser = $formUser->populate($arrPost) ;
  2635. $this->view->formUserEndereco = $formUserEndereco->populate($arrPost) ;
  2636. //$this->_redirect('/index/cadastro-socio-estudante-de-medicina') ;
  2637. }
  2638.  
  2639.  
  2640. /*
  2641. echo '<pre>' ;
  2642. print_r($arrPost) ;
  2643. echo '</pre>' ; */
  2644. } else {
  2645. $formUser = new Forms_User() ;
  2646. $formUser->usrNome->setAttrib('style', 'width: 400px') ;
  2647. $formUser->usrCpf->setAttrib('style', 'width: 200px') ;
  2648. $formUser->usrCelularDDD->setAttrib('style', 'width: 50px') ;
  2649. $formUser->usrCelularDDD->setAttrib('class', 'validate[required] span12') ;
  2650. $formUser->login->setAttrib('style', 'width: 400px') ;
  2651.  
  2652.  
  2653. $formUserEndereco = new Forms_UsuarioEnderecos() ;
  2654. $formUserEndereco->uendLogradouro->setAttrib('style', 'width: 200px') ;
  2655. $formUserEndereco->uendIdCidade->setAttrib('style', 'width: 150px') ;
  2656. $formUserEndereco->uendUf->setAttrib('style', 'width: 150px') ;
  2657. $formUserEndereco->uendBairro->setAttrib('style', 'width: 200px') ;
  2658.  
  2659. $unidadeFederativa = new DbTable_UnidadeFederativa() ;
  2660. $formUserEndereco->uendUf->setMultiOptions(array('' => 'selecione')) ;
  2661. $formUserEndereco->uendUf->addMultiOptions($unidadeFederativa->pegarUfFetchPairs()) ;
  2662.  
  2663. $formUserEndereco->uendIdCidade->setMultiOptions(array('' => 'selecione') ) ;
  2664.  
  2665. $this->view->formUser = $formUser ;
  2666. $this->view->formUserEndereco = $formUserEndereco ;
  2667. }
  2668.  
  2669.  
  2670. }
  2671.  
  2672. public function buscarServicosEmQueUsuarioEChefeAjaxAction(){
  2673. $this->_helper->viewRenderer->setNoRender() ;
  2674. $this->_helper->layout()->disableLayout();
  2675.  
  2676. $oeHospital = new DbTable_Hospital() ;
  2677. $query = $oeHospital->select()->from(array('hospital' => 'hospital') ,array('hptId', 'hptIdUserChefe', 'hptNome')) ;
  2678. $query->where('hptIdUserChefe = ' .$this->pegarSessaoUsuario()->id) ;
  2679.  
  2680. $hospitais = $oeHospital->fetchAll($query) ;
  2681. if (count($hospitais) >0) :
  2682. $hospitais = $hospitais->toArray() ;
  2683. else :
  2684. $hospitais = null ;
  2685. endif;
  2686. echo json_encode($hospitais) ;
  2687.  
  2688. /*
  2689. echo '<pre>' ;
  2690. print_r($hospitais) ;
  2691. echo 'ok' ;*/
  2692. }
  2693.  
  2694. public function verificarSeUsuarioEChefeDeSerivicoESePossuiPendenciaNaAtualizacaoAction(){
  2695. $this->_helper->viewRenderer->setNoRender() ;
  2696. $this->_helper->layout()->disableLayout();
  2697.  
  2698. $oeHospital = new DbTable_Hospital() ;
  2699. $query = $oeHospital
  2700. ->select()
  2701. ->from(array('hospital' => 'hospital'), array('hptId', 'hptIdUserChefe', 'hptNome'))
  2702. ;
  2703. $query->where('hptIdUserChefe = ' .$this->pegarSessaoUsuario()->id) ;
  2704.  
  2705. $hospitais = $oeHospital->fetchAll($query) ;
  2706.  
  2707. $oeServicosSbnDiferentesPorAno = new DbTable_ServicosSbnDiferentesPorAno() ;
  2708.  
  2709. $arrRetorno = array() ;
  2710. foreach($hospitais AS $item) :
  2711. $servicos2013 = $oeServicosSbnDiferentesPorAno->fetchAll('idCodservico = "' .$item->hptId .'" AND ano_ref = 2015') ;
  2712. if (count($servicos2013) > 0) :
  2713.  
  2714. foreach($servicos2013 AS $subItem) :
  2715. // pesquisa o serviço de 2015
  2716. $servico2015 = $oeServicosSbnDiferentesPorAno->fetchRow('idCodservico = "' .$item->hptId .'" AND ano_ref = 2016') ;
  2717. if (count($servico2015) > 0) :
  2718. // existe 2015, verifica se ele está totalmente atualizado (as cinco etapas)
  2719. $oeServicosStatusEtapasAtualizacao = new DbTable_ServicosStatusEtapasAtualizacao() ;
  2720. $consultaStatus = $oeServicosStatusEtapasAtualizacao->checkServicoEstaTodoAtualizado($servico2015->Id) ;
  2721. if ($consultaStatus == false) {
  2722. // servico possui pendencias
  2723. $arrRetorno[$item->hptId]['exibir-janela-atualizacao'] = 'sim';
  2724. } else {
  2725. // servico não possui pendencias
  2726. $arrRetorno[$item->hptId]['exibir-janela-atualizacao'] = 'nao';
  2727. }
  2728.  
  2729. else :
  2730. // existe de 2013 mas não existe 2015, então precisa atualizar
  2731. //echo 'existe de 2013 mas não existe 2015, então precisa atualizar' ;
  2732. $arrRetorno[$item->hptId]['exibir-janela-atualizacao'] = 'sim';
  2733. endif;
  2734. endforeach;
  2735. else :
  2736. // não existe serviço 2013
  2737. $arrRetorno[$item->hptId]['exibir-janela-atualizacao'] = 'nao';
  2738.  
  2739. endif;
  2740.  
  2741. endforeach;
  2742.  
  2743. foreach ($arrRetorno AS $item) :
  2744. if ($item['exibir-janela-atualizacao'] == 'sim') {
  2745. $exibir = true ;
  2746. } else {
  2747. $exibir = false ;
  2748. }
  2749. endforeach;
  2750.  
  2751. // if momentaneo para teste bibliomed
  2752. //if($_SERVER['REMOTE_ADDR'] == '192.168.2.1') {
  2753. if ($exibir == true){
  2754. echo '{"exibirJanelaAtualizacao":"sim"}' ;
  2755. } else {
  2756. echo '{"exibirJanelaAtualizacao":"nao"}' ;
  2757. }
  2758. /*} else {
  2759. echo '{"exibirJanelaAtualizacao":"nao"}' ;
  2760. }*/
  2761.  
  2762. /*
  2763. echo '<pre>' ;
  2764. print_r($arrRetorno) ;
  2765. echo '</pre>' ;*/
  2766. }
  2767. public function segundaViaSocioEstudanteDeMedicinaAction(){
  2768. $this->_redirect('http://www.sbn.com.br/');
  2769. /* $this->view->HeadScript()->appendFile('/js/segunda-via-socio-estudante-de-medicina.js') ;
  2770. $this->view->headTitle('Segunda via Sócio Estudante de Medicina', 'SET') ;
  2771.  
  2772. if ($this->_request->isPost()) {
  2773. $arrPost = $this->_request->getPost() ;
  2774. $cpf = preg_replace('/[^0-9]/', '', $arrPost['usrCpf']);
  2775.  
  2776. $oeUser = new Application_Model_DbTable_User() ;
  2777. $query = $oeUser->select()
  2778. ->setIntegrityCheck(false)
  2779. ->from(array('u' => 'users'))
  2780. ->join(array('sem' => 'socio_estudante_de_medicina'), 'sem.semIdUserId = u.id')
  2781. ->where('u.usrCpf = "' .$cpf .'"')
  2782. ;
  2783. $socioEstudante = $oeUser->fetchRow($query);
  2784.  
  2785. if (count($socioEstudante) == 1) {
  2786. // user id
  2787. $userIdGerado = $socioEstudante->id ;
  2788. $oeSocioEstudanteDeMedicina = new DbTable_SocioEstudanteDeMedicina() ;
  2789. $dadosDoUsuario = $oeSocioEstudanteDeMedicina->getEstudantesDeMedcina($userIdGerado) ;
  2790. $this->view->dadosDoUsuario = $dadosDoUsuario ;
  2791. $UsuarioEndereco = new DbTable_UsuarioEndereco() ;
  2792.  
  2793.  
  2794. $oeUsuarioEndereco = new DbTable_UsuarioEndereco() ;
  2795. $query = $oeUsuarioEndereco->select()
  2796. ->setIntegrityCheck(false)
  2797. ->from(array('usuarioEndereco' => 'usuario_endereco'))
  2798. ->join(array('c' => 'cidade'), 'c.cddId = usuarioEndereco.uendIdCidade')
  2799. ->join(array('uf' => 'unidade_federativa'), 'uf.ufAbreviatura = usuarioEndereco.uendUf')
  2800. ->where('usuarioEndereco.uendIdUsuario = ' . $userIdGerado)
  2801. ->where('usuarioEndereco.uendEnderecoParaCorrespondencia = 1')
  2802. ;
  2803.  
  2804. $enderecoPadrao = $oeUsuarioEndereco->fetchRow($query) ;
  2805.  
  2806. $this->view->enderecoDoUsuario = $enderecoPadrao ;
  2807. $this->view->habilitaGeracaoDoBoleto = true ;
  2808. } else {
  2809. $this->view->socioEstudanteMedicinaNaoEncontrado = true ;
  2810. }
  2811.  
  2812. } else {
  2813. $this->view->habilitarFormSegundaVia = true ;
  2814. }
  2815. */
  2816.  
  2817.  
  2818. }
  2819.  
  2820. public function segundaViaBoletoProvaDeRecuperacaoCuritiba2014Action(){
  2821.  
  2822. // essa action serve apenas para aviso
  2823. // ela informa ao residente para desconsiderar caso o boleto já tenha sido pago.
  2824. }
  2825.  
  2826. public function feedBackNewsletterAction()
  2827. {
  2828. $this->_helper->viewRenderer->setNoRender() ;
  2829. $this->_helper->layout()->disableLayout();
  2830.  
  2831. $idEmailEnviado = $this->_request->getParam('id-email-enviado', null) ;
  2832.  
  2833. $oeNewsletterEmailsEnviados = New DbTable_NewsletterEmailsEnviados();
  2834.  
  2835. if ($idEmailEnviado != null) :
  2836.  
  2837. $oeNewsletterEmailsEnviados->confirmarLeituraDoEmail($idEmailEnviado);
  2838. endif;
  2839.  
  2840. header("Content-type: image/jpeg");
  2841. $im = imagecreatefromjpeg("imagens/feedBack.jpg");
  2842. imagejpeg($im);
  2843. imagedestroy($im);
  2844. }
  2845.  
  2846. public function negacaoAclGestaoAction(){
  2847.  
  2848. $url = $this->_request->getParam('url', null) ;
  2849. $idUsuario = $this->pegarSessaoUsuario()->id ;
  2850. $LogsNegacoesAclGestao = new DbTable_LogsNegacoesAclGestao() ;
  2851. $LogsNegacoesAclGestao->insertLog($idUsuario, base64_decode($url)) ;
  2852.  
  2853. }
  2854.  
  2855. public function situacaoFinanceiraAction(){
  2856.  
  2857. $oeAssociado = new DbTable_Associado();
  2858. $associado = $oeAssociado->pegarAssociadoPorUsrId($this->pegarSessaoUsuario()->id);
  2859. $idAssociado = $associado['Id'];
  2860.  
  2861. // se usuário for associado redireciona para sistuação financeira do associado (analogia ao sistema antigo)
  2862. if ($idAssociado > 0) {
  2863. $this->_redirect('/index/situacao-financeira-associado');
  2864. }
  2865.  
  2866. $oeResidente = New DbTable_ResidenteSbn();
  2867. $idUser = $this->pegarSessaoUsuario()->id;
  2868. $residente = $oeResidente->fetchRow("resUserId = $idUser");
  2869. $idResidente = $residente->Id;
  2870.  
  2871. // se o usuário for residente redireciona para situação financeira do residente (analogia ao sistema antigo)
  2872. if ($idResidente > 0) {
  2873. $this->_redirect('/index/situacao-financeira-residente');
  2874. }
  2875.  
  2876. /* o associado é prioridade em relação ao residente, por isso o redirect dele é antes do residente
  2877. * caso o usuário não seja nem associado nem residente nada é feito. O Sócio Estudante de Medicina precisa
  2878. * ser definido em mais detalhes. talvez precisemos de alterações no sistema (estrutura das tabelas)
  2879. */
  2880.  
  2881. }
  2882.  
  2883. public function situacaoFinanceiraAssociadoAction(){
  2884. $this->view->HeadLink()->prependStylesheet('/resources/index/situacao-financeira.css') ;
  2885. $this->view->desabilitarColunaDireita = true ;
  2886.  
  2887. $oeAssociado = new DbTable_Associado();
  2888. $associado = $oeAssociado->pegarAssociadoPorUsrId($this->pegarSessaoUsuario()->id);
  2889. $idAssociado = $associado['Id'];
  2890.  
  2891. $dataHoje = date('Y-m-d');
  2892.  
  2893. // ini: Boletos de Cobrança a vencer
  2894. $oeBoleto = new DbTable_Boletos();
  2895. $sqlBoletosAVencer = $oeBoleto->select(false)
  2896. ->where("Codigo = $idAssociado AND Tipo = 'N' AND valorpago = 0 AND DataVencto <= '$dataHoje'")
  2897. ->order('Id DESC')
  2898. ;
  2899. $arrBoletosAssociado = $oeBoleto->fetchAll($sqlBoletosAVencer);
  2900. $this->view->boletosAVencer = $arrBoletosAssociado;
  2901. // end: Boletos de Cobrança a vencer
  2902.  
  2903.  
  2904. // ini: situação financeira do associado
  2905. $oeSemestralidade = new DbTable_GestaoAssocSemestralidade();
  2906. $sqlSemestralidade = $oeSemestralidade->select(false)
  2907. ->where("id_assoc = $idAssociado")
  2908. ->order("Id DESC");
  2909. $situacaoFinanceira = $oeSemestralidade->fetchAll($sqlSemestralidade);
  2910. $this->view->situacaoFinanceira = $situacaoFinanceira;
  2911. // end: situação financeira do associado
  2912.  
  2913. // ini: Boletos de Cobrança Emitidos
  2914. $oeBoleto = new DbTable_Boletos();
  2915. $sqlBoletosCobrancaEmitidos = $oeBoleto->select(false)
  2916. ->where("Codigo = $idAssociado AND Tipo = 'N'")
  2917. ->order('Id DESC')
  2918. ;
  2919. $boletosCobrancaEmitidos = $oeBoleto->fetchAll($sqlBoletosCobrancaEmitidos);
  2920. $this->view->boletosCobrancaEmitidos = $boletosCobrancaEmitidos;
  2921. // end: Boletos de Cobrança Emitidos
  2922.  
  2923.  
  2924.  
  2925. echo '<pre>';
  2926.  
  2927.  
  2928. //print_r($arrBoletosAssociado);
  2929. echo '</pre>';
  2930. }
  2931.  
  2932. public function situacaoFinanceiraResidenteAction(){
  2933. $this->view->HeadLink()->prependStylesheet('/resources/index/situacao-financeira.css') ;
  2934. $this->view->desabilitarColunaDireita = true ;
  2935.  
  2936. $oeResidente = New DbTable_ResidenteSbn();
  2937. $idUser = $this->pegarSessaoUsuario()->id;
  2938. $residente = $oeResidente->fetchRow("resUserId = $idUser");
  2939. $idResidente = $residente->Id;
  2940.  
  2941. // ini: situação financeira do associado
  2942. $oeGestaoResFinanceiro = new DbTable_GestaoResFinanceiro();
  2943. $sqlResFinanceiro = $oeGestaoResFinanceiro->select(false)
  2944. ->where("id_res = $idResidente")
  2945. ->order("Id DESC");
  2946. $situacaoResFinanceiro = $oeGestaoResFinanceiro->fetchAll($sqlResFinanceiro);
  2947. $this->view->situacaoResFinanceiro = $situacaoResFinanceiro;
  2948. // end: situação financeira do associado
  2949.  
  2950.  
  2951. // ini: Boletos de Cobrança Emitidos
  2952. $oeBoleto = new DbTable_Boletos();
  2953. $sqlBoletosCobrancaEmitidos = $oeBoleto->select(false)
  2954. ->where("Codigo = $idResidente AND Tipo = 'R'")
  2955. ->order('Id DESC')
  2956. ;
  2957. $boletosCobrancaEmitidos = $oeBoleto->fetchAll($sqlBoletosCobrancaEmitidos);
  2958. $this->view->boletosCobrancaEmitidos = $boletosCobrancaEmitidos;
  2959. // end: Boletos de Cobrança Emitidos
  2960.  
  2961. }
  2962.  
  2963. public function pagamentoPagseguroAction() {
  2964. // $this->_helper->layout()->disableLayout();
  2965. }
  2966.  
  2967. public function pagamentoPagseguroNotificacaoAction() {
  2968. // $this->_helper->layout()->disableLayout();
  2969. }
  2970.  
  2971. public function loginResidenteAction() {
  2972. $this->_helper->layout()->disableLayout();
  2973.  
  2974. }
  2975.  
  2976. public function indexIntranetAction()
  2977. {
  2978.  
  2979. $this->_helper->layout()->disableLayout();
  2980. /* Initialize action controller here */
  2981.  
  2982. $oeHospital = new DbTable_Hospital();
  2983. $participacaoChefeDeServico = $oeHospital->fetchAll('hptIdUserChefe = ' . $this->pegarSessaoUsuario()->id);
  2984. if (count($participacaoChefeDeServico) > 0) :
  2985. $participacaoChefeDeServico = $participacaoChefeDeServico->toArray();
  2986. endif;
  2987.  
  2988. $this->view->participacaoChefeDeServico = $participacaoChefeDeServico;
  2989. $this->view->dadosUsua = base64_encode($this->view->sessaoUsuarioLogado->login.";".$this->view->sessaoUsuarioLogado->password);
  2990.  
  2991.  
  2992. }
  2993.  
  2994.  
  2995.  
  2996.  
  2997. // public function meusDadosIntraAction()
  2998. // {
  2999.  
  3000. // Zend_Layout::startMvc(array(
  3001. // 'layout'=> 'layout-index-infra',
  3002. // 'layoutPath' => APPLICATION_PATH . '/views/scripts/layout'
  3003. // ));
  3004.  
  3005. // if (count($this->pegarSessaoUsuario()) == 0) {
  3006. // $this->_redirect('/');
  3007. // }
  3008.  
  3009. // $this->view->HeadScript()->appendFile('/js/meus-dados-intra.js') ;
  3010.  
  3011. // $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  3012.  
  3013. // $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  3014.  
  3015.  
  3016. // $oeUsuario = New Application_Model_DbTable_User() ;
  3017. // $this->view->arrDadosUsuario = $oeUsuario->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  3018.  
  3019. // $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  3020.  
  3021. // $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  3022.  
  3023.  
  3024. // $oeSubAreaAtuacao = New DbTable_UsuarioSubAreaDeAtuacao() ;
  3025.  
  3026. // $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  3027. // if (count($subAreaDeAtuacao) == 0 ) {
  3028. // $oeSubAreaAtuacao->insert(array('usaaIdUser' => $this->pegarSessaoUsuario()->id)) ;
  3029. // // Refaz a consulta
  3030. // $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  3031. // }
  3032. // $this->view->subAreaDeAtuacao = $subAreaDeAtuacao ;
  3033.  
  3034.  
  3035. // $this->view->carregarModalAlertaPrecisaRecadastra = $oeUsuario->verificarSeUsuarioPrecisaRecadastrar($this->pegarSessaoUsuario()->id) ;
  3036.  
  3037. // // ini: pegar participações nas gestões dos presidentes da SBN
  3038. // $oeOrganizacao = new DbTable_Organizacao();
  3039. // $participacoesPoliticas = $oeOrganizacao->getMembrosDaGestao(array(
  3040. // 'usrId' => $this->pegarSessaoUsuario()->id,
  3041. // 'campoOrdem' => 'Id',
  3042. // 'ordem' => 'ASC'));
  3043. // if (count($participacoesPoliticas) > 0) :
  3044. // $participacoesPoliticas = $participacoesPoliticas->toArray();
  3045. // endif;
  3046. // // pegar participação se associado é atualmente chefe de serviço. Na minha opinião (Henrique) isto está errado, deveria-se ter um histórioc
  3047. // // de quem foi chefe de serviço, pois desta maneira (igual esta no antigo sistema gestão) os antigos chefes de serviço não serão contemplados
  3048. // // no resultado da query
  3049. // $oeHospital = new DbTable_Hospital();
  3050. // $participacaoChefeDeServico = $oeHospital->fetchAll('hptIdUserChefe = ' . $this->pegarSessaoUsuario()->id);
  3051. // if (count($participacaoChefeDeServico) > 0) :
  3052. // $participacaoChefeDeServico = $participacaoChefeDeServico->toArray();
  3053. // endif;
  3054. // $oeResidenciaCentroCoordenador = new DbTable_ResidenciaCentroCoordenador();
  3055. // $participacaoCoordenadorCentro = $oeResidenciaCentroCoordenador->pegarOndeUsuarioECoordenador($this->pegarSessaoUsuario()->id);
  3056. // if (count($participacaoCoordenadorCentro) > 0) :
  3057. // $participacaoCoordenadorCentro = $participacaoCoordenadorCentro->toArray();
  3058. // endif;
  3059.  
  3060. // $this->view->participacoesPoliticas = $participacoesPoliticas;
  3061. // $this->view->participacaoChefeDeServico = $participacaoChefeDeServico;
  3062. // $this->view->participacaoCoordenadorCentro = $participacaoCoordenadorCentro;
  3063. // // end: pegar participações nas gestões dos presidentes da SBN
  3064.  
  3065. // //$this->_helper->layout()->disableLayout();
  3066. // }
  3067.  
  3068.  
  3069.  
  3070.  
  3071. /*CÓPIA DO MÉTODO ACIMA, DESENVOLVIDO PARA AJUSTES EM DADOS INTERNOS*/
  3072. public function meusDadosIntraAction(){
  3073.  
  3074. Zend_Layout::startMvc(array(
  3075. 'layout'=> 'layout-index-infra',
  3076. 'layoutPath' => APPLICATION_PATH . '/views/scripts/layout'
  3077. ));
  3078.  
  3079. if (count($this->pegarSessaoUsuario()) == 0) {
  3080. $this->_redirect('/');
  3081. }
  3082.  
  3083. $this->view->HeadScript()->appendFile('/js/meus-dados-intra.js') ;
  3084.  
  3085. $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  3086.  
  3087. $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  3088.  
  3089.  
  3090. $oeUsuario = New Application_Model_DbTable_User() ;
  3091. $this->view->arrDadosUsuario = $oeUsuario->pegarDadosDOUsuario($this->pegarSessaoUsuario()->id) ;
  3092.  
  3093. $oeUsuarioEnderecos = New DbTable_UsuarioEndereco() ;
  3094.  
  3095. $this->view->listaEnderecos = $oeUsuarioEnderecos->pegarEnderecosUsuario($this->pegarSessaoUsuario()->id) ;
  3096.  
  3097.  
  3098. $oeSubAreaAtuacao = New DbTable_UsuarioSubAreaDeAtuacao() ;
  3099.  
  3100. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  3101. if (count($subAreaDeAtuacao) == 0 ) {
  3102. $oeSubAreaAtuacao->insert(array('usaaIdUser' => $this->pegarSessaoUsuario()->id)) ;
  3103. // Refaz a consulta
  3104. $subAreaDeAtuacao = $oeSubAreaAtuacao->pegarSubAreaUsuario($this->pegarSessaoUsuario()->id) ;
  3105. }
  3106. $this->view->subAreaDeAtuacao = $subAreaDeAtuacao ;
  3107.  
  3108.  
  3109. $this->view->carregarModalAlertaPrecisaRecadastra = $oeUsuario->verificarSeUsuarioPrecisaRecadastrar($this->pegarSessaoUsuario()->id) ;
  3110.  
  3111. // ini: pegar participações nas gestões dos presidentes da SBN
  3112. $oeOrganizacao = new DbTable_Organizacao();
  3113. $participacoesPoliticas = $oeOrganizacao->getMembrosDaGestao(array(
  3114. 'usrId' => $this->pegarSessaoUsuario()->id,
  3115. 'campoOrdem' => 'Id',
  3116. 'ordem' => 'ASC'));
  3117. if (count($participacoesPoliticas) > 0) :
  3118. $participacoesPoliticas = $participacoesPoliticas->toArray();
  3119. endif;
  3120. // pegar participação se associado é atualmente chefe de serviço. Na minha opinião (Henrique) isto está errado, deveria-se ter um histórioc
  3121. // de quem foi chefe de serviço, pois desta maneira (igual esta no antigo sistema gestão) os antigos chefes de serviço não serão contemplados
  3122. // no resultado da query
  3123. $oeHospital = new DbTable_Hospital();
  3124. $participacaoChefeDeServico = $oeHospital->fetchAll('hptIdUserChefe = ' . $this->pegarSessaoUsuario()->id);
  3125. if (count($participacaoChefeDeServico) > 0) :
  3126. $participacaoChefeDeServico = $participacaoChefeDeServico->toArray();
  3127. endif;
  3128. $oeResidenciaCentroCoordenador = new DbTable_ResidenciaCentroCoordenador();
  3129. $participacaoCoordenadorCentro = $oeResidenciaCentroCoordenador->pegarOndeUsuarioECoordenador($this->pegarSessaoUsuario()->id);
  3130. if (count($participacaoCoordenadorCentro) > 0) :
  3131. $participacaoCoordenadorCentro = $participacaoCoordenadorCentro->toArray();
  3132. endif;
  3133.  
  3134.  
  3135. $this->view->participacoesPoliticas = $participacoesPoliticas;
  3136. $this->view->participacaoChefeDeServico = $participacaoChefeDeServico;
  3137. $this->view->participacaoCoordenadorCentro = $participacaoCoordenadorCentro;
  3138.  
  3139. $dadosNeuro = New DbTable_DadosNeurocirurgiao();
  3140. $dadosNeuro = $dadosNeuro->pegarDadosNeuro($this->pegarSessaoUsuario()->id);
  3141.  
  3142. $this->view->assign('dadosNeuro',$dadosNeuro);
  3143.  
  3144.  
  3145.  
  3146. // end: pegar participações nas gestões dos presidentes da SBN
  3147.  
  3148. //$this->_helper->layout()->disableLayout();
  3149. }
  3150.  
  3151.  
  3152.  
  3153. public function situacaoFinanceiraIntraAction(){
  3154.  
  3155.  
  3156.  
  3157. $oeAssociado = new DbTable_Associado();
  3158. $associado = $oeAssociado->pegarAssociadoPorUsrId($this->pegarSessaoUsuario()->id);
  3159. $idAssociado = $associado['Id'];
  3160.  
  3161. // se usuário for associado redireciona para sistuação financeira do associado (analogia ao sistema antigo)
  3162. if ($idAssociado > 0) {
  3163. $this->_redirect('/index/situacao-financeira-associado-intra');
  3164. }
  3165.  
  3166. $oeResidente = New DbTable_ResidenteSbn();
  3167. $idUser = $this->pegarSessaoUsuario()->id;
  3168. $residente = $oeResidente->fetchRow("resUserId = $idUser");
  3169. $idResidente = $residente->Id;
  3170.  
  3171. // se o usuário for residente redireciona para situação financeira do residente (analogia ao sistema antigo)
  3172. if ($idResidente > 0) {
  3173. $this->_redirect('/index/situacao-financeira-residente-intra');
  3174. }
  3175.  
  3176. /* o associado é prioridade em relação ao residente, por isso o redirect dele é antes do residente
  3177. * caso o usuário não seja nem associado nem residente nada é feito. O Sócio Estudante de Medicina precisa
  3178. * ser definido em mais detalhes. talvez precisemos de alterações no sistema (estrutura das tabelas)
  3179. */
  3180.  
  3181. }
  3182.  
  3183. public function situacaoFinanceiraResidenteIntraAction(){
  3184.  
  3185. Zend_Layout::startMvc(array(
  3186. 'layout'=> 'layout-index-infra',
  3187. 'layoutPath' => APPLICATION_PATH . '/views/scripts/layout'
  3188. ));
  3189.  
  3190.  
  3191.  
  3192. $this->view->HeadLink()->prependStylesheet('/resources/index/situacao-financeira.css') ;
  3193. $this->view->desabilitarColunaDireita = true ;
  3194.  
  3195. $oeResidente = New DbTable_ResidenteSbn();
  3196. $idUser = $this->pegarSessaoUsuario()->id;
  3197. $residente = $oeResidente->fetchRow("resUserId = $idUser");
  3198. $idResidente = $residente->Id;
  3199.  
  3200. // ini: situação financeira do associado
  3201. $oeGestaoResFinanceiro = new DbTable_GestaoResFinanceiro();
  3202. $sqlResFinanceiro = $oeGestaoResFinanceiro->select(false)
  3203. ->where("id_res = $idResidente")
  3204. ->order("Id DESC");
  3205. $situacaoResFinanceiro = $oeGestaoResFinanceiro->fetchAll($sqlResFinanceiro);
  3206. $this->view->situacaoResFinanceiro = $situacaoResFinanceiro;
  3207. // end: situação financeira do associado
  3208.  
  3209.  
  3210. // ini: Boletos de Cobrança Emitidos
  3211. $oeBoleto = new DbTable_Boletos();
  3212. $sqlBoletosCobrancaEmitidos = $oeBoleto->select(false)
  3213. ->where("Codigo = $idResidente AND Tipo = 'R'")
  3214. ->order('Id DESC')
  3215. ;
  3216. $boletosCobrancaEmitidos = $oeBoleto->fetchAll($sqlBoletosCobrancaEmitidos);
  3217. $this->view->boletosCobrancaEmitidos = $boletosCobrancaEmitidos;
  3218. // end: Boletos de Cobrança Emitidos
  3219.  
  3220. }
  3221.  
  3222.  
  3223. public function situacaoFinanceiraAssociadoIntraAction(){
  3224.  
  3225. Zend_Layout::startMvc(array(
  3226. 'layout'=> 'layout-index-infra',
  3227. 'layoutPath' => APPLICATION_PATH . '/views/scripts/layout'
  3228. ));
  3229.  
  3230.  
  3231.  
  3232. $this->view->HeadLink()->prependStylesheet('/resources/index/situacao-financeira.css') ;
  3233. $this->view->desabilitarColunaDireita = true ;
  3234.  
  3235. $oeAssociado = new DbTable_Associado();
  3236. $associado = $oeAssociado->pegarAssociadoPorUsrId($this->pegarSessaoUsuario()->id);
  3237. $idAssociado = $associado['Id'];
  3238.  
  3239. $dataHoje = date('Y-m-d');
  3240.  
  3241. // ini: Boletos de Cobrança a vencer
  3242. $oeBoleto = new DbTable_Boletos();
  3243. $sqlBoletosAVencer = $oeBoleto->select(false)
  3244. ->where("Codigo = $idAssociado AND Tipo = 'N' AND valorpago = 0 AND DataVencto <= '$dataHoje'")
  3245. ->order('Id DESC')
  3246. ;
  3247. $arrBoletosAssociado = $oeBoleto->fetchAll($sqlBoletosAVencer);
  3248. $this->view->boletosAVencer = $arrBoletosAssociado;
  3249. // end: Boletos de Cobrança a vencer
  3250.  
  3251.  
  3252. // ini: situação financeira do associado
  3253. $oeSemestralidade = new DbTable_GestaoAssocSemestralidade();
  3254. $sqlSemestralidade = $oeSemestralidade->select(false)
  3255. ->where("id_assoc = $idAssociado")
  3256. ->order("Id DESC");
  3257. $situacaoFinanceira = $oeSemestralidade->fetchAll($sqlSemestralidade);
  3258. $this->view->situacaoFinanceira = $situacaoFinanceira;
  3259. // end: situação financeira do associado
  3260.  
  3261. // ini: Boletos de Cobrança Emitidos
  3262. $oeBoleto = new DbTable_Boletos();
  3263. $sqlBoletosCobrancaEmitidos = $oeBoleto->select(false)
  3264. ->where("Codigo = $idAssociado AND Tipo = 'N'")
  3265. ->order('Id DESC')
  3266. ;
  3267. $boletosCobrancaEmitidos = $oeBoleto->fetchAll($sqlBoletosCobrancaEmitidos);
  3268. $this->view->boletosCobrancaEmitidos = $boletosCobrancaEmitidos;
  3269. // end: Boletos de Cobrança Emitidos
  3270.  
  3271.  
  3272.  
  3273. echo '<pre>';
  3274.  
  3275.  
  3276. //print_r($arrBoletosAssociado);
  3277. echo '</pre>';
  3278. }
  3279.  
  3280. // Boleto Simples Action
  3281. public function exibirBoletoAction(){
  3282.  
  3283. (int) $id = $this->getRequest()->getParam('id');
  3284.  
  3285. if(is_null($id) || empty($id)){
  3286.  
  3287. }else{
  3288. header('location: ' . BoletoSimples\BankBillet::find($id)->url);
  3289. die();
  3290. }
  3291.  
  3292. }
  3293.  
  3294.  
  3295. public function juntaMedicaAction()
  3296. {
  3297. $this->_helper->layout()->disableLayout();
  3298. /* Initialize action controller here */
  3299.  
  3300. }
  3301.  
  3302.  
  3303.  
  3304. public function aniversariantesAction()
  3305. {
  3306. $this->_helper->layout()->disableLayout();
  3307.  
  3308. $niverMes = new DbTable_NotasResidente();
  3309.  
  3310. $mons = array(1 => "Janeiro", 2 => "Fevereiro", 3 => "Março", 4 => "Abril", 5 => "Maio", 6 => "Junho", 7 => "Julho", 8 => "Agosto", 9 => "Setembro", 10 => "Outubro", 11 => "Novembro", 12 => "Dezembro");
  3311.  
  3312. $this->view->mons = $mons;
  3313.  
  3314.  
  3315. try {
  3316. $month = $this->getRequest()->getParam('month');
  3317. $this->view->aniversariantesDoMes = $niverMes->aniversariantesDoMes($month);
  3318.  
  3319.  
  3320.  
  3321. } catch (Exception $e) {
  3322. $this->view->error = $e->getMessage();
  3323. }
  3324.  
  3325.  
  3326. }
  3327.  
  3328.  
  3329.  
  3330. public function documentosAction()
  3331. {
  3332. $this->_helper->layout()->disableLayout();
  3333. }
  3334.  
  3335. public function cursoPreparatorioParaProvaDeTituloDeEspecialistaAction()
  3336. {
  3337. $this->_helper->layout->setLayout('layout-ficha-inscricao');
  3338.  
  3339. $namespace = new Zend_Session_Namespace();
  3340. $error = array();
  3341.  
  3342. if ($this->getRequest()->isPost())
  3343. {
  3344.  
  3345. $data = '';
  3346. $result = array();
  3347. $rulesConf = new My_Rules_ProofSheetForTitle_Rule();
  3348. $tbBoleto = new DbTable_Boleto();
  3349. $tbFicha = new DbTable_FichaCursoPreparatorioProvaDeTituloDeEspecialista();
  3350.  
  3351.  
  3352. $input = new Zend_Filter_Input($rulesConf->getFilters(), $rulesConf->getValidate(), $this->_request->getPost());
  3353. $input->setDefaultEscapeFilter(new Zend_Filter_HtmlEntities(ENT_COMPAT, 'utf-8'));
  3354.  
  3355. $data = $input->getEscaped();
  3356.  
  3357. // Find and Retrive data of ticket with this CPF
  3358. $dadosDoBoleto = $tbBoleto->getBoletoByCPF($data['cpf']);
  3359. $dadosDoBoleto = $dadosDoBoleto->toArray();
  3360.  
  3361.  
  3362. // Validate Query
  3363. if (is_null($dadosDoBoleto)) { $error[] = "CPF Não encontrado."; }
  3364.  
  3365. $description = 'Inscrição de Teste - Necessita dos Textos Corretos';
  3366. $valor_boleto = '200,00';
  3367. $instrucoes = "Referente à Inscrição de Teste - Necessita dos Textos Corretos.<br>
  3368. Caro (a) Sr. Caixa, não receber após o vencimento.<br>
  3369. O local, data e horário da Prova será disponibilizado no site da SBN<br/>
  3370. Dúvidas, contatar a Secretaria Permanente: (11) 3051-6075";
  3371. $dataVencto = date('Y-m-d', strtotime("+30 days"));
  3372. $dataProva = '2017-01-01';
  3373.  
  3374. try {
  3375.  
  3376. // Billet Create
  3377. $bank_billet = BoletoSimples\BankBillet::create(array(
  3378. 'amount' => $valor_boleto,
  3379. 'description' => $description,
  3380. 'expire_at' => $dataVencto,
  3381. 'customer_address' => $data['endereco'],
  3382. 'customer_address_complement' => ' -- ',
  3383. 'customer_address_number' => $data['numero'],
  3384. 'customer_city_name' => $data['cidade'],
  3385. 'customer_cnpj_cpf' => $data['cpf'],
  3386. 'customer_email' => $data['email'],
  3387. 'customer_neighborhood' => $data['bairro'],
  3388. 'customer_person_name' => $data['nome'],
  3389. 'customer_person_type' => 'individual',
  3390. 'customer_phone_number' => $data['celuluar_ddd'].$data['telefone_cel'],
  3391. 'customer_state' => $data['estado'],
  3392. 'customer_zipcode' => $data['cep'],
  3393. 'meta' => 'cursos.prep.prova.titulo',
  3394. ));
  3395.  
  3396. // Check if has are erros
  3397. if ($bank_billet->isPersisted()) { $result['boletoSimplesAttr'] = $bank_billet->attributes(); }
  3398. else{ throw new Exception(json_encode($bank_billet->response_errors)); }
  3399.  
  3400. // Save on TB Boleto
  3401. $result['idBoleto'] = $tbBoleto->saveBoletoFichaCursoPreparatorio(
  3402. $valor_boleto,
  3403. $dataVencto,
  3404. $description,
  3405. $instrucoes,
  3406. $result['boletoSimplesAttr']['id'],
  3407. $dataProva,
  3408. $dadosDoBoleto
  3409. );
  3410.  
  3411. // Save on TB FichaCursoPreparatorioProvaDeTituloDeEspecialista
  3412. $result['idFicha'] = $tbFicha->saveFicha(
  3413. $data['cpf'],
  3414. $data['nome'],
  3415. $data['email'],
  3416. $data['endereco'],
  3417. $data['numero'],
  3418. $data['bairro'],
  3419. $data['cidade'],
  3420. $data['estado'],
  3421. $data['cep'],
  3422. $data['telefoneFixo'],
  3423. $data['telefoneCelular'],
  3424. $result['idBoleto'],
  3425. $result['boletoSimplesAttr']['id'],
  3426. $dataProva
  3427. );
  3428.  
  3429. } catch (Exception $e) {
  3430. $error[] = $e->getMessage();
  3431. }
  3432.  
  3433. // Save for show of ProofSheet
  3434. $this->view->assign('result', $result);
  3435.  
  3436. }
  3437.  
  3438.  
  3439. $this->view->assign('error', $error);
  3440.  
  3441.  
  3442.  
  3443.  
  3444. }
  3445.  
  3446. }
Add Comment
Please, Sign In to add comment