/application/models/PadraoModelos.php

https://github.com/Eliphio/acad · PHP · 194 lines · 174 code · 18 blank · 2 comment · 12 complexity · f1116b0fa62440e6893793e5a6c669ab MD5 · raw file

  1. <?php
  2. class Model_PadraoModelos extends Zend_Db_Table_Abstract
  3. {
  4. protected $_data;
  5. protected $_usuario_sistema;
  6. public $_academia;
  7. public $_retorno;
  8. protected $_varData;
  9. public function __construct($opt = null) {
  10. parent::__construct($opt);
  11. $this->_usuario_sistema = 1;
  12. $this->_academia = 1;
  13. $this->_varData = array();
  14. /* $this->_academia = Zend_Auth::getInstance()->getStorage()->read()->cod_acad;
  15. $this->_usuario_sistema = Zend_Auth::getInstance()->getStorage()->read()->cod_usua;*/
  16. }
  17. public function insert(array $data) {
  18. $this->preparaDados($data);
  19. if (!isset($this->_data['cod_usua_cad'])) {
  20. $this->_data['cod_usua_cad'] = $this->_usuario_sistema;
  21. $this->_data['dat_cad'] = @date('Y-m-d');
  22. }
  23. return parent::insert($this->_data);
  24. }
  25. public function insertUsuario(array $data) {
  26. $data["cod_acad"] = $this->_academia;
  27. $this->preparaDados($data);
  28. if (!isset($this->_data['cod_usua_cad'])) {
  29. $this->_data['cod_usua_cad'] = $this->_usuario_sistema;
  30. $this->_data['dat_cad'] = @date('Y-m-d');
  31. }
  32. return parent::insert($this->_data);
  33. }
  34. public function preparaDados (array $data)
  35. {
  36. $cols = $this->_getCols();
  37. $info = $this->info();
  38. $info = $info['metadata'];
  39. foreach ($data as $k => $v) {
  40. if (array_key_exists($k,$info) && !is_array($v) && strlen($v) > 0){
  41. if ($info[$k]['DATA_TYPE'] == 'datetime'){
  42. list ($dia, $mes, $ano) = split ('[/.-]', $v);
  43. $v = @date(("Y-m-d"),mktime(0,0,0,$mes,$dia,$ano,0));
  44. }
  45. if (strlen($v) > 0)
  46. $this->_data[$k] = strtoupper(utf8_decode($v));
  47. }
  48. }
  49. return $this->_data;
  50. }
  51. public function _getCols() {
  52. return parent::_getCols();
  53. }
  54. public function _getToSelect($codigo, $descricao)
  55. {
  56. $options[''] = 'Selecione...';
  57. $select = $this->select()->from($this->_name,array($codigo,$descricao));
  58. foreach ($this->fetchAll($select)->toArray() as $valor)
  59. {
  60. $options[$valor[$codigo]] = utf8_encode($valor[$descricao]);
  61. }
  62. return $options;
  63. }
  64. public function _getToCheckbox($codigo, $descricao)
  65. {
  66. $select = $this->select()->from($this->_name,array($codigo,$descricao));
  67. foreach ($this->fetchAll($select)->toArray() as $valor)
  68. {
  69. $options[$valor[$codigo]] = utf8_encode($valor[$descricao]);
  70. }
  71. return $options;
  72. }
  73. public function retornafetchAll(array $data) {
  74. foreach ($data as $key => $var) {
  75. foreach ($var as $k => $v){
  76. if (in_array($k, $this->_varData)){
  77. list ($mes, $dia, $ano, $hora) = split (' ', $v);
  78. switch ($mes) {
  79. case 'Jan':
  80. $mes = '01';
  81. break;
  82. case 'Feb':
  83. $mes = '02';
  84. break;
  85. case 'Mar':
  86. $mes = '03';
  87. break;
  88. case 'Apr':
  89. $mes = '04';
  90. break;
  91. case 'May':
  92. $mes = '05';
  93. break;
  94. case 'Jun':
  95. $mes = '06';
  96. break;
  97. case 'Jul':
  98. $mes = '07';
  99. break;
  100. case 'Aug':
  101. $mes = '08';
  102. break;
  103. case 'Sep':
  104. $mes = '09';
  105. break;
  106. case 'Oct':
  107. $mes = '10';
  108. break;
  109. case 'Nov':
  110. $mes = '11';
  111. break;
  112. case 'Dec':
  113. $mes = '12';
  114. break;
  115. }
  116. $v = @date(("Y-m-d"),mktime(0,0,0,$mes,$dia,$ano,0));
  117. $Data = new Zend_Date($v,'pt_BR');
  118. $v = $Data->toString('dd/MM/yyyy');
  119. }
  120. $this->_retorno[$key][$k] = utf8_encode($v);
  121. }
  122. }
  123. return $this->_retorno;
  124. }
  125. public function retornafetchRow(array $data) {
  126. foreach ($data as $k => $v){
  127. if (in_array($k, $this->_varData)){
  128. list ($mes, $dia, $ano, $hora) = split (' ', $v);
  129. switch ($mes) {
  130. case 'Jan':
  131. $mes = '01';
  132. break;
  133. case 'Feb':
  134. $mes = '02';
  135. break;
  136. case 'Mar':
  137. $mes = '03';
  138. break;
  139. case 'Apr':
  140. $mes = '04';
  141. break;
  142. case 'May':
  143. $mes = '05';
  144. break;
  145. case 'Jun':
  146. $mes = '06';
  147. break;
  148. case 'Jul':
  149. $mes = '07';
  150. break;
  151. case 'Aug':
  152. $mes = '08';
  153. break;
  154. case 'Sep':
  155. $mes = '09';
  156. break;
  157. case 'Oct':
  158. $mes = '10';
  159. break;
  160. case 'Nov':
  161. $mes = '11';
  162. break;
  163. case 'Dec':
  164. $mes = '12';
  165. break;
  166. }
  167. $v = @date(("Y-m-d"),mktime(0,0,0,$mes,$dia,$ano,0));
  168. $Data = new Zend_Date($v,'pt_BR');
  169. $v = $Data->toString('dd/MM/yyyy');
  170. }
  171. $this->_retorno[$k] = utf8_encode($v);
  172. }
  173. return $this->_retorno;
  174. }
  175. }
  176. ?>